{"version":3,"sources":["../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../node_modules/inherits/inherits_browser.js","../node_modules/safe-buffer/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/prop-types/index.js","../node_modules/buffer/index.js","../node_modules/process/browser.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/bn.js/lib/bn.js","../node_modules/webpack/buildin/global.js","../node_modules/minimalistic-assert/index.js","../node_modules/elliptic/lib/elliptic/utils.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/hash.js/lib/hash/utils.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createClass.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/cipher-base/index.js","../node_modules/stream-browserify/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/inherits.js","../node_modules/cbor/lib/constants.js","../node_modules/react-dom/index.js","../node_modules/events/events.js","../node_modules/string_decoder/lib/string_decoder.js","../node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/randombytes/browser.js","../node_modules/hash-base/node_modules/readable-stream/errors-browser.js","../node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/sha.js/hash.js","../node_modules/browserify-sign/node_modules/readable-stream/errors-browser.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/nofilter/lib/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/sdp/sdp.js","../node_modules/create-hash/browser.js","../node_modules/core-util-is/lib/util.js","../node_modules/buffer-xor/index.js","../node_modules/hash.js/lib/hash/common.js","../node_modules/asn1.js/lib/asn1/base/buffer.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/objectSpread2.js","../node_modules/cbor/lib/utils.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/object-assign/index.js","../node_modules/process-nextick-args/index.js","../node_modules/browserify-aes/aes.js","../node_modules/evp_bytestokey/index.js","../node_modules/elliptic/lib/elliptic/curve/base.js","../node_modules/parse-asn1/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/cbor/lib/decoder.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/pako/lib/utils/common.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/cbor/lib/cbor.js","../node_modules/md5.js/index.js","../node_modules/util-deprecate/browser.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/ripemd160/index.js","../node_modules/sha.js/index.js","../node_modules/readable-stream/readable-browser.js","../node_modules/readable-stream/node_modules/safe-buffer/index.js","../node_modules/readable-stream/lib/_stream_writable.js","../node_modules/des.js/lib/des/cipher.js","../node_modules/browserify-aes/browser.js","../node_modules/browserify-aes/modes/index.js","../node_modules/webpack/buildin/module.js","../node_modules/brorand/index.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/browserify-rsa/index.js","../node_modules/elliptic/lib/elliptic.js","../node_modules/elliptic/lib/elliptic/curves.js","../node_modules/hash.js/lib/hash.js","../node_modules/safer-buffer/safer.js","../node_modules/asn1.js/lib/asn1/base/node.js","../node_modules/asn1.js/lib/asn1/base/reporter.js","../node_modules/asn1.js/lib/asn1/constants/der.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/isarray/index.js","../node_modules/hash-base/index.js","../node_modules/hash-base/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/hash-base/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/hash-base/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/sha.js/sha256.js","../node_modules/sha.js/sha512.js","../node_modules/readable-stream/lib/_stream_readable.js","../node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/readable-stream/lib/_stream_transform.js","../node_modules/create-hmac/browser.js","../node_modules/create-hash/md5.js","../node_modules/pbkdf2/browser.js","../node_modules/pbkdf2/lib/precondition.js","../node_modules/pbkdf2/lib/default-encoding.js","../node_modules/pbkdf2/lib/sync-browser.js","../node_modules/pbkdf2/lib/to-buffer.js","../node_modules/des.js/lib/des/utils.js","../node_modules/des.js/lib/des/des.js","../node_modules/browserify-aes/modes/ctr.js","../node_modules/browserify-aes/incr32.js","../node_modules/browserify-aes/authCipher.js","../node_modules/browserify-aes/streamCipher.js","../node_modules/diffie-hellman/lib/generatePrime.js","../node_modules/miller-rabin/lib/mr.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/minimalistic-crypto-utils/lib/utils.js","../node_modules/elliptic/lib/elliptic/curve/index.js","../node_modules/hash.js/lib/hash/sha/common.js","../node_modules/hash.js/lib/hash/sha/256.js","../node_modules/hash.js/lib/hash/sha/512.js","../node_modules/browserify-sign/node_modules/bn.js/lib/bn.js","../node_modules/asn1.js/lib/asn1.js","../node_modules/asn1.js/lib/asn1/encoders/index.js","../node_modules/asn1.js/lib/asn1/encoders/der.js","../node_modules/asn1.js/lib/asn1/decoders/index.js","../node_modules/asn1.js/lib/asn1/decoders/der.js","../node_modules/public-encrypt/mgf.js","../node_modules/public-encrypt/xor.js","../node_modules/public-encrypt/withPublic.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/wrapRegExp.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/get.js","../node_modules/cbor/lib/tagged.js","../node_modules/cbor/lib/simple.js","../node_modules/cbor/lib/encoder.js","../node_modules/assert/assert.js","../node_modules/util/util.js","../node_modules/pako/lib/zlib/adler32.js","../node_modules/pako/lib/zlib/crc32.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/bwip-js/dist/bwip-js.js","../node_modules/crypto-browserify/index.js","../node_modules/browserify-zlib/lib/index.js","../node_modules/base45/index.js","../node_modules/react-qr-reader/lib/index.js","../node_modules/rtcpeerconnection-shim/rtcpeerconnection.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/hash-base/node_modules/readable-stream/readable-browser.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/hash-base/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/sha.js/sha.js","../node_modules/sha.js/sha1.js","../node_modules/sha.js/sha224.js","../node_modules/sha.js/sha384.js","../node_modules/readable-stream/lib/internal/streams/BufferList.js","../node_modules/timers-browserify/main.js","../node_modules/setimmediate/setImmediate.js","../node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/readable-stream/writable-browser.js","../node_modules/readable-stream/duplex-browser.js","../node_modules/readable-stream/transform.js","../node_modules/readable-stream/passthrough.js","../node_modules/create-hmac/legacy.js","../node_modules/browserify-sign/algos.js","../node_modules/pbkdf2/lib/async.js","../node_modules/browserify-cipher/browser.js","../node_modules/browserify-des/index.js","../node_modules/des.js/lib/des.js","../node_modules/des.js/lib/des/cbc.js","../node_modules/des.js/lib/des/ede.js","../node_modules/browserify-aes/encrypter.js","../node_modules/browserify-aes/modes/ecb.js","../node_modules/browserify-aes/modes/cbc.js","../node_modules/browserify-aes/modes/cfb.js","../node_modules/browserify-aes/modes/cfb8.js","../node_modules/browserify-aes/modes/cfb1.js","../node_modules/browserify-aes/modes/ofb.js","../node_modules/browserify-aes/ghash.js","../node_modules/browserify-aes/decrypter.js","../node_modules/browserify-des/modes.js","../node_modules/diffie-hellman/browser.js","../node_modules/diffie-hellman/lib/dh.js","../node_modules/browserify-sign/browser/index.js","../node_modules/browserify-sign/node_modules/readable-stream/readable-browser.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/browserify-sign/browser/sign.js","../node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js","../node_modules/elliptic/lib/elliptic/curve/short.js","../node_modules/elliptic/lib/elliptic/curve/mont.js","../node_modules/elliptic/lib/elliptic/curve/edwards.js","../node_modules/hash.js/lib/hash/sha.js","../node_modules/hash.js/lib/hash/sha/1.js","../node_modules/hash.js/lib/hash/sha/224.js","../node_modules/hash.js/lib/hash/sha/384.js","../node_modules/hash.js/lib/hash/ripemd.js","../node_modules/hash.js/lib/hash/hmac.js","../node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../node_modules/elliptic/lib/elliptic/ec/index.js","../node_modules/hmac-drbg/lib/hmac-drbg.js","../node_modules/elliptic/lib/elliptic/ec/key.js","../node_modules/elliptic/lib/elliptic/ec/signature.js","../node_modules/elliptic/lib/elliptic/eddsa/index.js","../node_modules/elliptic/lib/elliptic/eddsa/key.js","../node_modules/elliptic/lib/elliptic/eddsa/signature.js","../node_modules/parse-asn1/asn1.js","../node_modules/asn1.js/lib/asn1/api.js","../node_modules/asn1.js/lib/asn1/encoders/pem.js","../node_modules/asn1.js/lib/asn1/decoders/pem.js","../node_modules/asn1.js/lib/asn1/base/index.js","../node_modules/asn1.js/lib/asn1/constants/index.js","../node_modules/parse-asn1/certificate.js","../node_modules/parse-asn1/fixProc.js","../node_modules/browserify-sign/browser/verify.js","../node_modules/create-ecdh/browser.js","../node_modules/public-encrypt/browser.js","../node_modules/public-encrypt/publicEncrypt.js","../node_modules/public-encrypt/privateDecrypt.js","../node_modules/randomfill/browser.js","../node_modules/cbor/lib/commented.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/construct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/cbor/vendor/binary-parse-stream/index.js","../node_modules/cbor/lib/diagnose.js","../node_modules/cbor/lib/map.js","../node_modules/browserify-zlib/lib/binding.js","../node_modules/util/support/isBufferBrowser.js","../node_modules/util/node_modules/inherits/inherits_browser.js","../node_modules/pako/lib/zlib/zstream.js","../node_modules/pako/lib/zlib/deflate.js","../node_modules/pako/lib/zlib/trees.js","../node_modules/pako/lib/zlib/messages.js","../node_modules/pako/lib/zlib/inflate.js","../node_modules/pako/lib/zlib/inffast.js","../node_modules/pako/lib/zlib/inftrees.js","../node_modules/pako/lib/zlib/constants.js","../node_modules/base45/lib/base45.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-qr-reader/lib/getDeviceId.js","../node_modules/react-qr-reader/lib/errors.js","../node_modules/react-qr-reader/lib/havePropsChanged.js","../node_modules/react-qr-reader/lib/createBlob.js","../node_modules/warning/warning.js","../node_modules/webrtc-adapter/src/js/utils.js","../node_modules/webrtc-adapter/src/js/chrome/getusermedia.js","../node_modules/webrtc-adapter/src/js/chrome/getdisplaymedia.js","../node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js","../node_modules/webrtc-adapter/src/js/edge/getusermedia.js","../node_modules/webrtc-adapter/src/js/edge/getdisplaymedia.js","../node_modules/webrtc-adapter/src/js/edge/edge_shim.js","../node_modules/webrtc-adapter/src/js/edge/filtericeservers.js","../node_modules/webrtc-adapter/src/js/firefox/getusermedia.js","../node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js","../node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js","../node_modules/webrtc-adapter/src/js/safari/safari_shim.js","../node_modules/webrtc-adapter/src/js/common_shim.js","../node_modules/webrtc-adapter/src/js/adapter_core.js","../node_modules/webrtc-adapter/src/js/adapter_factory.js","../node_modules/react-bootstrap/esm/Jumbotron.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/dom-helpers/esm/isWindow.js","../node_modules/dom-helpers/esm/isDocument.js","../node_modules/react-overlays/esm/isOverflowing.js","../node_modules/react-overlays/esm/manageAriaHidden.js","../node_modules/react-overlays/esm/ModalManager.js","../node_modules/react-overlays/esm/Modal.js","../node_modules/react-overlays/esm/useWaitForDOMRef.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/SafeAnchor.js","../node_modules/react-bootstrap/esm/Button.js"],"names":["module","exports","require","Object","create","ctor","superCtor","super_","prototype","constructor","value","enumerable","writable","configurable","TempCtor","buffer","Buffer","copyProps","src","dst","key","SafeBuffer","arg","encodingOrOffset","length","from","alloc","allocUnsafe","allocUnsafeSlow","TypeError","size","fill","encoding","buf","undefined","SlowBuffer","_extends","assign","target","i","arguments","source","hasOwnProperty","call","apply","this","base64","ieee754","isArray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","__proto__","Error","ArrayBuffer","array","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","isEncoding","actual","write","slice","fromString","obj","isBuffer","len","checked","copy","val","type","data","fromObject","assertSize","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","INSPECT_MAX_BYTES","global","foo","subarray","e","typedArraySupport","poolSize","_augment","Symbol","species","defineProperty","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","equals","inspect","max","match","join","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","umask","hasOwn","classNames","classes","argType","inner","default","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","assert","msg","inherits","BN","number","base","endian","isBN","negative","words","red","_init","wordSize","parseHex","r","parseBase","num","left","right","cmp","_initNumber","_initArray","_parseHex","_parseBase","strip","toArray","ceil","w","limbLen","limbPow","total","mod","word","imuln","_iaddn","dest","clone","_expand","_normSign","zeros","groupSizes","groupBases","smallMulTo","self","carry","k","ncarry","rword","maxJ","padding","groupSize","groupBase","isZero","modn","idivn","toNumber","toBuffer","toArrayLike","ArrayType","reqLength","q","andln","iushrn","clz32","_countBits","t","_zeroBits","bitLength","zeroBits","toTwos","width","abs","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","xor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","add","comb10MulTo","mid","o","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","jumboMulTo","FFTM","mulp","mulTo","hncarry","bigMulTo","makeRBT","N","l","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","s","rtwdf","cos","PI","itwdf","sin","p","rtwdf_","itwdf_","re","ie","ro","io","rx","guessLen13b","odd","conjugate","normalize13b","ws","round","convert13b","stub","ph","_","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","toBitArray","iushln","bits","carryMask","newCarry","ishln","hint","extended","h","mask","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","shift","_wordDiv","mode","bhi","diff","qj","div","divmod","positive","divn","umod","divRound","dm","half","r2","acc","egcd","A","B","C","D","g","isEven","yp","xp","im","isOdd","jm","gcd","_invmp","x1","x2","delta","cmpn","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lt","lten","lte","eqn","eq","Red","toRed","ctx","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","sqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","tmp","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","split","imulK","_strip","input","output","outLen","prev","next","mod3","one","nOne","lpow","z","inv","wnd","current","currentLen","mont","u","Function","window","equal","utils","minAssert","minUtils","zero2","encode","getNAF","naf","getJSF","k1","k2","jsf","m8","d1","d2","u1","u2","m14","m24","cachedProperty","computer","parseBytes","intFromLE","ThemeContext","React","createContext","Consumer","Provider","useBootstrapPrefix","prefix","defaultPrefix","prefixes","useContext","useCommittedRef","ref","useRef","useEffect","useEventCallback","fn","useCallback","isSurrogatePair","htonl","zero8","enc","toHex32","join32","split32","rotr32","rotl32","sum32","sum32_3","sum32_4","d","sum32_5","sum64","ah","al","bh","sum64_hi","bl","sum64_lo","sum64_4_hi","ch","cl","dh","dl","sum64_4_lo","sum64_5_hi","eh","el","sum64_5_lo","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","instance","Constructor","_defineProperties","props","descriptor","protoProps","staticProps","_defineProperty","Transform","StringDecoder","CipherBase","hashMode","_finalOrDigest","final","_final","__final","_decoder","_encoding","update","inputEnc","outputEnc","outData","_update","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","_transform","err","_flush","done","fin","Stream","EE","EventEmitter","Readable","Writable","Duplex","PassThrough","pipe","options","ondata","chunk","pause","ondrain","readable","resume","_isStdio","onend","onclose","didOnEnd","destroy","onerror","er","cleanup","listenerCount","setPrototypeOf","subClass","superClass","MT","POS_INT","NEG_INT","BYTE_STRING","UTF8_STRING","ARRAY","MAP","TAG","SIMPLE_FLOAT","DATE_STRING","DATE_EPOCH","POS_BIGINT","NEG_BIGINT","DECIMAL_FRAC","BIGFLOAT","BASE64URL_EXPECTED","BASE64_EXPECTED","BASE16_EXPECTED","CBOR","URI","BASE64URL","BASE64","REGEXP","MIME","SET","NUMBYTES","ZERO","ONE","TWO","FOUR","EIGHT","INDEFINITE","SIMPLE","FALSE","TRUE","NULL","UNDEFINED","SYMS","for","PARENT","BREAK","STREAM","SHIFT32","BI","MINUS_ONE","BigInt","NEG_MAX","MAX_SAFE_INTEGER","MAXINT32","MAXINT64","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","error","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","init","emitter","Promise","resolve","reject","eventListener","errorListener","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","events","existing","warning","newListener","unshift","warned","count","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","get","getPrototypeOf","setMaxListeners","getMaxListeners","doError","message","context","handler","position","originalListener","index","pop","spliceOne","rawListeners","eventNames","nb","nenc","retried","_normalizeEncoding","normalizeEncoding","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","pna","objectKeys","util","v","method","allowHalfOpen","_writableState","ended","onEndNT","highWaterMark","_readableState","destroyed","_destroy","cb","isNativeReflectConstruct","possibleConstructorReturn","Derived","hasNativeReflectConstruct","result","Super","NewTarget","construct","MAX_BYTES","MAX_UINT32","crypto","msCrypto","getRandomValues","generated","codes","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","expected","thing","map","determiner","search","this_len","substring","endsWith","getBuffer","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","_len","block","accum","assigned","remainder","digest","rem","lowBits","highBits","hash","_hash","_getPrototypeOf","stream","td","TextDecoder","fatal","ignoreBOM","NoFilter","inputEncoding","inp","inpE","watchPipe","readError","Boolean","om","objectMode","callback","bufs","head","other","buf1","buf2","_bufArray","decode","JSON","stringify","depth","hex","stylize","sz","writeBigInt64LE","writeBigInt64BE","writeBigUInt64LE","writeBigUInt64BE","readBigInt64LE","readBigInt64BE","readBigUInt64LE","readBigUInt64BE","nf1","nf2","reduce","tot","nf","allBufs","allObjs","_assertThisInitialized","ReferenceError","SDPUtils","random","localCName","generateIdentifier","splitLines","blob","line","splitSections","part","getDescription","sections","getMediaSections","matchPrefix","filter","parseCandidate","parts","candidate","foundation","component","protocol","priority","ip","address","port","relatedAddress","relatedPort","tcpType","ufrag","usernameFragment","writeCandidate","sdp","toUpperCase","parseIceOptions","parseRtpMap","payloadType","clockRate","channels","numChannels","writeRtpMap","codec","pt","preferredPayloadType","parseExtmap","id","direction","uri","writeExtmap","headerExtension","preferredId","parseFmtp","kv","writeFmtp","parameters","params","forEach","param","parseRtcpFb","parameter","writeRtcpFb","lines","rtcpFeedback","fb","parseSsrcMedia","sp","ssrc","colon","attribute","parseSsrcGroup","semantics","ssrcs","getMid","mediaSection","parseFingerprint","algorithm","getDtlsParameters","sessionpart","role","fingerprints","writeDtlsParameters","setupType","fp","parseCryptoLine","tag","cryptoSuite","keyParams","sessionParams","writeCryptoLine","writeCryptoKeyParams","parseCryptoKeyParams","keyMethod","keySalt","lifeTime","mkiValue","mkiLength","getCryptoParameters","getIceParameters","pwd","password","writeIceParameters","parseRtpParameters","description","codecs","headerExtensions","fecMechanisms","rtcp","mline","rtpmapline","fmtps","writeRtpDescription","kind","caps","maxptime","extension","parseRtpEncodingParameters","secondarySsrc","encodingParameters","hasRed","hasUlpfec","primarySsrc","flows","apt","encParam","codecPayloadType","rtx","parse","fec","mechanism","bandwidth","maxBitrate","parseRtcpParameters","rtcpParameters","remoteSsrc","cname","rsize","reducedSize","compound","mux","parseMsid","spec","track","planB","msidParts","parseSctpDescription","maxMessageSize","parseMLine","maxSizeLine","sctpPort","fmt","writeSctpDescription","media","sctp","generateSessionId","writeSessionBoilerplate","sessId","sessVer","sessUser","writeMediaSection","transceiver","iceGatherer","getLocalParameters","dtlsTransport","rtpSender","rtpReceiver","msid","sendEncodingParameters","getDirection","getKind","isRejected","parseOLine","username","sessionId","sessionVersion","netType","addressType","isValidSDP","charAt","MD5","RIPEMD160","sha","alg","objectToString","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","isObject","isDate","isError","isFunction","isPrimitive","BlockHash","pending","pendingTotal","outSize","hmacStrength","padLength","_delta8","_delta32","_pad","_digest","Reporter","DecoderBuffer","EncoderBuffer","reporter","item","isEncoderBuffer","isDecoderBuffer","save","restore","isEmpty","skip","raw","fail","_reporterState","object","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","constants","utf8","checksUTF8","isBufferish","Uint8ClampedArray","DataView","bufferishToBuffer","parseCBORint","ai","f","writeHalf","u32","s16","exp","mant","parseHalf","sign","NaN","parseCBORfloat","bin","chunks","arrayEqual","every","elem","bufferToBigInt","cborValueToString","float_bytes","groups","is","guessEncoding","B64URL_SWAPS","base64url","isBigEndian","Uint32Array","_arrayLikeToArray","arr2","propIsEnumerable","propertyIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","to","asUInt32Array","scrubVec","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t1","t2","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","RCON","G","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_key","_reset","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","decryptBlock","m1","scrub","salt","keyBits","ivLen","keyLen","iv","used","keyStart","ivStart","BaseCurve","conf","zero","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","curve","precomputed","point","validate","_fixedNafMul","doubles","_getDoubles","I","step","nafW","repr","jpoint","mixedAdd","points","toP","_wnafMul","nafPoints","_getNAFPoints","dblp","_wnafMulAdd","defW","coeffs","jacobianResult","wndWidth","comb","toJ","ja","jb","decodePoint","pointFromX","encodeCompressed","_encode","compact","getX","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","asn1","aesid","fixProc","ciphers","compat","parseKeys","passphrase","subtype","ndata","stripped","certificate","tbsCertificate","subjectPublicKeyInfo","PublicKey","RSAPublicKey","subjectPublicKey","subjectPrivateKey","pub_key","DSAparam","decrypt","kde","kdeparams","iters","algo","cipher","cipherText","keylen","pbkdf2Sync","createDecipheriv","EncryptedPrivateKey","PrivateKey","RSAPrivateKey","privateKey","ECPrivateKey","priv_key","DSAPrivateKey","signature","objectWithoutPropertiesLoose","sourceSymbolKeys","BinaryParseStream","Tagged","Simple","COUNT","MAJOR","ERROR","NOT_FOUND","parentArray","parent","typ","parentBufferStream","UnexpectedDataError","normalizeOptions","opts","Decoder","tags","max_depth","preferWeb","required","extendedResults","superOpts","defaultEncoding","running","bs","_onRead","valueBytes","__fresh","octet","mt","parent_major","parent_length","numbytes","hasParent","again","pm","allstrings","Map","convert","old","nullcheck","parser","_parse","unused","nextByte","close","then","vals","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","TYPED_OK","Uint16Array","Int32Array","_has","sources","shrinkBuf","fnTyped","arraySet","src_offs","dest_offs","flattenChunks","fnUntyped","setTyped","Buf8","Buf16","Buf32","_unsupportedIterableToArray","minLen","test","_classCallCheck","_createClass","_typeof","iterator","_possibleConstructorReturn","assertThisInitialized","_createSuper","sham","Proxy","Date","_setPrototypeOf","_inherits","useWillUnmount","onUnmount","valueRef","useUpdatedRef","_objectSpread2","Commented","Diagnose","Encoder","comment","decodeAll","decodeFirst","decodeAllSync","decodeFirstSync","diagnose","encodeCanonical","encodeOne","encodeAsync","leveldb","reset","HashBase","ARRAY16","_a","_b","_c","_d","rotl","fnF","fnG","fnH","fnI","_blockOffset","_length","config","localStorage","trace","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","onfinish","writableEnded","finished","readableEnded","endEmitted","onrequest","req","setHeader","abort","isRequest","zl","zr","sl","sr","hl","hr","_e","fn1","fn2","fn3","fn4","fn5","ar","br","cr","dr","tl","tr","Algorithm","sha1","sha224","sha256","sha384","sha512","CorkedRequest","_this","entry","finish","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","asyncWrite","setImmediate","WritableState","internalUtil","deprecate","OurUint8Array","realHasInstance","destroyImpl","nop","isDuplex","writableObjectMode","hwm","writableHwm","writableHighWaterMark","defaultHwm","finalCalled","needDrain","ending","noDecode","decodeStrings","writing","corked","sync","bufferProcessing","onwrite","writecb","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","_write","writev","_writev","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","prefinish","hasInstance","_uint8ArrayToBuffer","writeAfterEnd","valid","validChunk","newChunk","decodeChunk","last","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_undestroy","undestroy","Cipher","bufferOff","_updateDecrypt","_updateEncrypt","_buffer","_flushBuffer","inputOff","outputOff","first","_finalEncrypt","_finalDecrypt","_unpad","deciphers","modes","createCipher","createCipheriv","Cipheriv","createDecipher","Decipher","Decipheriv","listCiphers","getCiphers","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","webpackPolyfill","paths","children","Rand","rand","generate","_rand","getBytes","getByte","randomBytes","getr","priv","modulus","prime1","prime2","crt","blinds","blinder","publicExponent","unblinder","blind","blinded","c1","c2","qinv","coefficient","exponent1","m2","exponent2","elliptic","curves","ec","eddsa","pre","PresetCurve","short","edwards","isInfinity","defineCurve","lambda","basis","common","ripemd","hmac","ripemd160","safer","Safer","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","methods","Node","_baseState","reverseArgs","choice","optional","any","use","useDecoder","explicit","implicit","contains","_wrap","stateProps","cstate","prop","body","child","_useArgs","def","newKey","_decode","wrapResult","prevObj","present","prevKey","enterKey","_peekTag","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","path","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","entity","_use","some","node","_createEncoderBuffer","_encodeValue","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","errors","ReporterError","rethrow","pathLen","now","inherited","stack","partial","captureStackTrace","reverse","tagClass","0","1","2","3","tagClassByName","tagByName","isNativeFunction","_wrapNativeSuper","Class","_cache","has","Wrapper","arrayWithoutHoles","iterableToArray","nonIterableSpread","arrayLikeToArray","allowArrayLike","it","F","normalCompletion","didErr","_e2","_toConsumableArray","iter","_finalized","throwIfNotStringOrBuffer","ReadableState","EElistenerCount","debug","debugUtil","debuglog","createReadableStreamAsyncIterator","BufferList","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","readableObjectMode","pipes","pipesCount","flowing","reading","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","awaitDrain","readingMore","decoder","_read","readableAddChunk","addToFront","skipChunkCheck","emitReadable","emitReadable_","onEofChunk","chunkInvalid","addChunk","maybeReadMore","isPaused","setEncoding","clear","MAX_HWM","howMuchToRead","computeNewHighWaterMark","flow","maybeReadMore_","updateReadableListening","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","xs","nOrig","doRead","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","pipeOnDrain","event","dests","splice","ev","wrap","asyncIterator","_fromList","iterable","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","rState","ERR_INVALID_OPT_VALUE","duplexKey","highWaterMarkFrom","ERR_MULTIPLE_CALLBACK","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writechunk","rs","needTransform","writeencoding","flush","err2","K","W","Sha256","_w","maj","sigma0","sigma1","gamma0","_f","_g","_h","T1","T2","H","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","fh","gh","hh","fl","gl","xh","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","writeInt64BE","readableHwm","readableHighWaterMark","needMoreData","hasStrings","tail","copyFromBufferString","copyFromBuffer","fromListPartial","increasedAwaitDrain","_this2","Legacy","md5","ZEROS","Hmac","blocksize","_alg","ipad","_ipad","opad","_opad","pbkdf2","MAX_ALLOC","iterations","checkParameters","sizes","rmd160","saltLen","shaFunc","rmd160Func","getDigest","ipad1","ipad2","DK","block1","destPos","hLen","T","U","inL","inR","outL","outR","rip","pc1","r28shl","pc2table","pc2","expand","sTable","substitute","permuteTable","padSplit","group","DESState","DES","_desState","deriveKeys","shiftTable","kL","kR","inOff","outOff","_encrypt","_decrypt","pad","lStart","rStart","keyL","keyR","incr32","getBlock","_cipher","_prev","encrypt","chunkNum","aes","GHASH","StreamCipher","ck","_ghash","_finID","ghash","toPad","ivBits","calcIv","_secCache","_alen","_mode","_authTag","_called","rump","xorTest","findPrime","simpleSieve","fermatTest","TWENTYFOUR","millerRabin","FIVE","TEN","THREE","ELEVEN","_getPrimes","gen","n2","bn","brorand","MillerRabin","_randbelow","min_bytes","_randrange","stop","rone","n1","rn1","getDivisor","ch32","maj32","p32","ft_1","s0_256","s1_256","g0_256","g1_256","shaCommon","sha256_K","SHA256","sha512_K","SHA512","ch64_hi","yh","yl","zh","ch64_lo","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_hi","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_hi","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","move","_move","modrn","allocate","_toArrayLikeLE","_toArrayLikeBE","isNegNum","bignum","define","decoders","encoders","der","pem","DEREncoder","tree","DERNode","encodedTag","encodeTag","header","lenOctets","values","relative","ident","objid","time","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","_getEncoder","dataBuffer","defaultBuffer","DERDecoder","derDecodeTag","oct","tagStr","derDecodeLen","decodedTag","_skipUntilEnd","possibleEnd","numstr","printstr","identifiers","subident","second","year","mon","day","hour","sec","UTC","_getDecoder","createHash","i2ops","seed","paddedMsg","wrapNativeSuper","_wrapRegExp","BabelRegExp","_RegExp","RegExp","_super","_groups","WeakMap","flags","buildGroups","exec","substitution","superPropBase","_get","property","desc","INTERNAL_JSON","setBuffersToJSON","b64this","b64urlThis","hexThis","TAGS","21","22","23","32","URL","33","34","35","258","Set","TYPED_ARRAY_TAGS","64","65","66","68","69","70","72","Int8Array","73","Int16Array","74","77","78","81","Float32Array","82","Float64Array","85","86","_toTypedArray","tagged","TypedClass","little","float","ab","dv","getUint16","setUint16","4","getUint32","setUint32","8","getBigUint64","setBigUint64","getter","setter","swapEndian","BigUint64Array","BigInt64Array","current_TAGS","_pushTag","pushAny","converters","_pushInt","has_parent","parent_indefinite","HALF","FLOAT","DOUBLE","BUF_NAN","BUF_INF_NEG","BUF_INF_POS","BUF_NEG_ZERO","SEMANTIC_TYPES","current_SEMANTIC_TYPES","parseDateType","canonical","encodeUndefined","disallowUndefinedKeys","dateType","collapseBigIntegers","detectLoops","omitUndefinedProperties","genTypes","WeakSet","semanticTypes","addSemanticType","entries","fresh","_pushUInt8","fround","_pushFloatBE","_pushDoubleBE","orig","_pushUInt16BE","_pushUInt32BE","_pushFloat","_pushNaN","_pushInfinity","_pushIntNum","_pushBuffer","_pushNull","indefinite","skipTypes","encodeCBOR","converter","tv","cbor_keys","sort","a_cbor","b_cbor","len2","_pushString","delete","objs","typeName","_pushNumber","_pushJSBigint","_pushBoolean","_pushUndefined","_pushObject","toISOString","getTime","valueOf","BYTES_PER_ELEMENT","startsWith","chunkSize","objType","endIndex","pushArray","_pushMap","_encodeAll","_pushDate","_pushNoFilter","_pushRegexp","_pushSet","_pushArrayBuffer","_pushTypedArray","_pushURL","_pushBoxed","objectAssign","pSlice","functionsHaveNames","pToString","arrbuf","ok","regex","getName","func","truncate","something","rawname","operator","stackStartFunction","AssertionError","_deepEqual","strict","memos","multiline","lastIndex","ignoreCase","actualIndex","actualVisitedObjects","aIsArgs","isArguments","bIsArgs","ka","kb","objEquiv","expectedException","isPrototypeOf","_throws","shouldThrow","_tryBlock","userProvidedMessage","isUnexpectedException","generatedMessage","fn_name","idx","next_line","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","descriptors","formatRegExp","format","objects","noDeprecation","throwDeprecation","traceDeprecation","debugEnviron","debugs","seen","stylizeNoColor","colors","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","simple","formatPrimitive","visibleKeys","arrayToHash","formatError","braces","toUTCString","formatProperty","formatArray","cur","numLinesEst","reduceToSingleString","NODE_DEBUG","pid","months","timestamp","getHours","getMinutes","getSeconds","getDate","getMonth","log","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","newReason","promisify","original","promiseResolve","promiseReject","promise","custom","callbackify","callbackified","maybeCb","rej","adler","crcTable","table","makeTable","crc","asyncGeneratorStep","_next","_throw","info","_asyncToGenerator","ToCanvas","canvas","document","getElementById","querySelector","HTMLCanvasElement","_Render","bwipp_lookup","bcid","DrawingCanvas","FixupOptions","scale","scaleX","scaleY","paddingleft","paddingwidth","paddingright","paddingtop","paddingheight","paddingbottom","backgroundcolor","cmyk","BWIPJS_OPTIONS","rotate","Render","drawing","encoder","bw","BWIPJS","alttext","includetext","height","bwipp_pharmacode2","bwipp_encode","render","ToRaw","DrawingBuiltin","ids","pixs","pixx","pixy","sbs","bbs","bhs","elt","$$","$j","$k","$0","$error","$a","$d","mark","$z","$s","$r","$strcpy","$arrcpy","$cvrs","$get","$put","$geti","$puti","darr","doff","sarr","soff","$type","$search","seek","ls","lk","cd","$","$forall","$cleartomark","$counttomark","$aload","$astore","$eq","$ne","$lt","$le","$gt","$ge","$an","$or","$xo","$nt","fa","$f","isInteger","bwipp_raiseerror","bwipp_parseinput","$1","fncvals","barcode","_2","_6","_A","_C","_E","_G","_M","_N","_Q","_R","_S","_T","_Y","_Z","parsefnc","_j","_k","_l","_m","_n","_o","_q","_s","_y","parseonly","_16","_17","_1C","_1E","eci","_1H","_1I","_1J","_1K","_1L","_1M","_1N","_1O","_1P","_1U","_1W","_1X","_1Y","_1a","_1b","_1c","_1d","_1e","_1l","_1v","_1u","_1w","bwipp_gs1lint","ais","lintnumeric","_3","lintcset82","_5","lintcset39","_B","lintkey","_F","_H","_I","lintimporteridx","lintcsum","_L","_O","_P","_U","_V","_W","cset82","cset32","lintcsumalpha","_i","_p","_t","_x","_z","_11","_12","_13","_14","_19","_1A","_1D","_1F","_1R","_1S","_1T","_1V","_1Z","iso3166","lintiso3166","lintiso3166999","_1g","lintiso3166list","_1k","_1n","_1m","_1o","_1p","_1s","_1x","iso3166alpha2","lintiso3166alpha2","_22","_23","_24","_25","iso4217","lintiso4217","lintiban","_2A","_2B","_2C","_2G","_2H","_2I","_2J","_2K","_2O","_2P","_2S","_2U","_2X","_2Y","_2Z","_2a","_2b","_2e","lintzero","lintnonzero","_2g","lintnozeroprefix","_2j","lintyymmd0","_2l","_2n","_2o","_2q","_2r","_2s","_2u","_2v","_2w","_2x","_2z","_30","_31","lintyymmdd","_35","_36","lintyymmddhh","_38","_39","_3C","linthhmm","_3D","lintmmoptss","_3H","_3I","_3J","_3L","_3M","lintyesno","_3O","lintwinding","_3P","lintpieceoftotal","_3Q","_3R","_3T","_3U","_3V","_3W","_3Y","_3Z","lintpcenc","_3d","_3e","_3f","_3g","_3h","_3j","lintcouponcode","_3m","_3n","_3p","_3q","_3s","_3t","_3u","_3v","_3w","_3x","_3y","_3z","_40","_42","_43","_44","_45","_46","_47","_48","_4A","_4B","_4C","_4D","_4E","_4F","_4G","_4I","_4J","_4K","_4L","_4M","_4N","_4P","_4Q","_4R","_4T","_4U","_4V","_4X","_4Y","_4Z","_4a","_4b","_4c","_4d","_4f","_4g","_4h","_4i","_4j","_4k","_4m","_4n","_4o","_4p","_4q","_4r","_4s","_4u","_4v","_4x","_4y","_4z","_51","_52","_53","_54","_55","_56","_57","_59","_5A","_5B","_5C","_5D","_5E","_5G","_5H","_5I","_5J","_5K","_5L","_5M","couponexpire","_5O","_5P","_5R","_5S","_5T","_5V","_5W","_5Y","_5Z","_5a","_5c","_5d","_5e","_5f","_5h","_5i","_5j","_5n","_5o","_5r","_5s","_5u","_5v","_5w","_5y","_5z","_61","_62","_63","_65","_66","_67","_68","_6A","_6B","_6C","_6G","_6H","couponstart","_6M","_6O","_6P","_6R","_6S","_6T","_6U","_6V","_6W","_6Y","_6Z","_6b","_6c","_6d","_6f","_6g","_6h","_6i","_6j","_6l","_6m","_6o","_6p","_6q","_6s","_6t","_6u","_6v","_6x","_6y","_6z","_70","_71","_73","_75","lintcouponposoffer","_76","_77","_79","_7A","_7B","_7C","_7D","_7E","_7G","_7H","_7I","_7J","_7K","_7L","_7M","_7N","_7O","_7P","_7Q","_7R","_7S","_7U","_7X","_7Y","_7a","_7d","_7e","_7g","_7j","_7k","_7m","_7p","_7q","_7s","_7v","_7y","_7z","_81","_83","_86","_89","_8B","_8E","_8H","_8I","_8K","_8N","_8O","_8Q","_8S","_8T","_8V","_8W","_8Y","_8a","_8b","_8d","_8e","_8g","_8h","_8j","_8m","_8p","_8s","_8v","_8w","_8y","_91","_93","_96","_99","_9C","_9F","_9I","_9L","_9O","_9P","_9R","_9S","_9U","_9X","_9a","_9b","_9d","_9e","_9g","_9j","_9m","_9p","_9s","_9t","_9v","_9x","_9y","_A0","_A3","_A6","_A9","_AB","_AE","_AH","_AK","_AN","_AP","_AS","_AV","_AY","_Ab","_Ac","_Ae","_Ah","_Aj","_Ak","_Am","_Ao","_Aq","_As","_Av","_Aw","_Ay","_B0","_B1","_B3","_B6","_B8","_BA","_BC","_BE","_BH","_BK","_BM","_BO","_BR","_BU","_BX","_BZ","_Bc","_Bf","_Bh","_Bk","_Bn","_Bq","_Bt","_Bw","_Bz","_C0","_C2","_C5","_C8","_CA","_CD","_CG","_CJ","_CM","_CP","_CS","_CT","_CU","gs1syntax","_CX","_CW","_Ck","_Cl","_Cm","eval","_Cr","_Cx","_D8","_D9","_DC","_DE","bwipp_renmatrix","bwipjs_dontdraw","barcolor","colormap","dotty","inkspread","inkspreadh","inkspreadv","txt","textcolor","textxalign","textyalign","textfont","textsize","textxoffset","textyoffset","textgaps","_4","opt","_9","_7","xyget","_X","cget","cache","cput","abcd","_r","_v","_15","_18","down","up","sy","sdir","_1t","_1y","_29","drawlayer","pixsorig","_2E","_2F","_2Q","_2V","_2W","_2d","_2c","newpath","_2y","_3A","_3F","_3G","_3K","_3N","_3S","_3X","_3a","_3b","_3c","moveto","_3i","lineto","closepath","drawlayerdots","_3o","arc","currpos","translate","_4H","setcolor","_4O","_4e","_4l","selectfont","show","_4t","tstr","charpath","_58","pathbbox","ury","textascent","stringwidth","textwidth","textxpos","textypos","bwipp_ean5","dontdraw","encs","barchars","mirrormaps","checksum","barchar","mirrormap","indx","enclen","revenc","_u","char","_1Q","bwipp_renlinear","bwipp_ean2","_1G","bwipp_ean13","addongap","addontextfont","addontextsize","addontextxoffset","addontextyoffset","addon","_2M","_2N","_2R","_2h","guardrightypos","addopts","addcode","_3B","bwipp_ean8","_26","_28","_2D","_2m","bwipp_upca","upcacode","_33","_34","_37","_3E","_41","bwipp_upce","upcecode","invt","_2k","_49","_4w","bwipp_isbn","isbntextfont","isbntextsize","isbntextxoffset","isbntextyoffset","legacy","wasdash","numdash","numdigit","isbntxt","isbn","isbnchar","_1r","newtxt","bwipp_ismn","ismntextfont","ismntextsize","ismntextxoffset","ismntextyoffset","ismntxt","legacytxt","ismn","ismnchar","bwipp_issn","issntxt","issntextfont","issntextsize","issntextxoffset","issntextyoffset","seqvar","issn","issnchar","_10","bwipp_code128","sta","stb","stc","swa","swb","swc","sft","stp","lka","lkc","msglen","charmaps","charvals","_2i","seta","setb","setc","cws","cw","numSA","numEA","ea","msgtmp","_4S","numsscr","enca","encb","encc","_5X","anotb","bnota","_5k","_5m","_5p","nextanotb","_5t","nextbnota","abeforeb","_6J","bbeforea","nums","nchars","cset","_78","csum","_8F","_8Z","_8i","_8l","_8n","_8o","_8q","_8t","_8u","bwipp_gs1_128","linkagea","linkagec","dontlint","_K","aifixed","fnc1","c128","_21","bwipp_ean14","_D","hasspace","gtin","bwipp_sscc18","sscc","bwipp_code39","includecheck","validatecheck","includecheckintext","hidestars","barlen","_2T","_2f","bwipp_code39ext","extencs","newcode","newtext","extchar","txtentry","bwipp_code32","_J","bwipp_pzn","pzn8","bwipp_code93","sft1","sft2","sft3","sft4","checksum1","checksum2","_1h","bwipp_code93ext","extlen","bwipp_interleaved2of5","intl","achar","bchar","_2L","bwipp_itf14","showborder","borderwidth","borderleft","borderright","bwipp_identcode","bwipp_leitcode","bwipp_databaromni","linkage","barxmult","ncr","getRSSwidths","oe","mw","nm","bar","ew","sval","lval","_1j","binval","d3","d4","tab164","tab154","d1te","d1to","d1mwe","d1mwo","d1ele","d1elo","d1gs","d2te","d2to","d2mwe","d2mwo","d2ele","d2elo","d2gs","d3te","d3to","d3mwe","d3mwo","d3ele","d3elo","d3gs","_3r","d4te","d4to","d4mwe","d4mwo","d4ele","d4elo","d4gs","d1w","d1wo","d1we","d2w","d2wo","d2we","d3w","d3wo","d3we","d4w","d4wo","d4we","_5q","widths","checkweights","checkwidths","checklt","checkrtrev","checkrt","_6L","_6X","_6k","_6n","_74","_7F","top","_7T","bot","_7W","_7b","_7f","_7n","_7o","_7t","sep","_8L","_8P","sep1","sep2","sep3","_8z","f3","_9E","_9J","_9V","_9W","bwipp_databarstacked","bwipp_databarstackedomni","bwipp_databartruncated","bwipp_databarlimited","linkval","_1B","_2p","tab267","_3k","checkseq","seq","swidths","bwidths","_5F","_5N","_5Q","_5U","bwipp_databarexpanded","segments","aibad","ai310x","ai320x","ai392x","ai393x","gpfallow","conv12to40","conv13to44","tobin","lnumeric","lalphanumeric","liso646","cdf","gpf","_3l","_5b","_69","_6D","_6E","_6I","_6K","vlf","_6a","_6w","numeric","alphanumeric","iso646","_7h","_80","rembits","_84","_85","_87","_8A","_8C","_8D","_8G","_8J","gpfenc","numericruns","_8U","alphanumericruns","_8X","nextiso646only","_90","_98","_9A","_9K","_9M","_9f","_9i","_9l","_9n","_9o","_9q","_9z","_AD","_AI","_Aa","_BY","_Be","_Bg","_Bl","_Bm","_Bo","_Bp","_Br","_Bs","datalen","_C9","_CB","_CC","_CE","_CF","_CH","_CI","_CK","_CL","_CN","_CO","_CQ","_CR","_Cb","_Ca","_Cd","_Ci","_Cy","_D7","_DS","tab174","dxw","_Dj","_Di","_Dn","_Ds","_Dt","_E1","_E2","_E3","dte","dto","dmwe","dmwo","dele","delo","dgs","_EI","_EP","dw","_ET","dwo","dwe","_Ee","finderwidths","finderseq","fxw","_FB","_FA","_FO","checkweightseq","_FQ","_FR","_FS","_FX","_FW","_Fn","_Fo","_Fp","cte","cto","cmwe","cmwo","cele","celo","cgs","_G4","_GB","_GE","cwo","cwe","_GP","rows","numrows","_Gb","_Ga","_Gg","_Gf","_Gs","_Gz","_H3","_H2","_HD","_HF","_HG","_HI","_HK","_HL","_HM","_HO","seps","_HU","_HT","row","_Ha","_HZ","_He","_Hf","_Hl","_Hm","_Hr","_Hv","_Hu","_Hy","_Hx","finderpos","_I0","_I1","_I2","_I3","_I5","_I4","_IF","_Ib","_Ig","_It","_Iu","_Iv","_J2","_J3","_J4","_JB","_JC","_JN","_JM","_JT","_JU","_Jo","bwipp_databarexpandedstacked","bwipp_gs1northamericancoupon","coupontextfont","coupontextsize","coupontextxoffset","coupontextyoffset","vli","gcp","cod","coupontext","bwipp_pharmacode","nwidth","wwidth","swidth","encstr","spc","bwipp_code2of5","cs","ss","es","sw","bwipp_industrial2of5","bwipp_iata2of5","bwipp_matrix2of5","bwipp_coop2of5","bwipp_datalogic2of5","bwipp_code11","numchecks","xpos","bwipp_bc412","includestartstop","semi","txtpos","_20","_27","bwipp_rationalizedCodabar","altstartstop","bodyvals","ssvals","bwipp_onecode","txtdict","spacecnt","normalize","bigadd","_1f","_1i","_1q","_1z","bintmp","fcs","dat","codewords","_32","tab513","tab213","chars","barmap","dec","asc","bwipp_postnet","heights","bwipp_planet","bwipp_royalmail","checksumrow","checksumcol","bwipp_auspost","custinfoenc","ciflen","rstable","nextcell","rscodes","checkcode","bwipp_kix","bwipp_japanpost","digits","digit","checkdigit","bunit","hunit","bwipp_msi","checktype","badmod11","txtlen","mod10","mod11","ncrmod11","bwipp_plessey","unidirectional","checkbits","checksalt","checkval","_2t","bwipp_telepen","np","bwipp_telepennumeric","bwipp_posicode","checkoffset","la0","la1","la2","sf0","sf1","sf2","set0","set1","set2","char1","char2","c2w","sum","_64","cbs","_6e","_6r","bwipp_codablockf","columns","rowheight","sepheight","padrow","lastrow","endofrow","remnums","abmap","cmap","chkmsg","_7x","_8k","_8x","_97","_9B","rcws","rowbits","_9Y","_9r","_9w","symwid","_A5","_A8","_AC","_AL","_AO","_AU","_Af","bwipp_code16k","sa1","sb1","sc1","sa2","sb2","sc2","sb3","sc3","_50","_5x","_6F","_6Q","_82","_8R","_95","_9Q","_9T","_A7","_AM","_Al","_An","_BB","_BV","_Ba","_Bi","_Bj","metrics","urows","dcws","okay","_Cc","_Cj","_Cn","_Cq","_Cu","startencs","stopencsodd","stopencseven","stopencs","_DD","_DI","_DL","_DM","_DN","_DR","_DV","_DX","_DY","_DZ","_Db","_Dc","_Dd","_De","_Dh","_Dk","_Dp","_Dq","_Dv","_Dw","_E4","_E5","_E6","_E8","_E9","_EE","_EF","_EL","bwipp_code49","ns","charmap","combos","encodealpha","base48","encodenumeric","posval","ccs","cc","cr7","weightx","_4W","weighty","weightz","calccheck","weights","score","wr1","wr2","_5l","patterns","parity","ccrow","scrow","bwipp_flattermarken","bwipp_raw","bwipp_daft","bwipp_symbol","bwipp_pdf417","eclevel","rowmult","ccc","datcws","in","inlen","msbs","mscs","lsbs","lscs","L","P","nl","ll","ml","pl","as","ps","alltext","latlen","latseq","shftlen","numdigits","numtext","iseci","seqlen","latchcws","encl","encm","encp","textencfuncs","addtotext","enct","curlen","submode","curseq","imp","_7V","_7c","cost","nxtlen","nxtseq","_9G","minseq","txtseq","_AJ","_AR","_AZ","encn","_At","_Au","_Ax","_Az","gmod","cwn","gmul","ence","_Bb","encfuncs","addtocws","maxeclevel","_Cz","_D0","_D1","_DK","_DT","_DU","rsalog","rslog","rsprod","_Dg","_Dr","_EG","_EH","_EQ","_EW","_EX","_Eb","_Ea","_Ej","_Ei","_F0","_Ez","clusters","cwtobits","_FD","_FG","_FH","_FK","_FL","_FM","rwid","_FY","lcw","rcw","_G0","_G1","_G2","_GA","_GK","bwipp_pdf417compact","bwipp_micropdf417","cca","ccb","_7Z","_7i","_9N","_9Z","_AW","_B2","_B4","_Bd","ccametrics","ucols","rapl","rapc","rapr","ncws","_EA","_EB","_EJ","_EM","_EN","_EU","_EV","_EY","_Ed","_Ef","_Eg","_Ek","_Er","_F3","_F4","_F5","_FE","_FP","raps","_G7","_G8","_GC","_GD","_GF","raptobits","_GJ","_GM","_GN","_GQ","_GR","_GS","_GU","clst","_I9","_IA","_IJ","bwipp_datamatrix","mailmark","dmre","dindmre","isodmre","fullcws","cols","regh","regv","rscw","rsbl","mrows","mcols","numremcws","prog","m05","m06","lC","lB","lX","lT","lE","unl","sapp","usft","unlcw","Avals","CNvals","C1vals","C2vals","C3vals","Cvals","TNvals","T1vals","T2vals","T3vals","_5g","Tvals","Xvals","Evals","Bvals","_72","encvals","numD","nextXterm","nextNonX","isECI","_88","isD","isC","_8M","isT","isX","isE","isEA","isFN","XtermFirst","X","E","lookup","ac","tc","xc","bc","_92","_94","_9D","_9c","_A1","_A2","_AG","_AQ","_Ag","_Ai","_Ap","_B5","_B9","_BJ","_BL","_BW","_Bx","_By","_C1","ECItocws","_CV","_CY","encA","_Cf","_Cg","_D4","newmode","CTXvalstocws","_DW","_Da","encCTX","ctxvals","remcws","_EO","remvals","_Ew","_FV","Evalstocws","outlen","_GT","_GV","_GY","_GZ","_Gc","encE","edifactvals","_Gw","_Gx","_Gy","_HJ","_Hq","encB","bvals","_IZ","_IY","_If","datlen","_J5","_JA","_JD","_JE","rrows","rcols","cwbs","ecbs","_K4","_K3","cwbsize","cwb","_KD","_KC","_KS","_KT","_KU","_KV","_KX","_KY","_KZ","_Ka","_Kb","_Ke","_Ki","_Kj","_Km","_Kr","_Ku","_Kv","_L0","_Kz","_L7","_LJ","_LK","_LL","_LT","_LU","_Lb","_La","ecb","_Lk","_Lj","_Lq","_Lz","_M0","_MD","_ME","_MF","_MI","_MJ","_MK","_MN","_MO","_MP","_MS","_MT","_MX","_MW","_Mi","_Mj","_Mk","_Mn","_Mp","_Mq","_Mr","_Mt","_Mu","_Mv","_Mw","_Mx","_My","_Mz","_N0","_N1","_N2","_N3","_N5","_N6","_N7","_N8","_NB","_ND","_NE","_NG","_NH","_NJ","_NK","_NM","_NN","_NQ","_NR","mmat","_Nj","_NT","_NU","_NV","_NW","_NX","_NY","_NZ","_Na","_Nb","_Nc","_Nd","_Ne","_Nf","_Ng","_Nh","_Ni","dmn","_Ns","dmc1","_O1","dmc2","_OA","dmc3","_OK","dmc4","_ON","_OO","_OR","_OU","_OV","_OY","_OZ","_Od","_Oe","_Oi","_Oj","_On","_Oo","_Oq","_Or","_Ow","_Ox","_Oz","_P0","_P1","_P2","_P4","_P5","_PA","_PB","_PD","_PE","cwpos","_PY","_PX","_Pf","_Pg","_Ph","_Pi","_Pr","_Ps","_Pt","_Pu","_Q3","_Q2","_Qb","bwipp_datamatrixrectangular","bwipp_datamatrixrectangularextension","bwipp_mailmark","bwipp_qrcode","fnc1first","Nexcl","Aexcl","Bexcl","Kexcl","mids","cclens","termlens","encN","encK","addtobits","numNs","numAs","numBs","numKs","nextNs","nextBs","nextAs","nextKs","_60","KbeforeB","ver","numK","KbeforeA","KbeforeN","_6N","KbeforeE","AbeforeK","numA","AbeforeB","AbeforeN","AbeforeE","NbeforeK","numN","NbeforeB","NbeforeA","NbeforeE","v1to9","v10to26","v27to40","vM1","vM2","vM3","vM4","vR7x43","vR7x59","vR7x77","vR7x99","vR7x139","vR9x43","vR9x59","vR9x77","vR9x99","vR9x139","vR11x27","vR11x43","vR11x59","vR11x77","vR11x99","vR11x139","vR13x27","vR13x43","vR13x59","vR13x77","vR13x99","vR13x139","vR15x43","vR15x59","vR15x77","vR15x99","vR15x139","vR17x43","vR17x59","vR17x77","vR17x99","vR17x139","verset","_8f","msgbits","numB","_AF","_CZ","_DQ","cclen","_Iz","_J0","_J1","_J7","_J6","frmt","vers","vergrp","verind","asp2","asp3","nmod","rbit","lc4b","ecws","eclval","_Jf","dmod","ecb1","ecb2","verbits","term","dcpb","ecpb","_KJ","_KK","_KL","_KM","_KN","_KO","padstrs","padnum","_Kk","_Kt","bpcw","_L4","_L3","_LF","_LG","_LM","_LN","_LO","_LP","_LS","_LW","_LX","_Lf","_Lh","_Li","_Lm","_Ll","_Lt","_M5","_M6","_M7","_MG","rscws","rsnd","_MQ","_MU","_Ma","_MZ","_Mo","dcwsb","ecwsb","_NF","_Nn","_Nm","_O2","_O6","_O5","_OP","_OT","_Os","_Ot","qmv","_PF","_PJ","_PO","_PT","_PS","_Pd","_Pl","_Py","_Pz","_Px","_Q1","_Q7","fpat","fsubpat","fcorpat","fnullpat","_Qy","fpats","_R1","_R2","fpb0","fpb1","fpb2","fpb3","_RY","_Rg","_Ro","_Rx","putalgnpat","py","px","_S1","pb","_S2","pa","algnb","algnpat","_SF","_ST","_SU","_SS","_Sc","_Sd","_Sb","_Sj","_Sk","_Si","_Sz","_T0","_Sy","_W1","formatmap","versionmap","_Xf","_Xg","_Xh","_Xp","_Y9","_Xr","_Xs","_Xt","_Xu","_Xv","_Xw","_Xx","_Xy","_Xz","_Y0","_Y1","_Y3","_Y4","_Y6","_Y7","_Y8","_YK","_YA","_YB","_YC","_YD","_YE","_YF","_YH","_YI","_YJ","_YN","_YL","_YM","_YO","maskfuncs","bestmaskval","masks","_Yb","_Ya","_Yh","_Yg","_Yk","_Yj","_Yq","_Yu","_Yw","_Yy","_Z2","_ZA","posx","posy","col","_ZG","_ZL","_ZN","_ZR","evalfulln1n3","scrle","_Zm","_Zn","_Zp","_Zq","scr3","_Zu","_Zt","fact","_a3","_a4","_a5","_a8","_a9","_aA","_aB","_aC","scr1","evalfull","n3","rle","lastpairs","thispairs","colsadd1","_ab","_aa","_ad","_af","_ag","_ae","_ai","_aj","_ak","_am","_ao","symrow","_az","_b0","_b1","_b2","_b3","_b4","_b5","_b6","_b8","_bE","_bI","_bJ","_bK","_bL","_bM","_bN","_bU","_bV","_bW","_bX","_bZ","_bb","_be","_bf","_bg","_bj","n4","dark","evalmicro","dkrhs","dkbot","_br","_bq","_bw","_by","_bz","_c5","_c7","_c8","bestscore","_cI","_cH","masksym","_cP","_cO","bestsym","_cq","fmtvals","_cv","_cw","_cx","_cy","_cz","fmtval","ecid","_d7","_d6","_dC","_dD","_dF","_dG","symid","_dZ","_dY","_df","_di","fmtvals1","fmtvals2","_do","_dp","_dq","_dr","_ds","fmtval1","fmtvalu","fmtval2","_e3","_e9","_eB","_eC","_eJ","_eL","_eM","vervals","verval","_eW","_eV","_eb","_ec","_ee","_ef","_en","bwipp_swissqrcode","clip","setrgbcolor","bwipp_microqrcode","bwipp_rectangularmicroqrcode","bwipp_maxicode","sam","fid","pcode","ccode","scode","la","lb","sa","sb","sc","sd","se","sa3","lkd","lke","pd2","pd3","setd","sete","nseq","prefixinset","char3","setx","lkx","encmsg","padval","sami","mdb","scb","pcb","pccw","scm","pri","ep","_AA","rsnum","seco","sece","scodes","_Bv","secochk","secechk","secchk","mods","modmap","_Ch","bwipp_renmaximatrix","bwipp_azteccode","readerinit","layers","ecaddchars","lu","lm","lp","ld","su","p2","p3","p4","p5","pcomp","charsize","backto","lastchar","pchars","_7l","_7r","encu","_7w","encd","addtomsgbits","mlyr","icap","numecw","numdcw","allzero","allones","cwf","rspm","rsgf","rsnc","_Ce","_D2","_D3","nd","_DJ","_E0","modebits","rsparams","databits","_FC","cmv","lmv","lbit","llyr","lwid","fw","ldir","layer","_GO","_GW","_Gh","_Gi","npixs","_Gm","_Gl","_Gp","_Go","_H8","_HS","_HW","_HV","_Hk","_Hp","_Ho","_Ia","_Ic","_Ih","_Ii","_Ij","modemap","_Jw","_Jv","bwipp_azteccodecompact","bwipp_aztecrune","bwipp_codeone","stype","fnc3","lD","fnc2","fnc4","fnc1lD","eciesc","numecis","_7u","_8c","_8r","_9k","_A4","_AX","_B7","_BD","_BF","_BG","_BI","Dbits","_C7","_Dx","_Dy","encD","Drem","_Gu","_Gv","_H5","_H4","_H7","_H9","_HB","_HC","dcol","riso","risi","risl","_Is","_Iy","_Ix","gf","_JF","_JG","_JH","_JI","_JL","_JR","_JQ","_JV","_JW","_JZ","_Jh","_Ji","_Jm","_Jl","_Jt","_K5","_K6","_K7","_KF","_KG","_KW","_Kd","_Kc","_Kq","_L1","_L2","_L6","_L5","_LQ","_LR","_Ln","_Lo","_Lp","_Ls","_Lx","_Ly","_LZ","_Lc","_Ld","mmv","_Mb","_Md","_Me","_Mg","_Mh","_Mm","_Ms","artifact","_N4","cpat","_NP","_NO","_OS","_OW","_Om","bwipp_hanxin","_8","_IM","alnk","alnn","alnr","_Ik","_Il","_Io","_Ip","e1nb","e2nb","e3nb","e1dcws","e2dcws","e3dcws","e1ecws","e2ecws","e3ecws","_JY","_JX","_Jg","_Jk","_Jy","_Jz","_K0","_K1","_KA","_K9","_KE","_KI","_KQ","_KR","_Ko","_Kp","_Ky","_L9","_L8","_LH","_LV","_M3","_M4","_MA","_MV","_Ml","_NA","trmv","aplot","stag","_Nk","_OH","_OI","_OG","_Oh","_Ol","_Op","_P8","_PI","_PN","_Pc","_Pm","fpat2","_QD","_QC","_QH","_QG","fpb","_QW","_Qd","_Ql","_Qs","functionmap","_Tf","_Tg","_Th","_Ts","_Tm","_Tn","_To","_Tp","_Tq","_Tr","_U3","_U2","_U9","_U8","_UC","_UB","_UI","_UM","_UO","_UQ","_UU","_Uf","_Uk","_Um","_Uq","_V0","_V1","_V3","_V4","_V8","_V7","_VH","_VI","_VJ","_VM","_VN","_VO","_Vd","_Vc","_Vm","_Vn","_Vo","_Vr","_Vs","_Vt","sizeadd1","_WI","_WH","_WK","_WM","_WN","_WL","_WP","_WQ","_WR","_WS","_WT","_WV","_Wg","_Wh","_Wi","_Wj","_Wk","_Wl","_Wm","_Wn","_Wp","_Wz","_Wy","_X6","_X5","funval","funvals","_Xb","funbits","_Xe","_Xk","_Xo","bwipp_dotcode","ratio","fast","laa","lab","lac","sfa","sfb","sb4","sb5","sb6","sfc","sc4","sc5","sc6","sc7","bsa","bsb","tma","tmb","tmc","tms","crl","aim","m12","mac","BINvals","nDigits","SeventeenTen","ECI","DatumA","DatumB","DatumC","Binary","AheadC","TryC","AheadA","AheadB","UntilEndSeg","CRLF","BIN","base259to103","finaliseBIN","bpos","addtobin","ECIabc","ECIbin","encC","segstart","segend","inmac","_F8","_F9","_Fu","_HN","encBIN","_HX","_Hc","_Hi","_IN","_IR","_Iq","minarea","hgt","wid","_Kn","_Kw","ndots","nc","nw","_LE","_LI","sixedges","dmv","outline","_Lw","_Lv","_M8","_M9","_MC","clearcol","_MH","clearrow","_MR","evalsymbol","worst","_Mc","pen","_Nl","_Np","_Nq","_No","_Nv","_Nw","symp","_O7","_O8","_OC","_Oa","_PC","_PG","litmasks","_PZ","_Pb","_Pe","_Pj","ND","NW","NC","_Pv","_Pw","_Q0","_QF","_QI","_QK","_QN","_QP","_QQ","_QU","_QT","_Qi","_Qr","_Qw","_Qv","_Qz","_R0","_R4","_R5","_R6","_RG","_RF","_RT","_Rc","_Rd","_Re","_Rj","_Ry","_SA","_SD","_SN","litmask","_SQ","_SV","_Sv","_T8","bwipp_ultracode","scr","link1","scp","mcc","qcc","tcc","minc","maxc","mcol","pads","dcc","rsseq","dccu","dccl","tiles","tileseq","bwipp_jabcode","slave","databpm","tofixedbits","diffside","sameshape","sameecc","hasslaves","mc","mr","metabpm","nummetabits","metass","metavf","metaelen","metavlen","nummetamodules","numdatamodules","numdatabits","coderate","grosslen","snapsize","dist","datawc","datawr","tmpbits","m0","m3","lcg64_temper","p00","p01","p02","p03","p10","p11","p12","p13","p20","p21","p22","p23","p30","p31","p33","createMatrixA","wr","Pg_sub_block","wc","effwidth","matrixA","nb_pcb","permutation","off_index","createMetadataMatrixA","nb_once","GaussJordan","matrixH","column_arrangement","processed_column","zero_lines_nb","swap_col","zero_lines","loop0","pivot_column","off_index1","matrix_rank","loop2","loop1","kl","_9H","createGeneratorMatrix","pn","offset_cap","_AT","_Ad","matrix_index","ldpc","Pn","Pg","nb_sub_blocks","Pn_sub_block","encoding_iterations","ecc_encoded_data","_Bu","temp","offset_index","_C3","last_index","_Co","_DA","_DB","bi","gi","mi","yi","ki","wi","palette","metacolorindex","palettelayout","rgbres","_ED","_EC","_EZ","_Ec","rvals","gvals","_Ep","_Et","_Eu","_Ex","ci","_F2","ri","_F6","_Fx","_Fy","jmv","fmap","_HE","_HP","algnpat0","algnpat1","algnrpos","_Hs","algncpos","pp","_I8","_IK","_IO","_IU","_IT","metadatamap","_Kf","_Kg","_Kh","_Kl","palettemap1","_Ks","palettemap2","_Kx","_LA","_LB","_LC","_LD","_LY","_Lg","_Lu","_M2","_ML","_NL","_Nu","_O0","_O4","_O9","evalrle","_OL","_Ob","_Of","_Og","_Ok","_Ou","_Ov","c4","c5","evalmask","_PR","_PQ","_PW","_Pa","_Po","_Pn","_Q9","_QB","_QE","_QO","_QS","_Qa","_Qh","metamask","addtometapart","metapart","addtometabits","_R8","metabits","_Rk","_Rm","_S9","_S8","_SE","_SG","_SR","_SW","_Se","_Sf","_Sl","_Sn","_Sq","bwipp_gs1_cc","ccversion","cccolumns","lintype","linwidth","isupper","isnum0","isnum1","npre","alpha","ai90","ai90rem","nalpha","nnums","ais1","aval","nval","nbits","abits","vals1","bitcaps","eccws","tgt","_9u","pwr928","_C6","bsl","csl","_Cw","_DO","_DP","_Do","bwipp_ean13composite","linear","comp","rmoveto","bwipp_ean8composite","bwipp_upcacomposite","bwipp_upcecomposite","bwipp_databaromnicomposite","linsbs","linheight","sepfinder","bwipp_databarstackedcomposite","bwipp_databarstackedomnicomposite","bwipp_databartruncatedcomposite","bwipp_databarlimitedcomposite","bwipp_databarexpandedcomposite","bwipp_databarexpandedstackedcomposite","bwipp_gs1_128composite","compsym","linktype","bwipp_gs1datamatrix","dmtx","bwipp_gs1datamatrixrectangular","bwipp_gs1qrcode","qrc","bwipp_gs1dotcode","bwipp_hibccode39","bwipp_hibccode128","bwipp_hibcdatamatrix","bwipp_hibcdatamatrixrectangular","bwipp_hibcpdf417","bwipp_hibcmicropdf417","bwipp_hibcqrcode","bwipp_hibccodablockf","bwipp_hibcazteccode","bwipp_channelcode","shortfinder","nextb","chan","nexts","check","mod23","finder","bordercolor","barratio","spaceratio","bordertop","borderbottom","guardwhitespace","guardleftpos","guardleftypos","guardrightpos","guardwidth","guardheight","bars","maxh","rlineto","setlinewidth","stroke","maxicode","bwipjs","unescape","encodeURIComponent","symbol","BWIPP_VERSION","gstk","cmds","minx","miny","maxx","maxy","g_tdx","g_tdy","g_tsx","g_tsy","g_posx","g_posy","g_penw","g_path","g_font","g_rgb","g_clip","unclip","currfont","sxy","FontName","jsstring","FontSize","getfont","getRGB","plen","op","poly","xmin","ymin","xmax","ymax","x0","y0","y1","ccw","ry","tsx","tsy","bbox","measure","ascent","descent","llx","lly","urx","pts","rgb","penw","penh","penw2","penh2","xj","yj","bigw2","bigh2","remw2","remh2","polygon","ellipse","polys","pix","wgap","hgap","twidth","mwidth","qh","vh","hexagon","dx","dy","szx","szy","gs_image","gs_rowbyte","gs_width","gs_height","gs_dx","gs_dy","gs_r","gs_g","gs_b","gs_xymap","gs_xyclip","tx0","tx1","tx2","tx3","ty0","ty1","ty2","ty3","font","fwidth","fheight","fontid","FontLib","glyph","getglyph","advance","padl","padr","padt","padb","rot","sizelimit","image","ispng","lw","npts","addPoint","yr","xr","fillSegment","drawEllipse","evenodd","xymap","gw","gb","go","clipped","ty","offs","srca","inva","outa","wn","e2","maxedge","minedge","ey","sorted","xn","img","getContext","setTransform","fillStyle","fillRect","clearRect","getImageData","putImageData","fonts","names","glyphcache","glyphmru","glyphcount","monochrome","getpaths","loadFont","multx","multy","STBTT","InitFont","toUint8Array","bwipjs_name","bwipjs_multx","bwipjs_multy","mono","charcode","cachekey","sntl","GetGlyph","pixels","GetPaths","STBTT_vmove","STBTT_vline","STBTT_vcurve","STBTT_vcubic","STBTT_PLATFORM_ID_UNICODE","STBTT_PLATFORM_ID_MICROSOFT","STBTT_MS_EID_UNICODE_BMP","STBTT_MS_EID_UNICODE_FULL","oalloc","stbtt__buf_get8","cursor","stbtt__buf_peek8","stbtt__buf_seek","stbtt__buf_skip","stbtt__buf_get","stbtt__null_buf","stbtt__buf_range","stbtt__cff_get_index","offsize","stbtt__cff_int","stbtt__cff_skip_operand","stbtt__dict_get","stbtt__dict_get_ints","outcount","operands","stbtt__dict_get_int","stbtt__cff_index_count","stbtt__cff_index_get","INT16","ttUSHORT","ttSHORT","ttULONG","stbtt__find_table","fontstart","num_tables","tabledir","loc","stbtt__get_subrs","cff","fontdict","private_loc","subrsoff","stbtt_InitFont_internal","numTables","loca","glyf","hhea","hmtx","kern","topdict","cstype","charstrings","fdarrayoff","fdselectoff","fontdicts","fdselect","gsubrs","subrs","numGlyphs","index_map","encoding_record","indexToLocFormat","stbtt_FindGlyphIndex","unicode_codepoint","segcount","searchRange","entrySelector","rangeShift","endCount","low","high","start_char","end_char","start_glyph","stbtt_setvertex","cx","cy","stbtt__GetGlyfOffset","glyph_index","g1","g2","stbtt_GetGlyphBox","stbtt__GetGlyphInfoT2","stbtt__close_shape","vertices","num_vertices","was_off","start_off","scx","scy","stbtt__GetGlyphShapeTT","numberOfContours","flagcount","next_move","endPtsOfContours","ins","ptsoff","more","gidx","mtx","comp_verts","stbtt_GetGlyphShape","stbtt__track_vertex","max_x","started","max_y","min_x","min_y","stbtt__csctx_v","cx1","cy1","stbtt__csctx_close_shape","first_x","first_y","stbtt__csctx_rmove_to","stbtt__csctx_rline_to","stbtt__csctx_rccurve_to","dx1","dy1","dx2","dy2","dx3","dy3","cx2","cy2","stbtt__get_subr","bias","stbtt__cid_get_glyph_subrs","nranges","fdselector","stbtt__run_charstring","clear_stack","in_header","maskbits","subr_stack_height","has_subrs","subr_stack","dx4","dx5","dx6","dy4","dy5","dy6","stbtt__csctx_init","stbtt__GetGlyphShapeT2","output_ctx","stbtt_GetGlyphHMetrics","numOfLongHorMetrics","advanceWidth","leftSideBearing","stbtt_GetFontVMetrics","linegap","stbtt_GetGlyphBitmapBoxSubpixel","scale_x","scale_y","shift_x","shift_y","stbtt__new_active","off_x","start_point","dxdy","fdx","fdy","fx","invert","stbtt__handle_clipped_edge","scanline","stbtt__fill_active_edges_new","scanline_fill","y_top","y_bottom","x_top","x_bottom","sy0","sy1","xb","y_crossing","area","x3","y3","y2","stbtt__rasterize_sorted_edges","edges","nedges","vsubsample","off_y","active","scanline2","eoff","scan_y_top","scan_y_bottom","$i","$l","stride","stbtt__sort_edges_ins_sort","stbtt__sort_edges_quicksort","c01","c12","stbtt__sort_edges","stbtt__rasterize","wcount","y_scale_inv","stbtt__tesselate_curve","objspace_flatness_squared","mx","my","stbtt__tesselate_cubic","dx0","dy0","longlen","shortlen","x01","y01","x12","y12","x23","y23","xa","ya","yb","stbtt_FlattenCurves","objspace_flatness","contour_lengths","nverts","stbtt_Rasterize","flatness_in_pixels","x_off","y_off","windings","vm","codepoint","size_x","size_y","rect","hmetrics","bstr","atob","toCanvas","fixupOptions","BWIPJS_VERSION","rng","pseudoRandomBytes","prng","createHmac","algos","algoKeys","hashes","getHashes","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createSign","Sign","createVerify","Verify","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","createCredentials","kRangeErrorMessage","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_DEFAULT_WINDOWBITS","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_DEFAULT_CHUNK","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","Z_DEFAULT_MEMLEVEL","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_DEFAULT_LEVEL","Z_DEFAULT_COMPRESSION","bkeys","bk","bkey","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_MEM_ERROR","Z_BUF_ERROR","Z_VERSION_ERROR","ckeys","ckey","zlibBuffer","engine","buffers","nread","onEnd","zlibBufferSync","flushFlag","_finishFlushFlag","_processChunk","Deflate","Zlib","DEFLATE","Inflate","INFLATE","Gzip","GZIP","Gunzip","GUNZIP","DeflateRaw","DEFLATERAW","InflateRaw","INFLATERAW","Unzip","UNZIP","isValidFlushFlag","flag","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","_opts","_chunkSize","finishFlush","_flushFlag","windowBits","level","memLevel","strategy","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","dictionary","_handle","_hadError","errno","_close","_offset","_level","_strategy","freeze","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","deflate","deflateSync","gzip","gzipSync","deflateRaw","deflateRawSync","unzip","unzipSync","inflate","inflateSync","gunzip","gunzipSync","inflateRaw","inflateRawSync","availInBefore","availOutBefore","async","writeSync","availInAfter","availOutAfter","have","newReq","_class","_temp","Component","PropTypes","_require","getDeviceId","havePropsChanged","getFacingModePattern","createBlob","workerBlob","propsKeys","_Component","Reader","els","mirrorVideo","initiate","initiateLegacyMode","handleVideo","handleLoadStart","handleInputChange","clearComponent","handleReaderLoad","openImageDialog","handleWorkerMessage","setRefFactory","worker","Worker","createObjectURL","onmessage","legacyMode","nextProps","changedProps","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","delay","componentDidUpdate","return","nextState","terminate","stopCamera","reader","removeEventListener","onError","facingMode","isFirefox","navigator","userAgent","supported","mediaDevices","getSupportedConstraints","constraints","ideal","frameRate","vConstraintsPromise","deviceId","video","getUserMedia","catch","preview","srcObject","mozSrcObject","webkitURL","playsInline","streamTrack","getTracks","addEventListener","setState","streamLabel","label","_props","onLoad","_state","play","_props2","resolution","_els","naturalWidth","videoWidth","naturalHeight","videoHeight","hozOffset","vertOffset","_ratio","previewIsPlaying","readyState","HAVE_ENOUGH_DATA","drawImage","imageData","postMessage","_props3","onScan","FileReader","selectedImg","files","readAsDataURL","click","element","_props4","className","onImageLoad","showViewFinder","hiddenStyle","display","previewStyle","overflow","videoPreviewStyle","objectFit","imgPreviewStyle","createElement","paddingTop","zIndex","boxSizing","border","boxShadow","accept","onChange","propTypes","isRequired","oneOfType","bool","defaultProps","dtlsRole","trackId","_initialTrackId","getCommonCapabilities","localCapabilities","remoteCapabilities","commonCapabilities","findCodecByPayloadType","rtxCapabilityMatches","lRtx","rRtx","lCodecs","rCodecs","lCodec","rCodec","lHeaderExtension","rHeaderExtension","isActionAllowedInSignalingState","action","signalingState","offer","setLocalDescription","setRemoteDescription","answer","maybeAddCandidate","iceTransport","alreadyAdded","getRemoteCandidates","find","remoteCandidate","addRemoteCandidate","makeError","NotSupportedError","InvalidStateError","InvalidAccessError","OperationError","edgeVersion","addTrackToStreamAndFireEvent","addTrack","dispatchEvent","MediaStreamTrackEvent","fireAddTrack","pc","streams","trackEvent","Event","_dispatchEvent","RTCPeerConnection","_eventTarget","createDocumentFragment","canTrickleIceCandidates","needNegotiation","localStreams","remoteStreams","_localDescription","_remoteDescription","iceConnectionState","connectionState","iceGatheringState","usingBundle","bundlePolicy","rtcpMuxPolicy","iceTransportPolicy","iceServers","hasTurn","server","urls","url","filterIceServers","_iceGatherers","iceCandidatePoolSize","RTCIceGatherer","gatherPolicy","_config","transceivers","_sdpSessionId","_sdpSessionVersion","_dtlsRole","_isClosed","onicecandidate","onaddstream","ontrack","onremovestream","onsignalingstatechange","oniceconnectionstatechange","onconnectionstatechange","onicegatheringstatechange","onnegotiationneeded","ondatachannel","_emitGatheringStateChange","getConfiguration","getLocalStreams","getRemoteStreams","_createTransceiver","doNotAdd","hasBundleTransport","recvEncodingParameters","associatedRemoteMediaStreams","wantReceive","transports","_createIceAndDtlsTransports","_maybeFireNegotiationNeeded","RTCRtpSender","addStream","clonedStream","clonedTrack","enabled","removeTrack","sender","removeStream","getSenders","getReceivers","_createIceGatherer","sdpMLineIndex","bufferedCandidateEvents","bufferCandidates","_gather","onlocalcandidate","evt","sdpMid","cand","serializedCandidate","complete","RTCIceTransport","onicestatechange","_updateIceConnectionState","_updateConnectionState","RTCDtlsTransport","ondtlsstatechange","_disposeIceAndDtlsTransports","_transceive","send","recv","encodings","receive","isIceLite","rejected","remoteIceParameters","remoteDtlsParameters","_updateSignalingState","receiverList","iceOptions","remoteMsid","isComplete","cands","setTransport","setRemoteCandidates","MediaStream","RTCRtpReceiver","getCapabilities","isNewTrack","nativeTrack","removeTrackFromStreamAndFireEvent","sid","newState","states","closed","checking","connected","completed","disconnected","failed","new","connecting","createOffer","numAudioTracks","numVideoTracks","offerOptions","mandatory","offerToReceiveAudio","offerToReceiveVideo","remoteCodec","hdrExt","rHdrExt","getLocalCandidates","RTCSessionDescription","createAnswer","mediaSectionsInOffer","localTrack","getAudioTracks","getVideoTracks","addIceCandidate","candidateString","getStats","selector","MediaStreamTrack","senderOrReceiver","promises","all","allStats","results","stats","stat","ortcObjectName","nativeGetstats","nativeStats","mapStats","inboundrtp","outboundrtp","candidatepair","localcandidate","remotecandidate","nativeMethod","useMounted","mounted","isMounted","_slicedToArray","_inheritsLoose","Fragment","StrictMode","Profiler","Suspense","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isReactComponent","forceUpdate","isPureReactComponent","__self","__source","J","$$typeof","_owner","escape","O","Q","_status","_result","S","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","Children","only","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","createFactory","createRef","forwardRef","isValidElement","lazy","_payload","memo","useDebugValue","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useState","aa","ba","ca","da","ha","ia","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","qa","ma","na","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ra","ta","ua","wa","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","displayName","Qa","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","bb","ownerDocument","eb","db","selected","defaultSelected","disabled","dangerouslySetInnerHTML","hb","ib","textContent","mb","ob","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","lastChild","nodeType","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","tb","setProperty","ub","menuitem","embed","keygen","link","meta","wbr","vb","wb","srcElement","correspondingUseElement","parentNode","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","$b","memoizedState","dehydrated","sibling","dc","fc","gc","hc","ic","jc","kc","lc","oc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","pointerId","vc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","bd","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","md","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","9","12","13","16","17","18","19","20","27","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Rd","location","repeat","locale","which","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Zd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","ae","be","documentMode","ce","de","ee","fe","ge","he","le","color","datetime","email","month","range","tel","week","me","ne","pe","qe","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","href","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","capture","passive","Nb","ef","ff","parentWindow","hf","je","ke","jf","kf","lf","mf","autoFocus","__html","of","pf","qf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","contextType","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","documentElement","tagName","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","rh","sh","th","uh","_workInProgressVersionPrimary","wh","Ah","Bh","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","fi","ii","ji","li","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","qi","getDerivedStateFromError","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createElementNS","createTextNode","V","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","focus","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","Y","rj","sj","tj","uj","vj","wj","Z","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","pendingChildren","jk","mutableSourceEagerHydrationData","kk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","unstable_observedBits","unmount","querySelectorAll","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","port2","port1","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","skipTempReset","rootRecord","rval","exception","handle","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","pipeline","_getString","_getBuffer","_objectSpread","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_Object$create","ERR_MISSING_ARGS","destroyer","popCallback","destroys","Sha","rotl30","ft","Sha1","rotl5","Sha224","Sha384","scope","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","channel","installMessageChannelImplementation","html","script","onreadystatechange","installReadyStateChangeImplementation","task","ZERO_BUF","subtle","toBrowser","checks","browserPbkdf2","importKey","deriveBits","resolvePromise","prom","checkNative","resp","aesModes","desModes","ebtk","suite","des","instantiate","EDE","modeName","_des","des3","proto","CBCState","_cbcInit","_cbcState","superProto","EDEState","k3","_edeState","MODES","AuthCipher","Splitter","_autopadding","PADDING","setTo","padBuff","encryptStart","encryptByte","byteParam","shiftIn","ZEROES","fromArray","_multiply","lsbVi","abl","_last","padded","unpad","autoPadding","generatePrime","DH","ENCODINGS","genc","SEVEN","setPublicKey","pub","_pub","setPrivateKey","_priv","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","formatReturnValue","checkPrime","__gen","generateKeys","_gen","getPublicKey","computeSecret","secret","getPrime","front","getPrivateKey","getGenerator","verify","algorithms","_hashType","_tag","_signType","sig","EC","getKey","hlen","hbits","bits2int","bits2octets","obits","makeKey","makeR","hashType","signType","curveId","keyFromPrivate","toDER","ecSign","dsaSign","ShortCurve","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","Point","isRed","inf","JPoint","zOne","betas","_getEndoRoots","lambdas","vec","_getEndoBasis","ntinv","prevR","aprxSqrt","len1","_endoSplit","v1","v2","p1","q1","q2","ax","rhs","_endoWnafMulAdd","npoints","ncoeffs","fromJSON","endoMul","obj2point","nx","ny","ys1","dyinv","mulAdd","jmulAdd","_precompute","negate","zinv","zinv2","ay","pz2","z2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","c8","gamma","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","yyu4","kbase","z3","pz3","eqXToP","zs","MontCurve","i4","a24","diffAdd","jumlAdd","EdwardsCurve","twisted","mOneA","oneC","_mulA","_mulC","lhs","pointFromY","_extDbl","nt","_projDbl","_extAdd","_projAdd","sha1_K","SHA1","SHA224","SHA384","outer","HmacDRBG","KeyPair","Signature","keyPair","fromPrivate","keyFromPublic","fromPublic","genKeyPair","drbg","pers","persEnc","entropy","entropyEnc","nonce","ns2","_truncateToN","truncOnly","getPrivate","ns1","kp","kpX","recoveryParam","sinv","getPublic","recoverPubKey","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Qprime","predResist","minEntropy","_reseed","reseedInterval","nonceEnc","_hmac","kmac","reseed","addEnc","_importPrivate","privEnc","_importPublic","pubEnc","derive","_importDER","Position","place","getLength","initial","octetLen","rmPadding","constructLength","octets","slen","backHalf","EDDSA","pointClass","encodingLength","keyFromSecret","hashInt","Rencoded","encodePoint","s_","pubBytes","makeSignature","SG","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","_secret","_pubBytes","privBytes","getSecret","_Rencoded","_Sencoded","Sencoded","toBytes","int","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","EncryptedPrivateKeyInfo","ECParameters","namedCurve","Entity","_createNamed","Generated","_initNamed","PEMEncoder","PEMDecoder","_reverse","asn","Time","utcTime","utctime","generalTime","gentime","AttributeTypeValue","SubjectPublicKeyInfo","RelativeDistinguishedName","setof","RDNSequence","seqof","Name","rdnSequence","Validity","Extension","TBSCertificate","X509Certificate","findProc","startRegex","fullRegex","evp","okey","decrypted","cipherKey","match2","checkValue","pubkey","ecVerify","unpacked","montp","dsaVerify","padNum","ECDH","aliases","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","inenc","mgf","withPublic","publicKey","iHash","hLen2","dblen","maskedDb","maskedSeed","oaep","nonZero","pkcs1","zBuffer","dif","status","oldBrowser","safeBuffer","randombytes","kBufferMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","uint","plural","no_summary","_tag_24","_on_value","_on_start","_on_start_string","_on_stop","_on_more","_on_error","_on_data","_on_read","ind","parent_mt","_construct","Parent","__restart","__needed","__parser","separator","stream_errors","_fore","CborMap","thisArg","Zstream","zlib_deflate","zlib_inflate","NONE","init_done","write_in_progress","pending_close","gzip_id_bytes_read","deflateEnd","strm","inflateEnd","in_off","in_len","out_off","out_len","avail_in","next_in","avail_out","next_out","_process","_checkError","_afterSync","_after","next_expected_header_byte","inflateSetDictionary","_error","_setDictionary","deflateInit2","Z_DEFLATED","inflateInit2","deflateSetDictionary","deflateReset","inflateReset","total_in","total_out","data_type","configuration_table","trees","adler32","crc32","MAX_MATCH","MIN_LOOKAHEAD","HCRC_STATE","BUSY_STATE","FINISH_STATE","errorCode","rank","flush_pending","pending_buf","pending_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","w_size","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","window_size","hash_size","insert","ins_h","hash_shift","hash_mask","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","MIN_MATCH","last_lit","deflate_slow","max_insert","prev_match","match_available","Config","good_length","max_lazy","nice_length","max_chain","DeflateState","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","HEAP_SIZE","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","MAX_BITS","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","_tr_init","max_block_size","max_start","deflateInit","deflateSetHeader","old_flush","beg","hcrc","extra","os","bstate","deflate_huff","deflate_rle","_tr_align","_tr_stored_block","avail","tmpDict","dictLength","deflateInfo","LITERALS","L_CODES","D_CODES","extra_lbits","extra_dbits","extra_blbits","bl_order","static_ltree","static_dtree","_dist_code","_length_code","base_length","static_l_desc","static_d_desc","static_bl_desc","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","bi_reverse","gen_codes","next_code","init_block","END_BLOCK","bi_windup","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lx","build_tree","stree","xbits","gen_bitlen","scan_tree","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","static_init_done","stored_len","copy_block","LENGTH_CODES","tr_static_init","opt_lenb","static_lenb","max_blindex","black_mask","detect_data_type","BL_CODES","build_bl_tree","lcodes","dcodes","blcodes","send_all_trees","STATIC_TREES","bi_flush","inflate_fast","inflate_table","TYPE","BAD","zswap32","InflateState","havedict","dmax","wbits","wsize","whave","wnext","hold","lencode","distcode","lenbits","distbits","ncode","nlen","ndist","work","lendyn","distdyn","sane","back","was","inflateResetKeep","inflateReset2","lenfix","distfix","virgin","fixedtables","updatewindow","inflateInit","put","_in","_out","from_source","here_bits","here_op","here_val","last_bits","last_op","last_val","here","hbuf","inf_leave","xflags","extra_len","inflateGetHeader","inflateInfo","s_window","lcode","dcode","lmask","dmask","dolen","dodist","MAXBITS","lbase","lext","dbase","dext","lens_index","table_index","incr","root","curr","drop","huff","base_index","extra_index","Z_TREES","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_BINARY","Z_TEXT","Z_UNKNOWN","charset","rest","jsx","jsxs","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","getShim","ReactPropTypes","arrayOf","instanceOf","objectOf","shape","exact","checkPropTypes","NoVideoInputDevicesError","defaultDeviceIdChooser","filteredDevices","videoDevices","chooseDeviceId","enumerateDevices","devices","device","pattern","_ref","prevProps","properties","Blob","builder","BlobBuilder","MSBlobBuilder","MozBlobBuilder","WebKitBlobBuilder","append","getBlob","logDisabled_","deprecationWarnings_","extractVersion","uastring","expr","wrapPeerConnectionEvent","eventNameToWrap","wrapper","nativeAddEventListener","nativeEventName","wrappedCallback","modifiedEvent","handleEvent","_eventMap","nativeRemoveEventListener","unwrappedCb","disableLog","disableWarnings","deprecated","oldMethod","newMethod","detectBrowser","mozGetUserMedia","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","compactObject","accumulator","isObj","isEmptyObject","walkStats","resultSet","filterStats","outbound","streamStatsType","filteredResult","trackStats","trackIdentifier","trackStat","logging","shimGetUserMedia","browserDetails","constraintsToChrome_","oldname_","mix","advanced","shimConstraints_","audio","remap","face","getSupportedFacingModeLies","dev","shimError_","PermissionDeniedError","PermissionDismissedError","DevicesNotFoundError","ConstraintNotSatisfiedError","TrackStartError","MediaDeviceFailedDueToShutdown","MediaDeviceKillSwitchOn","TabCaptureError","ScreenCaptureError","DeviceCaptureError","constraint","constraintName","onSuccess","origGetUserMedia","DOMException","shimGetDisplayMedia","getSourceId","getDisplayMedia","sourceId","widthSpecified","heightSpecified","frameRateSpecified","chromeMediaSource","chromeMediaSourceId","maxFrameRate","maxWidth","maxHeight","shimMediaStream","webkitMediaStream","shimOnTrack","_ontrack","origSetRemoteDescription","_ontrackpoly","shimGetSendersWithDtmf","shimSenderWithDtmf","_dtmf","createDTMFSender","_pc","_senders","origAddTrack","origRemoveTrack","origAddStream","origRemoveStream","origGetSenders","senders","shimGetStats","origGetStats","onSucc","onErr","fixChromeStats_","response","standardReport","report","standardStats","makeMapStats","successCallbackWrapper_","shimSenderReceiverGetStats","origGetReceivers","receivers","shimAddTrackRemoveTrackWithNative","_shimmedLocalStreams","streamId","existingSenders","newSenders","newSender","shimAddTrackRemoveTrack","origGetLocalStreams","nativeStreams","_reverseStreams","_streams","newStream","alreadyExists","oldStream","methodObj","isLegacyCall","replaceInternalStreamId","origSetLocalDescription","replaceExternalStreamId","origLocalDescription","streamid","internalId","externalStream","internalStream","shimPeerConnection","RTCIceCandidate","fixNegotiationNeeded","sdpSemantics","origMSTEnabled","RTCDtmfSender","RTCDTMFSender","RTCPeerConnectionShim","shimRTCPeerConnection","validTurn","shimReplaceTrack","replaceTrack","setTrack","nativeGetUserMedia","getSettings","nativeGetSettings","applyConstraints","nativeApplyConstraints","preferredMediaSource","mediaSource","RTCTrackEvent","mozRTCPeerConnection","modernStatsTypes","nativeGetStats","shimSenderGetStats","shimReceiverGetStats","shimRemoveStream","shimRTCDataChannel","DataChannel","RTCDataChannel","shimAddTransceiver","origAddTransceiver","addTransceiver","setParametersPromises","initParameters","shouldPerformCheck","sendEncodings","encodingParam","rid","parseFloat","scaleResolutionDownBy","maxFramerate","getParameters","setParameters","shimGetParameters","origGetParameters","shimCreateOffer","origCreateOffer","finally","shimCreateAnswer","origCreateAnswer","shimLocalStreamsAPI","_localStreams","_addTrack","tracks","shimRemoteStreamsAPI","_remoteStreams","_onaddstream","_onaddstreampoly","shimCallbacksAPI","successCallback","failureCallback","withCallback","_getUserMedia","shimConstraints","errcb","shimRTCIceServerUrls","OrigPeerConnection","pcConfig","pcConstraints","newIceServers","generateCertificate","shimTrackEventTransceiver","shimCreateOfferLegacy","audioTransceiver","getTransceivers","setDirection","videoTransceiver","shimAudioContext","AudioContext","webkitAudioContext","shimRTCIceCandidate","NativeRTCIceCandidate","nativeCandidate","parsedCandidate","augmentedCandidate","shimMaxMessageSize","_sctp","sctpInDescription","mLine","getRemoteFirefoxVersion","getCanSendMaxMessageSize","remoteIsFirefox","canSendMaxMessageSize","getMaxMessageSize","canSendMMS","remoteMMS","POSITIVE_INFINITY","shimSendThrowTypeError","origCreateDataChannel","createDataChannel","dataChannel","wrapDcSend","origDataChannelSend","shimConnectionState","_onconnectionstatechange","origMethod","_connectionstatechangepoly","_lastConnectionState","newEvent","removeExtmapAllowMixed","nativeSRD","shimAddIceCandidateNullOrEmpty","nativeAddIceCandidate","adapter","shimChrome","shimFirefox","shimEdge","shimSafari","commonShim","chromeShim","browserShim","firefoxShim","edgeShim","safariShim","adapterFactory","_excluded","Jumbotron","_classes","_ref$as","fluid","bsPrefix","optionsSupported","onceSupported","canUseDOM","eventName","wrappedHandler","__once","onceHandler","scrollbarSize","recalc","scrollDiv","offsetWidth","clientWidth","getComputedStyle","psuedoElement","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","css","transforms","getPropertyValue","isTransform","removeProperty","cssText","listen","emulateTransitionEnd","duration","createEvent","initEvent","triggerEvent","remove","transitionEnd","mult","parseDuration","removeEmulate","addClass","classList","baseVal","hasClass","replaceClassName","origClass","classToRemove","removeClass","isWindow","DOCUMENT_NODE","isOverflowing","container","win","innerWidth","bodyIsOverflowing","scrollHeight","clientHeight","BLACKLIST","siblings","exclude","isHidable","ariaHidden","hide","manager","ModalManager","_ref$hideSiblingNodes","hideSiblingNodes","_ref$handleContainerO","handleContainerOverflow","modals","containers","getScrollbarSize","_proto","isContainerOverflowing","modal","containerIndexFromModal","overflowing","findIndexOf","setContainerStyle","containerState","paddingRight","removeContainerStyle","modalIdx","containerIdx","_ref2","dialog","backdrop","hideSiblings","_ref3","showSiblings","_data$modals","isTopModal","resolveContainerRef","useModalManager","provided","modalManager","setDialogRef","setBackdropRef","Modal","_ref$show","_ref$role","_ref$backdrop","_ref$keyboard","keyboard","onBackdropClick","onEscapeKeyDown","backdropTransition","_ref$autoFocus","_ref$enforceFocus","enforceFocus","_ref$restoreFocus","restoreFocus","restoreFocusOptions","renderDialog","_ref$renderBackdrop","renderBackdrop","providedManager","containerRef","containerClassName","onShow","_ref$onHide","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered","onResolved","_useState","resolvedRef","setRef","earlyRef","nextRef","useWaitForDOMRef","prevShow","usePrevious","exited","setExited","lastFocusRef","handleShow","removeKeydownListenerRef","handleDocumentKeyDown","removeFocusListenerRef","handleEnforceFocus","currentActiveElement","handleHide","_lastFocusRef$current","handleBackdropClick","Transition","dialogProps","tabIndex","appear","unmountOnExit","backdropElement","BackdropTransition","ReactDOM","preventScroll","Manager","qsa","Selector","BootstrapModalManager","_ModalManager","adjustAndStore","adjust","_css","dataset","_css2","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","_React$Component","initialStatus","isMounting","enter","appearStatus","mountOnEnter","nextCallback","prevState","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","appearing","nodeRef","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","cancel","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","transitionEndListener","_fadeStyles","fadeStyles","Fade","handleEnter","offsetHeight","triggerBrowserReflow","innerProps","rHyphen","pascalCase","chr","createWithBsPrefix","_ref$displayName","BsComponent","_ref2$as","Tag","resolvedPrefix","ModalContext","ModalDialog","contentClassName","centered","scrollable","dialogClass","CloseButton","ModalHeader","closeLabel","closeButton","handleClick","dialogAs","DialogTransition","dialogClassName","Dialog","ariaLabelledby","backdropClassName","propsManager","modalStyle","setStyle","_useState2","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","_useCallbackRef","setModalRef","modalContext","getModalManager","updateDialogStyle","containerIsOverflowing","modalIsOverflowing","paddingLeft","handleWindowResize","handleDialogMouseDown","handleMouseUp","handleStaticModalAnimation","handleStaticBackdropClick","backdropProps","baseModalStyle","BaseModal","_len3","_key3","_len2","_key2","_len4","_key4","onMouseUp","onMouseDown","Body","ModalBody","Header","Title","ModalTitle","Footer","ModalFooter","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","createChainedFunction","funcs","isTrivialHref","SafeAnchor","onKeyDown","Button","variant"],"mappings":"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O,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAC7sD2I,EAAM,EAAGjD,EAAMD,EAAI3mF,OAAQ6pF,EAAMjD,EAAKiD,IAAO,CAClD,IAAIhD,EAAMlF,EAAKgF,EAAKkD,GACpB9I,EAAGD,KAAQ+F,EACX9F,EAAGD,KAAQ+F,EAEf/C,EAAGgG,QAAU3I,IACb2C,EAAGiG,YAAc,WAEb,QADyCrpF,IAA/BihF,EAAKmC,EAAGgG,QAAS/I,IAAKD,IAM5B,OAJAA,IACAC,EAAGD,KAAQ,0BACXC,EAAGD,KAAQ,uBACXC,EAAGD,MAAQ,GACJ,GAGfgD,EAAGkG,eAAiB,WAChB,IAAIC,EAAMlJ,IAAKD,GAEf,GADAC,EAAGD,KAAQmJ,EACPjH,EAAIiH,EAAK,QAET,QADyCvpF,IAA/BihF,EAAKmC,EAAGgG,QAAS/I,IAAKD,IAM5B,OAJAA,IACAC,EAAGD,KAAQ,+BACXC,EAAGD,KAAQ,kCACXC,EAAGD,MAAQ,GACJ,OAGXA,KAGRgD,EAAGoG,gBAAkB,WACjB,IAAIC,EAAMpJ,IAAKD,GAEf,GADAC,EAAGD,KAAQqJ,EACNA,EAAInqF,OAAS,GAAM,EAKpB,OAJA8gF,GAAM,EACNC,EAAGD,KAAQ,gCACXC,EAAGD,KAAQ,2CACXC,EAAGD,MAAQ,GACJ,EAEX,IAAImG,EAAMlG,IAAKD,GACfC,EAAGD,KAAQmG,EACXlG,EAAGD,MAAQ,EACX,IAAK,IAAIsJ,EAAM,EAAGC,EAAMpD,EAAIjnF,OAAS,EAAGoqF,GAAOC,EAAKD,GAAO,EAAG,CAC1D,IAAIE,EAAMvJ,IAAKD,GACXyJ,EAAMxJ,IAAKD,GACX0J,OAA+C9pF,IAAzCihF,EAAKmC,EAAGgG,QAASjI,EAAM0I,EAAKH,EAAK,IAG3C,GAFArJ,EAAGD,KAAQyJ,EACXxJ,EAAGD,KAAQwJ,GACNE,EAAK,CACN1J,GAAM,EACNC,EAAGD,MAAQ,EACX,OAGR,GAAI0C,EAAIzC,IAAKD,IAKT,OAJAA,IACAC,EAAGD,KAAQ,0BACXC,EAAGD,KAAQ,uBACXC,EAAGD,MAAQ,GACJ,EAEXA,KAEJC,EAAGD,KAAQ7yE,IAEX,IADA,IAAIk5E,EAAMjG,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,K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CT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,KAAMtb,EAAG,CAACub,MACX,CAAC,OAAQE,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,CAAC,OAAQA,IACT,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OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQ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AM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,MAC9yO4C,EAAG2oC,OAASvrC,EAAG,CAAC,EAAG,KAAM,EAAG,KAAM,EAAG,KAAM,EAAG,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GA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AK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,O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AG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAM,IAAM,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,EAAG,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,GAAI,IAAK,OAAQA,EAAG,CAAC,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AY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,aAAcA,EAAG,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,W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,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,KAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,KAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,KAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,SAAUA,EAAG,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,QAASA,EAAG,CAAC,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,KAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MA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OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,KAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,KAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,SAAUA,EAAG,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,QAASA,EAAG,CAAC,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,KAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAA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AAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,I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GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,IAAK,GAAI,GAAI,EAAG,IAAKA,EAAG,CAAC,EAAG,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,IAAK,GAAI,GAAI,EAAG,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,IAAK,GAAI,GAAI,EAAG,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,IAAK,GAAI,GAAI,EAAG,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,IAAK,GAAI,GAAI,EAAG,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,IAAK,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,GAAI,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,EAAG,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,OAAQA,EAAG,CAAC,KAAM,IAAK,GAAI,EAAG,MAAOA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,GAAI,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,MAAOA,EAAG,CAAC,KAAM,IAAK,GAAI,GAAI,MAAOA,EAAG,CAAC,GAAI,IAAK,KAAMA,EAAG,CAAC,EAAG,IAAK,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,IAAKA,EAAG,CAAC,GAAI,GAAI,KAAMA,EAAG,CAAC,EAAG,GAAI,KAAMA,EAAG,CAAC,GAAI,GAAI,QACzgnB4C,EAAGg2D,OAASn4D,EAAKmC,EAAGs0C,QAAS,GAAK,GAClC,IAAK,IAAI4iC,EAAM,EAAGA,GAAO,GAAIA,GAAO,EAAG,CACnCl3E,EAAG/iF,EAAIi6J,EACPl3E,EAAGr/E,EAAIk9E,EAAKmC,EAAG+vC,QAAS/vC,EAAG/iF,GAC3B+iF,EAAGu1D,KAAO13D,EAAKmC,EAAGr/E,EAAG,GACrBq/E,EAAGxjF,KAAOqhF,EAAKmC,EAAGr/E,EAAG,GACrBq/E,EAAGm3E,KAAOt5E,EAAKmC,EAAGr/E,EAAG,GACrBq/E,EAAGo3E,KAAOv5E,EAAKmC,EAAGr/E,EAAG,GACrBq/E,EAAGq3E,KAAOz3E,EAAGI,EAAGxjF,KAAQwjF,EAAGm3E,KAAOn3E,EAAGo3E,MACrCp3E,EAAG41D,KAAO/3D,EAAKmC,EAAGr/E,EAAG,GACrBq/E,EAAG27C,QAAU37C,EAAG41D,KAAO,GACvB51D,EAAG61D,KAAO71D,EAAG41D,KAAO,EACpB51D,EAAGgmD,KAAOjoD,EAAMiC,EAAGr/E,EAAG,EAAiB,EAAZq/E,EAAGg2D,OAAa,GAC3C,IAAIwa,EAAMxwE,EAAGgmD,KACb/oD,EAAGD,KAAQ,OACXC,EAAGD,KAAQ,EACX,IAAK,IAAIyzE,EAAM,EAAG6G,EAAM9G,EAAIt0J,OAAQu0J,EAAM6G,EAAK7G,IAAO,CAClD,IAAI8G,EAAM15E,EAAK2yE,EAAKC,GAChB+G,EAAMv6E,IAAKD,GACfC,EAAGD,KAAQ4C,EAAG43E,EAAO35E,EAAK05E,EAAK,GAAK15E,EAAK05E,EAAK,IAElD,IAAIE,EAAMx6E,IAAKD,GAWf,GAVAgD,EAAG/C,IAAKD,IAAOy6E,EACfz3E,EAAGiwC,KAAOrwC,EAAGI,EAAG27C,KAAO37C,EAAG+1D,MAC1B/1D,EAAGk2D,KAAiB,EAAVl2D,EAAGiwC,KACbjwC,EAAGkwC,MAAO,EACNhxC,EAAIc,EAAG3zE,QAAS,UAAY6yE,EAAIc,EAAG3zE,QAAS2zE,EAAGu1D,QAC/Cv1D,EAAGkwC,MAAO,GAEVlwC,EAAGnjE,KAAK3gB,OAAS8jF,EAAGk2D,OACpBl2D,EAAGkwC,MAAO,GAEVlwC,EAAGkwC,KACH,MAGHlwC,EAAGkwC,OACJjzC,EAAGD,KAAQ,4BACXC,EAAGD,KAAQ,4BACX8C,KAEJE,EAAG3zE,QAAU2zE,EAAGu1D,KAChBv1D,EAAG20D,QAAU30D,EAAGnjE,KAChBmjE,EAAG03E,KAAO75E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACjChmD,EAAG23E,KAAO95E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACjChmD,EAAG43E,KAAO/5E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACjChmD,EAAG63E,OAASh6E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACnChmD,EAAG83E,OAASj6E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACnChmD,EAAG+3E,OAASl6E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACnChmD,EAAGg4E,OAASn6E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACnChmD,EAAGi4E,OAASp6E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACnChmD,EAAGk4E,OAASr6E,EAAKA,EAAKmC,EAAGgmD,KAAM,GAAI,GACnChmD,EAAGvgB,IAAM+d,EAAGwC,EAAGk2D,MACf,IAAK,IAAIiiB,EAAM,EAAGC,EAAMp4E,EAAGvgB,IAAIvjE,OAAS,EAAGi8J,GAAOC,EAAKD,GAAO,EAC1Dr6E,EAAKkC,EAAGvgB,IAAK04F,EAAK,IAEtBn6E,EAAMgC,EAAGvgB,IAAK,EAAGugB,EAAG20D,SACpB30D,EAAGosB,IAAMhvB,EAAG4C,EAAGiwC,MACf,IAAK,IAAIooC,EAAM,EAAGpiB,EAAMj2D,EAAGosB,IAAIlwG,OAAS,EAAGm8J,GAAOpiB,EAAKoiB,GAAO,EAAG,CAC7Dr4E,EAAGh9E,EAAIq1J,EACPr4E,EAAGomD,IAAMroD,EAAMiC,EAAGvgB,IAAY,EAAPugB,EAAGh9E,EAAO,GACjCg9E,EAAGqsB,GAAK,EACR,IAAK,IAAIisD,EAAM,EAAGA,GAAO,EAAGA,GAAO,EAC/Bt4E,EAAG/iF,EAAIq7J,EACPt4E,EAAGqsB,GAAKzsB,EAAGI,EAAGqsB,KAAUhpG,KAAK0E,IAAI,EAAI,EAAIi4E,EAAG/iF,EAAK,GAAO2iF,EAAG/B,EAAKmC,EAAGomD,IAAKpmD,EAAG/iF,GAAK,KAEpF6gF,EAAKkC,EAAGosB,IAAKpsB,EAAGh9E,EAAGg9E,EAAGqsB,IAE1BrsB,EAAG2pC,QAAU,WACT3pC,EAAGguE,KAAO/wE,IAAKD,GACfgD,EAAGiuE,KAAOhxE,IAAKD,GACfgD,EAAGkuE,KAAOjxE,IAAKD,GACfgD,EAAGy4D,MAAQx7D,IAAKD,GAChBC,EAAGD,KAAQ7yE,IACX8yE,EAAGD,KAAQ,EACX,IAAK,IAAIu7E,EAAM,EAAGC,EAAM54E,EAAGI,EAAGiuE,KAAO,GAAIsK,EAAMC,EAAKD,IAAO,CACvD,IAAIE,EAAMx7E,IAAKD,GACX07E,EAAY,EAAND,EAGV,GAFAx7E,EAAGD,KAAQy7E,EACXx7E,EAAGD,KAAQ07E,EACPA,GAAO14E,EAAGiuE,KAAM,CAChB,IAAIhoB,EAAMhpD,IAAKD,GACfC,EAAGD,KAAQyC,EAAIwmD,EAAKjmD,EAAGguE,OAG/BhuE,EAAGy4C,OAASr7C,IACZ4C,EAAG04C,MAAQt7C,EAAG4C,EAAGiuE,MACjB,IAAK,IAAI0K,EAAM,EAAGC,EAAMh5E,EAAGI,EAAGiuE,KAAO,GAAI0K,GAAOC,EAAKD,GAAO,EACxD76E,EAAKkC,EAAG04C,MAAO76C,EAAKmC,EAAGy4C,OAAQkgC,GAAMA,GAEzC34E,EAAG24C,OAAS,WACR,IAAIkgC,EAAM57E,IAAKD,GACX23E,EAAM13E,IAAKD,GAGf,GAFAC,EAAGD,KAAQ23E,EACX13E,EAAGD,KAAQ67E,EACC,GAAPA,GAAqB,GAAPlE,EAAW,CAC1B,IAAImE,EAAMj7E,EAAKmC,EAAG04C,MAAOz7C,IAAKD,IAC1B85D,EAAMj5D,EAAKmC,EAAGy4C,OAAQ74C,EAAGk5E,EAAMj7E,EAAKmC,EAAG04C,MAAOz7C,IAAKD,KAAQ4C,EAAGI,EAAGiuE,KAAO,IAC5EhxE,EAAGD,KAAQ85D,OAEX95D,GAAM,EACNC,EAAGD,KAAQ,GAGnBC,EAAGD,KAAQ7yE,IACX8yE,EAAGD,KAAQ,EACX,IAAK,IAAI+7E,EAAM,EAAGC,EAAMh5E,EAAGkuE,KAAM6K,EAAMC,EAAKD,IACxC97E,EAAGD,KAAQ,EAEfgD,EAAGxsC,OAAS4pC,IACZ,IAAK,IAAIspD,EAAM,EAAGD,EAAMzmD,EAAGkuE,KAAMxnB,GAAOD,EAAKC,GAAO,EAAG,CACnD1mD,EAAG/iF,EAAIypI,EACP5oD,EAAKkC,EAAGxsC,OAAQwsC,EAAG/iF,EAAG4gF,EAAKmC,EAAGxsC,OAAQwsC,EAAG/iF,EAAI,IAC7C,IAAK,IAAI83J,EAAM/0E,EAAG/iF,EAAI,EAAG83J,GAAO,EAAGA,GAAO,EAAG,CACzC/0E,EAAGr+E,EAAIozJ,EACP93E,EAAGD,KAAQgD,EAAGxsC,OACdypC,EAAGD,KAAQgD,EAAGr+E,EACds7E,EAAGD,KAAQa,EAAKmC,EAAGxsC,OAAQwsC,EAAGr+E,EAAI,GAClCs7E,EAAGD,KAAQa,EAAKmC,EAAGxsC,OAAQwsC,EAAGr+E,GAC9Bs7E,EAAGD,KAAQa,EAAKmC,EAAGy4C,OAAQz4C,EAAG/iF,GAC9B+iF,EAAG24C,SACH,IAAIsgC,EAAMh8E,IAAKD,GACXk8E,EAAMj8E,IAAKD,GACXg4E,EAAM/3E,IAAKD,GACfc,EAAKb,IAAKD,GAAKg4E,EAAKv1E,EAAIy5E,EAAKD,IAEjCh8E,EAAGD,KAAQgD,EAAGxsC,OACdypC,EAAGD,KAAQ,EACXC,EAAGD,KAAQa,EAAKmC,EAAGxsC,OAAQ,GAC3BypC,EAAGD,KAAQa,EAAKmC,EAAGy4C,OAAQz4C,EAAG/iF,GAC9B+iF,EAAG24C,SACH,IAAIwgC,EAAMl8E,IAAKD,GACXwqD,EAAMvqD,IAAKD,GACfc,EAAKb,IAAKD,GAAKwqD,EAAK2xB,GAExBn5E,EAAGsuE,GAAKtuE,EAAGy4D,MAAMv8I,OACjB+gF,EAAGD,KAAQ7yE,IACXy0E,EAAQoB,EAAGy4D,OACX,IAAK,IAAIrB,EAAM,EAAGge,EAAMp1E,EAAGkuE,KAAM9W,EAAMge,EAAKhe,IACxCn6D,EAAGD,KAAQ,EAEfC,EAAGD,KAAQ,EACXgD,EAAGy4D,MAAQr7D,IACX,IAAK,IAAIg8E,EAAM,EAAGC,EAAMr5E,EAAGsuE,GAAK,EAAG8K,GAAOC,EAAKD,GAAO,EAAG,CACrDp5E,EAAGnvE,EAAI4uE,EAAI5B,EAAKmC,EAAGy4D,MAAO2gB,GAAMv7E,EAAKmC,EAAGy4D,MAAOz4D,EAAGsuE,KAClD,IAAK,IAAIgL,EAAM,EAAG/hB,EAAM33D,EAAGI,EAAGkuE,KAAO,GAAIoL,GAAO/hB,EAAK+hB,GAAO,EAAG,CAC3Dt5E,EAAGr+E,EAAI23J,EACPr8E,EAAGD,KAAQgD,EAAGy4D,MACdx7D,EAAGD,KAAQgD,EAAGsuE,GAAKtuE,EAAGr+E,EACtBs7E,EAAGD,KAAQa,EAAKmC,EAAGy4D,MAAQz4D,EAAGsuE,GAAKtuE,EAAGr+E,EAAK,GAC3Cs7E,EAAGD,KAAQgD,EAAGnvE,EACdosE,EAAGD,KAAQa,EAAKmC,EAAGxsC,OAAQosC,EAAGA,EAAGI,EAAGkuE,KAAOluE,EAAGr+E,GAAK,IACnDq+E,EAAG24C,SACH,IAAImP,EAAM7qD,IAAKD,GACXu8E,EAAMt8E,IAAKD,GACX66D,EAAM56D,IAAKD,GACfc,EAAKb,IAAKD,GAAK66D,EAAKp4D,EAAI85E,EAAKzxB,KAGrC7qD,EAAGD,KAAQe,EAAMiC,EAAGy4D,MAAO,EAAGz4D,EAAGy4D,MAAMv8I,OAAS,IAEpD8jF,EAAGg5D,MAAQ57D,EAAGwC,EAAGA,EAAGI,EAAG03E,KAAO13E,EAAG23E,MAAQ33E,EAAG43E,OAC5C53E,EAAGi5D,MAAQ77D,EAAG4C,EAAGg5D,MAAM98I,QACvB8jF,EAAG00C,GAAK,EACR10C,EAAGx5E,IAAM,EACT,IAAK,IAAIyxI,EAAM,EAAG9P,EAAMnoD,EAAG03E,KAAMzf,EAAM9P,EAAK8P,IAAO,CAC/Ch7D,EAAGD,KAAQe,EAAMiC,EAAGosB,IAAKpsB,EAAG00C,GAAI10C,EAAG63E,QACnC56E,EAAGD,KAAQgD,EAAGg4E,OACd/6E,EAAGD,KAAQ,IACXC,EAAGD,KAAQ,IACXgD,EAAG2pC,UACH,IAAI8rC,EAAMx4E,IAAKD,GACfc,EAAKkC,EAAGg5D,MAAOh5D,EAAGx5E,IAAKu3E,EAAM03E,EAAK,EAAGz1E,EAAG63E,SACxC/5E,EAAKkC,EAAGi5D,MAAOj5D,EAAGx5E,IAAKu3E,EAAM03E,EAAKz1E,EAAG63E,OAAQ73E,EAAGg4E,SAChDh4E,EAAG00C,GAAK90C,EAAGI,EAAG00C,GAAK10C,EAAG63E,QACtB73E,EAAGx5E,IAAMw5E,EAAGx5E,IAAM,EAEtB,IAAK,IAAIgzJ,EAAM,EAAGC,EAAMz5E,EAAG23E,KAAM6B,EAAMC,EAAKD,IAAO,CAC/Cv8E,EAAGD,KAAQe,EAAMiC,EAAGosB,IAAKpsB,EAAG00C,GAAI10C,EAAG83E,QACnC76E,EAAGD,KAAQgD,EAAGi4E,OACdh7E,EAAGD,KAAQ,IACXC,EAAGD,KAAQ,IACXgD,EAAG2pC,UACH,IAAI+vC,EAAMz8E,IAAKD,GACfc,EAAKkC,EAAGg5D,MAAOh5D,EAAGx5E,IAAKu3E,EAAM27E,EAAK,EAAG15E,EAAG83E,SACxCh6E,EAAKkC,EAAGi5D,MAAOj5D,EAAGx5E,IAAKu3E,EAAM27E,EAAK15E,EAAG83E,OAAQ93E,EAAGi4E,SAChDj4E,EAAG00C,GAAK90C,EAAGI,EAAG00C,GAAK10C,EAAG83E,QACtB93E,EAAGx5E,IAAMw5E,EAAGx5E,IAAM,EAEtB,IAAK,IAAIsiI,EAAM,EAAGC,EAAM/oD,EAAG43E,KAAM9uB,EAAMC,EAAKD,IAAO,CAC/C7rD,EAAGD,KAAQe,EAAMiC,EAAGosB,IAAKpsB,EAAG00C,GAAI10C,EAAG+3E,QACnC96E,EAAGD,KAAQgD,EAAGk4E,OACdj7E,EAAGD,KAAQ,IACXC,EAAGD,KAAQ,IACXgD,EAAG2pC,UACH,IAAIgwC,EAAM18E,IAAKD,GACfc,EAAKkC,EAAGg5D,MAAOh5D,EAAGx5E,IAAKu3E,EAAM47E,EAAK,EAAG35E,EAAG+3E,SACxCj6E,EAAKkC,EAAGi5D,MAAOj5D,EAAGx5E,IAAKu3E,EAAM47E,EAAK35E,EAAG+3E,OAAQ/3E,EAAGk4E,SAChDl4E,EAAG00C,GAAK90C,EAAGI,EAAG00C,GAAK10C,EAAG+3E,QACtB/3E,EAAGx5E,IAAMw5E,EAAGx5E,IAAM,EAEtBw5E,EAAGosB,IAAMhvB,EAAG4C,EAAG27C,MACf37C,EAAGqsB,GAAK,EACR,IAAK,IAAIiqD,EAAM,EAAGsD,EAAM55E,EAAGg5D,MAAM98I,OAAS,EAAGo6J,GAAOsD,EAAKtD,GAAO,EAAG,CAC/Dt2E,EAAG/iF,EAAIq5J,EACP,IAAI9sB,EAAM3rD,EAAKmC,EAAGg5D,MAAOh5D,EAAG/iF,GAC5B+gF,EAAMgC,EAAGosB,IAAKpsB,EAAGqsB,GAAIm9B,GACrBxpD,EAAGqsB,GAAKm9B,EAAIttI,OAAS8jF,EAAGqsB,GACxB,IAAIw9B,EAAMhsD,EAAKmC,EAAGi5D,MAAOj5D,EAAG/iF,GAC5B+gF,EAAMgC,EAAGosB,IAAKpsB,EAAGqsB,GAAIw9B,GACrB7pD,EAAGqsB,GAAKw9B,EAAI3tI,OAAS8jF,EAAGqsB,GAE5BpvB,EAAGD,KAAQ7yE,IACX,IAAI8/H,GAAMjqD,EAAG27C,KACTuO,GAAM,GACNC,GAAMF,GAAM,EAChB,GAAKA,GAAM,EAAK,GAAI,CAChB,IAAIjuH,GAAIkuH,GACRA,GAAMC,GACNA,GAAMnuH,GAEV,IAAK,IAAIquH,GAAM,EAAGD,GAAMD,GAAKE,IAAOD,GAAKC,IAAO,EAC5C,IAAK,IAAIE,GAAMF,GAAKC,GAAMtqD,EAAG27C,KAAO,EAAG4O,IAAOD,GAAKC,IAAO,GAEtD,GADAttD,EAAGD,KAAQutD,GACPA,GAAMvqD,EAAG27C,KAAM,CACf,IAAIk+B,GAAMh8E,EAAKmC,EAAGosB,IAAKnvB,IAAKD,IAC5BC,EAAGD,KAAQ68E,QAEX78E,IAIZgD,EAAGosB,IAAMhvB,IACL4C,EAAG61D,KAAO,IACV71D,EAAGvgB,IAAM2d,EAAG4C,EAAGosB,IAAIlwG,OAAS,GAC5B8hF,EAAMgC,EAAGvgB,IAAK,EAAGugB,EAAGosB,KACpBtuB,EAAKkC,EAAGvgB,IAAKugB,EAAGvgB,IAAIvjE,OAAS,EAAG,GAChC8jF,EAAGosB,IAAMpsB,EAAGvgB,KAEhBwd,EAAGD,KAAQ7yE,IACX,IAAK,IAAI8gI,GAAM,EAAGC,GAAMlrD,EAAGxjF,KAAOwjF,EAAGxjF,KAAMyuI,GAAMC,GAAKD,KAClDhuD,EAAGD,MAAS,EAQhB,GANAgD,EAAGxD,KAAOY,IACV4C,EAAG45D,IAAM,WACL,IAAIzO,EAAMluD,IAAKD,GACXouD,EAAMnuD,IAAKD,GACfC,EAAGD,KAAQ4C,EAAGwrD,EAAOD,EAAMnrD,EAAGxjF,OAEnB,GAAXwjF,EAAGo3E,KAAW,CAyBd,IAxBAp3E,EAAG85E,KAAO,WACN,IAAItuB,EAAMvuD,IAAKD,GACX0uD,EAAMzuD,IAAKD,GACfC,EAAGD,KAAQ4C,EAAIA,EAAIA,EAAI4rD,EAAMxrD,EAAGxjF,KAAQwjF,EAAGxjF,MAAS,GAAMkvI,IAE9D1rD,EAAG+5E,MAAQ,WACP,IAAIpuB,EAAM1uD,IAAKD,GACX4uD,EAAM3uD,IAAKD,GACX6uD,EAAM5uD,IAAKD,GACfC,EAAGD,KAAQ2uD,EACX1uD,EAAGD,KAAQ6uD,EACX5uD,EAAGD,KAAQ4uD,EACX3uD,EAAGD,KAAQ2uD,EACX1uD,EAAGD,KAAQ4uD,EACX3uD,EAAGD,KAAQ6uD,EACX7rD,EAAG85E,OACH,IAAI/tB,EAAM9uD,IAAKD,GACfc,EAAKkC,EAAGxD,KAAMuvD,EAAK9uD,IAAKD,IACxBgD,EAAG85E,OACH,IAAI5tB,EAAMjvD,IAAKD,GACfc,EAAKkC,EAAGxD,KAAM0vD,EAAKjvD,IAAKD,KAE5BgD,EAAG/iF,EAAI,EACP+iF,EAAGg6E,KAAO,IAEFh6E,EAAG/iF,GAAK+iF,EAAGxjF,OADV,CAIL,IAAK,IAAIy9J,GAAM,EAAG3uB,GAAM1rD,EAAGI,EAAGxjF,KAAO,GAAIy9J,IAAO3uB,GAAK2uB,IAAO,EAOxD,GANAj6E,EAAGr+E,EAAIs4J,GACHr6E,EAAGI,EAAGr+E,EAAIq+E,EAAGq3E,MAAQr3E,EAAGxjF,KACxBygF,EAAGD,SAAgBgD,EAAGr+E,EAAIq+E,EAAGm3E,MAASn3E,EAAGg6E,MAAQ,GAAM,KAAkB,GAARh6E,EAAG/iF,GAAY+iF,EAAGr+E,EAAIq+E,EAAGm3E,OAAcn3E,EAAGr+E,EAAIq+E,EAAGm3E,MAAS,EAE3Hl6E,EAAGD,KAAS4C,EAAGI,EAAGo3E,KAAOp3E,EAAGg6E,MAAQ,GAAM,EAE1C/8E,IAAKD,GAAK,CACVC,EAAGD,KAAQgD,EAAGr+E,EACds7E,EAAGD,KAAQgD,EAAG/iF,EACdggF,EAAGD,KAAQ,EACXgD,EAAG+5E,QACH,IAAIrtB,GAAM1sD,EAAGr+E,EACT03I,GAAMr5D,EAAG/iF,EACbggF,EAAGD,KAAQ0vD,GAAM,EACjBzvD,EAAGD,KAAQq8D,GAAM,EACXA,GAAM,EAAKr5D,EAAGxjF,MAAWkwI,GAAM,EAAK1sD,EAAGxjF,MACzCygF,EAAGD,KAAQ,EACXgD,EAAG+5E,SAEH/8E,GAAM,EAId4C,EAAGI,EAAG/iF,EAAI+iF,EAAGq3E,OAASr3E,EAAGxjF,KACzBwjF,EAAG/iF,EAAI2iF,EAAGA,EAAGI,EAAG/iF,EAAI+iF,EAAGq3E,MAAQ,GAE/Br3E,EAAG/iF,EAAI2iF,EAAGI,EAAG/iF,EAAI+iF,EAAGm3E,MAExBn3E,EAAGg6E,KAAO,EAAIh6E,EAAGg6E,KAErB,IAAK,IAAIE,GAAMl6E,EAAGm3E,KAAMgD,GAAMn6E,EAAGm3E,KAAMiD,GAAMx6E,EAAGI,EAAGxjF,KAAO,GAAI29J,GAAM,EAAID,IAAOE,GAAMF,IAAOE,GAAKF,IAAOC,GAAK,CAEzG,GADAn6E,EAAG/iF,EAAIi9J,MACEl6E,EAAG/iF,EAAI+iF,EAAGm3E,MAAS,GAAM,EAAG,CACjCl6E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ,EACXC,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAI9sB,GAAM/vD,IAAKD,GACfc,EAAKb,IAAKD,GAAKgwD,GAAK,GACpB/vD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ,EACXC,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAI5sB,GAAMjwD,IAAKD,GACfc,EAAKb,IAAKD,GAAKkwD,GAAK,GACpBjwD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ,EACXC,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAI1sB,GAAMnwD,IAAKD,GACfc,EAAKb,IAAKD,GAAKowD,GAAK,GACpBnwD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ,EACXC,EAAGD,KAAQgD,EAAG/iF,EACd+iF,EAAG85E,OACH,IAAIxsB,GAAMrwD,IAAKD,GACfc,EAAKb,IAAKD,GAAKswD,GAAK,GACpBrwD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ,EACXC,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAIvsB,GAAMtwD,IAAKD,GACfc,EAAKb,IAAKD,GAAKuwD,GAAK,GACpBtwD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ,EACXgD,EAAG85E,OACH,IAAIO,GAAMp9E,IAAKD,GACfc,EAAKb,IAAKD,GAAKq9E,GAAK,GACpBp9E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ,EACXgD,EAAG85E,OACH,IAAIQ,GAAMr9E,IAAKD,GACfc,EAAKb,IAAKD,GAAKs9E,GAAK,GACpBr9E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ,EACXgD,EAAG85E,OACH,IAAIS,GAAMt9E,IAAKD,GACfc,EAAKb,IAAKD,GAAKu9E,GAAK,GACpBt9E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EACdggF,EAAGD,KAAQ,EACXgD,EAAG85E,OACH,IAAIngB,GAAM18D,IAAKD,GACfc,EAAKb,IAAKD,GAAK28D,GAAK,GACpB18D,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ,EACXgD,EAAG85E,OACH,IAAI9rB,GAAM/wD,IAAKD,GACfc,EAAKb,IAAKD,GAAKgxD,GAAK,GAExB/wD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBygF,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAI1rB,GAAMnxD,IAAKD,GACf,GAA2B,GAAvBa,EAAKZ,IAAKD,GAAKoxD,IAAW,CAC1BnxD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBygF,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAIU,GAAMv9E,IAAKD,GACfc,EAAKb,IAAKD,GAAKw9E,GAAK,GACpBv9E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBygF,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAIrrB,GAAMxxD,IAAKD,GACfc,EAAKb,IAAKD,GAAKyxD,GAAK,GACpBxxD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBygF,EAAGD,KAAQgD,EAAG/iF,EACd+iF,EAAG85E,OACH,IAAIW,GAAMx9E,IAAKD,GACfc,EAAKb,IAAKD,GAAKy9E,GAAK,GACpBx9E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBygF,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAIY,GAAMz9E,IAAKD,GACfc,EAAKb,IAAKD,GAAK09E,GAAK,GACpBz9E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBygF,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClB+iF,EAAG85E,OACH,IAAI7f,GAAMh9D,IAAKD,GACfc,EAAKb,IAAKD,GAAKi9D,GAAK,GACpBh9D,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBwjF,EAAG85E,OACH,IAAIjrB,GAAM5xD,IAAKD,GACfc,EAAKb,IAAKD,GAAK6xD,GAAK,GACpB5xD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBwjF,EAAG85E,OACH,IAAIa,GAAM19E,IAAKD,GACfc,EAAKb,IAAKD,GAAK29E,GAAK,GACpB19E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EACdggF,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBwjF,EAAG85E,OACH,IAAI9qB,GAAM/xD,IAAKD,GACfc,EAAKb,IAAKD,GAAKgyD,GAAK,GACpB/xD,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBwjF,EAAG85E,OACH,IAAIc,GAAM39E,IAAKD,GACfc,EAAKb,IAAKD,GAAK49E,GAAK,GACpB39E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQ4C,EAAGI,EAAGxjF,KAAO,GACxBwjF,EAAG85E,OACH,IAAI5qB,GAAMjyD,IAAKD,GACfc,EAAKb,IAAKD,GAAKkyD,GAAK,KAIhClvD,EAAGy6D,KAAOr9D,EAAG,CAACA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MACzP4C,EAAG66E,MAAQz9E,EAAG,CAACA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKA,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MAC1P,IAAK,IAAI09E,GAAM,EAAGC,GAAM/6E,EAAGy6D,KAAKv+I,OAAS,EAAG4+J,IAAOC,GAAKD,IAAO,EAAG,CAC9D96E,EAAG96E,EAAI41J,GACP,IAAK,IAAIE,GAAM,EAAGC,GAAMp9E,EAAKmC,EAAGy6D,KAAM,GAAGv+I,OAAS,EAAG8+J,IAAOC,GAAKD,IAAO,EAAG,CACvEh7E,EAAG/6E,EAAI+1J,GACPh7E,EAAGk7E,IAAMr9E,EAAKA,EAAKmC,EAAGy6D,KAAMz6D,EAAG96E,GAAI86E,EAAG/6E,GACtC+6E,EAAGm7D,KAAOt9D,EAAKA,EAAKmC,EAAG66E,MAAO76E,EAAG96E,GAAI86E,EAAG/6E,GACxCg4E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/6E,EACdg4E,EAAGD,KAAQgD,EAAG96E,EACd86E,EAAG45D,MACH,IAAIuhB,GAAMl+E,IAAKD,GACfc,EAAKb,IAAKD,GAAKm+E,GAAKn7E,EAAGk7E,KACvBj+E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGA,EAAGI,EAAGxjF,KAAOwjF,EAAG/6E,GAAK,GACnCg4E,EAAGD,KAAQgD,EAAG96E,EACd86E,EAAG45D,MACH,IAAIwhB,GAAMn+E,IAAKD,GACfc,EAAKb,IAAKD,GAAKo+E,GAAKp7E,EAAGk7E,KACvBj+E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQ4C,EAAGA,EAAGI,EAAGxjF,KAAOwjF,EAAG/6E,GAAK,GACnCg4E,EAAGD,KAAQ4C,EAAGA,EAAGI,EAAGxjF,KAAOwjF,EAAG96E,GAAK,GACnC86E,EAAG45D,MACH,IAAIyhB,GAAMp+E,IAAKD,GACfc,EAAKb,IAAKD,GAAKq+E,GAAKr7E,EAAGk7E,KACvBj+E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/6E,EACdg4E,EAAGD,KAAQ4C,EAAGA,EAAGI,EAAGxjF,KAAOwjF,EAAG96E,GAAK,GACnC86E,EAAG45D,MACH,IAAI0hB,GAAMr+E,IAAKD,GACfc,EAAKb,IAAKD,GAAKs+E,GAAKt7E,EAAGm7D,OAG/Bn7D,EAAGu7E,YAAcn+E,EAAG,CAACA,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAAC,EAAG,IAAKA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAIojF,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,OAAQ4gF,EAAG,CAACA,EAAG,CAACwC,EAAGI,EAAGxjF,KAAO,GAAI,IAAK4gF,EAAG,CAAC,EAAGwC,EAAGI,EAAGxjF,KAAO,SAEj8D,IADA,IAAIg/J,GAAMx7E,EAAGu7E,YACJE,GAAM,EAAGC,GAAMF,GAAIt/J,OAAQu/J,GAAMC,GAAKD,KAC3C78E,EAAQf,EAAK29E,GAAKC,KAAM,WACpB78E,EAAQ3B,IAAKD,IACbgD,EAAG45D,MACH97D,EAAKkC,EAAGxD,KAAMS,IAAKD,GAAK,MAGhC,IAAI2+E,GAAMv+E,EAAG,CAAC,WACVJ,GAAM,EACNC,EAAGD,KAAQ,GACZ,WACC,IAAI4+E,EAAM3+E,IAAKD,GACX6+E,EAAM5+E,IAAKD,GACfC,EAAGD,KAAQ4C,EAAGi8E,EAAMD,GAAO,GAC5B,WACC,IAAIE,EAAM7+E,IAAKD,GACX++E,EAAM9+E,IAAKD,GACfC,EAAGD,KAAS4C,EAAIA,EAAGk8E,EAAMC,GAAO,EAAMA,EAAM,GAAO,GACpD,WACC,IAAIC,EAAM/+E,IAAKD,GACXi/E,EAAMh/E,IAAKD,GACfC,EAAGD,KAAS4C,EAAIq8E,EAAMD,EAAQp8E,EAAIo8E,EAAMC,EAAQr8E,EAAIo8E,EAAM,EAAMC,EAAM,KAAW,KAErFj8E,EAAGq/D,UAAYsc,IACC,GAAZ37E,EAAG5iE,OACH4iE,EAAGq/D,UAAYjiE,EAAG,CAACS,EAAKmC,EAAGq/D,UAAWr/D,EAAG5iE,KAAO,KAChD4iE,EAAGs/D,YAAct/D,EAAG5iE,KAAO,GAE/B4iE,EAAGu/D,MAAQniE,EAAG4C,EAAGq/D,UAAUnjJ,QAC3B,IAAK,IAAIggK,GAAM,EAAGC,GAAMn8E,EAAGu/D,MAAMrjJ,OAAS,EAAGggK,IAAOC,GAAKD,IAAO,EAAG,CAC/Dl8E,EAAGr/E,EAAIu7J,GACPl8E,EAAG5iE,KAAOggE,EAAG4C,EAAGxjF,KAAOwjF,EAAGxjF,MAC1B,IAAK,IAAI4/J,GAAM,EAAGC,GAAMz8E,EAAGI,EAAGxjF,KAAO,GAAI4/J,IAAOC,GAAKD,IAAO,EAAG,CAC3Dp8E,EAAGr+E,EAAIy6J,GACP,IAAK,IAAIE,GAAM,EAAGC,GAAM38E,EAAGI,EAAGxjF,KAAO,GAAI8/J,IAAOC,KAC5Cv8E,EAAG/iF,EAAIq/J,GACPr/E,EAAGD,KAAQgD,EAAG/iF,EAAI,EAClBggF,EAAGD,KAAQgD,EAAGr+E,EAAI,GACiB,IAA/Bk8E,EAAKmC,EAAGq/D,UAAWr/D,EAAGr/E,EAAtBk9E,IAJ6Cy+E,IAAO,EAAG,CAO3D,IAAIE,GAAMv/E,IAAKD,GACfC,EAAGD,KAAe,GAAPw/E,GACXv/E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAG/iF,EACdggF,EAAGD,KAAQgD,EAAGr+E,EACdq+E,EAAG45D,MACH,IAAI6iB,GAAMx/E,IAAKD,GACX0/E,GAAM7+E,EAAKZ,IAAKD,GAAKy/E,IAErBE,GADM1/E,IAAKD,KACY,GAAR0/E,GAAc,EAAI,EACrCz/E,EAAGD,KAAQ2/E,GACX1/E,EAAGD,KAAQgD,EAAG5iE,KACd6/D,EAAGD,KAAQgD,EAAG/iF,EACdggF,EAAGD,KAAQgD,EAAGr+E,EACdq+E,EAAG45D,MACH,IAAIgjB,GAAM3/E,IAAKD,GAEfc,EADUb,IAAKD,GACL4/E,GAAK3/E,IAAKD,KAG5Bc,EAAKkC,EAAGu/D,MAAOv/D,EAAGr/E,EAAGq/E,EAAG5iE,MAK5B,IAHA4iE,EAAGogE,KAAO,EACVpgE,EAAGqgE,KAAO,EACVrgE,EAAGhxE,IAAM,EAEDgxE,EAAGqgE,MAAQrgE,EAAGxjF,MADb,CAILygF,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAGogE,KACdnjE,EAAGD,KAAQgD,EAAGqgE,KACdrgE,EAAG45D,MACH,IAAIijB,GAAM5/E,IAAKD,GACf,IAA4B,GAAxBa,EAAKZ,IAAKD,GAAK6/E,IAAY,CAC3B,IAAIC,GAAMj/E,EAAKmC,EAAGosB,OAAQpsB,EAAGhxE,IAAM,IAC/B+tJ,KAAQ,EAAK/8E,EAAGhxE,IAAM,GAC1BiuE,EAAGD,KAAkD,GAAxC+/E,GAAM,EAAID,MAASC,GAAMD,IAAOC,IAC7C9/E,EAAGD,KAAQgD,EAAGxD,KACdS,EAAGD,KAAQgD,EAAGogE,KACdnjE,EAAGD,KAAQgD,EAAGqgE,KACdrgE,EAAG45D,MACH,IAAIojB,GAAM//E,IAAKD,GAEfc,EADUb,IAAKD,GACLggF,GAAK//E,IAAKD,IACpBgD,EAAGhxE,IAAMgxE,EAAGhxE,IAAM,EAEtBgxE,EAAGogE,KAAOpgE,EAAGogE,KAAO,EAChBpgE,EAAGogE,MAAQpgE,EAAGxjF,OACdwjF,EAAGogE,KAAO,EACVpgE,EAAGqgE,KAAOrgE,EAAGqgE,KAAO,GAG5BrgE,EAAG2gE,aAAe,WACd3gE,EAAG4gE,MAAQ3jE,IAAKD,GAChBC,EAAGD,KAAQ,OACXC,EAAGD,KAAQ,EACX4B,EAAQoB,EAAG4gE,OAAO,WACd,IAAIqc,EAAMhgF,IAAKD,GAEf,GADAC,EAAGD,KAAQigF,EACPA,GAAO,EAAG,CACV,IAAIC,EAAMjgF,IAAKD,GACXmgF,EAAMv9E,EAAG3C,IAAKD,GAAa,EAANkgF,GACzBjgF,EAAGD,KAAQmgF,EACXlgF,EAAGD,KAAQmgF,EAEfngF,OAEJ,IAAIogF,EAAMngF,IAAKD,GACfgD,EAAG/C,IAAKD,IAAOogF,EACfp9E,EAAGihE,KAAO,EACV,IAAK,IAAIoc,EAAM,EAAGC,EAAMt9E,EAAG4gE,MAAM1kJ,OAAS,EAAGmhK,GAAOC,EAAKD,GAAO,EAE5D,GADAr9E,EAAGr+E,EAAI07J,EACFx/E,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,GAAK,GAAM,EAAG,CACjCq+E,EAAGohE,QAAUvjE,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,GAAK,GAEpC,IADA,IAAI47J,EAAMx/E,EAAMiC,EAAG4gE,MAAO5gE,EAAGr+E,EAAI,EAAG,GAC3B67J,EAAM,EAAGC,EAAMF,EAAIrhK,OAAQshK,EAAMC,EAAKD,IAC3CvgF,EAAGD,KAAQa,EAAK0/E,EAAKC,IAAQx9E,EAAGohE,KAEpC,IAAIsc,EAAMzgF,IAAKD,GACX2gF,EAAM1gF,IAAKD,GACX4gF,EAAM3gF,IAAKD,GACLC,IAAKD,IACH4gF,GAAQD,GAAOD,IACV,GAAR19E,EAAGr+E,GAAaq+E,EAAGr+E,EAAI,GAAMq+E,EAAG4gE,MAAM1kJ,QAGlC2hF,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,EAAI,IAAM,GAAOk8E,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,EAAI,IAAM,KAFpEq+E,EAAGihE,KAAOjhE,EAAGihE,KAAO,IASpC,IAAK,IAAI4c,EAAM,EAAGC,EAAM99E,EAAG4gE,MAAM1kJ,OAAS,EAAG2hK,GAAOC,EAAKD,GAAO,EAE5D,GADA79E,EAAGr+E,EAAIk8J,EACFhgF,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,GAAK,GAAM,EAAG,CACjCq+E,EAAGohE,QAAUvjE,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,GAAK,GAEpC,IADA,IAAIo8J,EAAMhgF,EAAMiC,EAAG4gE,MAAO5gE,EAAGr+E,EAAI,EAAG,GAC3Bq8J,EAAM,EAAGC,EAAMF,EAAI7hK,OAAQ8hK,EAAMC,EAAKD,IAC3C/gF,EAAGD,KAAQa,EAAKkgF,EAAKC,IAAQh+E,EAAGohE,KAEpC,IAAI8c,EAAMjhF,IAAKD,GACXmhF,EAAMlhF,IAAKD,GACXohF,EAAMnhF,IAAKD,GACLC,IAAKD,IACHohF,GAAQD,GAAOD,IACV,GAARl+E,EAAGr+E,GAAaq+E,EAAGr+E,EAAI,GAAMq+E,EAAG4gE,MAAM1kJ,QAGlC2hF,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,EAAI,IAAM,GAAOk8E,EAAKmC,EAAG4gE,MAAO5gE,EAAGr+E,EAAI,IAAM,KAFpEq+E,EAAGihE,KAAOjhE,EAAGihE,KAAO,IASpChkE,EAAGD,KAAQgD,EAAG6hE,KACd5kE,EAAGD,KAAQgD,EAAGihE,MAElBjhE,EAAG8hE,SAAW,WACV9hE,EAAGp1C,IAAMqyC,IAAKD,GACdgD,EAAGvd,GAAK,EACRud,EAAG+hE,GAAK,EACR/hE,EAAGgiE,IAAM5kE,EAAGwC,EAAGI,EAAGxjF,KAAO,IACzBwjF,EAAGiiE,UAAY7kE,EAAG4C,EAAGxjF,MACrBwjF,EAAGkiE,UAAY9kE,EAAG4C,EAAGxjF,MACrBwjF,EAAGq+E,SAAWz+E,EAAGI,EAAGxjF,KAAO,GAC3B,IAAK,IAAI8hK,EAAM,EAAGC,EAAM3+E,EAAGI,EAAGxjF,KAAO,GAAI8hK,GAAOC,EAAKD,GAAO,EAAG,CAC3Dt+E,EAAG/iF,EAAIqhK,EACPrhF,EAAGD,KAAQ7yE,IACX,IAAIq0J,EAAMx+E,EAAGxjF,KACbygF,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACX,IAAK,IAAIyhF,EAAMz+E,EAAG/iF,EAAGyhK,EAAMF,EAAKG,EAAM/+E,EAAI4+E,EAAMA,EAAO,GAAIE,EAAM,EAAID,GAAOE,EAAMF,GAAOE,EAAKF,GAAOC,EAAK,CACtG,IAAIE,EAAM/gF,EAAKmC,EAAGp1C,IAAK6zH,GACnBI,EAAM5hF,IAAKD,GAEf,GADAC,EAAGD,KAAQ4hF,EACP3/E,EAAI4/E,EAAKD,GAAM,CACf,IAAIE,EAAM7hF,IAAKD,GACX+hF,EAAM9hF,IAAKD,GACfC,EAAGD,KAAQ4C,EAAGm/E,EAAM,GACpB9hF,EAAGD,KAAQ8hF,MACR,CACH,IAAIE,EAAM/hF,IAAKD,GACfC,EAAGD,KAAQ,EACXC,EAAGD,KAAQgiF,GAGnBhiF,IACA,IAAIiiF,EAAMngF,IAAiB,EAC3BE,EAAQjB,EAAMiC,EAAGgiE,IAAK,EAAGid,EAAM,IAC/Bj/E,EAAG2gE,eACH3gE,EAAG+hE,GAAKniE,EAAG3C,IAAKD,GAAMgD,EAAG+hE,IACzB/hE,EAAGvd,GAAKmd,EAAG3C,IAAKD,GAAMgD,EAAGvd,IACzBua,IACAgD,EAAG+iE,OAAShlE,EAAMiC,EAAGp1C,IAAKo1C,EAAG/iF,EAAI+iF,EAAGxjF,KAAMwjF,EAAGxjF,MAC7CygF,EAAGD,KAAQ7yE,IACX,IAAI+0J,EAAMl/E,EAAG+iE,OACb9lE,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACX,IAAK,IAAImiF,EAAM,EAAGC,EAAMF,EAAIhjK,OAAQijK,EAAMC,EAAKD,IAAO,CAClD,IAAIE,EAAMxhF,EAAKqhF,EAAKC,GAChBG,EAAMriF,IAAKD,GAEf,GADAC,EAAGD,KAAQqiF,EACPpgF,EAAIqgF,EAAKD,GAAM,CACf,IAAIE,EAAMtiF,IAAKD,GACXwiF,EAAMviF,IAAKD,GACfC,EAAGD,KAAQ4C,EAAG4/E,EAAM,GACpBviF,EAAGD,KAAQuiF,MACR,CACH,IAAIE,EAAMxiF,IAAKD,GACfC,EAAGD,KAAQ,EACXC,EAAGD,KAAQyiF,GAGnBziF,IACA,IAAI0iF,EAAM5gF,IAAiB,EAC3BE,EAAQjB,EAAMiC,EAAGgiE,IAAK,EAAG0d,EAAM,IAC/B1/E,EAAG2gE,eACH3gE,EAAG+hE,GAAKniE,EAAG3C,IAAKD,GAAMgD,EAAG+hE,IACzB/hE,EAAGvd,GAAKmd,EAAG3C,IAAKD,GAAMgD,EAAGvd,IACzBua,IAEJC,EAAGD,KAAQ4C,EAAGI,EAAGvd,GAAKud,EAAG+hE,KAE7B/hE,EAAGulE,UAAY,UACf,IAAK,IAAIoa,GAAM,EAAGC,GAAM5/E,EAAGu/D,MAAMrjJ,OAAS,EAAGyjK,IAAOC,GAAKD,IAAO,EAAG,CAC/D3/E,EAAGr/E,EAAIg/J,GACP3/E,EAAG0lE,QAAUtoE,EAAG4C,EAAGxjF,KAAOwjF,EAAGxjF,MAC7B,IAAK,IAAIqjK,GAAM,EAAGC,GAAMlgF,EAAII,EAAGxjF,KAAOwjF,EAAGxjF,KAAQ,GAAIqjK,IAAOC,GAAKD,IAAO,EACpE7/E,EAAG/iF,EAAI4iK,GACP/hF,EAAKkC,EAAG0lE,QAAS1lE,EAAG/iF,EAAGwiF,EAAI5B,EAAKmC,EAAGxD,KAAMwD,EAAG/iF,GAAI4gF,EAAKA,EAAKmC,EAAGu/D,MAAOv/D,EAAGr/E,GAAIq/E,EAAG/iF,KAE3D,GAAnB+iF,EAAGu/D,MAAMrjJ,QACT+gF,EAAGD,KAAQgD,EAAG0lE,QACd1lE,EAAG8hE,WACH9hE,EAAGyzC,MAAQx2C,IAAKD,GACZgD,EAAGyzC,MAAQzzC,EAAGulE,YACdvlE,EAAG6lE,QAAU7lE,EAAG0lE,QAChB1lE,EAAGs/D,YAAct/D,EAAGr/E,EACpBq/E,EAAGulE,UAAYvlE,EAAGyzC,QAGtBzzC,EAAG6lE,QAAU7lE,EAAG0lE,QAGxB1lE,EAAGxD,KAAOwD,EAAG6lE,QACb7lE,EAAG+/E,OAAkE,GAAlB,GAAN,MAAzBngF,EAAGI,EAAGxjF,KAAO,IAAM,IAAiBwjF,EAAGg2D,QAAeh2D,EAAGs/D,YAC7EriE,EAAGD,KAAQI,EAAG,EAAc,KAAZ4C,EAAG+/E,UAAmB,GAAgB,IAAZ//E,EAAG+/E,UAAkB,EAAe,GAAZ//E,EAAG+/E,SACrE9iF,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,GACXC,EAAGD,KAAQ,GACXgD,EAAG2pC,UACH3pC,EAAGggF,QAAU/iF,IAAKD,GAClBC,EAAGD,KAAQ7yE,IACXy0E,EAAQoB,EAAGggF,SAAS,WAChB/iF,EAAGD,KAAQ,EACXgD,EAAGw5B,QACH56B,EAAQ3B,IAAKD,IAAK,WACd,IAAIijF,EAAMhjF,IAAKD,GACfC,EAAGD,KAAQ4C,EAAGqgF,EAAM,UAG5BhjF,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACXC,EAAGD,KAAQ,EACXgD,EAAGkgF,QAAU9iF,IACb,IAAK,IAAI8/D,GAAM,EAAGijB,GAAMngF,EAAGu7E,YAAYr/J,OAAS,EAAGghJ,IAAOijB,GAAKjjB,IAAO,EAClEl9D,EAAG/iF,EAAIigJ,GACPt+D,EAAQf,EAAKmC,EAAGu7E,YAAav7E,EAAG/iF,IAAI,WAChC,IAAImjK,EAAMnjF,IAAKD,GACfC,EAAGD,KAAQgD,EAAGxD,KACduC,EAAOqhF,GACPpgF,EAAG45D,MACH,IAAIymB,EAAMpjF,IAAKD,GACfc,EAAKb,IAAKD,GAAKqjF,EAAKxiF,EAAKmC,EAAGkgF,QAASlgF,EAAG/iF,OAGhD,IAAI2gJ,GAAM,IAAIrkG,IAAI,CACd,CAAC,MAAOknD,GACR,CAAC,OAAQzgB,EAAGxD,MACZ,CAAC,OAAQwD,EAAGxjF,MACZ,CAAC,OAAQwjF,EAAGxjF,MACZ,CAAC,SAAqB,EAAVwjF,EAAGxjF,KAAY,IAC3B,CAAC,QAAoB,EAAVwjF,EAAGxjF,KAAY,IAC1B,CAAC,MAAOwjF,EAAGzzD,WAEf0wD,EAAGD,KAAQ4gE,GACN59D,EAAGgmB,UACJvF,IAIR,SAAS6/D,KACL,IAAItgF,EAAK,GACTA,EAAGzzD,QAAU0wD,IAAKD,GAClBgD,EAAGE,QAAUjD,IAAKD,GAClBgD,EAAGgmB,UAAW,EACdhmB,EAAG6hC,MAAQ,EACX7hC,EAAGwsC,SAAW,EACdxsC,EAAGugF,OAAS,EACZvgF,EAAGr7C,OAAQ,EACXq7C,EAAGiB,UAAW,EACdjB,EAAG11C,KAAM,EACT01C,EAAGwgF,MAAO,EACVxgF,EAAG5iE,MAAQ,EACXwhE,EAAQoB,EAAGzzD,SAAS,WAChB,IAAIm3D,EAAKzG,IAAKD,GACdgD,EAAG/C,IAAKD,IAAO0G,KAEnB1D,EAAG6hC,OAAS7hC,EAAG6hC,KACf7hC,EAAGwsC,UAAYxsC,EAAGwsC,QAClBxsC,EAAGugF,OAASvgF,EAAGugF,MACfvgF,EAAG5iE,OAAS4iE,EAAG5iE,MACI,GAAb4iE,EAAGugF,QAA6B,GAAZvgF,EAAG6hC,OAAgC,GAAf7hC,EAAGwsC,UAC7CxsC,EAAGugF,MAAQ,KAEfvgF,EAAGygF,KAAO,EACVzgF,EAAG0gF,KAAO,EACV1gF,EAAG2gF,KAAO,EACV3gF,EAAG7zC,KAAO,EACV6zC,EAAG4gF,KAAO,EACV5gF,EAAG6gF,KAAO,EACV7gF,EAAGyuC,KAAO,EACVzuC,EAAG2uC,KAAO,EACV3uC,EAAG8gF,KAAO,EACV9gF,EAAG+gF,KAAO,GACV/gF,EAAGghF,KAAO,GACVhhF,EAAGihF,KAAO,GACVjhF,EAAG0uC,KAAO,GACV1uC,EAAG4uC,KAAO,GACV5uC,EAAGkhF,KAAO,GACVlhF,EAAGmhF,KAAO,GACVnhF,EAAGohF,KAAO,GACVphF,EAAGqhF,KAAO,GACVrhF,EAAGshF,KAAO,GACVthF,EAAGuhF,KAAO,GACVvhF,EAAGwhF,KAAO,GACVxhF,EAAGyhF,KAAO,GACVzhF,EAAG0hF,KAAO,GACV1hF,EAAG2hF,KAAO,GACV3hF,EAAGngC,KAAO,GACVmgC,EAAGlgC,KAAO,GACVkgC,EAAGjgC,KAAO,GACVigC,EAAG4hF,KAAO,GACV5hF,EAAG6hF,KAAO,GACV7hF,EAAG++C,KAAO,GACV/+C,EAAGg/C,KAAO,GACVh/C,EAAG8hF,KAAO,GACV9hF,EAAG+hF,KAAO,GACV,IAAIvhF,EAAK,IAAIjnC,IAAI,CACb,CAAC,QAASymC,EAAGr7C,OACb,CAAC,WAAYq7C,EAAGiB,UAChB,CAAC,OAAO,GACR,CAAC,OAAQjB,EAAGngC,KACZ,CAAC,OAAQmgC,EAAGjgC,OAEhBigC,EAAGC,QAAUO,EACbvD,EAAGD,KAAQ,MACXC,EAAGD,KAAQgD,EAAGE,QACdjD,EAAGD,KAAQgD,EAAGC,QACdF,IACA,IAAIwwB,EAAKtzB,IAAKD,GACdgD,EAAG/C,IAAKD,IAAOuzB,EACfvwB,EAAG6rB,OAAS7rB,EAAG/xE,IAAI/R,OACnB,IAAIukF,EAAKT,EAAG/xE,IACZgvE,EAAGD,KAAQ,UACXC,EAAGD,KAAQ,EACX,IAAK,IAAI0D,EAAK,EAAG4D,EAAK7D,EAAGvkF,OAAQwkF,EAAK4D,EAAI5D,IACtC,GAAI7C,EAAK4C,EAAIC,KAAQ,IAAS,CAC1B,IAAIC,EAAK1D,IAAKD,GACdC,EAAGD,KAAQ4C,EAAGe,EAAK,GAG3B,IAAIC,EAAK3D,IAAKD,GACdgD,EAAG/C,IAAKD,IAAO4D,EACfZ,EAAGysB,OAASrvB,EAAGwC,EAAGI,EAAG/xE,IAAI/R,OAAuB,EAAb8jF,EAAGuxE,UACtCvxE,EAAGr+E,EAAI,EACP,IAAK,IAAIo/E,EAAK,EAAGghB,EAAK/hB,EAAG/xE,IAAI/R,OAAS,EAAG6kF,GAAMghB,EAAIhhB,GAAM,EAAG,CACxD,IAAIrjC,EAAKmgC,EAAKmC,EAAG/xE,IAAK8yE,GAEtB,GADA9D,EAAGD,KAAQt/B,EACPA,IAAO,IAAS,CAEhB,IADA,IAAIkC,EAAKm+B,EAAMH,EAAMJ,EAAG,IAAKP,IAAKD,GAAK,IAAK,EAAG,GACtCnlB,EAAK,EAAGC,EAAKlY,EAAG1jD,OAAQ27D,EAAKC,EAAID,IACtColB,EAAGD,KAAQa,EAAKj+B,EAAIiY,GAExBmnB,EAAQ5B,EAAG,IACXY,EAAMgC,EAAGysB,OAAQzsB,EAAGr+E,EAAI,EAAGs7E,IAAKD,IAChCc,EAAKkC,EAAGysB,OAAQzsB,EAAGr+E,EAAGq+E,EAAGlgC,KACzBkgC,EAAGr+E,EAAIq+E,EAAGr+E,EAAI,OAEdm8E,EAAKkC,EAAGysB,OAAQzsB,EAAGr+E,EAAGs7E,IAAKD,IAC3BgD,EAAGr+E,EAAIq+E,EAAGr+E,EAAI,EAGtBq+E,EAAG/xE,IAAM+xE,EAAGysB,OACZzsB,EAAG6rB,OAAS7rB,EAAG/xE,IAAI/R,OACnB8jF,EAAG8rB,SAAW1uB,EAAG,CAACA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAM,IAAM,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,GAAI,GAAI,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAAQA,EAAG,CAAC,IAAK,IAAK,OAA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O,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACvO4C,EAAGqqF,KAAOjtF,EAAG,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QACvO4C,EAAGsqF,MAAQltF,EAAG,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,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,MAAM16N,OAAOztB,KAAKmQ,MAAMisB,UACtBp8B,KAAKmoP,MAAM/rN,OAAO7R,K,cC7C3BptB,EAAOC,QAAU,CACf63C,QAAS,CACPG,KAAM,EACNK,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINttB,IAAK,CACHd,IAAK,EACLouB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,wE,6BCrwBR,IAAI7kC,EAAKvT,EAAQ,IACb+qP,EAAW/qP,EAAQ,KACnBwqB,EAAQxqB,EAAQ,IAChBuuD,EAASvuD,EAAQ,IACjB6sD,EAAO7sD,EAAQ,IACfoT,EAASoX,EAAMpX,OAEf43O,EAAUhrP,EAAQ,KAClBirP,EAAYjrP,E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","file":"static/js/2.7ce4741f.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useContext, useMemo } from 'react';\nvar ThemeContext = /*#__PURE__*/React.createContext({});\nvar Consumer = ThemeContext.Consumer,\n Provider = ThemeContext.Provider;\n\nfunction ThemeProvider(_ref) {\n var prefixes = _ref.prefixes,\n children = _ref.children;\n var copiedPrefixes = useMemo(function () {\n return _extends({}, prefixes);\n }, [prefixes]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: copiedPrefixes\n }, children);\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n var prefixes = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n var _opts = opts,\n prefix = _opts.prefix,\n _opts$forwardRefAs = _opts.forwardRefAs,\n forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;\n var Wrapped = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var props = _extends({}, _ref2);\n\n props[forwardRefAs] = ref;\n var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n bsPrefix: bsPrefix\n }));\n });\n Wrapped.displayName = \"Bootstrap(\" + (Component.displayName || Component.name) + \")\";\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded befor being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","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 Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","'use strict'\n\n/**\n * @enum {number}\n */\nexports.MT = {\n POS_INT: 0,\n NEG_INT: 1,\n BYTE_STRING: 2,\n UTF8_STRING: 3,\n ARRAY: 4,\n MAP: 5,\n TAG: 6,\n SIMPLE_FLOAT: 7,\n}\n\n/**\n * @enum {number}\n */\nexports.TAG = {\n DATE_STRING: 0,\n DATE_EPOCH: 1,\n POS_BIGINT: 2,\n NEG_BIGINT: 3,\n DECIMAL_FRAC: 4,\n BIGFLOAT: 5,\n BASE64URL_EXPECTED: 21,\n BASE64_EXPECTED: 22,\n BASE16_EXPECTED: 23,\n CBOR: 24,\n URI: 32,\n BASE64URL: 33,\n BASE64: 34,\n REGEXP: 35,\n MIME: 36,\n // https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md\n SET: 258,\n}\n\n/**\n * @enum {number}\n */\nexports.NUMBYTES = {\n ZERO: 0,\n ONE: 24,\n TWO: 25,\n FOUR: 26,\n EIGHT: 27,\n INDEFINITE: 31,\n}\n\n/**\n * @enum {number}\n */\nexports.SIMPLE = {\n FALSE: 20,\n TRUE: 21,\n NULL: 22,\n UNDEFINED: 23,\n}\n\nexports.SYMS = {\n NULL: Symbol.for('github.com/hildjj/node-cbor/null'),\n UNDEFINED: Symbol.for('github.com/hildjj/node-cbor/undef'),\n PARENT: Symbol.for('github.com/hildjj/node-cbor/parent'),\n BREAK: Symbol.for('github.com/hildjj/node-cbor/break'),\n STREAM: Symbol.for('github.com/hildjj/node-cbor/stream'),\n}\n\nexports.SHIFT32 = 0x100000000\n\nexports.BI = {\n MINUS_ONE: BigInt(-1),\n NEG_MAX: BigInt(-1) - BigInt(Number.MAX_SAFE_INTEGER),\n MAXINT32: BigInt('0xffffffff'),\n MAXINT64: BigInt('0xffffffffffffffff'),\n SHIFT32: BigInt(exports.SHIFT32),\n}\n\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper;","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","'use strict'\n\nconst stream = require('stream')\nconst { Buffer } = require('buffer')\nconst td = new TextDecoder('utf8', {fatal: true, ignoreBOM: true})\n\n/**\n * @typedef {object} NoFilterOptions\n * @property {string|Buffer} [input=null] Input source data.\n * @property {BufferEncoding} [inputEncoding=null] Encoding name for input,\n * ignored if input is not a String.\n * @property {number} [highWaterMark=16384] The maximum number of bytes to\n * store in the internal buffer before ceasing to read from the underlying\n * resource. Default=16kb, or 16 for objectMode streams.\n * @property {BufferEncoding} [encoding=null] If specified, then buffers\n * will be decoded to strings using the specified encoding.\n * @property {boolean} [objectMode=false] Whether this stream should behave\n * as a stream of objects. Meaning that stream.read(n) returns a single\n * value instead of a Buffer of size n.\n * @property {boolean} [decodeStrings=true] Whether or not to decode\n * strings into Buffers before passing them to _write().\n * @property {boolean} [watchPipe=true] Whether to watch for 'pipe' events,\n * setting this stream's objectMode based on the objectMode of the input\n * stream.\n * @property {boolean} [readError=false] If true, when a read() underflows,\n * throw an error.\n * @property {boolean} [allowHalfOpen=true] If set to false, then the\n * stream will automatically end the writable side when the readable side\n * ends.\n * @property {boolean} [autoDestroy=true] Whether this stream should\n * automatically call .destroy() on itself after ending.\n * @property {BufferEncoding} [defaultEncoding='utf8'] The default encoding\n * that is used when no encoding is specified as an argument to\n * stream.write().\n * @property {boolean} [emitClose=true] Whether or not the stream should\n * emit 'close' after it has been destroyed.\n * @property {number} [readableHighWaterMark] Sets highWaterMark for the\n * readable side of the stream. Has no effect if highWaterMark is provided.\n * @property {boolean} [readableObjectMode=false] Sets objectMode for\n * readable side of the stream. Has no effect if objectMode is true.\n * @property {number} [writableHighWaterMark] Sets highWaterMark for the\n * writable side of the stream. Has no effect if highWaterMark is provided.\n * @property {boolean} [writableObjectMode=false] Sets objectMode for\n * writable side of the stream. Has no effect if objectMode is true.\n */\n\n/**\n * NoFilter stream. Can be used to sink or source data to and from\n * other node streams. Implemented as the \"identity\" Transform stream\n * (hence the name), but allows for inspecting data that is in-flight.\n *\n * Allows passing in source data (input, inputEncoding) at creation\n * time. Source data can also be passed in the options object.\n *\n * @example source and sink\n * const source = new NoFilter('Zm9v', 'base64')\n * source.pipe(process.stdout)\n * const sink = new Nofilter()\n * // NOTE: 'finish' fires when the input is done writing\n * sink.on('finish', () => console.log(n.toString('base64')))\n * process.stdin.pipe(sink)\n */\nclass NoFilter extends stream.Transform {\n /**\n * Create an instance of NoFilter.\n *\n * @param {string|Buffer|BufferEncoding|NoFilterOptions} [input] Source data.\n * @param {BufferEncoding|NoFilterOptions} [inputEncoding] Encoding\n * name for input, ignored if input is not a String.\n * @param {NoFilterOptions} [options] Other options.\n */\n constructor(input, inputEncoding, options = {}) {\n let inp = null\n let inpE = /** @type {BufferEncoding?} */ (null)\n switch (typeof input) {\n case 'object':\n if (Buffer.isBuffer(input)) {\n inp = input\n } else if (input) {\n options = input\n }\n break\n case 'string':\n inp = input\n break\n case 'undefined':\n break\n default:\n throw new TypeError('Invalid input')\n }\n switch (typeof inputEncoding) {\n case 'object':\n if (inputEncoding) {\n options = inputEncoding\n }\n break\n case 'string':\n inpE = /** @type {BufferEncoding} */ (inputEncoding)\n break\n case 'undefined':\n break\n default:\n throw new TypeError('Invalid inputEncoding')\n }\n if (!options || typeof options !== 'object') {\n throw new TypeError('Invalid options')\n }\n if (inp == null) {\n inp = options.input\n }\n if (inpE == null) {\n inpE = options.inputEncoding\n }\n delete options.input\n delete options.inputEncoding\n const watchPipe = options.watchPipe == null ? true : options.watchPipe\n delete options.watchPipe\n const readError = Boolean(options.readError)\n delete options.readError\n super(options)\n\n this.readError = readError\n\n if (watchPipe) {\n this.on('pipe', readable => {\n // @ts-ignore: TS2339 (using internal interface)\n const om = readable._readableState.objectMode\n // @ts-ignore: TS2339 (using internal interface)\n if ((this.length > 0) && (om !== this._readableState.objectMode)) {\n throw new Error(\n 'Do not switch objectMode in the middle of the stream'\n )\n }\n\n // @ts-ignore: TS2339 (using internal interface)\n this._readableState.objectMode = om\n // @ts-ignore: TS2339 (using internal interface)\n this._writableState.objectMode = om\n })\n }\n\n if (inp != null) {\n this.end(inp, inpE)\n }\n }\n\n /**\n * Is the given object a {NoFilter}?\n *\n * @param {object} obj The object to test.\n * @returns {boolean} True if obj is a NoFilter.\n */\n static isNoFilter(obj) {\n return obj instanceof this\n }\n\n /**\n * The same as nf1.compare(nf2). Useful for sorting an Array of NoFilters.\n *\n * @param {NoFilter} nf1 The first object to compare.\n * @param {NoFilter} nf2 The second object to compare.\n * @returns {number} -1, 0, 1 for less, equal, greater.\n * @throws {TypeError} Arguments not NoFilter instances.\n * @example\n * const arr = [new NoFilter('1234'), new NoFilter('0123')]\n * arr.sort(NoFilter.compare)\n */\n static compare(nf1, nf2) {\n if (!(nf1 instanceof this)) {\n throw new TypeError('Arguments must be NoFilters')\n }\n if (nf1 === nf2) {\n return 0\n }\n return nf1.compare(nf2)\n }\n\n /**\n * Returns a buffer which is the result of concatenating all the\n * NoFilters in the list together. If the list has no items, or if\n * the totalLength is 0, then it returns a zero-length buffer.\n *\n * If length is not provided, it is read from the buffers in the\n * list. However, this adds an additional loop to the function, so\n * it is faster to provide the length explicitly if you already know it.\n *\n * @param {Array} list Inputs. Must not be all either in object\n * mode, or all not in object mode.\n * @param {number} [length=null] Number of bytes or objects to read.\n * @returns {Buffer|Array} The concatenated values as an array if in object\n * mode, otherwise a Buffer.\n * @throws {TypeError} List not array of NoFilters.\n */\n static concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('list argument must be an Array of NoFilters')\n }\n if ((list.length === 0) || (length === 0)) {\n return Buffer.alloc(0)\n }\n if ((length == null)) {\n length = list.reduce((tot, nf) => {\n if (!(nf instanceof NoFilter)) {\n throw new TypeError('list argument must be an Array of NoFilters')\n }\n return tot + nf.length\n }, 0)\n }\n let allBufs = true\n let allObjs = true\n const bufs = list.map(nf => {\n if (!(nf instanceof NoFilter)) {\n throw new TypeError('list argument must be an Array of NoFilters')\n }\n const buf = nf.slice()\n if (Buffer.isBuffer(buf)) {\n allObjs = false\n } else {\n allBufs = false\n }\n return buf\n })\n if (allBufs) {\n // @ts-ignore: TS2322, tsc can't see the type checking above\n return Buffer.concat(bufs, length)\n }\n if (allObjs) {\n return [].concat(...bufs).slice(0, length)\n }\n // TODO: maybe coalesce buffers, counting bytes, and flatten in arrays\n // counting objects? I can't imagine why that would be useful.\n throw new Error('Concatenating mixed object and byte streams not supported')\n }\n\n /**\n * @ignore\n */\n _transform(chunk, encoding, callback) {\n // @ts-ignore: TS2339 (using internal interface)\n if (!this._readableState.objectMode && !Buffer.isBuffer(chunk)) {\n chunk = Buffer.from(chunk, encoding)\n }\n this.push(chunk)\n callback()\n }\n\n /**\n * @returns {Buffer[]} The current internal buffers. They are layed out\n * end to end.\n * @ignore\n */\n _bufArray() {\n // @ts-ignore: TS2339 (using internal interface)\n let bufs = this._readableState.buffer\n // HACK: replace with something else one day. This is what I get for\n // relying on internals.\n if (!Array.isArray(bufs)) {\n let b = bufs.head\n bufs = []\n while (b != null) {\n bufs.push(b.data)\n b = b.next\n }\n }\n return bufs\n }\n\n /**\n * Pulls some data out of the internal buffer and returns it.\n * If there is no data available, then it will return null.\n *\n * If you pass in a size argument, then it will return that many bytes. If\n * size bytes are not available, then it will return null, unless we've\n * ended, in which case it will return the data remaining in the buffer.\n *\n * If you do not specify a size argument, then it will return all the data in\n * the internal buffer.\n *\n * @param {number} [size=null] Number of bytes to read.\n * @returns {string|Buffer|null} If no data or not enough data, null. If\n * decoding output a string, otherwise a Buffer.\n * @throws Error If readError is true and there was underflow.\n * @fires NoFilter#read When read from.\n */\n read(size) {\n const buf = super.read(size)\n if (buf != null) {\n /**\n * Read event. Fired whenever anything is read from the stream.\n *\n * @event NoFilter#read\n * @param {Buffer|string|object} buf What was read.\n */\n this.emit('read', buf)\n if (this.readError && (buf.length < size)) {\n throw new Error(`Read ${buf.length}, wanted ${size}`)\n }\n } else if (this.readError) {\n throw new Error(`No data available, wanted ${size}`)\n }\n return buf\n }\n\n /**\n * Return a promise fulfilled with the full contents, after the 'finish'\n * event fires. Errors on the stream cause the promise to be rejected.\n *\n * @param {Function} [cb=null] Finished/error callback used in *addition*\n * to the promise.\n * @returns {Promise} Fulfilled when complete.\n */\n promise(cb) {\n let done = false\n return new Promise((resolve, reject) => {\n this.on('finish', () => {\n const data = this.read()\n if ((cb != null) && !done) {\n done = true\n cb(null, data)\n }\n resolve(data)\n })\n this.on('error', er => {\n if ((cb != null) && !done) {\n done = true\n cb(er)\n }\n reject(er)\n })\n })\n }\n\n /**\n * Returns a number indicating whether this comes before or after or is the\n * same as the other NoFilter in sort order.\n *\n * @param {NoFilter} other The other object to compare.\n * @returns {number} -1, 0, 1 for less, equal, greater.\n * @throws {TypeError} Arguments must be NoFilters.\n */\n compare(other) {\n if (!(other instanceof NoFilter)) {\n throw new TypeError('Arguments must be NoFilters')\n }\n if (this === other) {\n return 0\n }\n\n const buf1 = this.slice()\n const buf2 = other.slice()\n // These will both be buffers because of the check above.\n if (Buffer.isBuffer(buf1) && Buffer.isBuffer(buf2)) {\n return buf1.compare(buf2)\n }\n throw new Error('Cannot compare streams in object mode')\n }\n\n /**\n * Do these NoFilter's contain the same bytes? Doesn't work if either is\n * in object mode.\n *\n * @param {NoFilter} other Other NoFilter to compare against.\n * @returns {boolean} Equal?\n */\n equals(other) {\n return this.compare(other) === 0\n }\n\n /**\n * Read bytes or objects without consuming them. Useful for diagnostics.\n * Note: as a side-effect, concatenates multiple writes together into what\n * looks like a single write, so that this concat doesn't have to happen\n * multiple times when you're futzing with the same NoFilter.\n *\n * @param {number} [start=0] Beginning offset.\n * @param {number} [end=length] Ending offset.\n * @returns {Buffer|Array} If in object mode, an array of objects. Otherwise,\n * concatenated array of contents.\n */\n slice(start, end) {\n // @ts-ignore: TS2339 (using internal interface)\n if (this._readableState.objectMode) {\n return this._bufArray().slice(start, end)\n }\n const bufs = this._bufArray()\n switch (bufs.length) {\n case 0: return Buffer.alloc(0)\n case 1: return bufs[0].slice(start, end)\n default: {\n const b = Buffer.concat(bufs)\n // TODO: store the concatented bufs back\n // @_readableState.buffer = [b]\n return b.slice(start, end)\n }\n }\n }\n\n /**\n * Get a byte by offset. I didn't want to get into metaprogramming\n * to give you the `NoFilter[0]` syntax.\n *\n * @param {number} index The byte to retrieve.\n * @returns {number} 0-255.\n */\n get(index) {\n return this.slice()[index]\n }\n\n /**\n * Return an object compatible with Buffer's toJSON implementation, so that\n * round-tripping will produce a Buffer.\n *\n * @returns {string|Array|{type: 'Buffer',data: number[]}} If in object mode,\n * the objects. Otherwise, JSON text.\n * @example output for 'foo', not in object mode\n * ({\n * type: 'Buffer',\n * data: [102, 111, 111],\n * })\n */\n toJSON() {\n const b = this.slice()\n if (Buffer.isBuffer(b)) {\n return b.toJSON()\n }\n return b\n }\n\n /**\n * Decodes and returns a string from buffer data encoded using the specified\n * character set encoding. If encoding is undefined or null, then encoding\n * defaults to 'utf8'. The start and end parameters default to 0 and\n * NoFilter.length when undefined.\n *\n * @param {BufferEncoding} [encoding='utf8'] Which to use for decoding?\n * @param {number} [start=0] Start offset.\n * @param {number} [end=length] End offset.\n * @returns {string} String version of the contents.\n */\n toString(encoding, start, end) {\n const buf = this.slice(start, end)\n if (!Buffer.isBuffer(buf)) {\n return JSON.stringify(buf)\n }\n if (!encoding || (encoding === 'utf8')) {\n return td.decode(buf)\n }\n return buf.toString(encoding)\n }\n\n /**\n * @ignore\n */\n [Symbol.for('nodejs.util.inspect.custom')](depth, options) {\n const bufs = this._bufArray()\n const hex = bufs.map(b => {\n if (Buffer.isBuffer(b)) {\n return options.stylize(b.toString('hex'), 'string')\n }\n return JSON.stringify(b)\n }).join(', ')\n return `${this.constructor.name} [${hex}]`\n }\n\n /**\n * Current readable length, in bytes.\n *\n * @returns {number} Length of the contents.\n */\n get length() {\n // @ts-ignore: TS2339 (using internal interface)\n return this._readableState.length\n }\n\n /**\n * Write a JavaScript BigInt to the stream. Negative numbers will be\n * written as their 2's complement version.\n *\n * @param {bigint} val The value to write.\n * @returns {boolean} True on success.\n */\n writeBigInt(val) {\n let str = val.toString(16)\n if (val < 0) {\n // Two's complement\n // Note: str always starts with '-' here.\n const sz = BigInt(Math.floor(str.length / 2))\n const mask = BigInt(1) << (sz * BigInt(8))\n val = mask + val\n str = val.toString(16)\n }\n if (str.length % 2) {\n str = `0${str}`\n }\n return this.push(Buffer.from(str, 'hex'))\n }\n\n /**\n * Read a variable-sized JavaScript unsigned BigInt from the stream.\n *\n * @param {number} [len=null] Number of bytes to read or all remaining\n * if null.\n * @returns {bigint} A BigInt.\n */\n readUBigInt(len) {\n const b = this.read(len)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return BigInt(`0x${b.toString('hex')}`)\n }\n\n /**\n * Read a variable-sized JavaScript signed BigInt from the stream in 2's\n * complement format.\n *\n * @param {number} [len=null] Number of bytes to read or all remaining\n * if null.\n * @returns {bigint} A BigInt.\n */\n readBigInt(len) {\n const b = this.read(len)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n let ret = BigInt(`0x${b.toString('hex')}`)\n // Negative?\n if (b[0] & 0x80) {\n // Two's complement\n const mask = BigInt(1) << (BigInt(b.length) * BigInt(8))\n ret -= mask\n }\n return ret\n }\n\n /**\n * Write an 8-bit unsigned integer to the stream. Adds 1 byte.\n *\n * @param {number} value 0..255.\n * @returns {boolean} True on success.\n */\n writeUInt8(value) {\n const b = Buffer.from([value])\n return this.push(b)\n }\n\n /**\n * Write a little-endian 16-bit unsigned integer to the stream. Adds\n * 2 bytes.\n *\n * @param {number} value 0..65535.\n * @returns {boolean} True on success.\n */\n writeUInt16LE(value) {\n const b = Buffer.alloc(2)\n b.writeUInt16LE(value)\n return this.push(b)\n }\n\n /**\n * Write a big-endian 16-bit unsigned integer to the stream. Adds\n * 2 bytes.\n *\n * @param {number} value 0..65535.\n * @returns {boolean} True on success.\n */\n writeUInt16BE(value) {\n const b = Buffer.alloc(2)\n b.writeUInt16BE(value)\n return this.push(b)\n }\n\n /**\n * Write a little-endian 32-bit unsigned integer to the stream. Adds\n * 4 bytes.\n *\n * @param {number} value 0..2**32-1.\n * @returns {boolean} True on success.\n */\n writeUInt32LE(value) {\n const b = Buffer.alloc(4)\n b.writeUInt32LE(value)\n return this.push(b)\n }\n\n /**\n * Write a big-endian 32-bit unsigned integer to the stream. Adds\n * 4 bytes.\n *\n * @param {number} value 0..2**32-1.\n * @returns {boolean} True on success.\n */\n writeUInt32BE(value) {\n const b = Buffer.alloc(4)\n b.writeUInt32BE(value)\n return this.push(b)\n }\n\n /**\n * Write a signed 8-bit integer to the stream. Adds 1 byte.\n *\n * @param {number} value (-128)..127.\n * @returns {boolean} True on success.\n */\n writeInt8(value) {\n const b = Buffer.from([value])\n return this.push(b)\n }\n\n /**\n * Write a signed little-endian 16-bit integer to the stream. Adds 2 bytes.\n *\n * @param {number} value (-32768)..32767.\n * @returns {boolean} True on success.\n */\n writeInt16LE(value) {\n const b = Buffer.alloc(2)\n b.writeUInt16LE(value)\n return this.push(b)\n }\n\n /**\n * Write a signed big-endian 16-bit integer to the stream. Adds 2 bytes.\n *\n * @param {number} value (-32768)..32767.\n * @returns {boolean} True on success.\n */\n writeInt16BE(value) {\n const b = Buffer.alloc(2)\n b.writeUInt16BE(value)\n return this.push(b)\n }\n\n /**\n * Write a signed little-endian 32-bit integer to the stream. Adds 4 bytes.\n *\n * @param {number} value (-2**31)..(2**31-1).\n * @returns {boolean} True on success.\n */\n writeInt32LE(value) {\n const b = Buffer.alloc(4)\n b.writeUInt32LE(value)\n return this.push(b)\n }\n\n /**\n * Write a signed big-endian 32-bit integer to the stream. Adds 4 bytes.\n *\n * @param {number} value (-2**31)..(2**31-1).\n * @returns {boolean} True on success.\n */\n writeInt32BE(value) {\n const b = Buffer.alloc(4)\n b.writeUInt32BE(value)\n return this.push(b)\n }\n\n /**\n * Write a little-endian 32-bit float to the stream. Adds 4 bytes.\n *\n * @param {number} value 32-bit float.\n * @returns {boolean} True on success.\n */\n writeFloatLE(value) {\n const b = Buffer.alloc(4)\n b.writeFloatLE(value)\n return this.push(b)\n }\n\n /**\n * Write a big-endian 32-bit float to the stream. Adds 4 bytes.\n *\n * @param {number} value 32-bit float.\n * @returns {boolean} True on success.\n */\n writeFloatBE(value) {\n const b = Buffer.alloc(4)\n b.writeFloatBE(value)\n return this.push(b)\n }\n\n /**\n * Write a little-endian 64-bit double to the stream. Adds 8 bytes.\n *\n * @param {number} value 64-bit float.\n * @returns {boolean} True on success.\n */\n writeDoubleLE(value) {\n const b = Buffer.alloc(8)\n b.writeDoubleLE(value)\n return this.push(b)\n }\n\n /**\n * Write a big-endian 64-bit float to the stream. Adds 8 bytes.\n *\n * @param {number} value 64-bit float.\n * @returns {boolean} True on success.\n */\n writeDoubleBE(value) {\n const b = Buffer.alloc(8)\n b.writeDoubleBE(value)\n return this.push(b)\n }\n\n /**\n * Write a signed little-endian 64-bit BigInt to the stream. Adds 8 bytes.\n *\n * @param {bigint} value BigInt.\n * @returns {boolean} True on success.\n */\n writeBigInt64LE(value) {\n const b = Buffer.alloc(8)\n b.writeBigInt64LE(value)\n return this.push(b)\n }\n\n /**\n * Write a signed big-endian 64-bit BigInt to the stream. Adds 8 bytes.\n *\n * @param {bigint} value BigInt.\n * @returns {boolean} True on success.\n */\n writeBigInt64BE(value) {\n const b = Buffer.alloc(8)\n b.writeBigInt64BE(value)\n return this.push(b)\n }\n\n /**\n * Write an unsigned little-endian 64-bit BigInt to the stream. Adds 8 bytes.\n *\n * @param {bigint} value Non-negative BigInt.\n * @returns {boolean} True on success.\n */\n writeBigUInt64LE(value) {\n const b = Buffer.alloc(8)\n b.writeBigUInt64LE(value)\n return this.push(b)\n }\n\n /**\n * Write an unsigned big-endian 64-bit BigInt to the stream. Adds 8 bytes.\n *\n * @param {bigint} value Non-negative BigInt.\n * @returns {boolean} True on success.\n */\n writeBigUInt64BE(value) {\n const b = Buffer.alloc(8)\n b.writeBigUInt64BE(value)\n return this.push(b)\n }\n\n /**\n * Read an unsigned 8-bit integer from the stream. Consumes 1 byte.\n *\n * @returns {number} Value read.\n */\n readUInt8() {\n const b = this.read(1)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readUInt8()\n }\n\n /**\n * Read a little-endian unsigned 16-bit integer from the stream.\n * Consumes 2 bytes.\n *\n * @returns {number} Value read.\n */\n readUInt16LE() {\n const b = this.read(2)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readUInt16LE()\n }\n\n /**\n * Read a little-endian unsigned 16-bit integer from the stream.\n * Consumes 2 bytes.\n *\n * @returns {number} Value read.\n */\n readUInt16BE() {\n const b = this.read(2)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readUInt16BE()\n }\n\n /**\n * Read a little-endian unsigned 32-bit integer from the stream.\n * Consumes 4 bytes.\n *\n * @returns {number} Value read.\n */\n readUInt32LE() {\n const b = this.read(4)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readUInt32LE()\n }\n\n /**\n * Read a little-endian unsigned 16-bit integer from the stream.\n * Consumes 4 bytes.\n *\n * @returns {number} Value read.\n */\n readUInt32BE() {\n const b = this.read(4)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readUInt32BE()\n }\n\n /**\n * Read a signed 8-bit integer from the stream. Consumes 1 byte.\n *\n * @returns {number} Value read.\n */\n readInt8() {\n const b = this.read(1)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readInt8()\n }\n\n /**\n * Read a little-endian signed 16-bit integer from the stream.\n * Consumes 2 bytes.\n *\n * @returns {number} Value read.\n */\n readInt16LE() {\n const b = this.read(2)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readInt16LE()\n }\n\n /**\n * Read a little-endian signed 16-bit integer from the stream.\n * Consumes 2 bytes.\n *\n * @returns {number} Value read.\n */\n readInt16BE() {\n const b = this.read(2)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readInt16BE()\n }\n\n /**\n * Read a little-endian signed 32-bit integer from the stream.\n * Consumes 4 bytes.\n *\n * @returns {number} Value read.\n */\n readInt32LE() {\n const b = this.read(4)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readInt32LE()\n }\n\n /**\n * Read a little-endian signed 16-bit integer from the stream.\n * Consumes 4 bytes.\n *\n * @returns {number} Value read.\n */\n readInt32BE() {\n const b = this.read(4)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readInt32BE()\n }\n\n /**\n * Read a 32-bit little-endian float from the stream.\n * Consumes 4 bytes.\n *\n * @returns {number} Value read.\n */\n readFloatLE() {\n const b = this.read(4)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readFloatLE()\n }\n\n /**\n * Read a 32-bit big-endian float from the stream.\n * Consumes 4 bytes.\n *\n * @returns {number} Value read.\n */\n readFloatBE() {\n const b = this.read(4)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readFloatBE()\n }\n\n /**\n * Read a 64-bit little-endian float from the stream.\n * Consumes 8 bytes.\n *\n * @returns {number} Value read.\n */\n readDoubleLE() {\n const b = this.read(8)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readDoubleLE()\n }\n\n /**\n * Read a 64-bit big-endian float from the stream.\n * Consumes 8 bytes.\n *\n * @returns {number} Value read.\n */\n readDoubleBE() {\n const b = this.read(8)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readDoubleBE()\n }\n\n /**\n * Read a signed 64-bit little-endian BigInt from the stream.\n * Consumes 8 bytes.\n *\n * @returns {bigint} Value read.\n */\n readBigInt64LE() {\n const b = this.read(8)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readBigInt64LE()\n }\n\n /**\n * Read a signed 64-bit big-endian BigInt from the stream.\n * Consumes 8 bytes.\n *\n * @returns {bigint} Value read.\n */\n readBigInt64BE() {\n const b = this.read(8)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readBigInt64BE()\n }\n\n /**\n * Read an unsigned 64-bit little-endian BigInt from the stream.\n * Consumes 8 bytes.\n *\n * @returns {bigint} Value read.\n */\n readBigUInt64LE() {\n const b = this.read(8)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readBigUInt64LE()\n }\n\n /**\n * Read an unsigned 64-bit big-endian BigInt from the stream.\n * Consumes 8 bytes.\n *\n * @returns {bigint} Value read.\n */\n readBigUInt64BE() {\n const b = this.read(8)\n if (!Buffer.isBuffer(b)) {\n return null\n }\n return b.readBigUInt64BE()\n }\n}\n\nmodule.exports = NoFilter\n","module.exports = require(\"regenerator-runtime\");\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/* eslint-env node */\n'use strict';\n\n// SDP helpers.\nvar SDPUtils = {};\n\n// Generate an alphanumeric identifier for cname or mids.\n// TODO: use UUIDs instead? https://gist.github.com/jed/982883\nSDPUtils.generateIdentifier = function() {\n return Math.random().toString(36).substr(2, 10);\n};\n\n// The RTCP CNAME used by all peerconnections from the same JS.\nSDPUtils.localCName = SDPUtils.generateIdentifier();\n\n// Splits SDP into lines, dealing with both CRLF and LF.\nSDPUtils.splitLines = function(blob) {\n return blob.trim().split('\\n').map(function(line) {\n return line.trim();\n });\n};\n// Splits SDP into sessionpart and mediasections. Ensures CRLF.\nSDPUtils.splitSections = function(blob) {\n var parts = blob.split('\\nm=');\n return parts.map(function(part, index) {\n return (index > 0 ? 'm=' + part : part).trim() + '\\r\\n';\n });\n};\n\n// returns the session description.\nSDPUtils.getDescription = function(blob) {\n var sections = SDPUtils.splitSections(blob);\n return sections && sections[0];\n};\n\n// returns the individual media sections.\nSDPUtils.getMediaSections = function(blob) {\n var sections = SDPUtils.splitSections(blob);\n sections.shift();\n return sections;\n};\n\n// Returns lines that start with a certain prefix.\nSDPUtils.matchPrefix = function(blob, prefix) {\n return SDPUtils.splitLines(blob).filter(function(line) {\n return line.indexOf(prefix) === 0;\n });\n};\n\n// Parses an ICE candidate line. Sample input:\n// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8\n// rport 55996\"\nSDPUtils.parseCandidate = function(line) {\n var parts;\n // Parse both variants.\n if (line.indexOf('a=candidate:') === 0) {\n parts = line.substring(12).split(' ');\n } else {\n parts = line.substring(10).split(' ');\n }\n\n var candidate = {\n foundation: parts[0],\n component: parseInt(parts[1], 10),\n protocol: parts[2].toLowerCase(),\n priority: parseInt(parts[3], 10),\n ip: parts[4],\n address: parts[4], // address is an alias for ip.\n port: parseInt(parts[5], 10),\n // skip parts[6] == 'typ'\n type: parts[7]\n };\n\n for (var i = 8; i < parts.length; i += 2) {\n switch (parts[i]) {\n case 'raddr':\n candidate.relatedAddress = parts[i + 1];\n break;\n case 'rport':\n candidate.relatedPort = parseInt(parts[i + 1], 10);\n break;\n case 'tcptype':\n candidate.tcpType = parts[i + 1];\n break;\n case 'ufrag':\n candidate.ufrag = parts[i + 1]; // for backward compability.\n candidate.usernameFragment = parts[i + 1];\n break;\n default: // extension handling, in particular ufrag\n candidate[parts[i]] = parts[i + 1];\n break;\n }\n }\n return candidate;\n};\n\n// Translates a candidate object into SDP candidate attribute.\nSDPUtils.writeCandidate = function(candidate) {\n var sdp = [];\n sdp.push(candidate.foundation);\n sdp.push(candidate.component);\n sdp.push(candidate.protocol.toUpperCase());\n sdp.push(candidate.priority);\n sdp.push(candidate.address || candidate.ip);\n sdp.push(candidate.port);\n\n var type = candidate.type;\n sdp.push('typ');\n sdp.push(type);\n if (type !== 'host' && candidate.relatedAddress &&\n candidate.relatedPort) {\n sdp.push('raddr');\n sdp.push(candidate.relatedAddress);\n sdp.push('rport');\n sdp.push(candidate.relatedPort);\n }\n if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') {\n sdp.push('tcptype');\n sdp.push(candidate.tcpType);\n }\n if (candidate.usernameFragment || candidate.ufrag) {\n sdp.push('ufrag');\n sdp.push(candidate.usernameFragment || candidate.ufrag);\n }\n return 'candidate:' + sdp.join(' ');\n};\n\n// Parses an ice-options line, returns an array of option tags.\n// a=ice-options:foo bar\nSDPUtils.parseIceOptions = function(line) {\n return line.substr(14).split(' ');\n};\n\n// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input:\n// a=rtpmap:111 opus/48000/2\nSDPUtils.parseRtpMap = function(line) {\n var parts = line.substr(9).split(' ');\n var parsed = {\n payloadType: parseInt(parts.shift(), 10) // was: id\n };\n\n parts = parts[0].split('/');\n\n parsed.name = parts[0];\n parsed.clockRate = parseInt(parts[1], 10); // was: clockrate\n parsed.channels = parts.length === 3 ? parseInt(parts[2], 10) : 1;\n // legacy alias, got renamed back to channels in ORTC.\n parsed.numChannels = parsed.channels;\n return parsed;\n};\n\n// Generate an a=rtpmap line from RTCRtpCodecCapability or\n// RTCRtpCodecParameters.\nSDPUtils.writeRtpMap = function(codec) {\n var pt = codec.payloadType;\n if (codec.preferredPayloadType !== undefined) {\n pt = codec.preferredPayloadType;\n }\n var channels = codec.channels || codec.numChannels || 1;\n return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate +\n (channels !== 1 ? '/' + channels : '') + '\\r\\n';\n};\n\n// Parses an a=extmap line (headerextension from RFC 5285). Sample input:\n// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\n// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset\nSDPUtils.parseExtmap = function(line) {\n var parts = line.substr(9).split(' ');\n return {\n id: parseInt(parts[0], 10),\n direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv',\n uri: parts[1]\n };\n};\n\n// Generates a=extmap line from RTCRtpHeaderExtensionParameters or\n// RTCRtpHeaderExtension.\nSDPUtils.writeExtmap = function(headerExtension) {\n return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) +\n (headerExtension.direction && headerExtension.direction !== 'sendrecv'\n ? '/' + headerExtension.direction\n : '') +\n ' ' + headerExtension.uri + '\\r\\n';\n};\n\n// Parses an ftmp line, returns dictionary. Sample input:\n// a=fmtp:96 vbr=on;cng=on\n// Also deals with vbr=on; cng=on\nSDPUtils.parseFmtp = function(line) {\n var parsed = {};\n var kv;\n var parts = line.substr(line.indexOf(' ') + 1).split(';');\n for (var j = 0; j < parts.length; j++) {\n kv = parts[j].trim().split('=');\n parsed[kv[0].trim()] = kv[1];\n }\n return parsed;\n};\n\n// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeFmtp = function(codec) {\n var line = '';\n var pt = codec.payloadType;\n if (codec.preferredPayloadType !== undefined) {\n pt = codec.preferredPayloadType;\n }\n if (codec.parameters && Object.keys(codec.parameters).length) {\n var params = [];\n Object.keys(codec.parameters).forEach(function(param) {\n if (codec.parameters[param]) {\n params.push(param + '=' + codec.parameters[param]);\n } else {\n params.push(param);\n }\n });\n line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\\r\\n';\n }\n return line;\n};\n\n// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input:\n// a=rtcp-fb:98 nack rpsi\nSDPUtils.parseRtcpFb = function(line) {\n var parts = line.substr(line.indexOf(' ') + 1).split(' ');\n return {\n type: parts.shift(),\n parameter: parts.join(' ')\n };\n};\n// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeRtcpFb = function(codec) {\n var lines = '';\n var pt = codec.payloadType;\n if (codec.preferredPayloadType !== undefined) {\n pt = codec.preferredPayloadType;\n }\n if (codec.rtcpFeedback && codec.rtcpFeedback.length) {\n // FIXME: special handling for trr-int?\n codec.rtcpFeedback.forEach(function(fb) {\n lines += 'a=rtcp-fb:' + pt + ' ' + fb.type +\n (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') +\n '\\r\\n';\n });\n }\n return lines;\n};\n\n// Parses an RFC 5576 ssrc media attribute. Sample input:\n// a=ssrc:3735928559 cname:something\nSDPUtils.parseSsrcMedia = function(line) {\n var sp = line.indexOf(' ');\n var parts = {\n ssrc: parseInt(line.substr(7, sp - 7), 10)\n };\n var colon = line.indexOf(':', sp);\n if (colon > -1) {\n parts.attribute = line.substr(sp + 1, colon - sp - 1);\n parts.value = line.substr(colon + 1);\n } else {\n parts.attribute = line.substr(sp + 1);\n }\n return parts;\n};\n\nSDPUtils.parseSsrcGroup = function(line) {\n var parts = line.substr(13).split(' ');\n return {\n semantics: parts.shift(),\n ssrcs: parts.map(function(ssrc) {\n return parseInt(ssrc, 10);\n })\n };\n};\n\n// Extracts the MID (RFC 5888) from a media section.\n// returns the MID or undefined if no mid line was found.\nSDPUtils.getMid = function(mediaSection) {\n var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0];\n if (mid) {\n return mid.substr(6);\n }\n};\n\nSDPUtils.parseFingerprint = function(line) {\n var parts = line.substr(14).split(' ');\n return {\n algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge.\n value: parts[1]\n };\n};\n\n// Extracts DTLS parameters from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n// get the fingerprint line as input. See also getIceParameters.\nSDPUtils.getDtlsParameters = function(mediaSection, sessionpart) {\n var lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=fingerprint:');\n // Note: a=setup line is ignored since we use the 'auto' role.\n // Note2: 'algorithm' is not case sensitive except in Edge.\n return {\n role: 'auto',\n fingerprints: lines.map(SDPUtils.parseFingerprint)\n };\n};\n\n// Serializes DTLS parameters to SDP.\nSDPUtils.writeDtlsParameters = function(params, setupType) {\n var sdp = 'a=setup:' + setupType + '\\r\\n';\n params.fingerprints.forEach(function(fp) {\n sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\\r\\n';\n });\n return sdp;\n};\n\n// Parses a=crypto lines into\n// https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#dictionary-rtcsrtpsdesparameters-members\nSDPUtils.parseCryptoLine = function(line) {\n var parts = line.substr(9).split(' ');\n return {\n tag: parseInt(parts[0], 10),\n cryptoSuite: parts[1],\n keyParams: parts[2],\n sessionParams: parts.slice(3),\n };\n};\n\nSDPUtils.writeCryptoLine = function(parameters) {\n return 'a=crypto:' + parameters.tag + ' ' +\n parameters.cryptoSuite + ' ' +\n (typeof parameters.keyParams === 'object'\n ? SDPUtils.writeCryptoKeyParams(parameters.keyParams)\n : parameters.keyParams) +\n (parameters.sessionParams ? ' ' + parameters.sessionParams.join(' ') : '') +\n '\\r\\n';\n};\n\n// Parses the crypto key parameters into\n// https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#rtcsrtpkeyparam*\nSDPUtils.parseCryptoKeyParams = function(keyParams) {\n if (keyParams.indexOf('inline:') !== 0) {\n return null;\n }\n var parts = keyParams.substr(7).split('|');\n return {\n keyMethod: 'inline',\n keySalt: parts[0],\n lifeTime: parts[1],\n mkiValue: parts[2] ? parts[2].split(':')[0] : undefined,\n mkiLength: parts[2] ? parts[2].split(':')[1] : undefined,\n };\n};\n\nSDPUtils.writeCryptoKeyParams = function(keyParams) {\n return keyParams.keyMethod + ':'\n + keyParams.keySalt +\n (keyParams.lifeTime ? '|' + keyParams.lifeTime : '') +\n (keyParams.mkiValue && keyParams.mkiLength\n ? '|' + keyParams.mkiValue + ':' + keyParams.mkiLength\n : '');\n};\n\n// Extracts all SDES paramters.\nSDPUtils.getCryptoParameters = function(mediaSection, sessionpart) {\n var lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=crypto:');\n return lines.map(SDPUtils.parseCryptoLine);\n};\n\n// Parses ICE information from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n// get the ice-ufrag and ice-pwd lines as input.\nSDPUtils.getIceParameters = function(mediaSection, sessionpart) {\n var ufrag = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=ice-ufrag:')[0];\n var pwd = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=ice-pwd:')[0];\n if (!(ufrag && pwd)) {\n return null;\n }\n return {\n usernameFragment: ufrag.substr(12),\n password: pwd.substr(10),\n };\n};\n\n// Serializes ICE parameters to SDP.\nSDPUtils.writeIceParameters = function(params) {\n return 'a=ice-ufrag:' + params.usernameFragment + '\\r\\n' +\n 'a=ice-pwd:' + params.password + '\\r\\n';\n};\n\n// Parses the SDP media section and returns RTCRtpParameters.\nSDPUtils.parseRtpParameters = function(mediaSection) {\n var description = {\n codecs: [],\n headerExtensions: [],\n fecMechanisms: [],\n rtcp: []\n };\n var lines = SDPUtils.splitLines(mediaSection);\n var mline = lines[0].split(' ');\n for (var i = 3; i < mline.length; i++) { // find all codecs from mline[3..]\n var pt = mline[i];\n var rtpmapline = SDPUtils.matchPrefix(\n mediaSection, 'a=rtpmap:' + pt + ' ')[0];\n if (rtpmapline) {\n var codec = SDPUtils.parseRtpMap(rtpmapline);\n var fmtps = SDPUtils.matchPrefix(\n mediaSection, 'a=fmtp:' + pt + ' ');\n // Only the first a=fmtp: is considered.\n codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {};\n codec.rtcpFeedback = SDPUtils.matchPrefix(\n mediaSection, 'a=rtcp-fb:' + pt + ' ')\n .map(SDPUtils.parseRtcpFb);\n description.codecs.push(codec);\n // parse FEC mechanisms from rtpmap lines.\n switch (codec.name.toUpperCase()) {\n case 'RED':\n case 'ULPFEC':\n description.fecMechanisms.push(codec.name.toUpperCase());\n break;\n default: // only RED and ULPFEC are recognized as FEC mechanisms.\n break;\n }\n }\n }\n SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function(line) {\n description.headerExtensions.push(SDPUtils.parseExtmap(line));\n });\n // FIXME: parse rtcp.\n return description;\n};\n\n// Generates parts of the SDP media section describing the capabilities /\n// parameters.\nSDPUtils.writeRtpDescription = function(kind, caps) {\n var sdp = '';\n\n // Build the mline.\n sdp += 'm=' + kind + ' ';\n sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs.\n sdp += ' UDP/TLS/RTP/SAVPF ';\n sdp += caps.codecs.map(function(codec) {\n if (codec.preferredPayloadType !== undefined) {\n return codec.preferredPayloadType;\n }\n return codec.payloadType;\n }).join(' ') + '\\r\\n';\n\n sdp += 'c=IN IP4 0.0.0.0\\r\\n';\n sdp += 'a=rtcp:9 IN IP4 0.0.0.0\\r\\n';\n\n // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb.\n caps.codecs.forEach(function(codec) {\n sdp += SDPUtils.writeRtpMap(codec);\n sdp += SDPUtils.writeFmtp(codec);\n sdp += SDPUtils.writeRtcpFb(codec);\n });\n var maxptime = 0;\n caps.codecs.forEach(function(codec) {\n if (codec.maxptime > maxptime) {\n maxptime = codec.maxptime;\n }\n });\n if (maxptime > 0) {\n sdp += 'a=maxptime:' + maxptime + '\\r\\n';\n }\n sdp += 'a=rtcp-mux\\r\\n';\n\n if (caps.headerExtensions) {\n caps.headerExtensions.forEach(function(extension) {\n sdp += SDPUtils.writeExtmap(extension);\n });\n }\n // FIXME: write fecMechanisms.\n return sdp;\n};\n\n// Parses the SDP media section and returns an array of\n// RTCRtpEncodingParameters.\nSDPUtils.parseRtpEncodingParameters = function(mediaSection) {\n var encodingParameters = [];\n var description = SDPUtils.parseRtpParameters(mediaSection);\n var hasRed = description.fecMechanisms.indexOf('RED') !== -1;\n var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1;\n\n // filter a=ssrc:... cname:, ignore PlanB-msid\n var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n .map(function(line) {\n return SDPUtils.parseSsrcMedia(line);\n })\n .filter(function(parts) {\n return parts.attribute === 'cname';\n });\n var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc;\n var secondarySsrc;\n\n var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID')\n .map(function(line) {\n var parts = line.substr(17).split(' ');\n return parts.map(function(part) {\n return parseInt(part, 10);\n });\n });\n if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) {\n secondarySsrc = flows[0][1];\n }\n\n description.codecs.forEach(function(codec) {\n if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) {\n var encParam = {\n ssrc: primarySsrc,\n codecPayloadType: parseInt(codec.parameters.apt, 10)\n };\n if (primarySsrc && secondarySsrc) {\n encParam.rtx = {ssrc: secondarySsrc};\n }\n encodingParameters.push(encParam);\n if (hasRed) {\n encParam = JSON.parse(JSON.stringify(encParam));\n encParam.fec = {\n ssrc: primarySsrc,\n mechanism: hasUlpfec ? 'red+ulpfec' : 'red'\n };\n encodingParameters.push(encParam);\n }\n }\n });\n if (encodingParameters.length === 0 && primarySsrc) {\n encodingParameters.push({\n ssrc: primarySsrc\n });\n }\n\n // we support both b=AS and b=TIAS but interpret AS as TIAS.\n var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b=');\n if (bandwidth.length) {\n if (bandwidth[0].indexOf('b=TIAS:') === 0) {\n bandwidth = parseInt(bandwidth[0].substr(7), 10);\n } else if (bandwidth[0].indexOf('b=AS:') === 0) {\n // use formula from JSEP to convert b=AS to TIAS value.\n bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95\n - (50 * 40 * 8);\n } else {\n bandwidth = undefined;\n }\n encodingParameters.forEach(function(params) {\n params.maxBitrate = bandwidth;\n });\n }\n return encodingParameters;\n};\n\n// parses http://draft.ortc.org/#rtcrtcpparameters*\nSDPUtils.parseRtcpParameters = function(mediaSection) {\n var rtcpParameters = {};\n\n // Gets the first SSRC. Note tha with RTX there might be multiple\n // SSRCs.\n var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n .map(function(line) {\n return SDPUtils.parseSsrcMedia(line);\n })\n .filter(function(obj) {\n return obj.attribute === 'cname';\n })[0];\n if (remoteSsrc) {\n rtcpParameters.cname = remoteSsrc.value;\n rtcpParameters.ssrc = remoteSsrc.ssrc;\n }\n\n // Edge uses the compound attribute instead of reducedSize\n // compound is !reducedSize\n var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize');\n rtcpParameters.reducedSize = rsize.length > 0;\n rtcpParameters.compound = rsize.length === 0;\n\n // parses the rtcp-mux attrÑ–bute.\n // Note that Edge does not support unmuxed RTCP.\n var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux');\n rtcpParameters.mux = mux.length > 0;\n\n return rtcpParameters;\n};\n\n// parses either a=msid: or a=ssrc:... msid lines and returns\n// the id of the MediaStream and MediaStreamTrack.\nSDPUtils.parseMsid = function(mediaSection) {\n var parts;\n var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:');\n if (spec.length === 1) {\n parts = spec[0].substr(7).split(' ');\n return {stream: parts[0], track: parts[1]};\n }\n var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n .map(function(line) {\n return SDPUtils.parseSsrcMedia(line);\n })\n .filter(function(msidParts) {\n return msidParts.attribute === 'msid';\n });\n if (planB.length > 0) {\n parts = planB[0].value.split(' ');\n return {stream: parts[0], track: parts[1]};\n }\n};\n\n// SCTP\n// parses draft-ietf-mmusic-sctp-sdp-26 first and falls back\n// to draft-ietf-mmusic-sctp-sdp-05\nSDPUtils.parseSctpDescription = function(mediaSection) {\n var mline = SDPUtils.parseMLine(mediaSection);\n var maxSizeLine = SDPUtils.matchPrefix(mediaSection, 'a=max-message-size:');\n var maxMessageSize;\n if (maxSizeLine.length > 0) {\n maxMessageSize = parseInt(maxSizeLine[0].substr(19), 10);\n }\n if (isNaN(maxMessageSize)) {\n maxMessageSize = 65536;\n }\n var sctpPort = SDPUtils.matchPrefix(mediaSection, 'a=sctp-port:');\n if (sctpPort.length > 0) {\n return {\n port: parseInt(sctpPort[0].substr(12), 10),\n protocol: mline.fmt,\n maxMessageSize: maxMessageSize\n };\n }\n var sctpMapLines = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:');\n if (sctpMapLines.length > 0) {\n var parts = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:')[0]\n .substr(10)\n .split(' ');\n return {\n port: parseInt(parts[0], 10),\n protocol: parts[1],\n maxMessageSize: maxMessageSize\n };\n }\n};\n\n// SCTP\n// outputs the draft-ietf-mmusic-sctp-sdp-26 version that all browsers\n// support by now receiving in this format, unless we originally parsed\n// as the draft-ietf-mmusic-sctp-sdp-05 format (indicated by the m-line\n// protocol of DTLS/SCTP -- without UDP/ or TCP/)\nSDPUtils.writeSctpDescription = function(media, sctp) {\n var output = [];\n if (media.protocol !== 'DTLS/SCTP') {\n output = [\n 'm=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.protocol + '\\r\\n',\n 'c=IN IP4 0.0.0.0\\r\\n',\n 'a=sctp-port:' + sctp.port + '\\r\\n'\n ];\n } else {\n output = [\n 'm=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.port + '\\r\\n',\n 'c=IN IP4 0.0.0.0\\r\\n',\n 'a=sctpmap:' + sctp.port + ' ' + sctp.protocol + ' 65535\\r\\n'\n ];\n }\n if (sctp.maxMessageSize !== undefined) {\n output.push('a=max-message-size:' + sctp.maxMessageSize + '\\r\\n');\n }\n return output.join('');\n};\n\n// Generate a session ID for SDP.\n// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1\n// recommends using a cryptographically random +ve 64-bit value\n// but right now this should be acceptable and within the right range\nSDPUtils.generateSessionId = function() {\n return Math.random().toString().substr(2, 21);\n};\n\n// Write boilder plate for start of SDP\n// sessId argument is optional - if not supplied it will\n// be generated randomly\n// sessVersion is optional and defaults to 2\n// sessUser is optional and defaults to 'thisisadapterortc'\nSDPUtils.writeSessionBoilerplate = function(sessId, sessVer, sessUser) {\n var sessionId;\n var version = sessVer !== undefined ? sessVer : 2;\n if (sessId) {\n sessionId = sessId;\n } else {\n sessionId = SDPUtils.generateSessionId();\n }\n var user = sessUser || 'thisisadapterortc';\n // FIXME: sess-id should be an NTP timestamp.\n return 'v=0\\r\\n' +\n 'o=' + user + ' ' + sessionId + ' ' + version +\n ' IN IP4 127.0.0.1\\r\\n' +\n 's=-\\r\\n' +\n 't=0 0\\r\\n';\n};\n\nSDPUtils.writeMediaSection = function(transceiver, caps, type, stream) {\n var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n // Map ICE parameters (ufrag, pwd) to SDP.\n sdp += SDPUtils.writeIceParameters(\n transceiver.iceGatherer.getLocalParameters());\n\n // Map DTLS parameters to SDP.\n sdp += SDPUtils.writeDtlsParameters(\n transceiver.dtlsTransport.getLocalParameters(),\n type === 'offer' ? 'actpass' : 'active');\n\n sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n if (transceiver.direction) {\n sdp += 'a=' + transceiver.direction + '\\r\\n';\n } else if (transceiver.rtpSender && transceiver.rtpReceiver) {\n sdp += 'a=sendrecv\\r\\n';\n } else if (transceiver.rtpSender) {\n sdp += 'a=sendonly\\r\\n';\n } else if (transceiver.rtpReceiver) {\n sdp += 'a=recvonly\\r\\n';\n } else {\n sdp += 'a=inactive\\r\\n';\n }\n\n if (transceiver.rtpSender) {\n // spec.\n var msid = 'msid:' + stream.id + ' ' +\n transceiver.rtpSender.track.id + '\\r\\n';\n sdp += 'a=' + msid;\n\n // for Chrome.\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n ' ' + msid;\n if (transceiver.sendEncodingParameters[0].rtx) {\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n ' ' + msid;\n sdp += 'a=ssrc-group:FID ' +\n transceiver.sendEncodingParameters[0].ssrc + ' ' +\n transceiver.sendEncodingParameters[0].rtx.ssrc +\n '\\r\\n';\n }\n }\n // FIXME: this should be written by writeRtpDescription.\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n ' cname:' + SDPUtils.localCName + '\\r\\n';\n if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) {\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n ' cname:' + SDPUtils.localCName + '\\r\\n';\n }\n return sdp;\n};\n\n// Gets the direction from the mediaSection or the sessionpart.\nSDPUtils.getDirection = function(mediaSection, sessionpart) {\n // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv.\n var lines = SDPUtils.splitLines(mediaSection);\n for (var i = 0; i < lines.length; i++) {\n switch (lines[i]) {\n case 'a=sendrecv':\n case 'a=sendonly':\n case 'a=recvonly':\n case 'a=inactive':\n return lines[i].substr(2);\n default:\n // FIXME: What should happen here?\n }\n }\n if (sessionpart) {\n return SDPUtils.getDirection(sessionpart);\n }\n return 'sendrecv';\n};\n\nSDPUtils.getKind = function(mediaSection) {\n var lines = SDPUtils.splitLines(mediaSection);\n var mline = lines[0].split(' ');\n return mline[0].substr(2);\n};\n\nSDPUtils.isRejected = function(mediaSection) {\n return mediaSection.split(' ', 2)[1] === '0';\n};\n\nSDPUtils.parseMLine = function(mediaSection) {\n var lines = SDPUtils.splitLines(mediaSection);\n var parts = lines[0].substr(2).split(' ');\n return {\n kind: parts[0],\n port: parseInt(parts[1], 10),\n protocol: parts[2],\n fmt: parts.slice(3).join(' ')\n };\n};\n\nSDPUtils.parseOLine = function(mediaSection) {\n var line = SDPUtils.matchPrefix(mediaSection, 'o=')[0];\n var parts = line.substr(2).split(' ');\n return {\n username: parts[0],\n sessionId: parts[1],\n sessionVersion: parseInt(parts[2], 10),\n netType: parts[3],\n addressType: parts[4],\n address: parts[5]\n };\n};\n\n// a very naive interpretation of a valid SDP.\nSDPUtils.isValidSDP = function(blob) {\n if (typeof blob !== 'string' || blob.length === 0) {\n return false;\n }\n var lines = SDPUtils.splitLines(blob);\n for (var i = 0; i < lines.length; i++) {\n if (lines[i].length < 2 || lines[i].charAt(1) !== '=') {\n return false;\n }\n // TODO: check the modifier a bit more.\n }\n return true;\n};\n\n// Expose public methods.\nif (typeof module === 'object') {\n module.exports = SDPUtils;\n}\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","var defineProperty = require(\"./defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;","'use strict'\n\nconst { Buffer } = require('buffer')\nconst NoFilter = require('nofilter')\nconst stream = require('stream')\nconst constants = require('./constants')\nconst { NUMBYTES, SHIFT32, BI, SYMS } = constants\nconst MAX_SAFE_HIGH = 0x1fffff\n\n/**\n * Convert a UTF8-encoded Buffer to a JS string. If possible, throw an error\n * on invalid UTF8. Byte Order Marks are not looked at or stripped.\n * @private\n */\nconst td = new TextDecoder('utf8', {fatal: true, ignoreBOM: true})\nexports.utf8 = buf => td.decode(buf)\nexports.utf8.checksUTF8 = true\n\nfunction isReadable(s) {\n // Is this a readable stream? In the webpack version, instanceof isn't\n // working correctly.\n if (s instanceof stream.Readable) {\n return true\n }\n return ['read', 'on', 'pipe'].every(f => typeof s[f] === 'function')\n}\n\nexports.isBufferish = function isBufferish(b) {\n return b &&\n (typeof b === 'object') &&\n ((Buffer.isBuffer(b)) ||\n (b instanceof Uint8Array) ||\n (b instanceof Uint8ClampedArray) ||\n (b instanceof ArrayBuffer) ||\n (b instanceof DataView))\n}\n\nexports.bufferishToBuffer = function bufferishToBuffer(b) {\n if (Buffer.isBuffer(b)) {\n return b\n } else if (ArrayBuffer.isView(b)) {\n return Buffer.from(b.buffer, b.byteOffset, b.byteLength)\n } else if (b instanceof ArrayBuffer) {\n return Buffer.from(b)\n }\n return null\n}\n\nexports.parseCBORint = function parseCBORint(ai, buf) {\n switch (ai) {\n case NUMBYTES.ONE:\n return buf.readUInt8(0)\n case NUMBYTES.TWO:\n return buf.readUInt16BE(0)\n case NUMBYTES.FOUR:\n return buf.readUInt32BE(0)\n case NUMBYTES.EIGHT: {\n const f = buf.readUInt32BE(0)\n const g = buf.readUInt32BE(4)\n if (f > MAX_SAFE_HIGH) {\n return (BigInt(f) * BI.SHIFT32) + BigInt(g)\n }\n return (f * SHIFT32) + g\n }\n default:\n throw new Error(`Invalid additional info for int: ${ai}`)\n }\n}\n\nexports.writeHalf = function writeHalf(buf, half) {\n // Assume 0, -0, NaN, Infinity, and -Infinity have already been caught\n\n // HACK: everyone settle in. This isn't going to be pretty.\n // Translate cn-cbor's C code (from Carsten Borman):\n\n // uint32_t be32;\n // uint16_t be16, u16;\n // union {\n // float f;\n // uint32_t u;\n // } u32;\n // u32.f = float_val;\n\n const u32 = Buffer.allocUnsafe(4)\n u32.writeFloatBE(half, 0)\n const u = u32.readUInt32BE(0)\n\n // If ((u32.u & 0x1FFF) == 0) { /* worth trying half */\n\n // hildjj: If the lower 13 bits aren't 0,\n // we will lose precision in the conversion.\n // mant32 = 24bits, mant16 = 11bits, 24-11 = 13\n if ((u & 0x1FFF) !== 0) {\n return false\n }\n\n // Sign, exponent, mantissa\n // int s16 = (u32.u >> 16) & 0x8000;\n // int exp = (u32.u >> 23) & 0xff;\n // int mant = u32.u & 0x7fffff;\n\n let s16 = (u >> 16) & 0x8000 // Top bit is sign\n const exp = (u >> 23) & 0xff // Then 5 bits of exponent\n const mant = u & 0x7fffff\n\n // Hildjj: zeros already handled. Assert if you don't believe me.\n // if (exp == 0 && mant == 0)\n // ; /* 0.0, -0.0 */\n\n // else if (exp >= 113 && exp <= 142) /* normalized */\n // s16 += ((exp - 112) << 10) + (mant >> 13);\n\n if ((exp >= 113) && (exp <= 142)) {\n s16 += ((exp - 112) << 10) + (mant >> 13)\n } else if ((exp >= 103) && (exp < 113)) {\n // Denormalized numbers\n // else if (exp >= 103 && exp < 113) { /* denorm, exp16 = 0 */\n // if (mant & ((1 << (126 - exp)) - 1))\n // goto float32; /* loss of precision */\n // s16 += ((mant + 0x800000) >> (126 - exp));\n\n if (mant & ((1 << (126 - exp)) - 1)) {\n return false\n }\n s16 += ((mant + 0x800000) >> (126 - exp))\n } else {\n // } else if (exp == 255 && mant == 0) { /* Inf */\n // s16 += 0x7c00;\n\n // hildjj: Infinity already handled\n\n // } else\n // goto float32; /* loss of range */\n\n return false\n }\n\n // Done\n // ensure_writable(3);\n // u16 = s16;\n // be16 = hton16p((const uint8_t*)&u16);\n buf.writeUInt16BE(s16)\n return true\n}\n\nexports.parseHalf = function parseHalf(buf) {\n const sign = buf[0] & 0x80 ? -1 : 1\n const exp = (buf[0] & 0x7C) >> 2\n const mant = ((buf[0] & 0x03) << 8) | buf[1]\n if (!exp) {\n return sign * 5.9604644775390625e-8 * mant\n } else if (exp === 0x1f) {\n return sign * (mant ? NaN : Infinity)\n }\n return sign * (2 ** (exp - 25)) * (1024 + mant)\n}\n\nexports.parseCBORfloat = function parseCBORfloat(buf) {\n switch (buf.length) {\n case 2:\n return exports.parseHalf(buf)\n case 4:\n return buf.readFloatBE(0)\n case 8:\n return buf.readDoubleBE(0)\n default:\n throw new Error(`Invalid float size: ${buf.length}`)\n }\n}\n\nexports.hex = function hex(s) {\n return Buffer.from(s.replace(/^0x/, ''), 'hex')\n}\n\nexports.bin = function bin(s) {\n s = s.replace(/\\s/g, '')\n let start = 0\n let end = (s.length % 8) || 8\n const chunks = []\n while (end <= s.length) {\n chunks.push(parseInt(s.slice(start, end), 2))\n start = end\n end += 8\n }\n return Buffer.from(chunks)\n}\n\nexports.arrayEqual = function arrayEqual(a, b) {\n if ((a == null) && (b == null)) {\n return true\n }\n if ((a == null) || (b == null)) {\n return false\n }\n return (a.length === b.length) && a.every((elem, i) => elem === b[i])\n}\n\nexports.bufferToBigInt = function bufferToBigInt(buf) {\n return BigInt(`0x${buf.toString('hex')}`)\n}\n\nexports.cborValueToString = function cborValueToString(val, float_bytes = -1) {\n switch (typeof val) {\n case 'symbol': {\n switch (val) {\n case SYMS.NULL:\n return 'null'\n case SYMS.UNDEFINED:\n return 'undefined'\n case SYMS.BREAK:\n return 'BREAK'\n }\n // Impossible in node 10\n /* istanbul ignore if */\n if (val.description) {\n return val.description\n }\n // On node10, Symbol doesn't have description. Parse it out of the\n // toString value, which looks like `Symbol(foo)`.\n const s = val.toString()\n const m = s.match(/^Symbol\\((?.*)\\)/)\n /* istanbul ignore if */\n if (m && m.groups.name) {\n // Impossible in node 12+\n /* istanbul ignore next */\n return m.groups.name\n }\n return 'Symbol'\n }\n case 'string':\n return JSON.stringify(val)\n case 'bigint':\n return val.toString()\n case 'number': {\n const s = Object.is(val, -0) ? '-0' : String(val)\n return (float_bytes > 0) ? `${s}_${float_bytes}` : s\n }\n case 'object': {\n // A null should be caught above\n const buf = exports.bufferishToBuffer(val)\n if (buf) {\n const hex = buf.toString('hex')\n return (float_bytes === -Infinity) ? hex : `h'${hex}'`\n }\n if (val && (typeof val.inspect === 'function')) {\n return val.inspect()\n }\n // Shouldn't get non-empty arrays here\n if (Array.isArray(val)) {\n return '[]'\n }\n // This should be all that is left\n return '{}'\n }\n }\n return String(val)\n}\n\nexports.guessEncoding = function guessEncoding(input, encoding) {\n if (typeof input === 'string') {\n return new NoFilter(input, (encoding == null) ? 'hex' : encoding)\n }\n const buf = exports.bufferishToBuffer(input)\n if (buf) {\n return new NoFilter(buf)\n }\n if (isReadable(input)) {\n return input\n }\n throw new Error('Unknown input type')\n}\n\nconst B64URL_SWAPS = {\n '=': '',\n '+': '-',\n '/': '_',\n}\n\n/**\n * @param {Buffer|Uint8Array|Uint8ClampedArray|ArrayBuffer|DataView} buf -\n * Buffer to convert\n * @private\n */\nexports.base64url = function base64url(buf) {\n return exports.bufferishToBuffer(buf)\n .toString('base64')\n .replace(/[=+/]/g, c => B64URL_SWAPS[c])\n}\n\n/**\n * @param {Buffer|Uint8Array|Uint8ClampedArray|ArrayBuffer|DataView} buf -\n * Buffer to convert\n * @private\n */\nexports.base64 = function base64(buf) {\n return exports.bufferishToBuffer(buf).toString('base64')\n}\n\nexports.isBigEndian = function isBigEndian() {\n const array = new Uint8Array(4)\n const view = new Uint32Array(array.buffer)\n return !((view[0] = 1) & array[0])\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","'use strict'\n\nconst BinaryParseStream = require('../vendor/binary-parse-stream')\nconst Tagged = require('./tagged')\nconst Simple = require('./simple')\nconst utils = require('./utils')\nconst NoFilter = require('nofilter')\nconst constants = require('./constants')\nconst { MT, NUMBYTES, SYMS, BI } = constants\nconst { Buffer } = require('buffer')\n\nconst COUNT = Symbol('count')\nconst MAJOR = Symbol('major type')\nconst ERROR = Symbol('error')\nconst NOT_FOUND = Symbol('not found')\n\nfunction parentArray(parent, typ, count) {\n const a = []\n\n a[COUNT] = count\n a[SYMS.PARENT] = parent\n a[MAJOR] = typ\n return a\n}\n\nfunction parentBufferStream(parent, typ) {\n const b = new NoFilter()\n\n b[COUNT] = -1\n b[SYMS.PARENT] = parent\n b[MAJOR] = typ\n return b\n}\n\nclass UnexpectedDataError extends Error {\n constructor(byte, value) {\n super(`Unexpected data: 0x${byte.toString(16)}`)\n this.name = 'UnexpectedDataError'\n this.byte = byte\n this.value = value\n }\n}\n\n/**\n * @typedef ExtendedResults\n * @property {any} value - the value that was found\n * @property {number} length - the number of bytes of the original input that\n * were read\n * @property {Buffer} bytes - the bytes of the original input that were used\n * to produce the value\n * @property {Buffer} [unused] - the bytes that were left over from the original\n * input. This property only exists if {@linkcode Decoder.decodeFirst} or\n * {@linkcode Decoder.decodeFirstSync} was called.\n */\n/**\n * @typedef DecoderOptions\n * @property {number} [max_depth=-1] - the maximum depth to parse.\n * Use -1 for \"until you run out of memory\". Set this to a finite\n * positive number for un-trusted inputs. Most standard inputs won't nest\n * more than 100 or so levels; I've tested into the millions before\n * running out of memory.\n * @property {Tagged.TagMap} [tags] - mapping from tag number to function(v),\n * where v is the decoded value that comes after the tag, and where the\n * function returns the correctly-created value for that tag.\n * @property {boolean} [preferWeb=false] if true, prefer Uint8Arrays to\n * be generated instead of node Buffers. This might turn on some more\n * changes in the future, so forward-compatibility is not guaranteed yet.\n * @property {string} [encoding='hex'] - The encoding of the input.\n * Ignored if input is a Buffer.\n * @property {boolean} [required=false] - Should an error be thrown when no\n * data is in the input?\n * @property {boolean} [extendedResults=false] - if true, emit extended\n * results, which will be an object with shape {@link ExtendedResults}.\n * The value will already have been null-checked.\n */\n/**\n * @callback decodeCallback\n * @param {Error} [error] - if one was generated\n * @param {any} [value] - the decoded value\n * @returns {void}\n */\n/**\n * @param {DecoderOptions|decodeCallback|string} opts options,\n * the callback, or input incoding\n * @param {decodeCallback} [cb] - called on completion\n * @returns {{options: DecoderOptions, cb: decodeCallback}}\n * @private\n */\nfunction normalizeOptions(opts, cb) {\n switch (typeof opts) {\n case 'function':\n return { options: {}, cb: /** @type {decodeCallback} */ (opts) }\n case 'string':\n return { options: { encoding: opts }, cb }\n case 'object':\n return { options: opts || {}, cb }\n default:\n throw new TypeError('Unknown option type')\n }\n}\n\n/**\n * Decode a stream of CBOR bytes by transforming them into equivalent\n * JavaScript data. Because of the limitations of Node object streams,\n * special symbols are emitted instead of NULL or UNDEFINED. Fix those\n * up by calling {@link Decoder.nullcheck}.\n *\n * @extends {BinaryParseStream}\n */\nclass Decoder extends BinaryParseStream {\n /**\n * Create a parsing stream.\n *\n * @param {DecoderOptions} [options={}]\n */\n constructor(options = {}) {\n const {\n tags = {},\n max_depth = -1,\n preferWeb = false,\n required = false,\n encoding = 'hex',\n extendedResults = false,\n ...superOpts\n } = options\n\n super({defaultEncoding: encoding, ...superOpts})\n\n this.running = true\n this.max_depth = max_depth\n this.tags = tags\n this.preferWeb = preferWeb\n this.extendedResults = extendedResults\n this.required = required\n\n if (extendedResults) {\n this.bs.on('read', this._onRead.bind(this))\n this.valueBytes = /** @type {NoFilter} */ (new NoFilter())\n }\n }\n\n /**\n * Check the given value for a symbol encoding a NULL or UNDEFINED value in\n * the CBOR stream.\n *\n * @static\n * @param {any} val - the value to check\n * @returns {any} the corrected value\n *\n * @example\n * myDecoder.on('data', function(val) {\n * val = Decoder.nullcheck(val);\n * ...\n * });\n */\n static nullcheck(val) {\n switch (val) {\n case SYMS.NULL:\n return null\n case SYMS.UNDEFINED:\n return undefined\n // Leaving this in for now as belt-and-suspenders, but I'm pretty sure\n // it can't happen.\n /* istanbul ignore next */\n case NOT_FOUND:\n /* istanbul ignore next */\n throw new Error('Value not found')\n default:\n return val\n }\n }\n\n /**\n * Decode the first CBOR item in the input, synchronously. This will throw\n * an exception if the input is not valid CBOR, or if there are more bytes\n * left over at the end (if options.extendedResults is not true).\n *\n * @static\n * @param {string|Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray\n * |DataView|ReadableStream} input - If a Readable stream, must have\n * received the `readable` event already, or you will get an error\n * claiming \"Insufficient data\"\n * @param {DecoderOptions|string} [options={}] Options or encoding for input\n * @returns {any} - the decoded value\n */\n static decodeFirstSync(input, options = {}) {\n if (input == null) {\n throw new TypeError('input required')\n }\n ({options} = normalizeOptions(options))\n const {encoding = 'hex', ...opts} = options\n const c = new Decoder(opts)\n const s = utils.guessEncoding(input, encoding)\n\n // For/of doesn't work when you need to call next() with a value\n // generator created by parser will be \"done\" after each CBOR entity\n // parser will yield numbers of bytes that it wants\n const parser = c._parse()\n let state = parser.next()\n\n while (!state.done) {\n const b = s.read(state.value)\n\n if ((b == null) || (b.length !== state.value)) {\n throw new Error('Insufficient data')\n }\n if (c.extendedResults) {\n c.valueBytes.write(b)\n }\n state = parser.next(b)\n }\n\n let val = null\n if (c.extendedResults) {\n val = state.value\n val.unused = s.read()\n } else {\n val = Decoder.nullcheck(state.value)\n if (s.length > 0) {\n const nextByte = s.read(1)\n\n s.unshift(nextByte)\n throw new UnexpectedDataError(nextByte[0], val)\n }\n }\n return val\n }\n\n /**\n * Decode all of the CBOR items in the input into an array. This will throw\n * an exception if the input is not valid CBOR; a zero-length input will\n * return an empty array.\n *\n * @static\n * @param {string|Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray\n * |DataView|ReadableStream} input\n * @param {DecoderOptions|string} [options={}] Options or encoding\n * for input\n * @returns {Array} - Array of all found items\n */\n static decodeAllSync(input, options = {}) {\n if (input == null) {\n throw new TypeError('input required')\n }\n ({options} = normalizeOptions(options))\n const {encoding = 'hex', ...opts} = options\n const c = new Decoder(opts)\n const s = utils.guessEncoding(input, encoding)\n const res = []\n\n while (s.length > 0) {\n const parser = c._parse()\n let state = parser.next()\n\n while (!state.done) {\n const b = s.read(state.value)\n\n if ((b == null) || (b.length !== state.value)) {\n throw new Error('Insufficient data')\n }\n if (c.extendedResults) {\n c.valueBytes.write(b)\n }\n state = parser.next(b)\n }\n res.push(Decoder.nullcheck(state.value))\n }\n return res\n }\n\n /**\n * Decode the first CBOR item in the input. This will error if there are\n * more bytes left over at the end (if options.extendedResults is not true),\n * and optionally if there were no valid CBOR bytes in the input. Emits the\n * {Decoder.NOT_FOUND} Symbol in the callback if no data was found and the\n * `required` option is false.\n *\n * @static\n * @param {string|Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray\n * |DataView|ReadableStream} input\n * @param {DecoderOptions|decodeCallback|string} [options={}] - options, the\n * callback, or input encoding\n * @param {decodeCallback} [cb] callback\n * @returns {Promise} returned even if callback is specified\n */\n static decodeFirst(input, options = {}, cb = null) {\n if (input == null) {\n throw new TypeError('input required')\n }\n ({options, cb} = normalizeOptions(options, cb))\n const {encoding = 'hex', required = false, ...opts} = options\n\n const c = new Decoder(opts)\n let v = /** @type {any} */ (NOT_FOUND)\n const s = utils.guessEncoding(input, encoding)\n const p = new Promise((resolve, reject) => {\n c.on('data', val => {\n v = Decoder.nullcheck(val)\n c.close()\n })\n c.once('error', er => {\n if (c.extendedResults && (er instanceof UnexpectedDataError)) {\n v.unused = c.bs.slice()\n return resolve(v)\n }\n if (v !== NOT_FOUND) {\n // Typescript work-around\n // eslint-disable-next-line dot-notation\n er['value'] = v\n }\n v = ERROR\n c.close()\n return reject(er)\n })\n c.once('end', () => {\n switch (v) {\n case NOT_FOUND:\n if (required) {\n return reject(new Error('No CBOR found'))\n }\n return resolve(v)\n // Pretty sure this can't happen, but not *certain*.\n /* istanbul ignore next */\n case ERROR:\n /* istanbul ignore next */\n return undefined\n default:\n return resolve(v)\n }\n })\n })\n\n if (typeof cb === 'function') {\n p.then(val => cb(null, val), cb)\n }\n s.pipe(c)\n return p\n }\n\n /**\n * @callback decodeAllCallback\n * @param {Error} error - if one was generated\n * @param {Array} value - all of the decoded values, wrapped in an Array\n */\n\n /**\n * Decode all of the CBOR items in the input. This will error if there are\n * more bytes left over at the end.\n *\n * @static\n * @param {string|Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray\n * |DataView|ReadableStream} input\n * @param {DecoderOptions|decodeAllCallback|string} [options={}] -\n * Decoding options, the callback, or the input encoding.\n * @param {decodeAllCallback} [cb] callback\n * @returns {Promise} even if callback is specified\n */\n static decodeAll(input, options = {}, cb = null) {\n if (input == null) {\n throw new TypeError('input required')\n }\n ({options, cb} = normalizeOptions(options, cb))\n const {encoding = 'hex', ...opts} = options\n\n const c = new Decoder(opts)\n const vals = []\n\n c.on('data', val => vals.push(Decoder.nullcheck(val)))\n\n const p = new Promise((resolve, reject) => {\n c.on('error', reject)\n c.on('end', () => resolve(vals))\n })\n\n if (typeof cb === 'function') {\n p.then(v => cb(undefined, v), er => cb(er, undefined))\n }\n utils.guessEncoding(input, encoding).pipe(c)\n return p\n }\n\n /**\n * Stop processing\n */\n close() {\n this.running = false\n this.__fresh = true\n }\n\n /**\n * Only called if extendedResults is true\n * @ignore\n */\n _onRead(data) {\n this.valueBytes.write(data)\n }\n\n /**\n * @ignore\n * @returns {Generator}\n */\n *_parse() {\n let parent = null\n let depth = 0\n let val = null\n\n while (true) {\n if ((this.max_depth >= 0) && (depth > this.max_depth)) {\n throw new Error(`Maximum depth ${this.max_depth} exceeded`)\n }\n\n const [octet] = yield 1\n if (!this.running) {\n this.bs.unshift(Buffer.from([octet]))\n throw new UnexpectedDataError(octet)\n }\n const mt = octet >> 5\n const ai = octet & 0x1f\n const parent_major = (parent == null) ? undefined : parent[MAJOR]\n const parent_length = (parent == null) ? undefined : parent.length\n\n switch (ai) {\n case NUMBYTES.ONE:\n this.emit('more-bytes', mt, 1, parent_major, parent_length)\n ;[val] = yield 1\n break\n case NUMBYTES.TWO:\n case NUMBYTES.FOUR:\n case NUMBYTES.EIGHT: {\n const numbytes = 1 << (ai - 24)\n\n this.emit('more-bytes', mt, numbytes, parent_major, parent_length)\n const buf = yield numbytes\n val = (mt === MT.SIMPLE_FLOAT) ?\n buf :\n utils.parseCBORint(ai, buf)\n break\n }\n case 28:\n case 29:\n case 30:\n this.running = false\n throw new Error(`Additional info not implemented: ${ai}`)\n case NUMBYTES.INDEFINITE:\n switch (mt) {\n case MT.POS_INT:\n case MT.NEG_INT:\n case MT.TAG:\n throw new Error(`Invalid indefinite encoding for MT ${mt}`)\n }\n val = -1\n break\n default:\n val = ai\n }\n switch (mt) {\n case MT.POS_INT:\n // Val already decoded\n break\n case MT.NEG_INT:\n if (val === Number.MAX_SAFE_INTEGER) {\n val = BI.NEG_MAX\n } else {\n val = (typeof val === 'bigint') ? BI.MINUS_ONE - val : -1 - val\n }\n break\n case MT.BYTE_STRING:\n case MT.UTF8_STRING:\n switch (val) {\n case 0:\n this.emit('start-string', mt, val, parent_major, parent_length)\n if (mt === MT.UTF8_STRING) {\n val = ''\n } else {\n val = this.preferWeb ? new Uint8Array(0) : Buffer.allocUnsafe(0)\n }\n break\n case -1:\n this.emit('start', mt, SYMS.STREAM, parent_major, parent_length)\n parent = parentBufferStream(parent, mt)\n depth++\n continue\n default:\n this.emit('start-string', mt, val, parent_major, parent_length)\n val = yield val\n if (mt === MT.UTF8_STRING) {\n val = utils.utf8(val)\n } else if (this.preferWeb) {\n val = new Uint8Array(val.buffer, val.byteOffset, val.length)\n }\n }\n break\n case MT.ARRAY:\n case MT.MAP:\n switch (val) {\n case 0:\n val = (mt === MT.MAP) ? {} : []\n break\n case -1:\n this.emit('start', mt, SYMS.STREAM, parent_major, parent_length)\n parent = parentArray(parent, mt, -1)\n depth++\n continue\n default:\n this.emit('start', mt, val, parent_major, parent_length)\n parent = parentArray(parent, mt, val * (mt - 3))\n depth++\n continue\n }\n break\n case MT.TAG:\n this.emit('start', mt, val, parent_major, parent_length)\n parent = parentArray(parent, mt, 1)\n parent.push(val)\n depth++\n continue\n case MT.SIMPLE_FLOAT:\n if (typeof val === 'number') {\n if ((ai === NUMBYTES.ONE) && (val < 32)) {\n throw new Error(\n `Invalid two-byte encoding of simple value ${val}`\n )\n }\n const hasParent = (parent != null)\n val = Simple.decode(\n val,\n hasParent,\n hasParent && (parent[COUNT] < 0)\n )\n } else {\n val = utils.parseCBORfloat(val)\n }\n }\n this.emit('value', val, parent_major, parent_length, ai)\n let again = false\n while (parent != null) {\n switch (false) {\n case val !== SYMS.BREAK:\n parent[COUNT] = 1\n break\n case !Array.isArray(parent):\n parent.push(val)\n break\n case !(parent instanceof NoFilter): {\n const pm = parent[MAJOR]\n\n if ((pm != null) && (pm !== mt)) {\n this.running = false\n throw new Error('Invalid major type in indefinite encoding')\n }\n parent.write(val)\n }\n }\n if ((--parent[COUNT]) !== 0) {\n again = true\n break\n }\n --depth\n delete parent[COUNT]\n\n if (Array.isArray(parent)) {\n switch (parent[MAJOR]) {\n case MT.ARRAY:\n val = parent\n break\n case MT.MAP: {\n let allstrings = true\n\n if ((parent.length % 2) !== 0) {\n throw new Error(`Invalid map length: ${parent.length}`)\n }\n for (let i = 0, len = parent.length; i < len; i += 2) {\n if ((typeof parent[i] !== 'string') ||\n (parent[i] === '__proto__')) {\n allstrings = false\n break\n }\n }\n if (allstrings) {\n val = {}\n for (let i = 0, len = parent.length; i < len; i += 2) {\n val[parent[i]] = parent[i + 1]\n }\n } else {\n val = new Map()\n for (let i = 0, len = parent.length; i < len; i += 2) {\n val.set(parent[i], parent[i + 1])\n }\n }\n break\n }\n case MT.TAG: {\n const t = new Tagged(parent[0], parent[1])\n\n val = t.convert(this.tags)\n break\n }\n }\n } else /* istanbul ignore else */ if (parent instanceof NoFilter) {\n // Only parent types are Array and NoFilter for (Array/Map) and\n // (bytes/string) respectively.\n switch (parent[MAJOR]) {\n case MT.BYTE_STRING:\n val = parent.slice()\n if (this.preferWeb) {\n val = new Uint8Array(\n /** @type {Buffer} */ (val).buffer,\n /** @type {Buffer} */ (val).byteOffset,\n /** @type {Buffer} */ (val).length\n )\n }\n break\n case MT.UTF8_STRING:\n val = parent.toString('utf-8')\n break\n }\n }\n this.emit('stop', parent[MAJOR])\n\n const old = parent\n parent = parent[SYMS.PARENT]\n delete old[SYMS.PARENT]\n delete old[MAJOR]\n }\n if (!again) {\n if (this.extendedResults) {\n const bytes = this.valueBytes.slice()\n const ret = {\n value: Decoder.nullcheck(val),\n bytes,\n length: bytes.length,\n }\n\n this.valueBytes = new NoFilter()\n return ret\n }\n return val\n }\n }\n }\n}\n\nDecoder.NOT_FOUND = NOT_FOUND\nmodule.exports = Decoder\n","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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 Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nexport default function useWillUnmount(fn) {\n var onUnmount = useUpdatedRef(fn);\n useEffect(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}","import { useRef } from 'react';\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nexport default function useUpdatedRef(value) {\n var valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","'use strict'\n\nexports.Commented = require('./commented')\nexports.Diagnose = require('./diagnose')\nexports.Decoder = require('./decoder')\nexports.Encoder = require('./encoder')\nexports.Simple = require('./simple')\nexports.Tagged = require('./tagged')\nexports.Map = require('./map')\n\n/**\n * Convenience name for {@linkcode Commented.comment}\n */\nexports.comment = exports.Commented.comment\n\n/**\n * Convenience name for {@linkcode Decoder.decodeAll}\n */\nexports.decodeAll = exports.Decoder.decodeAll\n\n/**\n * Convenience name for {@linkcode Decoder.decodeFirst}\n */\nexports.decodeFirst = exports.Decoder.decodeFirst\n\n/**\n * Convenience name for {@linkcode Decoder.decodeAllSync}\n */\nexports.decodeAllSync = exports.Decoder.decodeAllSync\n\n/**\n * Convenience name for {@linkcode Decoder.decodeFirstSync}\n */\nexports.decodeFirstSync = exports.Decoder.decodeFirstSync\n\n/**\n * Convenience name for {@linkcode Diagnose.diagnose}\n */\nexports.diagnose = exports.Diagnose.diagnose\n\n/**\n * Convenience name for {@linkcode Encoder.encode}\n */\nexports.encode = exports.Encoder.encode\n\n/**\n * Convenience name for {@linkcode Encoder.encodeCanonical}\n */\nexports.encodeCanonical = exports.Encoder.encodeCanonical\n\n/**\n * Convenience name for {@linkcode Encoder.encodeOne}\n */\nexports.encodeOne = exports.Encoder.encodeOne\n\n/**\n * Convenience name for {@linkcode Encoder.encodeAsync}\n */\nexports.encodeAsync = exports.Encoder.encodeAsync\n\n/**\n * Convenience name for {@linkcode Decoder.decodeFirstSync}\n */\nexports.decode = exports.Decoder.decodeFirstSync\n\n/**\n * The codec information for\n * {@link https://github.com/Level/encoding-down encoding-down}, which is a\n * codec framework for leveldb. CBOR is a particularly convenient format for\n * both keys and values, as it can deal with a lot of types that JSON can't\n * handle without losing type information.\n *\n * @example\n * const level = require('level')\n * const cbor = require('cbor')\n *\n * const db = level('./db', {\n * keyEncoding: cbor.leveldb,\n * valueEncoding: cbor.leveldb\n * })\n *\n * await db.put({a:1}, 9857298342094820394820394820398234092834n)\n * const val = await db.get({a:1})) // 9857298342094820394820394820398234092834n\n */\nexports.leveldb = {\n decode: exports.Decoder.decodeFirstSync,\n encode: exports.Encoder.encode,\n buffer: true,\n name: 'cbor',\n}\n\n/**\n * Reset everything that we can predict a plugin might have altered in good\n * faith. For now that includes the default set of tags that decoding and\n * encoding will use.\n */\nexports.reset = function reset() {\n exports.Encoder.reset()\n exports.Tagged.reset()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper;","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (process.browser) {\n defaultEncoding = 'utf-8'\n} else if (process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this._strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n var z = 0;\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n var b;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n b = c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n\n r |= b;\n z |= b;\n }\n\n assert(!(z & 0xf0), 'Invalid character in ' + str);\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar wrapNativeSuper = require(\"./wrapNativeSuper\");\n\nvar getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn\");\n\nvar inherits = require(\"./inherits\");\n\nfunction _wrapRegExp(re, groups) {\n module.exports = _wrapRegExp = function _wrapRegExp(re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n\n var _RegExp = wrapNativeSuper(RegExp);\n\n var _super = RegExp.prototype;\n\n var _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = _RegExp.call(this, re, flags);\n\n _groups.set(_this, groups || _groups.get(re));\n\n return _this;\n }\n\n inherits(BabelRegExp, _RegExp);\n\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n } else if (typeof substitution === \"function\") {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = [];\n args.push.apply(args, arguments);\n\n if (_typeof(args[args.length - 1]) !== \"object\") {\n args.push(buildGroups(args, _this));\n }\n\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n}\n\nmodule.exports = _wrapRegExp;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var superPropBase = require(\"./superPropBase\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;","'use strict'\n\nconst constants = require('./constants')\nconst utils = require('./utils')\nconst INTERNAL_JSON = Symbol('INTERNAL_JSON')\n\nfunction setBuffersToJSON(obj, fn) {\n // The data item tagged can be a byte string or any other data item. In the\n // latter case, the tag applies to all of the byte string data items\n // contained in the data item, except for those contained in a nested data\n // item tagged with an expected conversion.\n if (utils.isBufferish(obj)) {\n obj.toJSON = fn\n } else if (Array.isArray(obj)) {\n for (const v of obj) {\n setBuffersToJSON(v, fn)\n }\n } else if (obj && (typeof obj === 'object')) {\n // FFS, complexity in the protocol.\n\n // There's some circular dependency in here.\n // eslint-disable-next-line no-use-before-define\n if (!(obj instanceof Tagged) || (obj.tag < 21) || (obj.tag > 23)) {\n for (const v of Object.values(obj)) {\n setBuffersToJSON(v, fn)\n }\n }\n }\n}\n\nfunction b64this() {\n // eslint-disable-next-line no-invalid-this\n return utils.base64(this)\n}\n\nfunction b64urlThis() {\n // eslint-disable-next-line no-invalid-this\n return utils.base64url(this)\n}\n\nfunction hexThis() {\n // eslint-disable-next-line no-invalid-this\n return this.toString('hex')\n}\n\nfunction swapEndian(ab, size, byteOffset, byteLength) {\n const dv = new DataView(ab)\n const [getter, setter] = {\n 2: [dv.getUint16, dv.setUint16],\n 4: [dv.getUint32, dv.setUint32],\n 8: [dv.getBigUint64, dv.setBigUint64],\n }[size]\n\n const end = byteOffset + byteLength\n for (let offset = byteOffset; offset < end; offset += size) {\n setter.call(dv, offset, getter.call(dv, offset, true))\n }\n}\n\n/**\n * Convert a tagged value to a more interesting JavaScript type. Errors\n * thrown in this function will be captured into the \"err\" property of the\n * original Tagged instance.\n *\n * @callback TagFunction\n * @param {any} value - the value inside the tag\n * @param {Tagged} tag - the enclosing Tagged instance; useful if you want to\n * modify it and return it. Also available as \"this\".\n * @return {any} the transformed value\n */\n\n/**\n * A mapping from tag number to a tag decoding function\n * @typedef {Object.} TagMap\n */\n\n/**\n * @type {TagMap}\n * @private\n */\nconst TAGS = {\n // Standard date/time string; see Section 3.4.1\n 0: v => new Date(v),\n // Epoch-based date/time; see Section 3.4.2\n 1: v => new Date(v * 1000),\n // Positive bignum; see Section 3.4.3\n 2: v => utils.bufferToBigInt(v),\n // Negative bignum; see Section 3.4.3\n 3: v => constants.BI.MINUS_ONE - utils.bufferToBigInt(v),\n // Expected conversion to base64url encoding; see Section 3.4.5.2\n 21: (v, tag) => {\n if (utils.isBufferish(v)) {\n tag[INTERNAL_JSON] = b64urlThis\n } else {\n setBuffersToJSON(v, b64urlThis)\n }\n return tag\n },\n // Expected conversion to base64 encoding; see Section 3.4.5.2\n 22: (v, tag) => {\n if (utils.isBufferish(v)) {\n tag[INTERNAL_JSON] = b64this\n } else {\n setBuffersToJSON(v, b64this)\n }\n return tag\n },\n // Expected conversion to base16 encoding; see Section Section 3.4.5.2\n 23: (v, tag) => {\n if (utils.isBufferish(v)) {\n tag[INTERNAL_JSON] = hexThis\n } else {\n setBuffersToJSON(v, hexThis)\n }\n return tag\n },\n // URI; see Section 3.4.5.3\n 32: v => new URL(v),\n // Base64url; see Section 3.4.5.3\n 33: (v, tag) => {\n // If any of the following apply:\n // - the encoded text string contains non-alphabet characters or\n // only 1 alphabet character in the last block of 4 (where\n // alphabet is defined by Section 5 of [RFC4648] for tag number 33\n // and Section 4 of [RFC4648] for tag number 34), or\n if (!v.match(/^[a-zA-Z0-9_-]+$/)) {\n throw new Error('Invalid base64url characters')\n }\n const last = v.length % 4\n if (last === 1) {\n throw new Error('Invalid base64url length')\n }\n // - the padding bits in a 2- or 3-character block are not 0, or\n if (last === 2) {\n // The last 4 bits of the last character need to be zero.\n if ('AQgw'.indexOf(v[v.length - 1]) === -1) {\n throw new Error('Invalid base64 padding')\n }\n } else if (last === 3) {\n // The last 2 bits of the last character need to be zero.\n if ('AEIMQUYcgkosw048'.indexOf(v[v.length - 1]) === -1) {\n throw new Error('Invalid base64 padding')\n }\n }\n\n // Or\n // - the base64url encoding has padding characters,\n // (caught above)\n\n // the string is invalid.\n return tag\n },\n // Base64; see Section 3.4.5.3\n 34: (v, tag) => {\n // If any of the following apply:\n // - the encoded text string contains non-alphabet characters or\n // only 1 alphabet character in the last block of 4 (where\n // alphabet is defined by Section 5 of [RFC4648] for tag number 33\n // and Section 4 of [RFC4648] for tag number 34), or\n const m = v.match(/^[a-zA-Z0-9+/]+(?={0,2})$/)\n if (!m) {\n throw new Error('Invalid base64 characters')\n }\n if ((v.length % 4) !== 0) {\n throw new Error('Invalid base64 length')\n }\n // - the padding bits in a 2- or 3-character block are not 0, or\n if (m.groups.padding === '=') {\n // The last 4 bits of the last character need to be zero.\n if ('AQgw'.indexOf(v[v.length - 2]) === -1) {\n throw new Error('Invalid base64 padding')\n }\n } else if (m.groups.padding === '==') {\n // The last 2 bits of the last character need to be zero.\n if ('AEIMQUYcgkosw048'.indexOf(v[v.length - 3]) === -1) {\n throw new Error('Invalid base64 padding')\n }\n }\n\n // - the base64 encoding has the wrong number of padding characters,\n // (caught above)\n // the string is invalid.\n return tag\n },\n // Regular expression; see Section 2.4.4.3\n 35: v => new RegExp(v),\n // https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md\n 258: v => new Set(v),\n}\n\nconst TYPED_ARRAY_TAGS = {\n 64: Uint8Array,\n 65: Uint16Array,\n 66: Uint32Array,\n // 67: BigUint64Array, Safari doesn't implement\n 68: Uint8ClampedArray,\n 69: Uint16Array,\n 70: Uint32Array,\n // 71: BigUint64Array, Safari doesn't implement\n 72: Int8Array,\n 73: Int16Array,\n 74: Int32Array,\n // 75: BigInt64Array, Safari doesn't implement\n // 76: reserved\n 77: Int16Array,\n 78: Int32Array,\n // 79: BigInt64Array, Safari doesn't implement\n // 80: not implemented, float16 array\n 81: Float32Array,\n 82: Float64Array,\n // 83: not implemented, float128 array\n // 84: not implemented, float16 array\n 85: Float32Array,\n 86: Float64Array,\n // 87: not implemented, float128 array\n}\n\n// Safari\nif (typeof BigUint64Array !== 'undefined') {\n TYPED_ARRAY_TAGS[67] = BigUint64Array\n TYPED_ARRAY_TAGS[71] = BigUint64Array\n}\nif (typeof BigInt64Array !== 'undefined') {\n TYPED_ARRAY_TAGS[75] = BigInt64Array\n TYPED_ARRAY_TAGS[79] = BigInt64Array\n}\n\nfunction _toTypedArray(val, tagged) {\n if (!utils.isBufferish(val)) {\n throw new TypeError('val not a buffer')\n }\n const {tag} = tagged\n // See https://tools.ietf.org/html/rfc8746\n const TypedClass = TYPED_ARRAY_TAGS[tag]\n if (!TypedClass) {\n throw new Error(`Invalid typed array tag: ${tag}`)\n }\n const little = tag & 0b00000100\n const float = (tag & 0b00010000) >> 4\n const sz = 2 ** (float + (tag & 0b00000011))\n\n if ((!little !== utils.isBigEndian()) && (sz > 1)) {\n swapEndian(val.buffer, sz, val.byteOffset, val.byteLength)\n }\n\n const ab = val.buffer.slice(val.byteOffset, val.byteOffset + val.byteLength)\n return new TypedClass(ab)\n}\n\nfor (const n of Object.keys(TYPED_ARRAY_TAGS)) {\n TAGS[n] = _toTypedArray\n}\n\n/**\n * @type {TagMap}\n * @private\n */\nlet current_TAGS = {}\n\n/**\n * A CBOR tagged item, where the tag does not have semantics specified at the\n * moment, or those semantics threw an error during parsing. Typically this will\n * be an extension point you're not yet expecting.\n */\nclass Tagged {\n /**\n * Creates an instance of Tagged.\n *\n * @param {number} tag - the number of the tag\n * @param {any} value - the value inside the tag\n * @param {Error} [err] - the error that was thrown parsing the tag, or null\n */\n constructor(tag, value, err) {\n this.tag = tag\n this.value = value\n this.err = err\n if (typeof this.tag !== 'number') {\n throw new Error(`Invalid tag type (${typeof this.tag})`)\n }\n if ((this.tag < 0) || ((this.tag | 0) !== this.tag)) {\n throw new Error(`Tag must be a positive integer: ${this.tag}`)\n }\n }\n\n toJSON() {\n if (this[INTERNAL_JSON]) {\n return this[INTERNAL_JSON].call(this.value)\n }\n const ret = {\n tag: this.tag,\n value: this.value,\n }\n if (this.err) {\n ret.err = this.err\n }\n return ret\n }\n\n /**\n * Convert to a String\n *\n * @returns {string} string of the form '1(2)'\n */\n toString() {\n return `${this.tag}(${JSON.stringify(this.value)})`\n }\n\n /**\n * Push the simple value onto the CBOR stream\n *\n * @param {Object} gen The generator to push onto\n */\n encodeCBOR(gen) {\n gen._pushTag(this.tag)\n return gen.pushAny(this.value)\n }\n\n /**\n * If we have a converter for this type, do the conversion. Some converters\n * are built-in. Additional ones can be passed in. If you want to remove\n * a built-in converter, pass a converter in whose value is 'null' instead\n * of a function.\n *\n * @param {Object} converters - keys in the object are a tag number, the value\n * is a function that takes the decoded CBOR and returns a JavaScript value\n * of the appropriate type. Throw an exception in the function on errors.\n * @returns {any} - the converted item\n */\n convert(converters) {\n let f = (converters == null) ? undefined : converters[this.tag]\n if (typeof f !== 'function') {\n f = Tagged.TAGS[this.tag]\n if (typeof f !== 'function') {\n return this\n }\n }\n try {\n return f.call(this, this.value, this)\n } catch (error) {\n if (error && error.message && (error.message.length > 0)) {\n this.err = error.message\n } else {\n this.err = error\n }\n return this\n }\n }\n\n /**\n * The current set of supported tags. May be modified by plugins.\n *\n * @type {TagMap}\n * @static\n */\n static get TAGS() {\n return current_TAGS\n }\n\n static set TAGS(val) {\n current_TAGS = val\n }\n\n /**\n * Reset the supported tags to the original set, before any plugins modified\n * the list.\n */\n static reset() {\n Tagged.TAGS = { ...TAGS }\n }\n}\nTagged.INTERNAL_JSON = INTERNAL_JSON\nTagged.reset()\nmodule.exports = Tagged\n","'use strict'\n\nconst {MT, SIMPLE, SYMS} = require('./constants')\n\n/**\n * A CBOR Simple Value that does not map onto a known constant.\n */\nclass Simple {\n /**\n * Creates an instance of Simple.\n *\n * @param {number} value - the simple value's integer value\n */\n constructor(value) {\n if (typeof value !== 'number') {\n throw new Error(`Invalid Simple type: ${typeof value}`)\n }\n if ((value < 0) || (value > 255) || ((value | 0) !== value)) {\n throw new Error(`value must be a small positive integer: ${value}`)\n }\n this.value = value\n }\n\n /**\n * Debug string for simple value\n *\n * @returns {string} simple(value)\n */\n toString() {\n return `simple(${this.value})`\n }\n\n /**\n * Debug string for simple value (backward-compatibility version)\n *\n * @returns {string} simple(value)\n */\n inspect(depth, opts) {\n return `simple(${this.value})`\n }\n\n /**\n * Push the simple value onto the CBOR stream\n *\n * @param {Object} gen The generator to push onto\n */\n encodeCBOR(gen) {\n return gen._pushInt(this.value, MT.SIMPLE_FLOAT)\n }\n\n /**\n * Is the given object a Simple?\n *\n * @param {any} obj - object to test\n * @returns {boolean} - is it Simple?\n */\n static isSimple(obj) {\n return obj instanceof Simple\n }\n\n /**\n * Decode from the CBOR additional information into a JavaScript value.\n * If the CBOR item has no parent, return a \"safe\" symbol instead of\n * `null` or `undefined`, so that the value can be passed through a\n * stream in object mode.\n *\n * @param {number} val - the CBOR additional info to convert\n * @param {boolean} [has_parent=true] - Does the CBOR item have a parent?\n * @param {boolean} [parent_indefinite=false] - Is the parent element\n * indefinitely encoded?\n * @returns {(null|undefined|boolean|Symbol|Simple)} - the decoded value\n */\n static decode(val, has_parent = true, parent_indefinite = false) {\n switch (val) {\n case SIMPLE.FALSE:\n return false\n case SIMPLE.TRUE:\n return true\n case SIMPLE.NULL:\n if (has_parent) {\n return null\n }\n return SYMS.NULL\n case SIMPLE.UNDEFINED:\n if (has_parent) {\n return undefined\n }\n return SYMS.UNDEFINED\n case -1:\n if (!has_parent || !parent_indefinite) {\n throw new Error('Invalid BREAK')\n }\n return SYMS.BREAK\n default:\n return new Simple(val)\n }\n }\n}\n\nmodule.exports = Simple\n","'use strict'\n\nconst stream = require('stream')\nconst NoFilter = require('nofilter')\nconst utils = require('./utils')\nconst constants = require('./constants')\nconst {\n MT, NUMBYTES, SHIFT32, SIMPLE, SYMS, TAG, BI,\n} = constants\nconst { Buffer } = require('buffer')\n\nconst HALF = (MT.SIMPLE_FLOAT << 5) | NUMBYTES.TWO\nconst FLOAT = (MT.SIMPLE_FLOAT << 5) | NUMBYTES.FOUR\nconst DOUBLE = (MT.SIMPLE_FLOAT << 5) | NUMBYTES.EIGHT\nconst TRUE = (MT.SIMPLE_FLOAT << 5) | SIMPLE.TRUE\nconst FALSE = (MT.SIMPLE_FLOAT << 5) | SIMPLE.FALSE\nconst UNDEFINED = (MT.SIMPLE_FLOAT << 5) | SIMPLE.UNDEFINED\nconst NULL = (MT.SIMPLE_FLOAT << 5) | SIMPLE.NULL\n\nconst BREAK = Buffer.from([0xff])\nconst BUF_NAN = Buffer.from('f97e00', 'hex')\nconst BUF_INF_NEG = Buffer.from('f9fc00', 'hex')\nconst BUF_INF_POS = Buffer.from('f97c00', 'hex')\nconst BUF_NEG_ZERO = Buffer.from('f98000', 'hex')\n\n/**\n * Generate the CBOR for a value. If you are using this, you'll either need\n * to call {@link Encoder.write} with a Buffer, or look into the internals of\n * Encoder to reuse existing non-documented behavior.\n *\n * @callback EncodeFunction\n * @param {Encoder} enc - the encoder to use\n * @param {any} val - the value to encode\n * @return {boolean} - true on success\n */\n\n/**\n * A mapping from tag number to a tag decoding function\n * @typedef {Object.} SemanticMap\n */\n\n/**\n * @type {SemanticMap}\n * @private\n */\nconst SEMANTIC_TYPES = {}\n\n/**\n * @type {SemanticMap}\n * @private\n */\nlet current_SEMANTIC_TYPES = {}\n\n/**\n * @param {string} str\n * @returns {\"number\"|\"float\"|\"int\"|\"string\"}\n * @private\n */\nfunction parseDateType(str) {\n if (!str) {\n return 'number'\n }\n switch (str.toLowerCase()) {\n case 'number':\n return 'number'\n case 'float':\n return 'float'\n case 'int':\n case 'integer':\n return 'int'\n case 'string':\n return 'string'\n }\n throw new TypeError(`dateType invalid, got \"${str}\"`)\n}\n\n/**\n * @typedef EncodingOptions\n * @property {any[]|Object} [genTypes=[]] - array of pairs of\n * `type`, `function(Encoder)` for semantic types to be encoded. Not\n * needed for Array, Date, Buffer, Map, RegExp, Set, or URL.\n * If an object, the keys are the constructor names for the types.\n * @property {boolean} [canonical=false] - should the output be\n * canonicalized\n * @property {boolean|WeakSet} [detectLoops=false] - should object loops\n * be detected? This will currently add memory to track every part of the\n * object being encoded in a WeakSet. Do not encode\n * the same object twice on the same encoder, without calling\n * `removeLoopDetectors` in between, which will clear the WeakSet.\n * You may pass in your own WeakSet to be used; this is useful in some\n * recursive scenarios.\n * @property {(\"number\"|\"float\"|\"int\"|\"string\")} [dateType=\"number\"] -\n * how should dates be encoded? \"number\" means float or int, if no\n * fractional seconds.\n * @property {any} [encodeUndefined=undefined] - How should an\n * \"undefined\" in the input be encoded. By default, just encode a CBOR\n * undefined. If this is a buffer, use those bytes without re-encoding\n * them. If this is a function, the function will be called (which is a\n * good time to throw an exception, if that's what you want), and the\n * return value will be used according to these rules. Anything else will\n * be encoded as CBOR.\n * @property {boolean} [disallowUndefinedKeys=false] - Should\n * \"undefined\" be disallowed as a key in a Map that is serialized? If\n * this is true, encode(new Map([[undefined, 1]])) will throw an\n * exception. Note that it is impossible to get a key of undefined in a\n * normal JS object.\n * @property {boolean} [collapseBigIntegers=false] - Should integers\n * that come in as ECMAscript bigint's be encoded\n * as normal CBOR integers if they fit, discarding type information?\n * @property {number} [chunkSize=4096] - Number of characters or bytes\n * for each chunk, if obj is a string or Buffer, when indefinite encoding\n * @property {boolean} [omitUndefinedProperties=false] - When encoding\n * objects or Maps, do not include a key if its corresponding value is\n * `undefined`.\n */\n\n/**\n * Transform JavaScript values into CBOR bytes. The `Writable` side of\n * the stream is in object mode.\n *\n * @extends {stream.Transform}\n */\nclass Encoder extends stream.Transform {\n /**\n * Creates an instance of Encoder.\n *\n * @param {EncodingOptions} [options={}] - options for the encoder\n */\n constructor(options = {}) {\n const {\n canonical = false,\n encodeUndefined,\n disallowUndefinedKeys = false,\n dateType = 'number',\n collapseBigIntegers = false,\n detectLoops = false,\n omitUndefinedProperties = false,\n genTypes = [],\n ...superOpts\n } = options\n\n super({\n ...superOpts,\n readableObjectMode: false,\n writableObjectMode: true,\n })\n\n this.canonical = canonical\n this.encodeUndefined = encodeUndefined\n this.disallowUndefinedKeys = disallowUndefinedKeys\n this.dateType = parseDateType(dateType)\n this.collapseBigIntegers = this.canonical ? true : collapseBigIntegers\n\n /** @type WeakSet? */\n this.detectLoops = undefined\n if (typeof detectLoops === 'boolean') {\n if (detectLoops) {\n this.detectLoops = new WeakSet()\n }\n } else if (detectLoops instanceof WeakSet) {\n this.detectLoops = detectLoops\n } else {\n throw new TypeError('detectLoops must be boolean or WeakSet')\n }\n this.omitUndefinedProperties = omitUndefinedProperties\n\n this.semanticTypes = {...Encoder.SEMANTIC_TYPES}\n\n if (Array.isArray(genTypes)) {\n for (let i = 0, len = genTypes.length; i < len; i += 2) {\n this.addSemanticType(genTypes[i], genTypes[i + 1])\n }\n } else {\n for (const [k, v] of Object.entries(genTypes)) {\n this.addSemanticType(k, v)\n }\n }\n }\n\n _transform(fresh, encoding, cb) {\n const ret = this.pushAny(fresh)\n // Old transformers might not return bool. undefined !== false\n return cb((ret === false) ? new Error('Push Error') : undefined)\n }\n\n // eslint-disable-next-line class-methods-use-this\n _flush(cb) {\n return cb()\n }\n\n /**\n * @param {number} val - Number(0-255) to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushUInt8(val) {\n const b = Buffer.allocUnsafe(1)\n b.writeUInt8(val, 0)\n return this.push(b)\n }\n\n /**\n * @param {number} val - Number(0-65535) to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushUInt16BE(val) {\n const b = Buffer.allocUnsafe(2)\n b.writeUInt16BE(val, 0)\n return this.push(b)\n }\n\n /**\n * @param {number} val - Number(0..2**32-1) to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushUInt32BE(val) {\n const b = Buffer.allocUnsafe(4)\n b.writeUInt32BE(val, 0)\n return this.push(b)\n }\n\n /**\n * @param {number} val - Number to encode as 4-byte float\n * @returns {boolean} true on success\n * @ignore\n */\n _pushFloatBE(val) {\n const b = Buffer.allocUnsafe(4)\n b.writeFloatBE(val, 0)\n return this.push(b)\n }\n\n /**\n * @param {number} val - Number to encode as 8-byte double\n * @returns {boolean} true on success\n * @ignore\n */\n _pushDoubleBE(val) {\n const b = Buffer.allocUnsafe(8)\n b.writeDoubleBE(val, 0)\n return this.push(b)\n }\n\n /**\n * @returns {boolean} true on success\n * @ignore\n */\n _pushNaN() {\n return this.push(BUF_NAN)\n }\n\n /**\n * @param {number} obj - Positive or negative infinity\n * @returns {boolean} true on success\n * @ignore\n */\n _pushInfinity(obj) {\n const half = (obj < 0) ? BUF_INF_NEG : BUF_INF_POS\n return this.push(half)\n }\n\n /**\n * Choose the best float representation for a number and encode it.\n *\n * @param {number} obj - A number that is known to be not-integer, but not\n * how many bytes of precision it needs\n * @returns {boolean} true on success\n * @ignore\n */\n _pushFloat(obj) {\n if (this.canonical) {\n // TODO: is this enough slower to hide behind canonical?\n // It's certainly enough of a hack (see utils.parseHalf)\n\n // From section 3.9:\n // If a protocol allows for IEEE floats, then additional canonicalization\n // rules might need to be added. One example rule might be to have all\n // floats start as a 64-bit float, then do a test conversion to a 32-bit\n // float; if the result is the same numeric value, use the shorter value\n // and repeat the process with a test conversion to a 16-bit float. (This\n // rule selects 16-bit float for positive and negative Infinity as well.)\n\n // which seems pretty much backwards to me.\n const b2 = Buffer.allocUnsafe(2)\n if (utils.writeHalf(b2, obj)) {\n // I have convinced myself that there are no cases where writeHalf\n // will return true but `utils.parseHalf(b2) !== obj)`\n return this._pushUInt8(HALF) && this.push(b2)\n }\n }\n if (Math.fround(obj) === obj) {\n return this._pushUInt8(FLOAT) && this._pushFloatBE(obj)\n }\n\n return this._pushUInt8(DOUBLE) && this._pushDoubleBE(obj)\n }\n\n /**\n * Choose the best integer representation for a postive number and encode\n * it. If the number is over MAX_SAFE_INTEGER, fall back on float (but I\n * don't remember why).\n *\n * @param {number} obj - A positive number that is known to be an integer,\n * but not how many bytes of precision it needs\n * @param {number} mt - The Major Type number to combine with the integer.\n * Not yet shifted.\n * @param {number} [orig] - The number before it was transformed to positive.\n * If the mt is NEG_INT, and the positive number is over MAX_SAFE_INT,\n * then we'll encode this as a float rather than making the number\n * negative again and losing precision.\n * @returns {boolean} true on success\n * @ignore\n */\n _pushInt(obj, mt, orig) {\n const m = mt << 5\n switch (false) {\n case !(obj < 24):\n return this._pushUInt8(m | obj)\n case !(obj <= 0xff):\n return this._pushUInt8(m | NUMBYTES.ONE) && this._pushUInt8(obj)\n case !(obj <= 0xffff):\n return this._pushUInt8(m | NUMBYTES.TWO) && this._pushUInt16BE(obj)\n case !(obj <= 0xffffffff):\n return this._pushUInt8(m | NUMBYTES.FOUR) && this._pushUInt32BE(obj)\n case !(obj <= Number.MAX_SAFE_INTEGER):\n return this._pushUInt8(m | NUMBYTES.EIGHT) &&\n this._pushUInt32BE(Math.floor(obj / SHIFT32)) &&\n this._pushUInt32BE(obj % SHIFT32)\n default:\n if (mt === MT.NEG_INT) {\n return this._pushFloat(orig)\n }\n return this._pushFloat(obj)\n }\n }\n\n /**\n * Choose the best integer representation for a number and encode it.\n *\n * @param {number} obj - A number that is known to be an integer,\n * but not how many bytes of precision it needs\n * @returns {boolean} true on success\n * @ignore\n */\n _pushIntNum(obj) {\n if (Object.is(obj, -0)) {\n return this.push(BUF_NEG_ZERO)\n }\n\n if (obj < 0) {\n return this._pushInt(-obj - 1, MT.NEG_INT, obj)\n }\n return this._pushInt(obj, MT.POS_INT)\n }\n\n /**\n * @param {number} obj - plain JS number to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushNumber(obj) {\n switch (false) {\n case !isNaN(obj):\n return this._pushNaN()\n case isFinite(obj):\n return this._pushInfinity(obj)\n case Math.round(obj) !== obj:\n return this._pushIntNum(obj)\n default:\n return this._pushFloat(obj)\n }\n }\n\n /**\n * @param {string} obj - string to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushString(obj) {\n const len = Buffer.byteLength(obj, 'utf8')\n return this._pushInt(len, MT.UTF8_STRING) && this.push(obj, 'utf8')\n }\n\n /**\n * @param {boolean} obj - bool to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushBoolean(obj) {\n return this._pushUInt8(obj ? TRUE : FALSE)\n }\n\n /**\n * @param {undefined} obj - ignored\n * @returns {boolean} true on success\n * @ignore\n */\n _pushUndefined(obj) {\n switch (typeof this.encodeUndefined) {\n case 'undefined':\n return this._pushUInt8(UNDEFINED)\n case 'function':\n return this.pushAny(this.encodeUndefined(obj))\n case 'object': {\n const buf = utils.bufferishToBuffer(this.encodeUndefined)\n if (buf) {\n return this.push(buf)\n }\n }\n }\n return this.pushAny(this.encodeUndefined)\n }\n\n /**\n * @param {null} obj - ignored\n * @returns {boolean} true on success\n * @ignore\n */\n _pushNull(obj) {\n return this._pushUInt8(NULL)\n }\n\n /**\n * @param {number} tag - Tag number to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushTag(tag) {\n return this._pushInt(tag, MT.TAG)\n }\n\n /**\n * @param {bigint} obj - BigInt to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushJSBigint(obj) {\n let m = MT.POS_INT\n let tag = TAG.POS_BIGINT\n // BigInt doesn't have -0\n if (obj < 0) {\n obj = -obj + BI.MINUS_ONE\n m = MT.NEG_INT\n tag = TAG.NEG_BIGINT\n }\n\n if (this.collapseBigIntegers &&\n (obj <= BI.MAXINT64)) {\n // Special handiling for 64bits\n if (obj <= 0xffffffff) {\n return this._pushInt(Number(obj), m)\n }\n return this._pushUInt8((m << 5) | NUMBYTES.EIGHT) &&\n this._pushUInt32BE(Number(obj / BI.SHIFT32)) &&\n this._pushUInt32BE(Number(obj % BI.SHIFT32))\n }\n\n let str = obj.toString(16)\n if (str.length % 2) {\n str = `0${str}`\n }\n const buf = Buffer.from(str, 'hex')\n return this._pushTag(tag) && Encoder._pushBuffer(this, buf)\n }\n\n /**\n * @param {object} obj - object to encode\n * @returns {boolean} true on success\n * @ignore\n */\n _pushObject(obj, opts) {\n if (!obj) {\n return this._pushNull(obj)\n }\n opts = {\n indefinite: false,\n skipTypes: false,\n ...opts,\n }\n if (!opts.indefinite) {\n // This will only happen the first time through for indefinite encoding\n if (this.detectLoops) {\n if (this.detectLoops.has(obj)) {\n throw new Error(`\\\nLoop detected while CBOR encoding.\nCall removeLoopDetectors before resuming.`)\n } else {\n this.detectLoops.add(obj)\n }\n }\n }\n if (!opts.skipTypes) {\n const f = obj.encodeCBOR\n if (typeof f === 'function') {\n return f.call(obj, this)\n }\n const converter = this.semanticTypes[obj.constructor.name]\n if (converter) {\n return converter.call(obj, this, obj)\n }\n }\n const keys = Object.keys(obj).filter(k => {\n const tv = typeof obj[k]\n return (tv !== 'function') &&\n (!this.omitUndefinedProperties || (tv !== 'undefined'))\n })\n const cbor_keys = {}\n if (this.canonical) {\n // Note: this can't be a normal sort, because 'b' needs to sort before\n // 'aa'\n keys.sort((a, b) => {\n // Always strings, so don't bother to pass options.\n // hold on to the cbor versions, since there's no need\n // to encode more than once\n const a_cbor = cbor_keys[a] || (cbor_keys[a] = Encoder.encode(a))\n const b_cbor = cbor_keys[b] || (cbor_keys[b] = Encoder.encode(b))\n\n return a_cbor.compare(b_cbor)\n })\n }\n if (opts.indefinite) {\n if (!this._pushUInt8((MT.MAP << 5) | NUMBYTES.INDEFINITE)) {\n return false\n }\n } else if (!this._pushInt(keys.length, MT.MAP)) {\n return false\n }\n let ck = null\n for (let j = 0, len2 = keys.length; j < len2; j++) {\n const k = keys[j]\n if (this.canonical && ((ck = cbor_keys[k]))) {\n if (!this.push(ck)) { // Already a Buffer\n return false\n }\n } else if (!this._pushString(k)) {\n return false\n }\n if (!this.pushAny(obj[k])) {\n return false\n }\n }\n if (opts.indefinite) {\n if (!this.push(BREAK)) {\n return false\n }\n } else if (this.detectLoops) {\n this.detectLoops.delete(obj)\n }\n return true\n }\n\n /**\n * @param {any[]} objs - Array of supported things\n * @returns {Buffer} Concatenation of encodings for the supported things\n * @ignore\n */\n _encodeAll(objs) {\n const bs = new NoFilter({ highWaterMark: this.readableHighWaterMark })\n this.pipe(bs)\n for (const o of objs) {\n this.pushAny(o)\n }\n this.end()\n return bs.read()\n }\n\n /**\n * Add an encoding function to the list of supported semantic types. This\n * is useful for objects for which you can't add an encodeCBOR method\n *\n * @param {string|function} type - The type to encode\n * @param {EncodeFunction} fun - The encoder to use\n * @returns {EncodeFunction?} The previous encoder or undefined if there\n * wasn't one.\n */\n addSemanticType(type, fun) {\n const typeName = (typeof type === 'string') ? type : type.name\n const old = this.semanticTypes[typeName]\n\n if (fun) {\n if (typeof fun !== 'function') {\n throw new TypeError('fun must be of type function')\n }\n this.semanticTypes[typeName] = fun\n } else if (old) {\n delete this.semanticTypes[typeName]\n }\n return old\n }\n\n /**\n * Push any supported type onto the encoded stream\n *\n * @param {any} obj\n * @returns {boolean} true on success\n */\n pushAny(obj) {\n switch (typeof obj) {\n case 'number':\n return this._pushNumber(obj)\n case 'bigint':\n return this._pushJSBigint(obj)\n case 'string':\n return this._pushString(obj)\n case 'boolean':\n return this._pushBoolean(obj)\n case 'undefined':\n return this._pushUndefined(obj)\n case 'object':\n return this._pushObject(obj)\n case 'symbol':\n switch (obj) {\n case SYMS.NULL:\n return this._pushNull(null)\n case SYMS.UNDEFINED:\n return this._pushUndefined(undefined)\n // TODO: Add pluggable support for other symbols\n default:\n throw new Error(`Unknown symbol: ${obj.toString()}`)\n }\n default:\n throw new Error(\n `Unknown type: ${typeof obj}, ${(typeof obj.toString === 'function') ? obj.toString() : ''}`\n )\n }\n }\n\n /**\n * Encode an array and all of its elements.\n *\n * @param {Encoder} gen - Encoder to use\n * @param {any[]} obj - Array to encode\n * @param {Object} [opts] - options\n * @param {boolean} [opts.indefinite=false] - Use indefinite encoding?\n * @returns {boolean} true on success\n */\n static pushArray(gen, obj, opts) {\n opts = {\n indefinite: false,\n ...opts,\n }\n const len = obj.length\n if (opts.indefinite) {\n if (!gen._pushUInt8((MT.ARRAY << 5) | NUMBYTES.INDEFINITE)) {\n return false\n }\n } else if (!gen._pushInt(len, MT.ARRAY)) {\n return false\n }\n for (let j = 0; j < len; j++) {\n if (!gen.pushAny(obj[j])) {\n return false\n }\n }\n if (opts.indefinite) {\n if (!gen.push(BREAK)) {\n return false\n }\n }\n return true\n }\n\n /**\n * Remove the loop detector WeakSet for this Encoder.\n *\n * @returns {boolean} - true when the Encoder was reset, else false\n */\n removeLoopDetectors() {\n if (!this.detectLoops) {\n return false\n }\n this.detectLoops = new WeakSet()\n return true\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {Date} obj - Date to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushDate(gen, obj) {\n switch (gen.dateType) {\n case 'string':\n return gen._pushTag(TAG.DATE_STRING) &&\n gen._pushString(obj.toISOString())\n case 'int':\n return gen._pushTag(TAG.DATE_EPOCH) &&\n gen._pushIntNum(Math.round(obj.getTime() / 1000))\n case 'float':\n // Force float\n return gen._pushTag(TAG.DATE_EPOCH) &&\n gen._pushFloat(obj.getTime() / 1000)\n case 'number':\n default:\n // If we happen to have an integral number of seconds,\n // use integer. Otherwise, use float.\n return gen._pushTag(TAG.DATE_EPOCH) &&\n gen.pushAny(obj.getTime() / 1000)\n }\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {Buffer} obj - Buffer to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushBuffer(gen, obj) {\n return gen._pushInt(obj.length, MT.BYTE_STRING) && gen.push(obj)\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {NoFilter} obj - Buffer to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushNoFilter(gen, obj) {\n return Encoder._pushBuffer(gen, /** @type {Buffer} */ (obj.slice()))\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {RegExp} obj - RegExp to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushRegexp(gen, obj) {\n return gen._pushTag(TAG.REGEXP) && gen.pushAny(obj.source)\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {Set} obj - Set to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushSet(gen, obj) {\n if (!gen._pushTag(TAG.SET)) {\n return false\n }\n if (!gen._pushInt(obj.size, MT.ARRAY)) {\n return false\n }\n for (const x of obj) {\n if (!gen.pushAny(x)) {\n return false\n }\n }\n return true\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {URL} obj - URL to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushURL(gen, obj) {\n return gen._pushTag(TAG.URI) && gen.pushAny(obj.toString())\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {object} obj - Boxed String, Number, or Boolean object to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushBoxed(gen, obj) {\n return gen.pushAny(obj.valueOf())\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param {Map} obj - Map to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushMap(gen, obj, opts) {\n opts = {\n indefinite: false,\n ...opts,\n }\n let entries = [...obj.entries()]\n if (gen.omitUndefinedProperties) {\n entries = entries.filter(([k, v]) => v !== undefined)\n }\n if (opts.indefinite) {\n if (!gen._pushUInt8((MT.MAP << 5) | NUMBYTES.INDEFINITE)) {\n return false\n }\n } else if (!gen._pushInt(entries.length, MT.MAP)) {\n return false\n }\n // Memoizing the cbor only helps in certain cases, and hurts in most\n // others. Just avoid it.\n if (gen.canonical) {\n // Keep the key/value pairs together, so we don't have to do odd\n // gets with object keys later\n const enc = new Encoder({\n genTypes: gen.semanticTypes,\n canonical: gen.canonical,\n detectLoops: Boolean(gen.detectLoops), // Give enc its own loop detector\n dateType: gen.dateType,\n disallowUndefinedKeys: gen.disallowUndefinedKeys,\n collapseBigIntegers: gen.collapseBigIntegers,\n })\n const bs = new NoFilter({highWaterMark: gen.readableHighWaterMark})\n enc.pipe(bs)\n entries.sort(([a], [b]) => {\n // Both a and b are the keys\n enc.pushAny(a)\n const a_cbor = bs.read()\n enc.pushAny(b)\n const b_cbor = bs.read()\n return a_cbor.compare(b_cbor)\n })\n for (const [k, v] of entries) {\n if (gen.disallowUndefinedKeys && (typeof k === 'undefined')) {\n throw new Error('Invalid Map key: undefined')\n }\n if (!(gen.pushAny(k) && gen.pushAny(v))) {\n return false\n }\n }\n } else {\n for (const [k, v] of entries) {\n if (gen.disallowUndefinedKeys && (typeof k === 'undefined')) {\n throw new Error('Invalid Map key: undefined')\n }\n if (!(gen.pushAny(k) && gen.pushAny(v))) {\n return false\n }\n }\n }\n if (opts.indefinite) {\n if (!gen.push(BREAK)) {\n return false\n }\n }\n return true\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param { Uint8Array|Uint16Array|Uint32Array|\n * Int8Array|Int16Array|Int32Array|\n * Float32Array|Float64Array|\n * BigUint64Array|BigInt64Array } obj - Array to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushTypedArray(gen, obj) {\n // See https://tools.ietf.org/html/rfc8746\n\n let typ = 0b01000000\n let sz = obj.BYTES_PER_ELEMENT\n const {name} = obj.constructor\n\n if (name.startsWith('Float')) {\n typ |= 0b00010000\n sz /= 2\n } else if (!name.includes('U')) {\n typ |= 0b00001000\n }\n if (name.includes('Clamped') || ((sz !== 1) && !utils.isBigEndian())) {\n typ |= 0b00000100\n }\n typ |= {\n 1: 0b00,\n 2: 0b01,\n 4: 0b10,\n 8: 0b11,\n }[sz]\n if (!gen._pushTag(typ)) {\n return false\n }\n return Encoder._pushBuffer(\n gen,\n Buffer.from(obj.buffer, obj.byteOffset, obj.byteLength)\n )\n }\n\n /**\n * @param {Encoder} gen - Encoder\n * @param { ArrayBuffer } obj - Array to encode\n * @returns {boolean} True on success\n * @ignore\n */\n static _pushArrayBuffer(gen, obj) {\n return Encoder._pushBuffer(gen, Buffer.from(obj))\n }\n\n /**\n * Encode the given object with indefinite length. There are apparently\n * some (IMO) broken implementations of poorly-specified protocols that\n * REQUIRE indefinite-encoding. Add this to an object or class as the\n * `encodeCBOR` function to get indefinite encoding:\n * @example\n * const o = {\n * a: true,\n * encodeCBOR: cbor.Encoder.encodeIndefinite\n * }\n * const m = []\n * m.encodeCBOR = cbor.Encoder.encodeIndefinite\n * cbor.encodeOne([o, m])\n *\n * @param {Encoder} gen - the encoder to use\n * @param {String|Buffer|Array|Map|Object} [obj] - the object to encode. If\n * null, use \"this\" instead.\n * @param {EncodingOptions} [options={}] - Options for encoding\n * @returns {boolean} - true on success\n */\n static encodeIndefinite(gen, obj, options = {}) {\n if (obj == null) {\n if (this == null) {\n throw new Error('No object to encode')\n }\n obj = this\n }\n\n // TODO: consider other options\n const { chunkSize = 4096 } = options\n\n let ret = true\n const objType = typeof obj\n let buf = null\n if (objType === 'string') {\n // TODO: make sure not to split surrogate pairs at the edges of chunks,\n // since such half-surrogates cannot be legally encoded as UTF-8.\n ret = ret && gen._pushUInt8((MT.UTF8_STRING << 5) | NUMBYTES.INDEFINITE)\n let offset = 0\n while (offset < obj.length) {\n const endIndex = offset + chunkSize\n ret = ret && gen._pushString(obj.slice(offset, endIndex))\n offset = endIndex\n }\n ret = ret && gen.push(BREAK)\n } else if ((buf = utils.bufferishToBuffer(obj))) {\n ret = ret && gen._pushUInt8((MT.BYTE_STRING << 5) | NUMBYTES.INDEFINITE)\n let offset = 0\n while (offset < buf.length) {\n const endIndex = offset + chunkSize\n ret = ret && Encoder._pushBuffer(gen, buf.slice(offset, endIndex))\n offset = endIndex\n }\n ret = ret && gen.push(BREAK)\n } else if (Array.isArray(obj)) {\n ret = ret && Encoder.pushArray(gen, obj, {\n indefinite: true,\n })\n } else if (obj instanceof Map) {\n ret = ret && Encoder._pushMap(gen, obj, {\n indefinite: true,\n })\n } else {\n if (objType !== 'object') {\n throw new Error('Invalid indefinite encoding')\n }\n ret = ret && gen._pushObject(obj, {\n indefinite: true,\n skipTypes: true,\n })\n }\n return ret\n }\n\n /**\n * Encode one or more JavaScript objects, and return a Buffer containing the\n * CBOR bytes.\n *\n * @param {...any} objs - the objects to encode\n * @returns {Buffer} - the encoded objects\n */\n static encode(...objs) {\n return new Encoder()._encodeAll(objs)\n }\n\n /**\n * Encode one or more JavaScript objects canonically (slower!), and return\n * a Buffer containing the CBOR bytes.\n *\n * @param {...any} objs - the objects to encode\n * @returns {Buffer} - the encoded objects\n */\n static encodeCanonical(...objs) {\n return new Encoder({\n canonical: true,\n })._encodeAll(objs)\n }\n\n /**\n * Encode one JavaScript object using the given options.\n *\n * @static\n * @param {any} obj - the object to encode\n * @param {EncodingOptions} [options={}] - passed to the Encoder constructor\n * @returns {Buffer} - the encoded objects\n */\n static encodeOne(obj, options) {\n return new Encoder(options)._encodeAll([obj])\n }\n\n /**\n * Encode one JavaScript object using the given options in a way that\n * is more resilient to objects being larger than the highWaterMark\n * number of bytes. As with the other static encode functions, this\n * will still use a large amount of memory. Use a stream-based approach\n * directly if you need to process large and complicated inputs.\n *\n * @param {any} obj - the object to encode\n * @param {EncodingOptions} [options={}] - passed to the Encoder constructor\n */\n static encodeAsync(obj, options) {\n return new Promise((resolve, reject) => {\n const bufs = []\n const enc = new Encoder(options)\n enc.on('data', buf => bufs.push(buf))\n enc.on('error', reject)\n enc.on('finish', () => resolve(Buffer.concat(bufs)))\n enc.pushAny(obj)\n enc.end()\n })\n }\n\n /**\n * The currently supported set of semantic types. May be modified by plugins.\n * @type {SemanticMap}\n */\n static get SEMANTIC_TYPES() {\n return current_SEMANTIC_TYPES\n }\n\n static set SEMANTIC_TYPES(val) {\n current_SEMANTIC_TYPES = val\n }\n\n /**\n * Reset the supported semantic types to the original set, before any\n * plugins modified the list.\n */\n static reset() {\n Encoder.SEMANTIC_TYPES = {...SEMANTIC_TYPES}\n }\n}\n\nObject.assign(SEMANTIC_TYPES, {\n Array: Encoder.pushArray,\n Date: Encoder._pushDate,\n Buffer: Encoder._pushBuffer,\n [Buffer.name]: Encoder._pushBuffer, // Might be mangled\n Map: Encoder._pushMap,\n NoFilter: Encoder._pushNoFilter,\n [NoFilter.name]: Encoder._pushNoFilter, // Mßight be mangled\n RegExp: Encoder._pushRegexp,\n Set: Encoder._pushSet,\n ArrayBuffer: Encoder._pushArrayBuffer,\n Uint8ClampedArray: Encoder._pushTypedArray,\n Uint8Array: Encoder._pushTypedArray,\n Uint16Array: Encoder._pushTypedArray,\n Uint32Array: Encoder._pushTypedArray,\n Int8Array: Encoder._pushTypedArray,\n Int16Array: Encoder._pushTypedArray,\n Int32Array: Encoder._pushTypedArray,\n Float32Array: Encoder._pushTypedArray,\n Float64Array: Encoder._pushTypedArray,\n URL: Encoder._pushURL,\n Boolean: Encoder._pushBoxed,\n Number: Encoder._pushBoxed,\n String: Encoder._pushBoxed,\n})\n\n// Safari needs to get better.\nif (typeof BigUint64Array !== 'undefined') {\n SEMANTIC_TYPES[BigUint64Array.name] = Encoder._pushTypedArray\n}\nif (typeof BigInt64Array !== 'undefined') {\n SEMANTIC_TYPES[BigInt64Array.name] = Encoder._pushTypedArray\n}\n\nEncoder.reset()\nmodule.exports = Encoder\n","'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","// This file is part of the bwip-js project available at:\n//\n// \t http://metafloor.github.io/bwip-js\n//\n// Copyright (c) 2011-2021 Mark Warren\n//\n// This file contains code automatically generated from:\n// Barcode Writer in Pure PostScript - Version 2021-02-06\n// Copyright (c) 2004-2021 Terry Burton\n//\n// The MIT License\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.bwipjs = factory();\n\t}\n}(typeof self !== 'undefined' ? self : this, function () {\n// exports.js\n\"use strict\";\n\n\n//@@BEGIN-BROWSER-ONLY@@\n\n// bwipjs.toCanvas(canvas, options)\n// bwipjs.toCanvas(options, canvas)\n//\n// Uses the built-in canvas drawing. Identical rendering as toBuffer().\n//\n// `canvas` can be an HTMLCanvasElement or an ID string or unique selector string.\n// `options` are a bwip-js/BWIPP options object.\n//\n// This function is synchronous and throws on error.\n//\n// Returns the HTMLCanvasElement.\n//\n// Browser usage only.\nfunction ToCanvas(opts, canvas) {\n // This code has to be duplicated with _ToCanvas() to keep the bwipp_lookup() out\n // of the latter.\n\tif (typeof canvas == 'string') {\n\t\tcanvas = document.getElementById(canvas) || document.querySelector(canvas);\n\t} else if (typeof opts == 'string') {\n\t\topts = document.getElementById(opts) || document.querySelector(opts);\n\t}\n\tif (opts instanceof HTMLCanvasElement) {\n\t\tvar tmp = opts;\n\t\topts = canvas;\n\t\tcanvas = tmp;\n\t} else if (!(canvas instanceof HTMLCanvasElement)) {\n\t\tthrow 'bwipjs: Not a canvas';\n\t}\n _Render(bwipp_lookup(opts.bcid), opts, DrawingCanvas(opts, canvas));\n return canvas;\n}\n// Entry point for the symbol-specific exports\nfunction _ToCanvas(encoder, opts, canvas) {\n\tif (typeof canvas == 'string') {\n\t\tcanvas = document.getElementById(canvas) || document.querySelector(canvas);\n\t} else if (typeof opts == 'string') {\n\t\topts = document.getElementById(opts) || document.querySelector(opts);\n\t}\n\tif (opts instanceof HTMLCanvasElement) {\n\t\tvar tmp = opts;\n\t\topts = canvas;\n\t\tcanvas = tmp;\n\t} else if (!(canvas instanceof HTMLCanvasElement)) {\n\t\tthrow 'bwipjs: Not a canvas';\n\t}\n _Render(encoder, opts, DrawingCanvas(opts, canvas));\n return canvas;\n}\n\n//@@ENDOF-BROWSER-ONLY@@\n\nfunction FixupOptions(opts) {\n\tvar scale\t= opts.scale || 2;\n\tvar scaleX\t= +opts.scaleX || scale;\n\tvar scaleY\t= +opts.scaleY || scaleX;\n\n\t// Fix up padding.\n\topts.paddingleft = padding(opts.paddingleft, opts.paddingwidth, opts.padding, scaleX);\n\topts.paddingright = padding(opts.paddingright, opts.paddingwidth, opts.padding, scaleX);\n\topts.paddingtop = padding(opts.paddingtop, opts.paddingheight, opts.padding, scaleY);\n\topts.paddingbottom = padding(opts.paddingbottom, opts.paddingheight, opts.padding, scaleY);\n\n\t// We override BWIPP's background color functionality. If in CMYK, convert to RGB so\n\t// the drawing interface is consistent.\n\tif (/^[0-9a-fA-F]{8}$/.test(''+opts.backgroundcolor)) {\n\t\tvar cmyk = opts.backgroundcolor;\n\t\tvar c = parseInt(cmyk.substr(0,2), 16) / 255;\n\t\tvar m = parseInt(cmyk.substr(2,2), 16) / 255;\n\t\tvar y = parseInt(cmyk.substr(4,2), 16) / 255;\n\t\tvar k = parseInt(cmyk.substr(6,2), 16) / 255;\n\t\tvar r = Math.floor((1-c) * (1-k) * 255).toString(16);\n\t\tvar g = Math.floor((1-m) * (1-k) * 255).toString(16);\n\t\tvar b = Math.floor((1-y) * (1-k) * 255).toString(16);\n\t\topts.backgroundcolor = (r.length == 1 ? '0' : '') + r +\n\t\t\t\t\t\t\t (g.length == 1 ? '0' : '') + g +\n\t\t\t\t\t\t\t (b.length == 1 ? '0' : '') + b;\n\t}\n\n\treturn opts;\n\n\tfunction padding(a, b, c, s) {\n\t\tif (a != null) {\n\t\t\treturn a*s;\n\t\t}\n\t\tif (b != null) {\n\t\t\treturn b*s;\n\t\t}\n\t\treturn c*s || 0;\n\t}\n}\n\nvar BWIPJS_OPTIONS = {\n\tbcid:1,\n\ttext:1,\n\tscale:1,\n\tscaleX:1,\n\tscaleY:1,\n\trotate:1,\n\tpadding:1,\n\tpaddingwidth:1,\n\tpaddingheight:1,\n\tpaddingtop:1,\n\tpaddingleft:1,\n\tpaddingright:1,\n\tpaddingbottom:1,\n\tbackgroundcolor:1,\n};\n\n// bwipjs.render(options, drawing)\n//\n// Renders a barcode using the provided drawing object.\n//\n// This function is synchronous and throws on error.\n//\n// Browser and nodejs usage.\nfunction Render(params, drawing) {\n return _Render(bwipp_lookup(params.bcid), params, drawing);\n}\n\n// Called by the public exports\nfunction _Render(encoder, params, drawing) {\n\tvar text = params.text;\n\tif (!text) {\n\t\tthrow new ReferenceError('bwip-js: bar code text not specified.');\n\t}\n\n\t// Set the bwip-js defaults\n FixupOptions(params);\n\tvar scale\t= params.scale || 2;\n\tvar scaleX\t= +params.scaleX || scale;\n\tvar scaleY\t= +params.scaleY || scaleX;\n\tvar rotate\t= params.rotate || 'N';\n\n\t// Create a barcode writer object. This is the interface between\n\t// the low-level BWIPP code, the bwip-js graphics context, and the\n\t// drawing interface.\n\tvar bw = new BWIPJS(drawing);\n\n\t// Set the BWIPP options\n\tvar opts = {};\n\tfor (var id in params) {\n\t\tif (!BWIPJS_OPTIONS[id]) {\n\t\t\topts[id] = params[id];\n\t\t}\n\t}\n\n\t// Fix a disconnect in the BWIPP rendering logic\n\tif (opts.alttext) {\n\t\topts.includetext = true;\n\t}\n\t// We use mm rather than inches for height - except pharmacode2 height\n\t// which is already in mm.\n\tif (+opts.height && encoder != bwipp_pharmacode2) {\n\t\topts.height = opts.height / 25.4 || 0.5;\n\t}\n\t// Likewise, width\n\tif (+opts.width) {\n\t\topts.width = opts.width / 25.4 || 0;\n\t}\n\n\t// Scale the image\n\tbw.scale(scaleX, scaleY);\n\n\t// Call into the BWIPP cross-compiled code and render the image.\n bwipp_encode(bw, encoder, text, opts);\n\treturn bw.render();\t\t// Return whatever drawing.end() returns\n}\n\n// bwipjs.raw(options)\n// bwipjs.raw(bcid, text, opts-string)\n//\n// Invokes the low level BWIPP code and returns the raw encoding data.\n//\n// This function is synchronous and throws on error.\n//\n// Browser and nodejs usage.\nfunction ToRaw(bcid, text, options) {\n\tif (arguments.length == 1) {\n\t\toptions = bcid;\n\t\tbcid = options.bcid;\n\t\ttext = options.text;\n\t}\n\n\t// The drawing interface is just needed for the pre-init() calls.\n\tvar bw = new BWIPJS(DrawingBuiltin({}));\n\tvar stack = bwipp_encode(bw, bwipp_lookup(bcid), text, options, true);\n\n\t// bwip-js uses Maps to emulate PostScript dictionary objects; but Maps\n\t// are not a typical/expected return value. Convert to plain-old-objects.\n\tvar ids = { pixs:1, pixx:1, pixy:1, sbs:1, bbs:1, bhs:1, width:1, height:1 };\n\tfor (var i = 0; i < stack.length; i++) {\n\t\tvar elt = stack[i];\n\t\tif (elt instanceof Map) {\n\t\t\tvar obj = {};\n\t\t\t// Could they make Maps any harder to iterate over???\n\t\t\tfor (var keys = elt.keys(), size = elt.size, k = 0; k < size; k++) {\n\t\t\t\tvar id = keys.next().value;\n\t\t\t\tif (ids[id]) {\n\t\t\t\t\tvar val = elt.get(id);\n\t\t\t\t\tif (val instanceof Array) {\n\t\t\t\t\t\t// The postscript arrays have extra named properties\n\t\t\t\t\t\t// to emulate array views. Return cleaned up arrays.\n\t\t\t\t\t\tobj[id] = val.b.slice(val.o, val.o + val.length);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj[id] = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tstack[i] = obj;\n\t\t} else {\n\t\t\t// This should never exec...\n\t\t\tstack.splice(i--, 1);\n\t\t}\n\t}\n\treturn stack;\n}\n// bwip-js // Barcode Writer in Pure JavaScript\n// https://github.com/metafloor/bwip-js\n//\n// This code was automatically generated from:\n// Barcode Writer in Pure PostScript - Version 2021-02-06\n//\n// Copyright (c) 2011-2021 Mark Warren\n// Copyright (c) 2004-2021 Terry Burton\n//\n// Licensed MIT. See the LICENSE file in the bwip-js root directory.\n// bwip-js/barcode-hdr.js\n//\n// This code is injected above the cross-compiled barcode.js.\n\n// The BWIPJS object (graphics interface)\nvar $$ = null;\nvar $j = 0; // stack pointer\nvar $k = []; // operand stack\n\n// Global state defined at runtime\nvar $0 = {\n $error: new Map,\n};\n\n// Array ctor\n//\t$a()\t: Build a new array up to the Infinity-marker on the stack.\n//\t$a(arr)\t: Convert native array to a \"view\" of the array.\n//\t$a(len)\t: Create a new array of length `len`\nfunction $a(a) {\n if (!arguments.length) {\n for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i--);\n if (i < 0) {\n throw new Error('array-marker-not-found');\n }\n a = $k.splice(i + 1, $j - 1 - i);\n $j = i;\n } else if (!(a instanceof Array)) {\n a = new Array(+arguments[0]);\n for (var i = 0, l = a.length; i < l; i++) {\n a[i] = null;\n }\n }\n a.b = a; // base array\n a.o = 0; // offset into base\n return a;\n}\n\n// dict ctor\n//\t$d() : look for the Infinity marker on the stack\nfunction $d() {\n // Build the dictionary in the order the keys/values were pushed so enumeration\n // occurs in the correct sequence.\n for (var mark = $j - 1; mark >= 0 && $k[mark] !== Infinity; mark -= 2) {\n if ($k[mark - 1] === Infinity) {\n throw new Error('dict-malformed-stack');\n }\n }\n if (mark < 0) {\n throw 'dict-marker-not-found';\n }\n var d = new Map;\n for (var i = mark + 1; i < $j; i += 2) {\n // Unlike javascript, postscript dict keys differentiate between\n // numbers and the string representation of a number.\n var k = $k[i]; // \"key\" into the dict entry\n var t = typeof k;\n if (t == 'number' || t == 'string') {\n d.set(k, $k[i + 1]);\n } else if (k instanceof Uint8Array) {\n d.set($z(k), $k[i + 1]);\n } else {\n throw 'dict-not-a-valid-key(' + k + ')';\n }\n }\n $j = mark;\n return d;\n}\n\n// string ctor\n//\ts(number)\t: create zero-filled string of number-length\n//\ts(string)\t: make a copy of the string\n//\ts(uint8[])\t: make a copy of the string\n//\n// Returns a Uint8Array-string.\nfunction $s(v) {\n var t = typeof v;\n if (t === 'number') {\n return new Uint8Array(v);\n }\n if (t !== 'string') {\n v = '' + v;\n }\n var s = new Uint8Array(v.length);\n for (var i = 0; i < v.length; i++) {\n s[i] = v.charCodeAt(i);\n }\n return s;\n}\n\n// ... n c roll\nfunction $r(n, c) {\n if ($j < n) {\n throw 'roll: --stack-underflow--';\n }\n if (!c) {\n return;\n }\n if (c < 0) {\n var t = $k.splice($j - n, -c);\n } else {\n var t = $k.splice($j - n, n - c);\n }\n $k.splice.apply($k, [$j - t.length, 0].concat(t));\n}\n\n// Primarily designed to convert uint8-string to string, but will call the\n// the toString() method on any value.\nfunction $z(s) {\n if (s instanceof Uint8Array) {\n // Postscript treats nul-char as end of string, even if string is\n // longer.\n for (var i = 0, l = s.length; i < l && s[i]; i++);\n if (i < l) {\n return String.fromCharCode.apply(null, s.subarray(0, i));\n }\n return String.fromCharCode.apply(null, s)\n }\n return '' + s;\n}\n\n// Copies source to dest and returns a view of just the copied characters\nfunction $strcpy(dst, src) {\n if (typeof dst === 'string') {\n dst = $s(dst);\n }\n if (src instanceof Uint8Array) {\n for (var i = 0, l = src.length; i < l; i++) {\n dst[i] = src[i];\n }\n } else {\n for (var i = 0, l = src.length; i < l; i++) {\n dst[i] = src.charCodeAt(i);\n }\n }\n return src.length < dst.length ? dst.subarray(0, src.length) : dst;\n}\n\n// Copies source to dest and should (but doesn't) return a view of just the copied elements\nfunction $arrcpy(dst, src) {\n for (var i = 0, l = src.length; i < l; i++) {\n dst[i] = src[i];\n }\n dst.length = src.length;\n return dst;\n}\n\n// cvs operator - convert a value to its string representation\n//\ts : string to store into\n//\tv : any value\nfunction $cvs(s, v) {\n var t = typeof v;\n if (t == 'number' || t == 'boolean' || v === null) {\n v = '' + v;\n } else if (t !== 'string') {\n v = '--nostringval--';\n }\n for (var i = 0, l = v.length; i < l; i++) {\n s[i] = v.charCodeAt(i);\n }\n $k[$j++] = i < s.length ? s.subarray(0, i) : s;\n}\n// cvrs operator - convert a number to a radix string\n//\ts : string to store into\n//\tn : number\n//\tr : radix\nfunction $cvrs(s, n, r) {\n return $strcpy(s, (~~n).toString(r).toUpperCase());\n}\n\n// get operator\n//\ts : source\n//\tk : key\nfunction $get(s, k) {\n if (s instanceof Uint8Array) {\n return s[k];\n }\n if (typeof s === 'string') {\n return s.charCodeAt(k);\n }\n if (s instanceof Array) {\n return s.b[s.o + k];\n }\n if (k instanceof Uint8Array) {\n return s.get($z(k));\n }\n return s.get(k);\n}\n\n// put operator\n//\td : dest\n//\tk : key\n//\tv : value\nfunction $put(d, k, v) {\n if (d instanceof Uint8Array) {\n d[k] = v;\n } else if (d instanceof Array) {\n d.b[d.o + k] = v;\n } else if (typeof d == 'object') {\n if (k instanceof Uint8Array) {\n d.set($z(k), v);\n } else {\n d.set(k, v);\n }\n } else {\n throw 'put-not-writable-' + (typeof d);\n }\n}\n\n// getinterval operator\n//\ts : src\n//\to : offset\n//\tl : length\nfunction $geti(s, o, l) {\n if (s instanceof Uint8Array) {\n return s.subarray(o, o + l);\n }\n if (s instanceof Array) {\n var a = new Array(l);\n a.b = s.b; // base array\n a.o = s.o + o; // offset into base\n return a;\n }\n // Must be a string\n return s.substr(o, l);\n}\n\n// putinterval operator\n//\td : dst\n//\to : offset\n//\ts : src\nfunction $puti(d, o, s) {\n if (d instanceof Uint8Array) {\n if (typeof s == 'string') {\n for (var i = 0, l = s.length; i < l; i++) {\n d[o + i] = s.charCodeAt(i);\n }\n } else {\n // When both d and s are the same, we want to copy\n // backwards, which works for the general case as well.\n for (var i = s.length - 1; i >= 0; i--) {\n d[o + i] = s[i];\n }\n }\n } else if (d instanceof Array) {\n // Operate on the base arrays\n var darr = d.b;\n var doff = o + d.o;\n var sarr = s.b;\n var soff = s.o;\n\n for (var i = 0, l = s.length; i < l; i++) {\n darr[doff + i] = sarr[soff + i];\n }\n } else {\n throw 'putinterval-not-writable-' + (typeof d);\n }\n}\n\n// type operator\nfunction $type(v) {\n // null can be mis-typed - get it out of the way\n if (v === null || v === undefined) {\n return 'nulltype';\n }\n var t = typeof v;\n if (t == 'number') {\n return v % 1 ? 'realtype' : 'integertype';\n }\n if (t == 'boolean') {\n return 'booleantype';\n }\n if (t == 'string' || v instanceof Uint8Array) {\n return 'stringtype';\n }\n if (t == 'function') {\n return 'operatortype';\n }\n if (v instanceof Array) {\n return 'arraytype';\n }\n return 'dicttype';\n // filetype\n // fonttype\n // gstatetype\n // marktype\t(v === Infinity)\n // nametype\n // savetype\n}\n\n// search operator\n//\t\tstring seek search suffix match prefix true %if-found\n//\t\t\t\t\t\t string false\t\t\t\t%if-not-found\nfunction $search(str, seek) {\n if (!(str instanceof Uint8Array)) {\n str = $s(str);\n }\n var ls = str.length;\n\n // Virtually all uses of search in BWIPP are for single-characters.\n // Optimize for that case.\n if (seek.length == 1) {\n var lk = 1;\n var cd = seek instanceof Uint8Array ? seek[0] : seek.charCodeAt(0);\n for (var i = 0; i < ls && str[i] != cd; i++);\n } else {\n // Slow path, \n if (!(seek instanceof Uint8Array)) {\n seek = $(seek);\n }\n var lk = seek.length;\n var cd = seek[0];\n for (var i = 0; i < ls && str[i] != cd; i++);\n while (i < ls) {\n for (var j = 1; j < lk && str[i + j] === seek[j]; j++);\n if (j === lk) {\n break;\n }\n for (i++; i < ls && str[i] != cd; i++);\n }\n }\n if (i < ls) {\n $k[$j++] = str.subarray(i + lk);\n $k[$j++] = str.subarray(i, i + lk);\n $k[$j++] = str.subarray(0, i);\n $k[$j++] = true;\n } else {\n $k[$j++] = str;\n $k[$j++] = false;\n }\n}\n\n// The callback is omitted when forall is being used just to push onto the\n// stack. The callback normally returns undefined. A return of true means break.\nfunction $forall(o, cb) {\n if (o instanceof Uint8Array) {\n for (var i = 0, l = o.length; i < l; i++) {\n $k[$j++] = o[i];\n if (cb && cb()) break;\n }\n } else if (o instanceof Array) {\n // The array may be a view.\n for (var a = o.b, i = o.o, l = o.o + o.length; i < l; i++) {\n $k[$j++] = a[i];\n if (cb && cb()) break;\n }\n } else if (typeof o === 'string') {\n for (var i = 0, l = o.length; i < l; i++) {\n $k[$j++] = o.charCodeAt(i);\n if (cb && cb()) break;\n }\n } else if (o instanceof Map) {\n for (var keys = o.keys(), i = 0, l = o.size; i < l; i++) {\n var id = keys.next().value;\n $k[$j++] = id;\n $k[$j++] = o.get(id);\n if (cb && cb()) break;\n }\n } else {\n for (var id in o) {\n $k[$j++] = id;\n $k[$j++] = o[id];\n if (cb && cb()) break;\n }\n }\n}\n\nfunction $cleartomark() {\n while ($j > 0 && $k[--$j] !== Infinity);\n}\n\nfunction $counttomark() {\n for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i--);\n return $j - i - 1;\n}\n\nfunction $aload(a) {\n for (var i = 0, l = a.length, b = a.b, o = a.o; i < l; i++) {\n $k[$j++] = b[o + i];\n }\n // This push has been optimized out. See $.aload() in psc.js.\n //$k[$j++] = a;\n}\n\nfunction $astore(a) {\n for (var i = 0, l = a.length, b = a.b, o = a.o + l - 1; i < l; i++) {\n b[o - i] = $k[--$j];\n }\n $k[$j++] = a;\n}\n\nfunction $eq(a, b) {\n if (typeof a === 'string' && typeof b === 'string') {\n return a == b;\n }\n if (a instanceof Uint8Array && b instanceof Uint8Array) {\n if (a.length != b.length) {\n return false;\n }\n for (var i = 0, l = a.length; i < l; i++) {\n if (a[i] != b[i]) {\n return false;\n }\n }\n return true;\n }\n if (a instanceof Uint8Array && typeof b === 'string' ||\n b instanceof Uint8Array && typeof a === 'string') {\n if (a instanceof Uint8Array) {\n a = $z(a);\n } else {\n b = $z(b);\n }\n return a == b;\n }\n return a == b;\n}\n\nfunction $ne(a, b) {\n return !$eq(a, b);\n}\n\nfunction $lt(a, b) {\n if (a instanceof Uint8Array) {\n a = $z(a);\n }\n if (b instanceof Uint8Array) {\n b = $z(b);\n }\n return a < b;\n}\n\nfunction $le(a, b) {\n if (a instanceof Uint8Array) {\n a = $z(a);\n }\n if (b instanceof Uint8Array) {\n b = $z(b);\n }\n return a <= b;\n}\n\nfunction $gt(a, b) {\n if (a instanceof Uint8Array) {\n a = $z(a);\n }\n if (b instanceof Uint8Array) {\n b = $z(b);\n }\n return a > b;\n}\n\nfunction $ge(a, b) {\n if (a instanceof Uint8Array) {\n a = $z(a);\n }\n if (b instanceof Uint8Array) {\n b = $z(b);\n }\n return a >= b;\n}\n\nfunction $an(a, b) { // and\n return (typeof a === 'boolean') ? a && b : a & b;\n}\n\nfunction $or(a, b) { // or\n return (typeof a === 'boolean') ? a || b : a | b;\n}\n\nfunction $xo(a, b) { // xor\n return (typeof a === 'boolean') ? !a && b || a && !b : a ^ b;\n}\n\nfunction $nt(a) {\n return typeof a == 'boolean' ? !a : ~a;\n}\n// emulate single-precision floating-point (pseudo-polyfill for Math.fround)\nvar $f = (function(fa) {\n return function(v) {\n return Number.isInteger(v) ? v : (fa[0] = v, fa[0]);\n };\n})(new Float32Array(1));\n\n// DEBUG-BEGIN\nfunction $stack() {\n console.log('[[[');\n for (var i = $j - 1; i >= 0; i--) {\n console.log(tostring($k[i]));\n }\n console.log(']]]');\n\n function tostring(v) {\n // null can be mis-typed - get it out of the way\n if (v === null) {\n return 'null';\n } else if (v === undefined) {\n return '';\n } else if (v instanceof Array) {\n var s = '[';\n for (var j = v.o, a = v.b, l = v.length + v.o; j < l; j++) {\n s += (j == v.o ? '' : ',') + tostring(a[j]);\n }\n return s + ']';\n } else if (v instanceof Uint8Array) {\n return '(' + $z[v] + ')';\n } else if (typeof v === 'object') {\n var s = '<<';\n for (var id in v) {\n s += (s.length == 7 ? '' : ',') + id + ':' + tostring(v[id]);\n }\n return s + '>>';\n } else if (typeof v === 'string') {\n return '\"' + v + '\"';\n } else {\n return '' + v;\n }\n }\n}\n// DEBUG-END\nfunction bwipp_raiseerror() {\n $put($0.$error, 'errorinfo', $k[--$j]); //#55\n $put($0.$error, 'errorname', $k[--$j]); //#56\n $put($0.$error, 'command', null); //#57\n $put($0.$error, 'newerror', true); //#58\n throw new Error($z($0.$error.get(\"errorname\")) + \": \" + $z($0.$error.get(\"errorinfo\"))); //#59\n}\n\nfunction bwipp_parseinput() {\n var $1 = {}; //#80\n $1.fncvals = $k[--$j]; //#82\n $1.barcode = $k[--$j]; //#83\n var _2 = 'parse'; //#85\n $1[_2] = $get($1.fncvals, _2); //#85\n delete $1.fncvals[_2]; //#85\n var _6 = 'parsefnc'; //#86\n $1[_6] = $get($1.fncvals, _6); //#86\n delete $1.fncvals[_6]; //#86\n var _A = 'parseonly'; //#87\n var _C = $get($1.fncvals, _A) !== undefined; //#87\n $1[_A] = _C; //#87\n delete $1.fncvals[_A]; //#87\n var _E = 'eci'; //#88\n var _G = $get($1.fncvals, _E) !== undefined; //#88\n $1[_E] = _G; //#88\n delete $1.fncvals[_E]; //#88\n $1.msg = $a($1.barcode.length); //#90\n $1.j = 0; //#91\n $k[$j++] = $1.barcode; //#186\n for (;;) { //#186\n $search($k[--$j], \"^\"); //#93\n var _M = $k[--$j]; //#93\n var _N = $k[--$j]; //#93\n $k[$j++] = _M; //#96\n $k[$j++] = _N.length; //#96\n $k[$j++] = $1.msg; //#96\n $k[$j++] = $1.j; //#96\n $k[$j++] = _N; //#96\n $k[$j++] = Infinity; //#96\n var _Q = $k[--$j]; //#96\n var _R = $k[--$j]; //#96\n $k[$j++] = _Q; //#96\n $forall(_R); //#96\n var _S = $a(); //#96\n var _T = $k[--$j]; //#96\n $puti($k[--$j], _T, _S); //#96\n $1.j = $f($k[--$j] + $1.j); //#97\n if ($k[--$j]) { //#184\n $j--; //#99\n for (var _Y = 0, _Z = 1; _Y < _Z; _Y++) { //#182\n if ($an($nt($1.parse), $nt($1.parsefnc))) { //#106\n $put($1.msg, $1.j, 94); //#103\n $1.j = $f($1.j + 1); //#104\n break; //#105\n } //#105\n $put($1.msg, $1.j, 94); //#109\n $1.j = $f($1.j + 1); //#110\n if ($1.parse) { //#129\n var _j = $k[--$j]; //#114\n $k[$j++] = _j; //#128\n if (_j.length >= 3) { //#128\n var _k = $k[--$j]; //#115\n var _l = $geti(_k, 0, 3); //#115\n $k[$j++] = _k; //#117\n $k[$j++] = true; //#117\n for (var _m = 0, _n = _l.length; _m < _n; _m++) { //#117\n var _o = $get(_l, _m); //#117\n if ((_o < 48) || (_o > 57)) { //#116\n $j--; //#116\n $k[$j++] = false; //#116\n } //#116\n } //#116\n if ($k[--$j]) { //#127\n var _q = $k[--$j]; //#119\n var _r = $geti(_q, 0, 3); //#119\n var _s = ~~$z(_r); //#119\n $k[$j++] = _q; //#122\n $k[$j++] = _s; //#122\n if (_s > 255) { //#122\n $j -= 2; //#120\n $k[$j++] = 'bwipp.invalidOrdinal'; //#121\n $k[$j++] = \"Ordinal must be 000 to 255\"; //#121\n bwipp_raiseerror(); //#121\n } //#121\n $1.j = $f($1.j - 1); //#123\n $put($1.msg, $1.j, $k[--$j]); //#124\n $1.j = $f($1.j + 1); //#125\n var _y = $k[--$j]; //#126\n $k[$j++] = $geti(_y, 3, _y.length - 3); //#126\n } //#126\n } //#126\n } //#126\n if (($or($1.parseonly, $nt($1.parsefnc))) || ($get($1.msg, $f($1.j - 1)) != 94)) { //#134\n break; //#134\n } //#134\n $1.j = $f($1.j - 1); //#137\n var _16 = $k[--$j]; //#138\n $k[$j++] = _16; //#141\n if (_16.length < 3) { //#141\n $j--; //#139\n $k[$j++] = 'bwipp.truncatedFNC'; //#140\n $k[$j++] = \"Function character truncated\"; //#140\n bwipp_raiseerror(); //#140\n } //#140\n var _17 = $k[--$j]; //#142\n $k[$j++] = _17; //#147\n if ($get(_17, 0) == 94) { //#147\n $put($1.msg, $1.j, 94); //#143\n $1.j = $f($1.j + 1); //#144\n var _1C = $k[--$j]; //#145\n $k[$j++] = $geti(_1C, 1, _1C.length - 1); //#146\n break; //#146\n } //#146\n var _1E = $k[--$j]; //#148\n $k[$j++] = _1E; //#165\n if ($eq($geti(_1E, 0, 3), \"ECI\") && $1.eci) { //#165\n var _1H = $k[--$j]; //#149\n $k[$j++] = _1H; //#152\n if (_1H.length < 9) { //#152\n $j--; //#150\n $k[$j++] = 'bwipp.truncatedECI'; //#151\n $k[$j++] = \"ECI truncated\"; //#151\n bwipp_raiseerror(); //#151\n } //#151\n var _1I = $k[--$j]; //#153\n var _1J = $geti(_1I, 3, 6); //#153\n $k[$j++] = _1I; //#159\n $k[$j++] = _1J; //#159\n for (var _1K = 0, _1L = _1J.length; _1K < _1L; _1K++) { //#159\n var _1M = $get(_1J, _1K); //#159\n if ((_1M < 48) || (_1M > 57)) { //#158\n $j -= 2; //#156\n $k[$j++] = 'bwipp.invalidECI'; //#157\n $k[$j++] = \"ECI must be 000000 to 999999\"; //#157\n bwipp_raiseerror(); //#157\n } //#157\n } //#157\n var _1N = $k[--$j]; //#160\n $k[$j++] = 0; //#160\n $forall(_1N, function() { //#160\n var _1O = $k[--$j]; //#160\n var _1P = $k[--$j]; //#160\n $k[$j++] = ($f(_1P - $f(_1O - 48))) * 10; //#160\n }); //#160\n $put($1.msg, $1.j, (~~($k[--$j] / 10)) - 1000000); //#161\n $1.j = $f($1.j + 1); //#162\n var _1U = $k[--$j]; //#163\n $k[$j++] = $geti(_1U, 9, _1U.length - 9); //#164\n break; //#164\n } //#164\n var _1W = $k[--$j]; //#166\n $k[$j++] = _1W; //#169\n if (_1W.length < 4) { //#169\n $j--; //#167\n $k[$j++] = 'bwipp.truncatedFNC'; //#168\n $k[$j++] = \"Function character truncated\"; //#168\n bwipp_raiseerror(); //#168\n } //#168\n var _1X = $k[--$j]; //#170\n var _1Y = $geti(_1X, 0, 4); //#170\n var _1a = $get($1.fncvals, _1Y) !== undefined; //#170\n $k[$j++] = _1X; //#175\n $k[$j++] = _1Y; //#175\n if (!_1a) { //#175\n var _1b = $k[--$j]; //#171\n var _1c = $s(_1b.length + 28); //#171\n $puti(_1c, 28, _1b); //#171\n $puti(_1c, 0, \"Unknown function character: \"); //#172\n var _1d = $k[--$j]; //#173\n $k[$j++] = _1c; //#173\n $k[$j++] = _1d; //#173\n $j--; //#173\n var _1e = $k[--$j]; //#174\n $k[$j++] = 'bwipp.unknownFNC'; //#174\n $k[$j++] = _1e; //#174\n bwipp_raiseerror(); //#174\n } //#174\n $put($1.msg, $1.j, $get($1.fncvals, $k[--$j])); //#177\n $1.j = $f($1.j + 1); //#178\n var _1l = $k[--$j]; //#179\n $k[$j++] = $geti(_1l, 4, _1l.length - 4); //#180\n break; //#180\n } //#180\n } else { //#184\n break; //#184\n } //#184\n } //#184\n if ($nt($1.parseonly)) { //#192\n $k[$j++] = $geti($1.msg, 0, $1.j); //#189\n } else { //#192\n $k[$j++] = $s($1.j); //#192\n for (var _1v = 0, _1u = $f($1.j - 1); _1v <= _1u; _1v += 1) { //#192\n var _1w = $k[--$j]; //#192\n $put(_1w, _1v, $get($1.msg, _1v)); //#192\n $k[$j++] = _1w; //#192\n } //#192\n } //#192\n}\n\nfunction bwipp_gs1lint() {\n var $1 = {}; //#217\n $1.vals = $k[--$j]; //#219\n $1.ais = $k[--$j]; //#220\n $1.lintnumeric = function() {\n var _2 = $k[--$j]; //#223\n $k[$j++] = true; //#225\n $forall(_2, function() { //#225\n var _3 = $k[--$j]; //#224\n if ((_3 < 48) || (_3 > 57)) { //#224\n $j--; //#224\n $k[$j++] = false; //#224\n return true; //#224\n } //#224\n }); //#224\n if ($nt($k[--$j])) { //#226\n $j--; //#226\n $k[$j++] = 'bwipp.GS1notNumeric'; //#226\n $k[$j++] = \"Not numeric\"; //#226\n $k[$j++] = false; //#226\n return true; //#226\n } //#226\n }; //#227\n $1.lintcset82 = function() {\n var _5 = $k[--$j]; //#230\n $k[$j++] = true; //#235\n $forall(_5, function() { //#235\n var _6 = $s(1); //#231\n $put(_6, 0, $k[--$j]); //#231\n $search(\"!\\\"%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\", _6); //#233\n if ($nt($k[--$j])) { //#233\n $j -= 2; //#233\n $k[$j++] = false; //#233\n return true; //#233\n } //#233\n $j -= 3; //#234\n }); //#234\n if ($nt($k[--$j])) { //#236\n $j--; //#236\n $k[$j++] = 'bwipp.GS1badCSET82character'; //#236\n $k[$j++] = \"Invalid CSET 82 character\"; //#236\n $k[$j++] = false; //#236\n return true; //#236\n } //#236\n }; //#237\n $1.lintcset39 = function() {\n var _A = $k[--$j]; //#240\n $k[$j++] = true; //#245\n $forall(_A, function() { //#245\n var _B = $s(1); //#241\n $put(_B, 0, $k[--$j]); //#241\n $search(\"#-/0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\", _B); //#243\n if ($nt($k[--$j])) { //#243\n $j -= 2; //#243\n $k[$j++] = false; //#243\n return true; //#243\n } //#243\n $j -= 3; //#244\n }); //#244\n if ($nt($k[--$j])) { //#246\n $j--; //#246\n $k[$j++] = 'bwipp.GS1badCSET39character'; //#246\n $k[$j++] = \"Invalid CSET 39 character\"; //#246\n $k[$j++] = false; //#246\n return true; //#246\n } //#246\n }; //#247\n $1.lintkey = function() {\n var _F = $k[--$j]; //#250\n $k[$j++] = _F; //#250\n if (_F.length < 2) { //#250\n $j -= 2; //#250\n $k[$j++] = 'bwipp.GS1keyTooShort'; //#250\n $k[$j++] = \"Key is too short\"; //#250\n $k[$j++] = false; //#250\n return true; //#250\n } //#250\n var _G = $k[--$j]; //#251\n var _H = $get(_G, 0); //#251\n var _I = $get(_G, 1); //#252\n if (((_H < 48) || (_H > 57)) || ((_I < 48) || (_I > 57))) { //#254\n $j--; //#253\n $k[$j++] = 'bwipp.GS1badGCP'; //#253\n $k[$j++] = \"Non-numeric company prefix\"; //#253\n $k[$j++] = false; //#253\n return true; //#253\n } //#253\n }; //#255\n $1.lintimporteridx = function() {\n $search(\"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\", $k[--$j]); //#259\n if ($nt($k[--$j])) { //#259\n $j -= 2; //#259\n $k[$j++] = 'bwipp.GS1badImporterIndex'; //#259\n $k[$j++] = \"Invalid importer index\"; //#259\n $k[$j++] = false; //#259\n return true; //#259\n } //#259\n $j -= 3; //#260\n }; //#261\n $1.lintcsum = function() {\n $k[$j++] = Infinity; //#264\n var _L = $k[--$j]; //#264\n var _M = $k[--$j]; //#264\n var _N = ((_M.length % 2) == 0) ? 3 : 1; //#265\n $k[$j++] = _L; //#266\n $k[$j++] = _N; //#266\n $forall(_M, function() { //#266\n var _O = $k[--$j]; //#266\n var _P = $k[--$j]; //#266\n $k[$j++] = $f(_O - 48) * _P; //#266\n $k[$j++] = $f(4 - _P); //#266\n }); //#266\n $j--; //#266\n var _Q = $counttomark() + 1; //#267\n $k[$j++] = 0; //#267\n for (var _R = 0, _S = _Q - 1; _R < _S; _R++) { //#267\n var _T = $k[--$j]; //#267\n var _U = $k[--$j]; //#267\n $k[$j++] = $f(_U + _T); //#267\n } //#267\n var _V = $k[--$j]; //#267\n var _W = $k[--$j]; //#267\n $k[$j++] = _V; //#267\n $k[$j++] = _W; //#267\n $j--; //#267\n if (($k[--$j] % 10) != 0) { //#268\n $j--; //#268\n $k[$j++] = 'bwipp.GS1badChecksum'; //#268\n $k[$j++] = \"Bad checksum\"; //#268\n $k[$j++] = false; //#268\n return true; //#268\n } //#268\n }; //#269\n $k[$j++] = Infinity; //#273\n $k[$j++] = 0; //#273\n for (var _Y = 0, _Z = \"!\\\"%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\".length; _Y < _Z; _Y++) { //#273\n var _b = $k[--$j]; //#273\n $k[$j++] = $get(\"!\\\"%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\", _Y); //#273\n $k[$j++] = _b; //#273\n $k[$j++] = $f(_b + 1); //#273\n } //#273\n $j--; //#273\n $1.cset82 = $d(); //#274\n $k[$j++] = Infinity; //#278\n $k[$j++] = 0; //#278\n for (var _d = 0, _e = \"23456789ABCDEFGHJKLMNPQRSTUVWXYZ\".length; _d < _e; _d++) { //#278\n var _g = $k[--$j]; //#278\n $k[$j++] = $get(\"23456789ABCDEFGHJKLMNPQRSTUVWXYZ\", _d); //#278\n $k[$j++] = _g; //#278\n $k[$j++] = $f(_g + 1); //#278\n } //#278\n $j--; //#278\n $1.cset32 = $d(); //#279\n $1.lintcsumalpha = function() {\n var _i = $k[--$j]; //#282\n $k[$j++] = _i; //#282\n if (_i.length < 2) { //#282\n $j -= 2; //#282\n $k[$j++] = 'bwipp.GS1alphaTooShort'; //#282\n $k[$j++] = \"Alphanumeric string is too short to check\"; //#282\n $k[$j++] = false; //#282\n return true; //#282\n } //#282\n var _j = $k[--$j]; //#283\n $k[$j++] = _j; //#285\n $k[$j++] = _j.length - 2; //#285\n $k[$j++] = $geti(_j, 0, _j.length - 2); //#285\n $k[$j++] = Infinity; //#285\n var _l = $k[--$j]; //#285\n var _m = $k[--$j]; //#285\n $k[$j++] = _l; //#287\n $forall(_m, function() { //#287\n var _n = $k[--$j]; //#286\n var _p = $get($1.cset82, _n) !== undefined; //#286\n $k[$j++] = _n; //#286\n if (_p) { //#286\n var _s = $get($1.cset82, $k[--$j]); //#286\n $k[$j++] = _s; //#286\n } else { //#286\n $k[$j++] = -1; //#286\n return true; //#286\n } //#286\n }); //#286\n var _t = $k[--$j]; //#288\n $k[$j++] = _t; //#288\n if (_t == -1) { //#288\n $cleartomark(); //#288\n $j -= 3; //#288\n $k[$j++] = 'bwipp.GS1UnknownCSET82Character'; //#288\n $k[$j++] = \"Unknown CSET 82 character\"; //#288\n $k[$j++] = false; //#288\n return true; //#288\n } //#288\n $astore($a($counttomark())); //#289\n var _w = $k[--$j]; //#289\n var _x = $k[--$j]; //#289\n $k[$j++] = _w; //#289\n $k[$j++] = _x; //#289\n $j--; //#289\n var _y = $k[--$j]; //#290\n var _z = $k[--$j]; //#290\n var _11 = $geti($k[--$j], _z, 2); //#291\n $k[$j++] = _y; //#291\n $k[$j++] = _11; //#291\n $k[$j++] = Infinity; //#291\n var _12 = $k[--$j]; //#291\n var _13 = $k[--$j]; //#291\n $k[$j++] = _12; //#293\n $forall(_13, function() { //#293\n var _14 = $k[--$j]; //#292\n var _16 = $get($1.cset32, _14) !== undefined; //#292\n $k[$j++] = _14; //#292\n if (_16) { //#292\n var _19 = $get($1.cset32, $k[--$j]); //#292\n $k[$j++] = _19; //#292\n } else { //#292\n $k[$j++] = -1; //#292\n return true; //#292\n } //#292\n }); //#292\n var _1A = $k[--$j]; //#294\n $k[$j++] = _1A; //#294\n if (_1A == -1) { //#294\n $cleartomark(); //#294\n $j -= 2; //#294\n $k[$j++] = 'bwipp.GS1UnknownCSET32Character'; //#294\n $k[$j++] = \"Unknown CSET 32 character\"; //#294\n $k[$j++] = false; //#294\n return true; //#294\n } //#294\n $astore($a($counttomark())); //#295\n var _1D = $k[--$j]; //#295\n var _1E = $k[--$j]; //#295\n $k[$j++] = _1D; //#295\n $k[$j++] = _1E; //#295\n $j--; //#295\n var _1F = $k[--$j]; //#296\n var _1I = $k[--$j]; //#296\n var _1J = $a([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83]); //#297\n var _1K = _1I.length; //#299\n $k[$j++] = $f(($get(_1F, 0) << 5) + $get(_1F, 1)); //#299\n $k[$j++] = _1I; //#299\n $k[$j++] = _1J; //#299\n $k[$j++] = _1K; //#299\n if (_1K > _1J.length) { //#299\n $j -= 5; //#299\n $k[$j++] = 'bwipp.GS1alphaTooLong'; //#299\n $k[$j++] = \"Alphanumeric string is too long to check\"; //#299\n $k[$j++] = false; //#299\n return true; //#299\n } //#299\n var _1L = $k[--$j]; //#300\n var _1N = $geti($k[--$j], 0, _1L); //#300\n for (var _1O = 0, _1P = _1N.length; _1O < _1P; _1O++) { //#300\n var _1R = $k[--$j]; //#300\n $k[$j++] = $get(_1N, _1O); //#300\n $k[$j++] = _1R; //#300\n } //#300\n var _1S = $k[--$j]; //#301\n $k[$j++] = 0; //#301\n $forall(_1S, function() { //#301\n var _1T = $k[--$j]; //#301\n var _1U = $k[--$j]; //#301\n var _1V = $k[--$j]; //#301\n $k[$j++] = $f(_1U + (_1V * _1T)); //#301\n }); //#301\n var _1W = $k[--$j]; //#301\n if ($k[--$j] != (_1W % 1021)) { //#302\n $j--; //#302\n $k[$j++] = 'bwipp.GS1badAlphaCheckCharacters'; //#302\n $k[$j++] = \"Bad alphanumeric check characters\"; //#302\n $k[$j++] = false; //#302\n return true; //#302\n } //#302\n }; //#303\n $k[$j++] = Infinity; //#324\n var _1Y = $a(['004', '008', '010', '012', '016', '020', '024', '028', '031', '032', '036', '040', '044', '048', '050', '051', '052', '056', '060', '064', '068', '070', '072', '074', '076', '084', '086', '090', '092', '096', '100', '104', '108', '112', '116', '120', '124', '132', '136', '140', '144', '148', '152', '156', '158', '162', '166', '170', '174', '175', '178', '180', '184', '188', '191', '192', '196', '203', '204', '208', '212', '214', '218', '222', '226', '231', '232', '233', '234', '238', '239', '242', '246', '248', '250', '254', '258', '260', '262', '266', '268', '270', '275', '276', '288', '292', '296', '300', '304', '308', '312', '316', '320', '324', '328', '332', '334', '336', '340', '344', '348', '352', '356', '360', '364', '368', '372', '376', '380', '384', '388', '392', '398', '400', '404', '408', '410', '414', '417', '418', '422', '426', '428', '430', '434', '438', '440', '442', '446', '450', '454', '458', '462', '466', '470', '474', '478', '480', '484', '492', '496', '498', '499', '500', '504', '508', '512', '516', '520', '524', '528', '531', '533', '534', '535', '540', '548', '554', '558', '562', '566', '570', '574', '578', '580', '581', '583', '584', '585', '586', '591', '598', '600', '604', '608', '612', '616', '620', '624', '626', '630', '634', '638', '642', '643', '646', '652', '654', '659', '660', '662', '663', '666', '670', '674', '678', '682', '686', '688', '690', '694', '702', '703', '704', '705', '706', '710', '716', '724', '728', '729', '732', '740', '744', '748', '752', '756', '760', '762', '764', '768', '772', '776', '780', '784', '788', '792', '795', '796', '798', '800', '804', '807', '818', '826', '831', '832', '833', '834', '840', '850', '854', '858', '860', '862', '876', '882', '887', '894']); //#323\n for (var _1Z = 0, _1a = _1Y.length; _1Z < _1a; _1Z++) { //#324\n var _1b = $get(_1Y, _1Z); //#324\n $k[$j++] = _1b; //#324\n $k[$j++] = _1b; //#324\n } //#324\n $1.iso3166 = $d(); //#324\n $1.lintiso3166 = function() {\n var _1f = $get($1.iso3166, $k[--$j]) !== undefined; //#327\n if (!_1f) { //#327\n $j--; //#327\n $k[$j++] = 'bwipp.GS1UnknownCountry'; //#327\n $k[$j++] = \"Unknown country code\"; //#327\n $k[$j++] = false; //#327\n return true; //#327\n } //#327\n }; //#328\n $1.lintiso3166999 = function() {\n var _1g = $k[--$j]; //#331\n $k[$j++] = _1g; //#335\n if ($ne(_1g, '999')) { //#334\n var _1j = $get($1.iso3166, $k[--$j]) !== undefined; //#332\n if (!_1j) { //#332\n $j--; //#332\n $k[$j++] = 'bwipp.GS1UnknownCountryOr999'; //#332\n $k[$j++] = \"Unknown country code or not 999\"; //#332\n $k[$j++] = false; //#332\n return true; //#332\n } //#332\n } else { //#334\n $j--; //#334\n } //#334\n }; //#336\n $1.lintiso3166list = function() {\n var _1k = $k[--$j]; //#339\n $k[$j++] = _1k; //#341\n if ((_1k.length % 3) != 0) { //#341\n $j -= 2; //#340\n $k[$j++] = 'bwipp.GS1BadCountryListLength'; //#340\n $k[$j++] = \"Not a group of three-digit country codes\"; //#340\n $k[$j++] = false; //#340\n return true; //#340\n } //#340\n var _1l = $k[--$j]; //#343\n $k[$j++] = _1l; //#346\n $k[$j++] = true; //#346\n for (var _1n = 0, _1m = _1l.length - 1; _1n <= _1m; _1n += 3) { //#346\n var _1o = $k[--$j]; //#344\n var _1p = $k[--$j]; //#344\n var _1s = $get($1.iso3166, $geti(_1p, _1n, 3)) !== undefined; //#345\n $k[$j++] = _1p; //#345\n $k[$j++] = _1o; //#345\n if (!_1s) { //#345\n $j -= 2; //#345\n $k[$j++] = false; //#345\n break; //#345\n } //#345\n } //#345\n if ($nt($k[--$j])) { //#347\n $j--; //#347\n $k[$j++] = 'bwipp.GS1UnknownCountry'; //#347\n $k[$j++] = \"Unknown country code\"; //#347\n $k[$j++] = false; //#347\n return true; //#347\n } //#347\n $j--; //#348\n }; //#349\n $k[$j++] = Infinity; //#376\n var _1u = $a(['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BR', 'BS', 'BT', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW']); //#375\n for (var _1v = 0, _1w = _1u.length; _1v < _1w; _1v++) { //#376\n var _1x = $get(_1u, _1v); //#376\n $k[$j++] = _1x; //#376\n $k[$j++] = _1x; //#376\n } //#376\n $1.iso3166alpha2 = $d(); //#376\n $1.lintiso3166alpha2 = function() {\n var _21 = $get($1.iso3166alpha2, $k[--$j]) !== undefined; //#379\n if (!_21) { //#379\n $j--; //#379\n $k[$j++] = 'bwipp.GS1UnknownCountryAlpha'; //#379\n $k[$j++] = \"Unknown country alpha code\"; //#379\n $k[$j++] = false; //#379\n return true; //#379\n } //#379\n }; //#380\n $k[$j++] = Infinity; //#405\n var _22 = $a(['008', '012', '032', '036', '044', '048', '050', '051', '052', '060', '064', '068', '072', '084', '090', '096', '104', '108', '116', '124', '132', '136', '144', '152', '156', '170', '174', '188', '191', '192', '203', '208', '214', '222', '230', '232', '238', '242', '262', '270', '292', '320', '324', '328', '332', '340', '344', '348', '352', '356', '360', '364', '368', '376', '388', '392', '398', '400', '404', '408', '410', '414', '417', '418', '422', '426', '430', '434', '446', '454', '458', '462', '480', '484', '496', '498', '504', '512', '516', '524', '532', '533', '548', '554', '558', '566', '578', '586', '590', '598', '600', '604', '608', '634', '643', '646', '654', '682', '690', '694', '702', '704', '706', '710', '728', '748', '752', '756', '760', '764', '776', '780', '784', '788', '800', '807', '818', '826', '834', '840', '858', '860', '882', '886', '901', '927', '928', '929', '930', '931', '932', '933', '934', '936', '938', '940', '941', '943', '944', '946', '947', '948', '949', '950', '951', '952', '953', '955', '956', '957', '958', '959', '960', '961', '962', '963', '964', '965', '967', '968', '969', '970', '971', '972', '973', '975', '976', '977', '978', '979', '980', '981', '984', '985', '986', '990', '994', '997', '999']); //#404\n for (var _23 = 0, _24 = _22.length; _23 < _24; _23++) { //#405\n var _25 = $get(_22, _23); //#405\n $k[$j++] = _25; //#405\n $k[$j++] = _25; //#405\n } //#405\n $1.iso4217 = $d(); //#405\n $1.lintiso4217 = function() {\n var _29 = $get($1.iso4217, $k[--$j]) !== undefined; //#408\n if (!_29) { //#408\n $j--; //#408\n $k[$j++] = 'bwipp.GS1UnknownCurrency'; //#408\n $k[$j++] = \"Unknown currency code\"; //#408\n $k[$j++] = false; //#408\n return true; //#408\n } //#408\n }; //#409\n $1.lintiban = function() {\n var _2A = $k[--$j]; //#412\n $k[$j++] = _2A; //#412\n if (_2A.length < 4) { //#412\n $j -= 2; //#412\n $k[$j++] = 'bwipp.GS1tooShort'; //#412\n $k[$j++] = \"IBAN too short\"; //#412\n $k[$j++] = false; //#412\n return true; //#412\n } //#412\n var _2B = $k[--$j]; //#413\n $k[$j++] = _2B; //#418\n $k[$j++] = true; //#418\n $forall(_2B, function() { //#418\n var _2C = $s(1); //#414\n $put(_2C, 0, $k[--$j]); //#414\n $search(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\", _2C); //#416\n if ($nt($k[--$j])) { //#416\n $j -= 2; //#416\n $k[$j++] = false; //#416\n return true; //#416\n } //#416\n $j -= 3; //#417\n }); //#417\n if ($nt($k[--$j])) { //#419\n $j--; //#419\n $k[$j++] = 'bwipp.GS1badIBANcharacter'; //#419\n $k[$j++] = \"Invalid IBAN character\"; //#419\n $k[$j++] = false; //#419\n return true; //#419\n } //#419\n var _2G = $k[--$j]; //#420\n $k[$j++] = _2G; //#420\n $k[$j++] = _2G; //#420\n $k[$j++] = Infinity; //#420\n var _2H = $k[--$j]; //#420\n var _2I = $k[--$j]; //#420\n $k[$j++] = _2H; //#420\n $k[$j++] = _2I; //#420\n $k[$j++] = Infinity; //#420\n var _2J = $k[--$j]; //#420\n var _2K = $k[--$j]; //#420\n $k[$j++] = _2J; //#420\n $forall(_2K); //#420\n $r($counttomark(), -4); //#420\n $astore($a($counttomark())); //#420\n var _2O = $k[--$j]; //#420\n var _2P = $k[--$j]; //#420\n $k[$j++] = _2O; //#420\n $k[$j++] = _2P; //#420\n $j--; //#420\n $forall($k[--$j], function() { //#422\n var _2S = $f($k[--$j] - 48); //#421\n $k[$j++] = _2S; //#421\n if (_2S > 9) { //#421\n var _2U = $f($k[--$j] - 7); //#421\n $k[$j++] = ~~(_2U / 10); //#421\n $k[$j++] = _2U % 10; //#421\n } //#421\n }); //#421\n $astore($a($counttomark())); //#422\n var _2X = $k[--$j]; //#422\n var _2Y = $k[--$j]; //#422\n $k[$j++] = _2X; //#422\n $k[$j++] = _2Y; //#422\n $j--; //#422\n var _2Z = $k[--$j]; //#423\n $k[$j++] = 0; //#423\n $forall(_2Z, function() { //#423\n var _2a = $k[--$j]; //#423\n var _2b = $k[--$j]; //#423\n $k[$j++] = ($f(_2a + (_2b * 10))) % 97; //#423\n }); //#423\n if ($k[--$j] != 1) { //#424\n $j -= 2; //#424\n $k[$j++] = 'bwipp.GS1badIBANchecksum'; //#424\n $k[$j++] = \"IBAN checksum incorrect\"; //#424\n $k[$j++] = false; //#424\n return true; //#424\n } //#424\n var _2e = $geti($k[--$j], 0, 2); //#425\n $k[$j++] = _2e; //#425\n $1.lintiso3166alpha2(); //#425\n }; //#426\n $1.lintzero = function() {\n if ($ne($k[--$j], \"0\")) { //#429\n $j--; //#429\n $k[$j++] = 'bwipp.GS1zeroRequired'; //#429\n $k[$j++] = \"Zero is required\"; //#429\n $k[$j++] = false; //#429\n return true; //#429\n } //#429\n }; //#430\n $1.lintnonzero = function() {\n var _2g = $k[--$j]; //#433\n $k[$j++] = false; //#433\n $forall(_2g, function() { //#433\n if ($k[--$j] != 48) { //#433\n $j--; //#433\n $k[$j++] = true; //#433\n } //#433\n }); //#433\n if ($nt($k[--$j])) { //#434\n $j--; //#434\n $k[$j++] = 'bwipp.GS1zeroNotPermitted'; //#434\n $k[$j++] = \"Zero not permitted\"; //#434\n $k[$j++] = false; //#434\n return true; //#434\n } //#434\n }; //#435\n $1.lintnozeroprefix = function() {\n var _2j = $k[--$j]; //#438\n if ((_2j.length > 1) && ($get(_2j, 0) == 48)) { //#440\n $j--; //#439\n $k[$j++] = 'bwipp.GS1badZeroPrefix'; //#439\n $k[$j++] = \"Zero prefix is not permitted\"; //#439\n $k[$j++] = false; //#439\n return true; //#439\n } //#439\n }; //#441\n $1.lintyymmd0 = function() {\n var _2l = $k[--$j]; //#444\n var _2n = ~~$z($geti(_2l, 2, 2)); //#444\n $k[$j++] = _2l; //#444\n if ((_2n < 1) || (_2n > 12)) { //#444\n $j--; //#444\n $k[$j++] = 'bwipp.GS1badMonth'; //#444\n $k[$j++] = \"Invalid month\"; //#444\n $k[$j++] = false; //#444\n return true; //#444\n } //#444\n var _2o = $k[--$j]; //#445\n var _2q = ~~$z($geti(_2o, 0, 2)); //#445\n var _2r = _2q - 21; //#446\n $k[$j++] = _2o; //#446\n $k[$j++] = _2q; //#446\n $k[$j++] = _2r; //#446\n if (_2r >= 51) { //#446\n $j--; //#446\n var _2s = $k[--$j]; //#446\n $k[$j++] = $f(_2s + 1900); //#446\n } else { //#446\n if ($k[--$j] <= -50) { //#446\n var _2u = $k[--$j]; //#446\n $k[$j++] = $f(_2u + 2100); //#446\n } else { //#446\n var _2v = $k[--$j]; //#446\n $k[$j++] = $f(_2v + 2000); //#446\n } //#446\n } //#446\n var _2w = $k[--$j]; //#447\n $k[$j++] = ((_2w % 400) == 0) || (((_2w % 4) == 0) && ((_2w % 100) != 0)); //#448\n $k[$j++] = Infinity; //#448\n var _2x = $k[--$j]; //#448\n var _2z = $k[--$j] ? 29 : 28; //#448\n $k[$j++] = _2x; //#448\n $k[$j++] = 31; //#448\n $k[$j++] = _2z; //#448\n $k[$j++] = 31; //#448\n $k[$j++] = 30; //#448\n $k[$j++] = 31; //#448\n $k[$j++] = 30; //#448\n $k[$j++] = 31; //#448\n $k[$j++] = 31; //#448\n $k[$j++] = 30; //#448\n $k[$j++] = 31; //#448\n $k[$j++] = 30; //#448\n $k[$j++] = 31; //#448\n var _30 = $a(); //#448\n var _31 = $k[--$j]; //#449\n if ($get(_30, (~~$z($geti(_31, 2, 2))) - 1) < (~~$z($geti(_31, 4, 2)))) { //#450\n $j--; //#450\n $k[$j++] = 'bwipp.GS1badDay'; //#450\n $k[$j++] = \"Invalid day of month\"; //#450\n $k[$j++] = false; //#450\n return true; //#450\n } //#450\n }; //#451\n $1.lintyymmdd = function() {\n var _35 = $k[--$j]; //#454\n $k[$j++] = _35; //#454\n if (_35.length != 6) { //#454\n $j--; //#454\n $k[$j++] = 'bwipp.GS1badDateLength'; //#454\n $k[$j++] = \"Invalid length for date\"; //#454\n $k[$j++] = false; //#454\n return true; //#454\n } //#454\n var _36 = $k[--$j]; //#455\n $k[$j++] = _36; //#455\n if ((~~$z($geti(_36, 4, 2))) < 1) { //#455\n $j--; //#455\n $k[$j++] = 'bwipp.GS1badDay'; //#455\n $k[$j++] = \"Invalid day of month\"; //#455\n $k[$j++] = false; //#455\n return true; //#455\n } //#455\n $1.lintyymmd0(); //#456\n }; //#457\n $1.lintyymmddhh = function() {\n var _38 = $k[--$j]; //#460\n $k[$j++] = _38; //#460\n if (_38.length != 8) { //#460\n $j--; //#460\n $k[$j++] = 'bwipp.GS1badYYMMDDHHLength'; //#460\n $k[$j++] = \"Invalid length for date with hour\"; //#460\n $k[$j++] = false; //#460\n return true; //#460\n } //#460\n var _39 = $k[--$j]; //#461\n $k[$j++] = _39; //#461\n if ((~~$z($geti(_39, 6, 2))) > 23) { //#461\n $j -= 2; //#461\n $k[$j++] = 'bwipp.GS1badHour'; //#461\n $k[$j++] = \"Invalid hour of day\"; //#461\n $k[$j++] = false; //#461\n return true; //#461\n } //#461\n var _3C = $geti($k[--$j], 0, 6); //#462\n $k[$j++] = _3C; //#462\n $1.lintyymmdd(); //#462\n }; //#463\n $1.linthhmm = function() {\n var _3D = $k[--$j]; //#466\n $k[$j++] = _3D; //#466\n if ((~~$z($geti(_3D, 0, 2))) > 23) { //#466\n $j -= 2; //#466\n $k[$j++] = 'bwipp.GS1badHour'; //#466\n $k[$j++] = \"Invalid hour of day\"; //#466\n $k[$j++] = false; //#466\n return true; //#466\n } //#466\n if ((~~$z($geti($k[--$j], 2, 2))) > 59) { //#467\n $j--; //#467\n $k[$j++] = 'bwipp.GS1badMinute'; //#467\n $k[$j++] = \"Invalid minute in the hour\"; //#467\n $k[$j++] = false; //#467\n return true; //#467\n } //#467\n }; //#468\n $1.lintmmoptss = function() {\n var _3H = $k[--$j]; //#471\n var _3I = _3H.length; //#471\n $k[$j++] = _3H; //#473\n if ((_3I != 2) && (_3I != 4)) { //#473\n $j--; //#472\n $k[$j++] = 'bwipp.GS1badTimeLength'; //#472\n $k[$j++] = \"Invalid length for optional minutes and seconds\"; //#472\n $k[$j++] = false; //#472\n return true; //#472\n } //#472\n var _3J = $k[--$j]; //#474\n $k[$j++] = _3J; //#474\n if ((~~$z($geti(_3J, 0, 2))) > 59) { //#474\n $j -= 2; //#474\n $k[$j++] = 'bwipp.GS1badMinute'; //#474\n $k[$j++] = \"Invalid minute in the hour\"; //#474\n $k[$j++] = false; //#474\n return true; //#474\n } //#474\n var _3L = $k[--$j]; //#475\n $k[$j++] = _3L; //#477\n if (_3L.length >= 4) { //#477\n var _3M = $k[--$j]; //#476\n $k[$j++] = _3M; //#476\n if ((~~$z($geti(_3M, 2, 2))) > 59) { //#476\n $j -= 2; //#476\n $k[$j++] = 'bwipp.GS1badSecond'; //#476\n $k[$j++] = \"Invalid second in the minute\"; //#476\n $k[$j++] = false; //#476\n return true; //#476\n } //#476\n } //#476\n $j--; //#478\n }; //#479\n $1.lintyesno = function() {\n var _3O = $k[--$j]; //#482\n if ($ne(_3O, \"0\") && $ne(_3O, \"1\")) { //#484\n $j--; //#483\n $k[$j++] = 'bwipp.GS1badBoolean'; //#483\n $k[$j++] = \"Neither 0 nor 1 for yes or no\"; //#483\n $k[$j++] = false; //#483\n return true; //#483\n } //#483\n }; //#485\n $1.lintwinding = function() {\n var _3P = $k[--$j]; //#488\n if ($ne(_3P, \"0\") && ($ne(_3P, \"1\") && $ne(_3P, \"9\"))) { //#490\n $j--; //#489\n $k[$j++] = 'bwipp.GS1badWinding'; //#489\n $k[$j++] = \"Invalid winding direction\"; //#489\n $k[$j++] = false; //#489\n return true; //#489\n } //#489\n }; //#491\n $1.lintpieceoftotal = function() {\n var _3Q = $k[--$j]; //#494\n $k[$j++] = _3Q; //#494\n if ((_3Q.length % 2) != 0) { //#494\n $j -= 2; //#494\n $k[$j++] = 'bwipp.GS1badPieceTotalLength'; //#494\n $k[$j++] = \"Invalid piece/total length\"; //#494\n $k[$j++] = false; //#494\n return true; //#494\n } //#494\n var _3R = $k[--$j]; //#495\n var _3T = ~~$z($geti(_3R, 0, ~~(_3R.length / 2))); //#496\n $k[$j++] = _3R; //#496\n $k[$j++] = _3T; //#496\n if (_3T == 0) { //#496\n $j -= 3; //#496\n $k[$j++] = 'bwipp.GS1badPieceNumber'; //#496\n $k[$j++] = \"Invalid piece number\"; //#496\n $k[$j++] = false; //#496\n return true; //#496\n } //#496\n var _3U = $k[--$j]; //#497\n var _3V = $k[--$j]; //#497\n var _3W = ~~(_3V.length / 2); //#497\n var _3Y = ~~$z($geti(_3V, _3W, _3W)); //#498\n $k[$j++] = _3U; //#498\n $k[$j++] = _3Y; //#498\n if (_3Y == 0) { //#498\n $j -= 3; //#498\n $k[$j++] = 'bwipp.GS1badPieceTotal'; //#498\n $k[$j++] = \"Invalid total number\"; //#498\n $k[$j++] = false; //#498\n return true; //#498\n } //#498\n var _3Z = $k[--$j]; //#499\n if ($gt($k[--$j], _3Z)) { //#499\n $j--; //#499\n $k[$j++] = 'bwipp.GS1pieceExceedsTotal'; //#499\n $k[$j++] = \"Piece number exceeds total\"; //#499\n $k[$j++] = false; //#499\n return true; //#499\n } //#499\n }; //#500\n $1.lintpcenc = function() {\n for (;;) { //#513\n $search($k[--$j], \"%\"); //#504\n if ($nt($k[--$j])) { //#504\n $j--; //#504\n break; //#504\n } //#504\n $j -= 2; //#505\n var _3d = $k[--$j]; //#505\n $k[$j++] = _3d; //#505\n if (_3d.length < 2) { //#505\n $j -= 2; //#505\n $k[$j++] = 'bwipp.GS1badPercentEscape'; //#505\n $k[$j++] = \"Invalid % escape\"; //#505\n $k[$j++] = false; //#505\n break; //#505\n } //#505\n var _3e = $k[--$j]; //#506\n var _3f = $geti(_3e, 0, 2); //#506\n $k[$j++] = _3e; //#511\n $k[$j++] = true; //#511\n for (var _3g = 0, _3h = _3f.length; _3g < _3h; _3g++) { //#511\n var _3j = $s(1); //#507\n $put(_3j, 0, $get(_3f, _3g)); //#507\n $search(\"0123456789ABCDEFabcdef\", _3j); //#509\n if ($nt($k[--$j])) { //#509\n $j -= 2; //#509\n $k[$j++] = false; //#509\n return true; //#509\n } //#509\n $j -= 3; //#510\n } //#510\n if ($nt($k[--$j])) { //#512\n $j -= 2; //#512\n $k[$j++] = 'bwipp.GS1badPercentChars'; //#512\n $k[$j++] = \"Invalid characters for percent encoding\"; //#512\n $k[$j++] = false; //#512\n break; //#512\n } //#512\n } //#512\n }; //#514\n $1.lintcouponcode = function() {\n var _3m = $k[--$j]; //#517\n $k[$j++] = _3m; //#519\n $k[$j++] = true; //#519\n $forall(_3m, function() { //#519\n var _3n = $k[--$j]; //#518\n if ((_3n < 48) || (_3n > 57)) { //#518\n $j--; //#518\n $k[$j++] = false; //#518\n return true; //#518\n } //#518\n }); //#518\n if ($nt($k[--$j])) { //#520\n $j -= 2; //#520\n $k[$j++] = 'bwipp.GS1couponNotNumeric'; //#520\n $k[$j++] = \"Coupon not numeric\"; //#520\n $k[$j++] = false; //#520\n return true; //#520\n } //#520\n var _3p = $k[--$j]; //#523\n $k[$j++] = _3p; //#525\n if (_3p.length < 1) { //#525\n $j -= 2; //#524\n $k[$j++] = 'bwipp.GS1couponTooShortGCPVLI'; //#524\n $k[$j++] = \"Coupon too short: Missing GCP VLI\"; //#524\n $k[$j++] = false; //#524\n return true; //#524\n } //#524\n var _3q = $k[--$j]; //#526\n var _3s = ~~$z($geti(_3q, 0, 1)); //#526\n $k[$j++] = _3q; //#528\n $k[$j++] = _3s; //#528\n if (_3s > 6) { //#528\n $j -= 2; //#527\n $k[$j++] = 'bwipp.GS1couponBadGCPVLI'; //#527\n $k[$j++] = \"Coupon GCP length indicator must be 0-6\"; //#527\n $k[$j++] = false; //#527\n return true; //#527\n } //#527\n var _3t = $k[--$j]; //#529\n var _3u = $k[--$j]; //#530\n $k[$j++] = _3u; //#532\n $k[$j++] = $f($f(_3t + 6) + 1); //#532\n if (($f($f(_3t + 6) + 1)) > _3u.length) { //#532\n $j -= 3; //#531\n $k[$j++] = 'bwipp.GS1couponTooShortGCP'; //#531\n $k[$j++] = \"Coupon too short: GCP truncated\"; //#531\n $k[$j++] = false; //#531\n return true; //#531\n } //#531\n var _3v = $k[--$j]; //#533\n var _3w = $k[--$j]; //#533\n var _3x = $geti(_3w, _3v, $f(_3w.length - _3v)); //#533\n $k[$j++] = _3x; //#538\n if (_3x.length < 6) { //#538\n $j -= 2; //#537\n $k[$j++] = 'bwipp.GS1couponTooShortOfferCode'; //#537\n $k[$j++] = \"Coupon too short: Offer Code truncated\"; //#537\n $k[$j++] = false; //#537\n return true; //#537\n } //#537\n var _3y = $k[--$j]; //#539\n var _3z = $geti(_3y, 6, _3y.length - 6); //#539\n $k[$j++] = _3z; //#544\n if (_3z.length < 1) { //#544\n $j -= 2; //#543\n $k[$j++] = 'bwipp.GS1couponTooShortSaveValueVLI'; //#543\n $k[$j++] = \"Coupon too short: Missing Save Value VLI\"; //#543\n $k[$j++] = false; //#543\n return true; //#543\n } //#543\n var _40 = $k[--$j]; //#545\n var _42 = ~~$z($geti(_40, 0, 1)); //#545\n $k[$j++] = _40; //#547\n $k[$j++] = _42; //#547\n if ((_42 < 1) || (_42 > 5)) { //#547\n $j -= 2; //#546\n $k[$j++] = 'bwipp.GS1couponBadSaveValueVLI'; //#546\n $k[$j++] = \"Coupon Save Value length indicator must be 1-5\"; //#546\n $k[$j++] = false; //#546\n return true; //#546\n } //#546\n var _43 = $k[--$j]; //#548\n var _44 = $k[--$j]; //#549\n $k[$j++] = _44; //#551\n $k[$j++] = $f(_43 + 1); //#551\n if ($f(_43 + 1) > _44.length) { //#551\n $j -= 3; //#550\n $k[$j++] = 'bwipp.GS1couponTooShortSaveValue'; //#550\n $k[$j++] = \"Coupon too short: Save Value truncated\"; //#550\n $k[$j++] = false; //#550\n return true; //#550\n } //#550\n var _45 = $k[--$j]; //#552\n var _46 = $k[--$j]; //#552\n var _47 = $geti(_46, _45, $f(_46.length - _45)); //#552\n $k[$j++] = _47; //#557\n if (_47.length < 1) { //#557\n $j -= 2; //#556\n $k[$j++] = 'bwipp.GS1couponTooShort1stPurchaseRequirementVLI'; //#556\n $k[$j++] = \"Coupon too short: Missing 1st Purchase Requirement VLI\"; //#556\n $k[$j++] = false; //#556\n return true; //#556\n } //#556\n var _48 = $k[--$j]; //#558\n var _4A = ~~$z($geti(_48, 0, 1)); //#558\n $k[$j++] = _48; //#560\n $k[$j++] = _4A; //#560\n if ((_4A < 1) || (_4A > 5)) { //#560\n $j -= 2; //#559\n $k[$j++] = 'bwipp.GS1couponBad1stPurchaseRequirementVLI'; //#559\n $k[$j++] = \"Coupon 1st Purchase Requirement length indicator must be 1-5\"; //#559\n $k[$j++] = false; //#559\n return true; //#559\n } //#559\n var _4B = $k[--$j]; //#561\n var _4C = $k[--$j]; //#562\n $k[$j++] = _4C; //#564\n $k[$j++] = $f(_4B + 1); //#564\n if ($f(_4B + 1) > _4C.length) { //#564\n $j -= 3; //#563\n $k[$j++] = 'bwipp.GS1couponTooShort1stPurchaseRequirement'; //#563\n $k[$j++] = \"Coupon too short: 1st Purchase Requirement truncated\"; //#563\n $k[$j++] = false; //#563\n return true; //#563\n } //#563\n var _4D = $k[--$j]; //#565\n var _4E = $k[--$j]; //#565\n var _4F = $geti(_4E, _4D, $f(_4E.length - _4D)); //#565\n $k[$j++] = _4F; //#570\n if (_4F.length < 1) { //#570\n $j -= 2; //#569\n $k[$j++] = 'bwipp.GS1couponTooShort1stPurchaseRequirementCode'; //#569\n $k[$j++] = \"Coupon too short: Missing 1st Purchase Requirement Code\"; //#569\n $k[$j++] = false; //#569\n return true; //#569\n } //#569\n var _4G = $k[--$j]; //#571\n var _4I = ~~$z($geti(_4G, 0, 1)); //#571\n $k[$j++] = _4G; //#573\n if ((_4I > 4) && (_4I != 9)) { //#573\n $j -= 2; //#572\n $k[$j++] = 'bwipp.GS1couponBad1stPurchaseRequirementCode'; //#572\n $k[$j++] = \"Coupon 1st Purchase Requirement Code must be 0-4 or 9\"; //#572\n $k[$j++] = false; //#572\n return true; //#572\n } //#572\n var _4J = $k[--$j]; //#574\n var _4K = $geti(_4J, 1, _4J.length - 1); //#574\n $k[$j++] = _4K; //#579\n if (_4K.length < 3) { //#579\n $j -= 2; //#578\n $k[$j++] = 'bwipp.GS1couponTooShort1stPurchaseFamilyCode'; //#578\n $k[$j++] = \"Coupon too short: 1st Purchase Family Code truncated\"; //#578\n $k[$j++] = false; //#578\n return true; //#578\n } //#578\n var _4L = $k[--$j]; //#580\n var _4M = $geti(_4L, 3, _4L.length - 3); //#580\n $k[$j++] = _4M; //#636\n if (_4M.length >= 1) { //#636\n var _4N = $k[--$j]; //#583\n $k[$j++] = _4N; //#636\n if ((~~$z($geti(_4N, 0, 1))) == 1) { //#636\n var _4P = $k[--$j]; //#584\n var _4Q = $geti(_4P, 1, _4P.length - 1); //#584\n $k[$j++] = _4Q; //#589\n if (_4Q.length < 1) { //#589\n $j -= 2; //#588\n $k[$j++] = 'bwipp.GS1couponTooShortAdditionalPurchaseRulesCode'; //#588\n $k[$j++] = \"Coupon too short: Missing Additional Purchase Rules Code\"; //#588\n $k[$j++] = false; //#588\n return true; //#588\n } //#588\n var _4R = $k[--$j]; //#590\n $k[$j++] = _4R; //#592\n if ((~~$z($geti(_4R, 0, 1))) > 3) { //#592\n $j -= 2; //#591\n $k[$j++] = 'bwipp.GS1couponBadAdditionalPurchaseRulesCode'; //#591\n $k[$j++] = \"Coupon Additional Purchase Rules Code must be 0-3\"; //#591\n $k[$j++] = false; //#591\n return true; //#591\n } //#591\n var _4T = $k[--$j]; //#593\n var _4U = $geti(_4T, 1, _4T.length - 1); //#593\n $k[$j++] = _4U; //#598\n if (_4U.length < 1) { //#598\n $j -= 2; //#597\n $k[$j++] = 'bwipp.GS1couponTooShort2ndPurchaseRequirementVLI'; //#597\n $k[$j++] = \"Coupon too short: Missing 2nd Purchase Requirement VLI\"; //#597\n $k[$j++] = false; //#597\n return true; //#597\n } //#597\n var _4V = $k[--$j]; //#599\n var _4X = ~~$z($geti(_4V, 0, 1)); //#599\n $k[$j++] = _4V; //#601\n $k[$j++] = _4X; //#601\n if ((_4X < 1) || (_4X > 5)) { //#601\n $j -= 2; //#600\n $k[$j++] = 'bwipp.GS1couponBad2ndPurchaseRequirementVLI'; //#600\n $k[$j++] = \"Coupon 2nd Purchase Requirement length indicator must be 1-5\"; //#600\n $k[$j++] = false; //#600\n return true; //#600\n } //#600\n var _4Y = $k[--$j]; //#602\n var _4Z = $k[--$j]; //#603\n $k[$j++] = _4Z; //#605\n $k[$j++] = $f(_4Y + 1); //#605\n if ($f(_4Y + 1) > _4Z.length) { //#605\n $j -= 3; //#604\n $k[$j++] = 'bwipp.GS1couponTooShort2ndPurchaseRequirement'; //#604\n $k[$j++] = \"Coupon too short: 2nd Purchase Requirement truncated\"; //#604\n $k[$j++] = false; //#604\n return true; //#604\n } //#604\n var _4a = $k[--$j]; //#606\n var _4b = $k[--$j]; //#606\n var _4c = $geti(_4b, _4a, $f(_4b.length - _4a)); //#606\n $k[$j++] = _4c; //#611\n if (_4c.length < 1) { //#611\n $j -= 2; //#610\n $k[$j++] = 'bwipp.GS1couponTooShort2ndPurchaseRequirementCode'; //#610\n $k[$j++] = \"Coupon too short: Missing 2nd Purchase Requirement Code\"; //#610\n $k[$j++] = false; //#610\n return true; //#610\n } //#610\n var _4d = $k[--$j]; //#612\n var _4f = ~~$z($geti(_4d, 0, 1)); //#612\n $k[$j++] = _4d; //#614\n if ((_4f > 4) && (_4f != 9)) { //#614\n $j -= 2; //#613\n $k[$j++] = 'bwipp.GS1couponBad2ndPurchaseRequirementCode'; //#613\n $k[$j++] = \"Coupon 2nd Purchase Requirement Code must be 0-4 or 9\"; //#613\n $k[$j++] = false; //#613\n return true; //#613\n } //#613\n var _4g = $k[--$j]; //#615\n var _4h = $geti(_4g, 1, _4g.length - 1); //#615\n $k[$j++] = _4h; //#620\n if (_4h.length < 3) { //#620\n $j -= 2; //#619\n $k[$j++] = 'bwipp.GS1couponTooShort2ndPurchaseFamilyCode'; //#619\n $k[$j++] = \"Coupon too short: 2nd Purchase Family Code truncated\"; //#619\n $k[$j++] = false; //#619\n return true; //#619\n } //#619\n var _4i = $k[--$j]; //#621\n var _4j = $geti(_4i, 3, _4i.length - 3); //#621\n $k[$j++] = _4j; //#626\n if (_4j.length < 1) { //#626\n $j -= 2; //#625\n $k[$j++] = 'bwipp.GS1couponTooShort2ndPurchaseGCPVLI'; //#625\n $k[$j++] = \"Coupon too short: Missing 2nd Purchase GCP VLI\"; //#625\n $k[$j++] = false; //#625\n return true; //#625\n } //#625\n var _4k = $k[--$j]; //#627\n var _4m = ~~$z($geti(_4k, 0, 1)); //#627\n $k[$j++] = _4k; //#629\n $k[$j++] = _4m; //#629\n if ((_4m > 6) && (_4m != 9)) { //#629\n $j -= 2; //#628\n $k[$j++] = 'bwipp.GS1couponBad2ndPurchaseGCPVLI'; //#628\n $k[$j++] = \"Coupon 2nd Purchase GCP length indicator must be 0-6 or 9\"; //#628\n $k[$j++] = false; //#628\n return true; //#628\n } //#628\n var _4n = $k[--$j]; //#630\n $k[$j++] = _4n; //#630\n if (_4n != 9) { //#630\n var _4o = $k[--$j]; //#630\n $k[$j++] = $f(_4o + 6); //#630\n } else { //#630\n $j--; //#630\n $k[$j++] = 0; //#630\n } //#630\n var _4p = $k[--$j]; //#630\n var _4q = $k[--$j]; //#631\n $k[$j++] = _4q; //#633\n $k[$j++] = $f(_4p + 1); //#633\n if ($f(_4p + 1) > _4q.length) { //#633\n $j -= 3; //#632\n $k[$j++] = 'bwipp.GS1couponTooShort2ndPurchaseGCP'; //#632\n $k[$j++] = \"Coupon too short: 2nd Purchase GCP truncated\"; //#632\n $k[$j++] = false; //#632\n return true; //#632\n } //#632\n var _4r = $k[--$j]; //#634\n var _4s = $k[--$j]; //#634\n $k[$j++] = $geti(_4s, _4r, $f(_4s.length - _4r)); //#634\n } //#634\n } //#634\n var _4u = $k[--$j]; //#639\n $k[$j++] = _4u; //#683\n if (_4u.length >= 1) { //#683\n var _4v = $k[--$j]; //#639\n $k[$j++] = _4v; //#683\n if ((~~$z($geti(_4v, 0, 1))) == 2) { //#683\n var _4x = $k[--$j]; //#640\n var _4y = $geti(_4x, 1, _4x.length - 1); //#640\n $k[$j++] = _4y; //#645\n if (_4y.length < 1) { //#645\n $j -= 2; //#644\n $k[$j++] = 'bwipp.GS1couponTooShort3rdPurchaseRequirementVLI'; //#644\n $k[$j++] = \"Coupon too short: Missing 3rd Purchase Requirement VLI\"; //#644\n $k[$j++] = false; //#644\n return true; //#644\n } //#644\n var _4z = $k[--$j]; //#646\n var _51 = ~~$z($geti(_4z, 0, 1)); //#646\n $k[$j++] = _4z; //#648\n $k[$j++] = _51; //#648\n if ((_51 < 1) || (_51 > 5)) { //#648\n $j -= 2; //#647\n $k[$j++] = 'bwipp.GS1couponBad3rdPurchaseRequirementVLI'; //#647\n $k[$j++] = \"Coupon 3rd Purchase Requirement length indicator must be 1-5\"; //#647\n $k[$j++] = false; //#647\n return true; //#647\n } //#647\n var _52 = $k[--$j]; //#649\n var _53 = $k[--$j]; //#650\n $k[$j++] = _53; //#652\n $k[$j++] = $f(_52 + 1); //#652\n if ($f(_52 + 1) > _53.length) { //#652\n $j -= 3; //#651\n $k[$j++] = 'bwipp.GS1couponTooShort3rdPurchaseRequirement'; //#651\n $k[$j++] = \"Coupon too short: 3rd Purchase Requirement truncated\"; //#651\n $k[$j++] = false; //#651\n return true; //#651\n } //#651\n var _54 = $k[--$j]; //#653\n var _55 = $k[--$j]; //#653\n var _56 = $geti(_55, _54, $f(_55.length - _54)); //#653\n $k[$j++] = _56; //#658\n if (_56.length < 1) { //#658\n $j -= 2; //#657\n $k[$j++] = 'bwipp.GS1couponTooShort3rdPurchaseRequirementCode'; //#657\n $k[$j++] = \"Coupon too short: Missing 3rd Purchase Requirement Code\"; //#657\n $k[$j++] = false; //#657\n return true; //#657\n } //#657\n var _57 = $k[--$j]; //#659\n var _59 = ~~$z($geti(_57, 0, 1)); //#659\n $k[$j++] = _57; //#661\n if ((_59 > 4) && (_59 != 9)) { //#661\n $j -= 2; //#660\n $k[$j++] = 'bwipp.GS1couponBad3rdPurchaseRequirementCode'; //#660\n $k[$j++] = \"Coupon 3rd Purchase Requirement Code must be 0-4 or 9\"; //#660\n $k[$j++] = false; //#660\n return true; //#660\n } //#660\n var _5A = $k[--$j]; //#662\n var _5B = $geti(_5A, 1, _5A.length - 1); //#662\n $k[$j++] = _5B; //#667\n if (_5B.length < 3) { //#667\n $j -= 2; //#666\n $k[$j++] = 'bwipp.GS1couponTooShort3rdPurchaseFamilyCode'; //#666\n $k[$j++] = \"Coupon too short: 3rd Purchase Family Code truncated\"; //#666\n $k[$j++] = false; //#666\n return true; //#666\n } //#666\n var _5C = $k[--$j]; //#668\n var _5D = $geti(_5C, 3, _5C.length - 3); //#668\n $k[$j++] = _5D; //#673\n if (_5D.length < 1) { //#673\n $j -= 2; //#672\n $k[$j++] = 'bwipp.GS1couponTooShort3rdPurchaseGCPVLI'; //#672\n $k[$j++] = \"Coupon too short: Missing 3rd Purchase GCP VLI\"; //#672\n $k[$j++] = false; //#672\n return true; //#672\n } //#672\n var _5E = $k[--$j]; //#674\n var _5G = ~~$z($geti(_5E, 0, 1)); //#674\n $k[$j++] = _5E; //#676\n $k[$j++] = _5G; //#676\n if ((_5G > 6) && (_5G != 9)) { //#676\n $j -= 2; //#675\n $k[$j++] = 'bwipp.GS1couponBad3rdPurchaseGCPVLI'; //#675\n $k[$j++] = \"Coupon 3rd Purchase GCP length indicator must be 0-6 or 9\"; //#675\n $k[$j++] = false; //#675\n return true; //#675\n } //#675\n var _5H = $k[--$j]; //#677\n $k[$j++] = _5H; //#677\n if (_5H != 9) { //#677\n var _5I = $k[--$j]; //#677\n $k[$j++] = $f(_5I + 6); //#677\n } else { //#677\n $j--; //#677\n $k[$j++] = 0; //#677\n } //#677\n var _5J = $k[--$j]; //#677\n var _5K = $k[--$j]; //#678\n $k[$j++] = _5K; //#680\n $k[$j++] = $f(_5J + 1); //#680\n if ($f(_5J + 1) > _5K.length) { //#680\n $j -= 3; //#679\n $k[$j++] = 'bwipp.GS1couponTooShort3rdPurchaseGCP'; //#679\n $k[$j++] = \"Coupon too short: 3rd Purchase GCP truncated\"; //#679\n $k[$j++] = false; //#679\n return true; //#679\n } //#679\n var _5L = $k[--$j]; //#681\n var _5M = $k[--$j]; //#681\n $k[$j++] = $geti(_5M, _5L, $f(_5M.length - _5L)); //#681\n } //#681\n } //#681\n $1.couponexpire = -1; //#686\n var _5O = $k[--$j]; //#687\n $k[$j++] = _5O; //#705\n if (_5O.length >= 1) { //#705\n var _5P = $k[--$j]; //#687\n $k[$j++] = _5P; //#705\n if ((~~$z($geti(_5P, 0, 1))) == 3) { //#705\n var _5R = $k[--$j]; //#688\n var _5S = $geti(_5R, 1, _5R.length - 1); //#688\n $k[$j++] = _5S; //#693\n if (_5S.length < 6) { //#693\n $j -= 2; //#692\n $k[$j++] = 'bwipp.GS1couponTooShortExpirationDate'; //#692\n $k[$j++] = \"Coupon too short: Expiration date\"; //#692\n $k[$j++] = false; //#692\n return true; //#692\n } //#692\n var _5T = $k[--$j]; //#694\n var _5V = ~~$z($geti(_5T, 2, 2)); //#694\n $k[$j++] = _5T; //#694\n if ((_5V < 1) || (_5V > 12)) { //#694\n $j -= 2; //#694\n $k[$j++] = 'bwipp.GS1couponExpirationDateBadMonth'; //#694\n $k[$j++] = \"Invalid month in expiration date\"; //#694\n $k[$j++] = false; //#694\n return true; //#694\n } //#694\n var _5W = $k[--$j]; //#695\n var _5Y = ~~$z($geti(_5W, 0, 2)); //#695\n var _5Z = _5Y - 21; //#696\n $k[$j++] = _5W; //#696\n $k[$j++] = _5Y; //#696\n $k[$j++] = _5Z; //#696\n if (_5Z >= 51) { //#696\n $j--; //#696\n var _5a = $k[--$j]; //#696\n $k[$j++] = $f(_5a + 1900); //#696\n } else { //#696\n if ($k[--$j] <= -50) { //#696\n var _5c = $k[--$j]; //#696\n $k[$j++] = $f(_5c + 2100); //#696\n } else { //#696\n var _5d = $k[--$j]; //#696\n $k[$j++] = $f(_5d + 2000); //#696\n } //#696\n } //#696\n var _5e = $k[--$j]; //#697\n $k[$j++] = ((_5e % 400) == 0) || (((_5e % 4) == 0) && ((_5e % 100) != 0)); //#698\n $k[$j++] = Infinity; //#698\n var _5f = $k[--$j]; //#698\n var _5h = $k[--$j] ? 29 : 28; //#698\n $k[$j++] = _5f; //#698\n $k[$j++] = 31; //#698\n $k[$j++] = _5h; //#698\n $k[$j++] = 31; //#698\n $k[$j++] = 30; //#698\n $k[$j++] = 31; //#698\n $k[$j++] = 30; //#698\n $k[$j++] = 31; //#698\n $k[$j++] = 31; //#698\n $k[$j++] = 30; //#698\n $k[$j++] = 31; //#698\n $k[$j++] = 30; //#698\n $k[$j++] = 31; //#698\n var _5i = $a(); //#698\n var _5j = $k[--$j]; //#699\n var _5n = ~~$z($geti(_5j, 4, 2)); //#700\n $k[$j++] = _5j; //#701\n if (($get(_5i, (~~$z($geti(_5j, 2, 2))) - 1) < _5n) || (_5n < 1)) { //#701\n $j -= 2; //#701\n $k[$j++] = 'bwipp.GS1couponExpirationDateBadDay'; //#701\n $k[$j++] = \"Invalid day of month in expiration date\"; //#701\n $k[$j++] = false; //#701\n return true; //#701\n } //#701\n var _5o = $k[--$j]; //#702\n $1.couponexpire = ~~$z($geti(_5o, 0, 6)); //#702\n $k[$j++] = $geti(_5o, 6, _5o.length - 6); //#703\n } //#703\n } //#703\n var _5r = $k[--$j]; //#708\n $k[$j++] = _5r; //#729\n if (_5r.length >= 1) { //#729\n var _5s = $k[--$j]; //#708\n $k[$j++] = _5s; //#729\n if ((~~$z($geti(_5s, 0, 1))) == 4) { //#729\n var _5u = $k[--$j]; //#709\n var _5v = $geti(_5u, 1, _5u.length - 1); //#709\n $k[$j++] = _5v; //#714\n if (_5v.length < 6) { //#714\n $j -= 2; //#713\n $k[$j++] = 'bwipp.GS1couponTooShortStartDate'; //#713\n $k[$j++] = \"Coupon too short: Start date\"; //#713\n $k[$j++] = false; //#713\n return true; //#713\n } //#713\n var _5w = $k[--$j]; //#715\n var _5y = ~~$z($geti(_5w, 2, 2)); //#715\n $k[$j++] = _5w; //#715\n if ((_5y < 1) || (_5y > 12)) { //#715\n $j -= 2; //#715\n $k[$j++] = 'bwipp.GS1couponStartDateBadMonth'; //#715\n $k[$j++] = \"Invalid month in start date\"; //#715\n $k[$j++] = false; //#715\n return true; //#715\n } //#715\n var _5z = $k[--$j]; //#716\n var _61 = ~~$z($geti(_5z, 0, 2)); //#716\n var _62 = _61 - 21; //#717\n $k[$j++] = _5z; //#717\n $k[$j++] = _61; //#717\n $k[$j++] = _62; //#717\n if (_62 >= 51) { //#717\n $j--; //#717\n var _63 = $k[--$j]; //#717\n $k[$j++] = $f(_63 + 1900); //#717\n } else { //#717\n if ($k[--$j] <= -50) { //#717\n var _65 = $k[--$j]; //#717\n $k[$j++] = $f(_65 + 2100); //#717\n } else { //#717\n var _66 = $k[--$j]; //#717\n $k[$j++] = $f(_66 + 2000); //#717\n } //#717\n } //#717\n var _67 = $k[--$j]; //#718\n $k[$j++] = ((_67 % 400) == 0) || (((_67 % 4) == 0) && ((_67 % 100) != 0)); //#719\n $k[$j++] = Infinity; //#719\n var _68 = $k[--$j]; //#719\n var _6A = $k[--$j] ? 29 : 28; //#719\n $k[$j++] = _68; //#719\n $k[$j++] = 31; //#719\n $k[$j++] = _6A; //#719\n $k[$j++] = 31; //#719\n $k[$j++] = 30; //#719\n $k[$j++] = 31; //#719\n $k[$j++] = 30; //#719\n $k[$j++] = 31; //#719\n $k[$j++] = 31; //#719\n $k[$j++] = 30; //#719\n $k[$j++] = 31; //#719\n $k[$j++] = 30; //#719\n $k[$j++] = 31; //#719\n var _6B = $a(); //#719\n var _6C = $k[--$j]; //#720\n var _6G = ~~$z($geti(_6C, 4, 2)); //#721\n $k[$j++] = _6C; //#722\n if (($get(_6B, (~~$z($geti(_6C, 2, 2))) - 1) < _6G) || (_6G < 1)) { //#722\n $j -= 2; //#722\n $k[$j++] = 'bwipp.GS1couponStartDateBadDay'; //#722\n $k[$j++] = \"Invalid day of month in start date\"; //#722\n $k[$j++] = false; //#722\n return true; //#722\n } //#722\n var _6H = $k[--$j]; //#723\n $1.couponstart = ~~$z($geti(_6H, 0, 6)); //#723\n $k[$j++] = _6H; //#726\n if (($1.couponexpire != -1) && ($1.couponexpire < $1.couponstart)) { //#726\n $j -= 2; //#725\n $k[$j++] = 'bwipp.GS1couponExpireDateBeforeStartDate'; //#725\n $k[$j++] = \"Coupon expires before it starts\"; //#725\n $k[$j++] = false; //#725\n return true; //#725\n } //#725\n var _6M = $k[--$j]; //#727\n $k[$j++] = $geti(_6M, 6, _6M.length - 6); //#727\n } //#727\n } //#727\n var _6O = $k[--$j]; //#732\n $k[$j++] = _6O; //#745\n if (_6O.length >= 1) { //#745\n var _6P = $k[--$j]; //#732\n $k[$j++] = _6P; //#745\n if ((~~$z($geti(_6P, 0, 1))) == 5) { //#745\n var _6R = $k[--$j]; //#733\n var _6S = $geti(_6R, 1, _6R.length - 1); //#733\n $k[$j++] = _6S; //#738\n if (_6S.length < 1) { //#738\n $j -= 2; //#737\n $k[$j++] = 'bwipp.GS1couponTooShortSerialNumberVLI'; //#737\n $k[$j++] = \"Coupon too short: Missing Serial Number VLI\"; //#737\n $k[$j++] = false; //#737\n return true; //#737\n } //#737\n var _6T = $k[--$j]; //#739\n var _6U = $geti(_6T, 0, 1); //#739\n $k[$j++] = _6T; //#742\n $k[$j++] = ((~~$z(_6U)) + 6) + 1; //#742\n if ((((~~$z(_6U)) + 6) + 1) > _6T.length) { //#742\n $j -= 3; //#741\n $k[$j++] = 'bwipp.GS1couponTooShortSerialNumber'; //#741\n $k[$j++] = \"Coupon too short: Serial Number truncated\"; //#741\n $k[$j++] = false; //#741\n return true; //#741\n } //#741\n var _6V = $k[--$j]; //#743\n var _6W = $k[--$j]; //#743\n $k[$j++] = $geti(_6W, _6V, $f(_6W.length - _6V)); //#743\n } //#743\n } //#743\n var _6Y = $k[--$j]; //#748\n $k[$j++] = _6Y; //#764\n if (_6Y.length >= 1) { //#764\n var _6Z = $k[--$j]; //#748\n $k[$j++] = _6Z; //#764\n if ((~~$z($geti(_6Z, 0, 1))) == 6) { //#764\n var _6b = $k[--$j]; //#749\n var _6c = $geti(_6b, 1, _6b.length - 1); //#749\n $k[$j++] = _6c; //#754\n if (_6c.length < 1) { //#754\n $j -= 2; //#753\n $k[$j++] = 'bwipp.GS1couponTooShortRetailerGCPGLNVLI'; //#753\n $k[$j++] = \"Coupon too short: Missing Retailer GCP/GLN VLI\"; //#753\n $k[$j++] = false; //#753\n return true; //#753\n } //#753\n var _6d = $k[--$j]; //#755\n var _6f = ~~$z($geti(_6d, 0, 1)); //#755\n $k[$j++] = _6d; //#757\n $k[$j++] = _6f; //#757\n if ((_6f < 1) || (_6f > 7)) { //#757\n $j -= 2; //#756\n $k[$j++] = 'bwipp.GS1couponBadRetailerGCPGLNVLI'; //#756\n $k[$j++] = \"Coupon Retailer GCP/GLN length indicator must be 1-7\"; //#756\n $k[$j++] = false; //#756\n return true; //#756\n } //#756\n var _6g = $k[--$j]; //#758\n var _6h = $k[--$j]; //#759\n $k[$j++] = _6h; //#761\n $k[$j++] = $f($f(_6g + 6) + 1); //#761\n if (($f($f(_6g + 6) + 1)) > _6h.length) { //#761\n $j -= 3; //#760\n $k[$j++] = 'bwipp.GS1couponTooShortRetailerGCPGLN'; //#760\n $k[$j++] = \"Coupon too short: Retailer GCP/GLN truncated\"; //#760\n $k[$j++] = false; //#760\n return true; //#760\n } //#760\n var _6i = $k[--$j]; //#762\n var _6j = $k[--$j]; //#762\n $k[$j++] = $geti(_6j, _6i, $f(_6j.length - _6i)); //#762\n } //#762\n } //#762\n var _6l = $k[--$j]; //#767\n $k[$j++] = _6l; //#803\n if (_6l.length >= 1) { //#803\n var _6m = $k[--$j]; //#767\n $k[$j++] = _6m; //#803\n if ((~~$z($geti(_6m, 0, 1))) == 9) { //#803\n var _6o = $k[--$j]; //#768\n var _6p = $geti(_6o, 1, _6o.length - 1); //#768\n $k[$j++] = _6p; //#773\n if (_6p.length < 1) { //#773\n $j -= 2; //#772\n $k[$j++] = 'bwipp.GS1couponTooShortSaveValueCode'; //#772\n $k[$j++] = \"Coupon too short: Missing Save Value Code\"; //#772\n $k[$j++] = false; //#772\n return true; //#772\n } //#772\n var _6q = $k[--$j]; //#774\n var _6s = ~~$z($geti(_6q, 0, 1)); //#774\n $k[$j++] = _6q; //#776\n if ((_6s > 6) || ((_6s == 3) || (_6s == 4))) { //#776\n $j -= 2; //#775\n $k[$j++] = 'bwipp.GS1couponBadSaveValueCode'; //#775\n $k[$j++] = \"Coupon Save Value Code must be 0,1,2,5 or 6\"; //#775\n $k[$j++] = false; //#775\n return true; //#775\n } //#775\n var _6t = $k[--$j]; //#777\n var _6u = $geti(_6t, 1, _6t.length - 1); //#777\n $k[$j++] = _6u; //#782\n if (_6u.length < 1) { //#782\n $j -= 2; //#781\n $k[$j++] = 'bwipp.GS1couponTooShortSaveValueAppliesToItem'; //#781\n $k[$j++] = \"Coupon too short: Missing Save Value Applies to Item\"; //#781\n $k[$j++] = false; //#781\n return true; //#781\n } //#781\n var _6v = $k[--$j]; //#783\n $k[$j++] = _6v; //#785\n if ((~~$z($geti(_6v, 0, 1))) > 2) { //#785\n $j -= 2; //#784\n $k[$j++] = 'bwipp.GS1couponBadSaveValueAppliesToItem'; //#784\n $k[$j++] = \"Coupon Save Value Applies to Item must be 0-2\"; //#784\n $k[$j++] = false; //#784\n return true; //#784\n } //#784\n var _6x = $k[--$j]; //#786\n var _6y = $geti(_6x, 1, _6x.length - 1); //#786\n $k[$j++] = _6y; //#791\n if (_6y.length < 1) { //#791\n $j -= 2; //#790\n $k[$j++] = 'bwipp.GS1couponTooShortStoreCouponFlag'; //#790\n $k[$j++] = \"Coupon too short: Missing Store Coupon Flag\"; //#790\n $k[$j++] = false; //#790\n return true; //#790\n } //#790\n var _6z = $k[--$j]; //#792\n var _70 = $geti(_6z, 1, _6z.length - 1); //#792\n $k[$j++] = _70; //#797\n if (_70.length < 1) { //#797\n $j -= 2; //#796\n $k[$j++] = 'bwipp.GS1couponTooShortDontMultiplyFlag'; //#796\n $k[$j++] = \"Coupon too short: Missing Don't Multiply Flag\"; //#796\n $k[$j++] = false; //#796\n return true; //#796\n } //#796\n var _71 = $k[--$j]; //#798\n $k[$j++] = _71; //#800\n if ((~~$z($geti(_71, 0, 1))) > 1) { //#800\n $j -= 2; //#799\n $k[$j++] = 'bwipp.GS1couponBadDontMultiplyFlag'; //#799\n $k[$j++] = \"Don't Multiply Flag must be 0 or 1\"; //#799\n $k[$j++] = false; //#799\n return true; //#799\n } //#799\n var _73 = $k[--$j]; //#801\n $k[$j++] = $geti(_73, 1, _73.length - 1); //#801\n } //#801\n } //#801\n var _75 = $k[--$j]; //#805\n $k[$j++] = _75; //#807\n if (_75.length != 0) { //#807\n $j -= 2; //#806\n $k[$j++] = 'bwipp.GS1couponUnrecognisedOptionalField'; //#806\n $k[$j++] = \"Coupon fields must be 1,2,3,4,5,6 or 9, increasing order\"; //#806\n $k[$j++] = false; //#806\n return true; //#806\n } //#806\n $j--; //#808\n }; //#809\n $1.lintcouponposoffer = function() {\n var _76 = $k[--$j]; //#812\n $k[$j++] = _76; //#814\n $k[$j++] = true; //#814\n $forall(_76, function() { //#814\n var _77 = $k[--$j]; //#813\n if ((_77 < 48) || (_77 > 57)) { //#813\n $j--; //#813\n $k[$j++] = false; //#813\n return true; //#813\n } //#813\n }); //#813\n if ($nt($k[--$j])) { //#815\n $j -= 2; //#815\n $k[$j++] = 'bwipp.GS1couponNotNumeric'; //#815\n $k[$j++] = \"Coupon not numeric\"; //#815\n $k[$j++] = false; //#815\n return true; //#815\n } //#815\n var _79 = $k[--$j]; //#817\n $k[$j++] = _79; //#819\n if (_79.length < 1) { //#819\n $j -= 2; //#818\n $k[$j++] = 'bwipp.GS1couponTooShortFormatCode'; //#818\n $k[$j++] = \"Coupon too short: Missing Format Code\"; //#818\n $k[$j++] = false; //#818\n return true; //#818\n } //#818\n var _7A = $k[--$j]; //#820\n var _7B = $geti(_7A, 0, 1); //#820\n $k[$j++] = _7A; //#822\n if ($ne(_7B, \"0\") && $ne(_7B, \"1\")) { //#822\n $j -= 2; //#821\n $k[$j++] = 'bwipp.GS1couponBadFormatCode'; //#821\n $k[$j++] = \"Coupon format must be 0 or 1\"; //#821\n $k[$j++] = false; //#821\n return true; //#821\n } //#821\n var _7C = $k[--$j]; //#823\n var _7D = $geti(_7C, 1, _7C.length - 1); //#823\n $k[$j++] = _7D; //#827\n if (_7D.length < 1) { //#827\n $j -= 2; //#826\n $k[$j++] = 'bwipp.GS1couponTooShortFunderVLI'; //#826\n $k[$j++] = \"Coupon too short: Missing Funder VLI\"; //#826\n $k[$j++] = false; //#826\n return true; //#826\n } //#826\n var _7E = $k[--$j]; //#828\n var _7G = ~~$z($geti(_7E, 0, 1)); //#828\n $k[$j++] = _7E; //#830\n $k[$j++] = _7G; //#830\n if (_7G > 6) { //#830\n $j -= 3; //#829\n $k[$j++] = 'bwipp.GS1couponBadFunderVLI'; //#829\n $k[$j++] = \"Coupon Funder length indicator must be 0-6\"; //#829\n $k[$j++] = false; //#829\n return true; //#829\n } //#829\n var _7H = $k[--$j]; //#831\n var _7I = $k[--$j]; //#832\n $k[$j++] = _7I; //#834\n $k[$j++] = $f($f(_7H + 6) + 1); //#834\n if (($f($f(_7H + 6) + 1)) > _7I.length) { //#834\n $j -= 3; //#833\n $k[$j++] = 'bwipp.GS1couponTooShortFunder'; //#833\n $k[$j++] = \"Coupon too short: Truncated Funder ID\"; //#833\n $k[$j++] = false; //#833\n return true; //#833\n } //#833\n var _7J = $k[--$j]; //#835\n var _7K = $k[--$j]; //#835\n var _7L = $geti(_7K, _7J, $f(_7K.length - _7J)); //#835\n $k[$j++] = _7L; //#839\n if (_7L.length < 6) { //#839\n $j -= 2; //#838\n $k[$j++] = 'bwipp.GS1couponTooShortOfferCode'; //#838\n $k[$j++] = \"Coupon too short: Truncated Offer Code\"; //#838\n $k[$j++] = false; //#838\n return true; //#838\n } //#838\n var _7M = $k[--$j]; //#840\n var _7N = $geti(_7M, 6, _7M.length - 6); //#840\n $k[$j++] = _7N; //#844\n if (_7N.length < 1) { //#844\n $j -= 2; //#843\n $k[$j++] = 'bwipp.GS1couponTooShortSnVLI'; //#843\n $k[$j++] = \"Coupon too short: Missing SN VLI\"; //#843\n $k[$j++] = false; //#843\n return true; //#843\n } //#843\n var _7O = $k[--$j]; //#845\n var _7P = $geti(_7O, 0, 1); //#845\n $k[$j++] = _7O; //#849\n $k[$j++] = ((~~$z(_7P)) + 6) + 1; //#849\n if ((((~~$z(_7P)) + 6) + 1) > _7O.length) { //#849\n $j -= 3; //#848\n $k[$j++] = 'bwipp.GS1couponTooShortSn'; //#848\n $k[$j++] = \"Coupon too short: Truncated SN\"; //#848\n $k[$j++] = false; //#848\n return true; //#848\n } //#848\n var _7Q = $k[--$j]; //#850\n var _7R = $k[--$j]; //#850\n var _7S = $geti(_7R, _7Q, $f(_7R.length - _7Q)); //#850\n $k[$j++] = _7S; //#853\n if (_7S.length != 0) { //#853\n $j -= 2; //#852\n $k[$j++] = 'bwipp.GS1couponTooLong'; //#852\n $k[$j++] = \"Coupon too long\"; //#852\n $k[$j++] = false; //#852\n return true; //#852\n } //#852\n $j--; //#854\n }; //#855\n var _7U = new Map([\n [\"cset\", 'N'],\n [\"min\", 18],\n [\"max\", 18],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#860\n var _7X = new Map([\n [\"cset\", 'N'],\n [\"min\", 14],\n [\"max\", 14],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#866\n var _7Y = $a([_7X]); //#866\n var _7a = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#873\n var _7d = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a(['lintyymmd0'])]\n ]); //#879\n var _7e = $a([_7d]); //#879\n var _7g = new Map([\n [\"cset\", 'N'],\n [\"min\", 2],\n [\"max\", 2],\n [\"check\", $a([])]\n ]); //#891\n var _7j = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#897\n var _7k = $a([_7j]); //#897\n var _7m = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 28],\n [\"check\", $a([])]\n ]); //#904\n var _7p = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#910\n var _7q = $a([_7p]); //#910\n var _7s = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 6],\n [\"check\", $a([])]\n ]); //#917\n var _7v = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#923\n var _7y = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#929\n var _7z = $a([_7y]); //#929\n var _81 = new Map([\n [\"cset\", 'N'],\n [\"min\", 13],\n [\"max\", 13],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#936\n var _83 = new Map([\n [\"cset\", 'X'],\n [\"min\", 0],\n [\"max\", 17],\n [\"check\", $a([])]\n ]); //#937\n var _86 = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#943\n var _89 = new Map([\n [\"cset\", 'N'],\n [\"min\", 13],\n [\"max\", 13],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#949\n var _8B = new Map([\n [\"cset\", 'N'],\n [\"min\", 0],\n [\"max\", 12],\n [\"check\", $a([])]\n ]); //#950\n var _8E = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 8],\n [\"check\", $a([])]\n ]); //#956\n var _8H = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a([])]\n ]); //#962\n var _8I = $a([_8H]); //#962\n var _8K = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 8],\n [\"check\", $a([])]\n ]); //#1285\n var _8N = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 15],\n [\"check\", $a([])]\n ]); //#1291\n var _8O = $a([_8N]); //#1291\n var _8Q = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso4217'])]\n ]); //#1306\n var _8S = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 15],\n [\"check\", $a([])]\n ]); //#1307\n var _8T = $a([_8Q, _8S]); //#1307\n var _8V = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 15],\n [\"check\", $a([])]\n ]); //#1322\n var _8W = $a([_8V]); //#1322\n var _8Y = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso4217'])]\n ]); //#1337\n var _8a = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 15],\n [\"check\", $a([])]\n ]); //#1338\n var _8b = $a([_8Y, _8a]); //#1338\n var _8d = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a([])]\n ]); //#1353\n var _8e = $a([_8d]); //#1353\n var _8g = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a([])]\n ]); //#1362\n var _8h = $a([_8g]); //#1362\n var _8j = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#1373\n var _8m = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a(['lintkey'])]\n ]); //#1379\n var _8p = new Map([\n [\"cset\", 'N'],\n [\"min\", 17],\n [\"max\", 17],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#1385\n var _8s = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#1391\n var _8v = new Map([\n [\"cset\", 'N'],\n [\"min\", 13],\n [\"max\", 13],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#1397\n var _8w = $a([_8v]); //#1397\n var _8y = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1410\n var _91 = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso3166'])]\n ]); //#1416\n var _93 = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 9],\n [\"check\", $a([])]\n ]); //#1417\n var _96 = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso3166'])]\n ]); //#1423\n var _99 = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 15],\n [\"check\", $a(['lintiso3166list'])]\n ]); //#1429\n var _9C = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso3166'])]\n ]); //#1435\n var _9F = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 15],\n [\"check\", $a(['lintiso3166list'])]\n ]); //#1441\n var _9I = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso3166'])]\n ]); //#1447\n var _9L = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 3],\n [\"check\", $a([])]\n ]); //#1453\n var _9O = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 35],\n [\"check\", $a(['lintpcenc'])]\n ]); //#1459\n var _9P = $a([_9O]); //#1459\n var _9R = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 70],\n [\"check\", $a(['lintpcenc'])]\n ]); //#1466\n var _9S = $a([_9R]); //#1466\n var _9U = new Map([\n [\"cset\", 'X'],\n [\"min\", 2],\n [\"max\", 2],\n [\"check\", $a(['lintiso3166alpha2'])]\n ]); //#1476\n var _9X = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#1482\n var _9a = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 35],\n [\"check\", $a(['lintpcenc'])]\n ]); //#1488\n var _9b = $a([_9a]); //#1488\n var _9d = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 70],\n [\"check\", $a(['lintpcenc'])]\n ]); //#1495\n var _9e = $a([_9d]); //#1495\n var _9g = new Map([\n [\"cset\", 'X'],\n [\"min\", 2],\n [\"max\", 2],\n [\"check\", $a(['lintiso3166alpha2'])]\n ]); //#1505\n var _9j = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1511\n var _9m = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#1517\n var _9p = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 35],\n [\"check\", $a(['lintpcenc'])]\n ]); //#1523\n var _9s = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a(['lintyesno'])]\n ]); //#1529\n var _9t = $a([_9s]); //#1529\n var _9v = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a(['lintyymmd0'])]\n ]); //#1537\n var _9x = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a(['linthhmm'])]\n ]); //#1538\n var _9y = $a([_9v, _9x]); //#1538\n var _A0 = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a(['lintyymmdd'])]\n ]); //#1545\n var _A3 = new Map([\n [\"cset\", 'N'],\n [\"min\", 13],\n [\"max\", 13],\n [\"check\", $a([])]\n ]); //#1551\n var _A6 = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#1557\n var _A9 = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a(['lintyymmdd'])]\n ]); //#1563\n var _AB = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a(['linthhmm'])]\n ]); //#1564\n var _AE = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 4],\n [\"check\", $a([])]\n ]); //#1570\n var _AH = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 12],\n [\"check\", $a([])]\n ]); //#1576\n var _AK = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a(['lintyymmdd'])]\n ]); //#1582\n var _AN = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a(['lintyymmdd'])]\n ]); //#1588\n var _AP = new Map([\n [\"cset\", 'N'],\n [\"min\", 0],\n [\"max\", 6],\n [\"check\", $a(['lintyymmdd'])]\n ]); //#1589\n var _AS = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 3],\n [\"check\", $a([])]\n ]); //#1595\n var _AV = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 10],\n [\"check\", $a([])]\n ]); //#1601\n var _AY = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 2],\n [\"check\", $a([])]\n ]); //#1607\n var _Ab = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1613\n var _Ac = $a([_Ab]); //#1613\n var _Ae = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a(['lintkey'])]\n ]); //#1621\n var _Ah = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintiso3166999'])]\n ]); //#1627\n var _Aj = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 27],\n [\"check\", $a([])]\n ]); //#1628\n var _Ak = $a([_Ah, _Aj]); //#1628\n var _Am = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a([])]\n ]); //#1643\n var _Ao = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a([])]\n ]); //#1644\n var _Aq = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a([])]\n ]); //#1645\n var _As = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a(['lintimporteridx'])]\n ]); //#1646\n var _Av = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1652\n var _Aw = $a([_Av]); //#1652\n var _Ay = new Map([\n [\"cset\", 'X'],\n [\"min\", 2],\n [\"max\", 2],\n [\"check\", $a([])]\n ]); //#1662\n var _B0 = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 28],\n [\"check\", $a([])]\n ]); //#1663\n var _B1 = $a([_Ay, _B0]); //#1663\n var _B3 = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1678\n var _B6 = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a(['lintnonzero'])]\n ]); //#1684\n var _B8 = new Map([\n [\"cset\", 'N'],\n [\"min\", 5],\n [\"max\", 5],\n [\"check\", $a(['lintnonzero'])]\n ]); //#1685\n var _BA = new Map([\n [\"cset\", 'N'],\n [\"min\", 3],\n [\"max\", 3],\n [\"check\", $a(['lintnonzero'])]\n ]); //#1686\n var _BC = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a(['lintwinding'])]\n ]); //#1687\n var _BE = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a([])]\n ]); //#1688\n var _BH = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1694\n var _BK = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 1],\n [\"check\", $a(['lintzero'])]\n ]); //#1700\n var _BM = new Map([\n [\"cset\", 'N'],\n [\"min\", 13],\n [\"max\", 13],\n [\"check\", $a(['lintcsum', 'lintkey'])]\n ]); //#1701\n var _BO = new Map([\n [\"cset\", 'X'],\n [\"min\", 0],\n [\"max\", 16],\n [\"check\", $a([])]\n ]); //#1702\n var _BR = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a(['lintkey'])]\n ]); //#1708\n var _BU = new Map([\n [\"cset\", 'N'],\n [\"min\", 6],\n [\"max\", 6],\n [\"check\", $a([])]\n ]); //#1714\n var _BX = new Map([\n [\"cset\", 'N'],\n [\"min\", 14],\n [\"max\", 14],\n [\"check\", $a(['lintcsum'])]\n ]); //#1720\n var _BZ = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a(['lintpieceoftotal'])]\n ]); //#1721\n var _Bc = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 34],\n [\"check\", $a(['lintiban'])]\n ]); //#1727\n var _Bf = new Map([\n [\"cset\", 'N'],\n [\"min\", 8],\n [\"max\", 8],\n [\"check\", $a(['lintyymmddhh'])]\n ]); //#1733\n var _Bh = new Map([\n [\"cset\", 'N'],\n [\"min\", 0],\n [\"max\", 4],\n [\"check\", $a(['lintmmoptss'])]\n ]); //#1734\n var _Bk = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 50],\n [\"check\", $a([])]\n ]); //#1740\n var _Bn = new Map([\n [\"cset\", 'C'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a(['lintkey'])]\n ]); //#1746\n var _Bq = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 12],\n [\"check\", $a(['lintnozeroprefix'])]\n ]); //#1752\n var _Bt = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 20],\n [\"check\", $a([])]\n ]); //#1758\n var _Bw = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 25],\n [\"check\", $a(['lintcsumalpha', 'lintkey'])]\n ]); //#1764\n var _Bz = new Map([\n [\"cset\", 'N'],\n [\"min\", 18],\n [\"max\", 18],\n [\"check\", $a(['lintcsum'])]\n ]); //#1770\n var _C0 = $a([_Bz]); //#1770\n var _C2 = new Map([\n [\"cset\", 'N'],\n [\"min\", 1],\n [\"max\", 10],\n [\"check\", $a([])]\n ]); //#1777\n var _C5 = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 25],\n [\"check\", $a([])]\n ]); //#1783\n var _C8 = new Map([\n [\"cset\", 'N'],\n [\"min\", 14],\n [\"max\", 14],\n [\"check\", $a(['lintcsum'])]\n ]); //#1789\n var _CA = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a(['lintpieceoftotal'])]\n ]); //#1790\n var _CD = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 70],\n [\"check\", $a(['lintcouponcode'])]\n ]); //#1796\n var _CG = new Map([\n [\"cset\", 'N'],\n [\"min\", 4],\n [\"max\", 4],\n [\"check\", $a([])]\n ]); //#1802\n var _CJ = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 70],\n [\"check\", $a(['lintcouponposoffer'])]\n ]); //#1808\n var _CM = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 70],\n [\"check\", $a([])]\n ]); //#1814\n var _CP = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 30],\n [\"check\", $a([])]\n ]); //#1820\n var _CS = new Map([\n [\"cset\", 'X'],\n [\"min\", 1],\n [\"max\", 90],\n [\"check\", $a([])]\n ]); //#1826\n var _CT = $a([_CS]); //#1826\n var _CU = new Map([\n [\"00\", $a([_7U])],\n [\"01\", _7Y],\n [\"02\", _7Y],\n [\"10\", $a([_7a])],\n [\"11\", _7e],\n [\"12\", _7e],\n [\"13\", _7e],\n [\"14\", _7e],\n [\"15\", _7e],\n [\"16\", _7e],\n [\"17\", _7e],\n [\"20\", $a([_7g])],\n [\"21\", _7k],\n [\"22\", _7k],\n [\"235\", $a([_7m])],\n [\"240\", _7q],\n [\"241\", _7q],\n [\"242\", $a([_7s])],\n [\"243\", $a([_7v])],\n [\"250\", _7z],\n [\"251\", _7z],\n [\"253\", $a([_81, _83])],\n [\"254\", $a([_86])],\n [\"255\", $a([_89, _8B])],\n [\"30\", $a([_8E])],\n [\"3100\", _8I],\n [\"3101\", _8I],\n [\"3102\", _8I],\n [\"3103\", _8I],\n [\"3104\", _8I],\n [\"3105\", _8I],\n [\"3110\", _8I],\n [\"3111\", _8I],\n [\"3112\", _8I],\n [\"3113\", _8I],\n [\"3114\", _8I],\n [\"3115\", _8I],\n [\"3120\", _8I],\n [\"3121\", _8I],\n [\"3122\", _8I],\n [\"3123\", _8I],\n [\"3124\", _8I],\n [\"3125\", _8I],\n [\"3130\", _8I],\n [\"3131\", _8I],\n [\"3132\", _8I],\n [\"3133\", _8I],\n [\"3134\", _8I],\n [\"3135\", _8I],\n [\"3140\", _8I],\n [\"3141\", _8I],\n [\"3142\", _8I],\n [\"3143\", _8I],\n [\"3144\", _8I],\n [\"3145\", _8I],\n [\"3150\", _8I],\n [\"3151\", _8I],\n [\"3152\", _8I],\n [\"3153\", _8I],\n [\"3154\", _8I],\n [\"3155\", _8I],\n [\"3160\", _8I],\n [\"3161\", _8I],\n [\"3162\", _8I],\n [\"3163\", _8I],\n [\"3164\", _8I],\n [\"3165\", _8I],\n [\"3200\", _8I],\n [\"3201\", _8I],\n [\"3202\", _8I],\n [\"3203\", _8I],\n [\"3204\", _8I],\n [\"3205\", _8I],\n [\"3210\", _8I],\n [\"3211\", _8I],\n [\"3212\", _8I],\n [\"3213\", _8I],\n [\"3214\", _8I],\n [\"3215\", _8I],\n [\"3220\", _8I],\n [\"3221\", _8I],\n [\"3222\", _8I],\n [\"3223\", _8I],\n [\"3224\", _8I],\n [\"3225\", _8I],\n [\"3230\", _8I],\n [\"3231\", _8I],\n [\"3232\", _8I],\n [\"3233\", _8I],\n [\"3234\", _8I],\n [\"3235\", _8I],\n [\"3240\", _8I],\n [\"3241\", _8I],\n [\"3242\", _8I],\n [\"3243\", _8I],\n [\"3244\", _8I],\n [\"3245\", _8I],\n [\"3250\", _8I],\n [\"3251\", _8I],\n [\"3252\", _8I],\n [\"3253\", _8I],\n [\"3254\", _8I],\n [\"3255\", _8I],\n [\"3260\", _8I],\n [\"3261\", _8I],\n [\"3262\", _8I],\n [\"3263\", _8I],\n [\"3264\", _8I],\n [\"3265\", _8I],\n [\"3270\", _8I],\n [\"3271\", _8I],\n [\"3272\", _8I],\n [\"3273\", _8I],\n [\"3274\", _8I],\n [\"3275\", _8I],\n [\"3280\", _8I],\n [\"3281\", _8I],\n [\"3282\", _8I],\n [\"3283\", _8I],\n [\"3284\", _8I],\n [\"3285\", _8I],\n [\"3290\", _8I],\n [\"3291\", _8I],\n [\"3292\", _8I],\n [\"3293\", _8I],\n [\"3294\", _8I],\n [\"3295\", _8I],\n [\"3300\", _8I],\n [\"3301\", _8I],\n [\"3302\", _8I],\n [\"3303\", _8I],\n [\"3304\", _8I],\n [\"3305\", _8I],\n [\"3310\", _8I],\n [\"3311\", _8I],\n [\"3312\", _8I],\n [\"3313\", _8I],\n [\"3314\", _8I],\n [\"3315\", _8I],\n [\"3320\", _8I],\n [\"3321\", _8I],\n [\"3322\", _8I],\n [\"3323\", _8I],\n [\"3324\", _8I],\n [\"3325\", _8I],\n [\"3330\", _8I],\n [\"3331\", _8I],\n [\"3332\", _8I],\n [\"3333\", _8I],\n [\"3334\", _8I],\n [\"3335\", _8I],\n [\"3340\", _8I],\n [\"3341\", _8I],\n [\"3342\", _8I],\n [\"3343\", _8I],\n [\"3344\", _8I],\n [\"3345\", _8I],\n [\"3350\", _8I],\n [\"3351\", _8I],\n [\"3352\", _8I],\n [\"3353\", _8I],\n [\"3354\", _8I],\n [\"3355\", _8I],\n [\"3360\", _8I],\n [\"3361\", _8I],\n [\"3362\", _8I],\n [\"3363\", _8I],\n [\"3364\", _8I],\n [\"3365\", _8I],\n [\"3370\", _8I],\n [\"3371\", _8I],\n [\"3372\", _8I],\n [\"3373\", _8I],\n [\"3374\", _8I],\n [\"3375\", _8I],\n [\"3400\", _8I],\n [\"3401\", _8I],\n [\"3402\", _8I],\n [\"3403\", _8I],\n [\"3404\", _8I],\n [\"3405\", _8I],\n [\"3410\", _8I],\n [\"3411\", _8I],\n [\"3412\", _8I],\n [\"3413\", _8I],\n [\"3414\", _8I],\n [\"3415\", _8I],\n [\"3420\", _8I],\n [\"3421\", _8I],\n [\"3422\", _8I],\n [\"3423\", _8I],\n [\"3424\", _8I],\n [\"3425\", _8I],\n [\"3430\", _8I],\n [\"3431\", _8I],\n [\"3432\", _8I],\n [\"3433\", _8I],\n [\"3434\", _8I],\n [\"3435\", _8I],\n [\"3440\", _8I],\n [\"3441\", _8I],\n [\"3442\", _8I],\n [\"3443\", _8I],\n [\"3444\", _8I],\n [\"3445\", _8I],\n [\"3450\", _8I],\n [\"3451\", _8I],\n [\"3452\", _8I],\n [\"3453\", _8I],\n [\"3454\", _8I],\n [\"3455\", _8I],\n [\"3460\", _8I],\n [\"3461\", _8I],\n [\"3462\", _8I],\n [\"3463\", _8I],\n [\"3464\", _8I],\n [\"3465\", _8I],\n [\"3470\", _8I],\n [\"3471\", _8I],\n [\"3472\", _8I],\n [\"3473\", _8I],\n [\"3474\", _8I],\n [\"3475\", _8I],\n [\"3480\", _8I],\n [\"3481\", _8I],\n [\"3482\", _8I],\n [\"3483\", _8I],\n [\"3484\", _8I],\n [\"3485\", _8I],\n [\"3490\", _8I],\n [\"3491\", _8I],\n [\"3492\", _8I],\n [\"3493\", _8I],\n [\"3494\", _8I],\n [\"3495\", _8I],\n [\"3500\", _8I],\n [\"3501\", _8I],\n [\"3502\", _8I],\n [\"3503\", _8I],\n [\"3504\", _8I],\n [\"3505\", _8I],\n [\"3510\", _8I],\n [\"3511\", _8I],\n [\"3512\", _8I],\n [\"3513\", _8I],\n [\"3514\", _8I],\n [\"3515\", _8I],\n [\"3520\", _8I],\n [\"3521\", _8I],\n [\"3522\", _8I],\n [\"3523\", _8I],\n [\"3524\", _8I],\n [\"3525\", _8I],\n [\"3530\", _8I],\n [\"3531\", _8I],\n [\"3532\", _8I],\n [\"3533\", _8I],\n [\"3534\", _8I],\n [\"3535\", _8I],\n [\"3540\", _8I],\n [\"3541\", _8I],\n [\"3542\", _8I],\n [\"3543\", _8I],\n [\"3544\", _8I],\n [\"3545\", _8I],\n [\"3550\", _8I],\n [\"3551\", _8I],\n [\"3552\", _8I],\n [\"3553\", _8I],\n [\"3554\", _8I],\n [\"3555\", _8I],\n [\"3560\", _8I],\n [\"3561\", _8I],\n [\"3562\", _8I],\n [\"3563\", _8I],\n [\"3564\", _8I],\n [\"3565\", _8I],\n [\"3570\", _8I],\n [\"3571\", _8I],\n [\"3572\", _8I],\n [\"3573\", _8I],\n [\"3574\", _8I],\n [\"3575\", _8I],\n [\"3600\", _8I],\n [\"3601\", _8I],\n [\"3602\", _8I],\n [\"3603\", _8I],\n [\"3604\", _8I],\n [\"3605\", _8I],\n [\"3610\", _8I],\n [\"3611\", _8I],\n [\"3612\", _8I],\n [\"3613\", _8I],\n [\"3614\", _8I],\n [\"3615\", _8I],\n [\"3620\", _8I],\n [\"3621\", _8I],\n [\"3622\", _8I],\n [\"3623\", _8I],\n [\"3624\", _8I],\n [\"3625\", _8I],\n [\"3630\", _8I],\n [\"3631\", _8I],\n [\"3632\", _8I],\n [\"3633\", _8I],\n [\"3634\", _8I],\n [\"3635\", _8I],\n [\"3640\", _8I],\n [\"3641\", _8I],\n [\"3642\", _8I],\n [\"3643\", _8I],\n [\"3644\", _8I],\n [\"3645\", _8I],\n [\"3650\", _8I],\n [\"3651\", _8I],\n [\"3652\", _8I],\n [\"3653\", _8I],\n [\"3654\", _8I],\n [\"3655\", _8I],\n [\"3660\", _8I],\n [\"3661\", _8I],\n [\"3662\", _8I],\n [\"3663\", _8I],\n [\"3664\", _8I],\n [\"3665\", _8I],\n [\"3670\", _8I],\n [\"3671\", _8I],\n [\"3672\", _8I],\n [\"3673\", _8I],\n [\"3674\", _8I],\n [\"3675\", _8I],\n [\"3680\", _8I],\n [\"3681\", _8I],\n [\"3682\", _8I],\n [\"3683\", _8I],\n [\"3684\", _8I],\n [\"3685\", _8I],\n [\"3690\", _8I],\n [\"3691\", _8I],\n [\"3692\", _8I],\n [\"3693\", _8I],\n [\"3694\", _8I],\n [\"3695\", _8I],\n [\"37\", $a([_8K])],\n [\"3900\", _8O],\n [\"3901\", _8O],\n [\"3902\", _8O],\n [\"3903\", _8O],\n [\"3904\", _8O],\n [\"3905\", _8O],\n [\"3906\", _8O],\n [\"3907\", _8O],\n [\"3908\", _8O],\n [\"3909\", _8O],\n [\"3910\", _8T],\n [\"3911\", _8T],\n [\"3912\", _8T],\n [\"3913\", _8T],\n [\"3914\", _8T],\n [\"3915\", _8T],\n [\"3916\", _8T],\n [\"3917\", _8T],\n [\"3918\", _8T],\n [\"3919\", _8T],\n [\"3920\", _8W],\n [\"3921\", _8W],\n [\"3922\", _8W],\n [\"3923\", _8W],\n [\"3924\", _8W],\n [\"3925\", _8W],\n [\"3926\", _8W],\n [\"3927\", _8W],\n [\"3928\", _8W],\n [\"3929\", _8W],\n [\"3930\", _8b],\n [\"3931\", _8b],\n [\"3932\", _8b],\n [\"3933\", _8b],\n [\"3934\", _8b],\n [\"3935\", _8b],\n [\"3936\", _8b],\n [\"3937\", _8b],\n [\"3938\", _8b],\n [\"3939\", _8b],\n [\"3940\", _8e],\n [\"3941\", _8e],\n [\"3942\", _8e],\n [\"3943\", _8e],\n [\"3950\", _8h],\n [\"3951\", _8h],\n [\"3952\", _8h],\n [\"3953\", _8h],\n [\"3954\", _8h],\n [\"3955\", _8h],\n [\"400\", $a([_8j])],\n [\"401\", $a([_8m])],\n [\"402\", $a([_8p])],\n [\"403\", $a([_8s])],\n [\"410\", _8w],\n [\"411\", _8w],\n [\"412\", _8w],\n [\"413\", _8w],\n [\"414\", _8w],\n [\"415\", _8w],\n [\"416\", _8w],\n [\"417\", _8w],\n [\"420\", $a([_8y])],\n [\"421\", $a([_91, _93])],\n [\"422\", $a([_96])],\n [\"423\", $a([_99])],\n [\"424\", $a([_9C])],\n [\"425\", $a([_9F])],\n [\"426\", $a([_9I])],\n [\"427\", $a([_9L])],\n [\"4300\", _9P],\n [\"4301\", _9P],\n [\"4302\", _9S],\n [\"4303\", _9S],\n [\"4304\", _9S],\n [\"4305\", _9S],\n [\"4306\", _9S],\n [\"4307\", $a([_9U])],\n [\"4308\", $a([_9X])],\n [\"4310\", _9b],\n [\"4311\", _9b],\n [\"4312\", _9e],\n [\"4313\", _9e],\n [\"4314\", _9e],\n [\"4315\", _9e],\n [\"4316\", _9e],\n [\"4317\", $a([_9g])],\n [\"4318\", $a([_9j])],\n [\"4319\", $a([_9m])],\n [\"4320\", $a([_9p])],\n [\"4321\", _9t],\n [\"4322\", _9t],\n [\"4323\", _9t],\n [\"4324\", _9y],\n [\"4325\", _9y],\n [\"4326\", $a([_A0])],\n [\"7001\", $a([_A3])],\n [\"7002\", $a([_A6])],\n [\"7003\", $a([_A9, _AB])],\n [\"7004\", $a([_AE])],\n [\"7005\", $a([_AH])],\n [\"7006\", $a([_AK])],\n [\"7007\", $a([_AN, _AP])],\n [\"7008\", $a([_AS])],\n [\"7009\", $a([_AV])],\n [\"7010\", $a([_AY])],\n [\"7020\", _Ac],\n [\"7021\", _Ac],\n [\"7022\", _Ac],\n [\"7023\", $a([_Ae])],\n [\"7030\", _Ak],\n [\"7031\", _Ak],\n [\"7032\", _Ak],\n [\"7033\", _Ak],\n [\"7034\", _Ak],\n [\"7035\", _Ak],\n [\"7036\", _Ak],\n [\"7037\", _Ak],\n [\"7038\", _Ak],\n [\"7039\", _Ak],\n [\"7040\", $a([_Am, _Ao, _Aq, _As])],\n [\"710\", _Aw],\n [\"711\", _Aw],\n [\"712\", _Aw],\n [\"713\", _Aw],\n [\"714\", _Aw],\n [\"7230\", _B1],\n [\"7231\", _B1],\n [\"7232\", _B1],\n [\"7233\", _B1],\n [\"7234\", _B1],\n [\"7235\", _B1],\n [\"7236\", _B1],\n [\"7237\", _B1],\n [\"7238\", _B1],\n [\"7239\", _B1],\n [\"7240\", $a([_B3])],\n [\"8001\", $a([_B6, _B8, _BA, _BC, _BE])],\n [\"8002\", $a([_BH])],\n [\"8003\", $a([_BK, _BM, _BO])],\n [\"8004\", $a([_BR])],\n [\"8005\", $a([_BU])],\n [\"8006\", $a([_BX, _BZ])],\n [\"8007\", $a([_Bc])],\n [\"8008\", $a([_Bf, _Bh])],\n [\"8009\", $a([_Bk])],\n [\"8010\", $a([_Bn])],\n [\"8011\", $a([_Bq])],\n [\"8012\", $a([_Bt])],\n [\"8013\", $a([_Bw])],\n [\"8017\", _C0],\n [\"8018\", _C0],\n [\"8019\", $a([_C2])],\n [\"8020\", $a([_C5])],\n [\"8026\", $a([_C8, _CA])],\n [\"8110\", $a([_CD])],\n [\"8111\", $a([_CG])],\n [\"8112\", $a([_CJ])],\n [\"8200\", $a([_CM])],\n [\"90\", $a([_CP])],\n [\"91\", _CT],\n [\"92\", _CT],\n [\"93\", _CT],\n [\"94\", _CT],\n [\"95\", _CT],\n [\"96\", _CT],\n [\"97\", _CT],\n [\"98\", _CT],\n [\"99\", _CT]\n ]); //#1837\n $1.gs1syntax = _CU; //#1839\n $k[$j++] = true; //#1866\n for (var _CX = 0, _CW = $1.vals.length - 1; _CX <= _CW; _CX += 1) { //#1866\n $1.ai = $get($1.ais, _CX); //#1843\n $1.val = $get($1.vals, _CX); //#1844\n var _Ce = $get($1.gs1syntax, $1.ai) !== undefined; //#1845\n if (_Ce) { //#1864\n $forall($get($1.gs1syntax, $1.ai), function() { //#1858\n $1.props = $k[--$j]; //#1847\n var _Ck = $get($1.props, 'max'); //#1848\n var _Cl = $1.val; //#1848\n var _Cm = _Cl.length; //#1848\n if (_Ck > _Cl.length) { //#1848\n var _ = _Cm; //#1848\n _Cm = _Ck; //#1848\n _Ck = _; //#1848\n } //#1848\n $1.eval = $geti($1.val, 0, _Ck); //#1849\n var _Cr = $1.eval.length; //#1850\n $1.val = $geti($1.val, _Cr, $1.val.length - _Cr); //#1850\n if ($1.eval.length < $get($1.props, 'min')) { //#1853\n $j--; //#1852\n $k[$j++] = 'bwipp.GS1valueTooShort'; //#1852\n $k[$j++] = \"Too short\"; //#1852\n $k[$j++] = false; //#1852\n return true; //#1852\n } //#1852\n var _Cx = new Map([\n [\"N\", 'lintnumeric'],\n [\"X\", 'lintcset82'],\n [\"C\", 'lintcset39']\n ]); //#1854\n $k[$j++] = $1.eval; //#1854\n if ($1[$get(_Cx, $get($1.props, 'cset'))]() === true) {\n return true;\n } //#1854\n if ($1.eval.length > 0) { //#1857\n $forall($get($1.props, 'check'), function() { //#1856\n var _D8 = $1[$k[--$j]]; //#1856\n $k[$j++] = $1.eval; //#1856\n if (_D8() === true) {\n return true;\n } //#1856\n }); //#1856\n } //#1856\n }); //#1856\n var _D9 = $k[--$j]; //#1859\n $k[$j++] = _D9; //#1859\n if ($nt(_D9)) { //#1859\n break; //#1859\n } //#1859\n if ($1.val.length != 0) { //#1862\n $j--; //#1861\n $k[$j++] = 'bwipp.GS1valueTooLong'; //#1861\n $k[$j++] = \"Too long\"; //#1861\n $k[$j++] = false; //#1861\n break; //#1861\n } //#1861\n } else { //#1864\n $j--; //#1864\n $k[$j++] = 'bwipp.GS1unknownAI'; //#1864\n $k[$j++] = \"Unrecognised AI\"; //#1864\n $k[$j++] = false; //#1864\n break; //#1864\n } //#1864\n } //#1864\n if ($nt($k[--$j])) { //#1874\n var _DC = $k[--$j]; //#1868\n var _DE = $s((_DC.length + $1.ai.length) + 5); //#1868\n $puti(_DE, 0, \"AI \"); //#1869\n $puti(_DE, 3, $1.ai); //#1870\n $puti(_DE, 3 + $1.ai.length, \": \"); //#1871\n $puti(_DE, 5 + $1.ai.length, _DC); //#1872\n $k[$j++] = _DE; //#1873\n bwipp_raiseerror(); //#1873\n } //#1873\n $k[$j++] = true; //#1877\n}\n\nfunction bwipp_renmatrix() {\n if ($0.bwipjs_dontdraw) { //#2145\n return; //#2145\n } //#2145\n var $1 = {}; //#2147\n $1.args = $k[--$j]; //#2149\n $1.width = 1; //#2152\n $1.height = 1; //#2153\n $1.barcolor = \"unset\"; //#2154\n $1.backgroundcolor = \"unset\"; //#2155\n $1.colormap = \"unset\"; //#2156\n $1.dotty = false; //#2157\n $1.inkspread = 0; //#2158\n $1.inkspreadh = 0; //#2159\n $1.inkspreadv = 0; //#2160\n $1.includetext = false; //#2161\n $1.txt = $a([]); //#2162\n $1.textcolor = \"unset\"; //#2163\n $1.textxalign = \"unset\"; //#2164\n $1.textyalign = \"unset\"; //#2165\n $1.textfont = \"OCR-B\"; //#2166\n $1.textsize = 10; //#2167\n $1.textxoffset = 0; //#2168\n $1.textyoffset = 0; //#2169\n $1.textgaps = 0; //#2170\n $1.alttext = \"\"; //#2171\n $forall($1.args, function() { //#2174\n var _4 = $k[--$j]; //#2174\n $1[$k[--$j]] = _4; //#2174\n }); //#2174\n var _6 = $1.opt; //#2175\n for (var _B = _6.size, _A = _6.keys(), _9 = 0; _9 < _B; _9++) { //#2175\n var _7 = _A.next().value; //#2175\n $1[_7] = _6.get(_7); //#2175\n } //#2175\n $1.width = +$1.width; //#2177\n $1.height = +$1.height; //#2178\n $1.barcolor = \"\" + $1.barcolor; //#2179\n $1.backgroundcolor = \"\" + $1.backgroundcolor; //#2180\n $1.inkspread = +$1.inkspread; //#2181\n $1.inkspreadh = +$1.inkspreadh; //#2182\n $1.inkspreadv = +$1.inkspreadv; //#2183\n $1.textcolor = \"\" + $1.textcolor; //#2184\n $1.textxalign = \"\" + $1.textxalign; //#2185\n $1.textyalign = \"\" + $1.textyalign; //#2186\n $1.textfont = \"\" + $1.textfont; //#2187\n $1.textsize = +$1.textsize; //#2188\n $1.textxoffset = +$1.textxoffset; //#2189\n $1.textyoffset = +$1.textyoffset; //#2190\n $1.textgaps = +$1.textgaps; //#2191\n $1.alttext = \"\" + $1.alttext; //#2192\n if ($1.inkspread != 0) { //#2194\n $1.inkspreadh = $1.inkspread; //#2194\n } //#2194\n if ($1.inkspread != 0) { //#2195\n $1.inkspreadv = $1.inkspread; //#2195\n } //#2195\n $1.xyget = function() {\n var _X = $k[--$j]; //#2197\n var _a = $get($1.pixs, $f($k[--$j] + (_X * $1.pixx))); //#2197\n $k[$j++] = _a; //#2197\n }; //#2197\n $1.cget = function() {\n var _c = $k[--$j]; //#2198\n var _f = $get($1.cache, $f($k[--$j] + (_c * $1.pixx))); //#2198\n var _g = $k[--$j]; //#2198\n $k[$j++] = $an(_g, _f); //#2198\n }; //#2198\n $1.cput = function() {\n var _h = $k[--$j]; //#2200\n $k[$j++] = _h; //#2204\n if ((_h % 4) == 0) { //#2203\n var _i = $k[--$j]; //#2201\n var _j = $k[--$j]; //#2201\n var _k = $k[--$j]; //#2201\n var _l = $1.pixx; //#2201\n var _m = $1.cache; //#2201\n $put(_m, $f(_k + (_j * _l)), $or($get(_m, $f(_k + (_j * _l))), _i)); //#2201\n } else { //#2203\n $j -= 3; //#2203\n } //#2203\n }; //#2205\n $1.abcd = function() {\n $k[$j++] = $s(4); //#2212\n $k[$j++] = 0; //#2212\n $k[$j++] = Infinity; //#2212\n var _p = $k[--$j]; //#2209\n var _q = $k[--$j]; //#2209\n var _r = $k[--$j]; //#2209\n var _s = $k[--$j]; //#2209\n var _v = $f($k[--$j] + (_s * $1.pixx)); //#2210\n $k[$j++] = _r; //#2211\n $k[$j++] = _q; //#2211\n $k[$j++] = _p; //#2211\n $k[$j++] = _v; //#2211\n $aload($geti($1.pixs, _v, 2)); //#2211\n var _y = $k[--$j]; //#2211\n var _z = $k[--$j]; //#2211\n var _13 = $geti($1.pixs, $f($k[--$j] + $1.pixx), 2); //#2212\n $k[$j++] = _z; //#2212\n $k[$j++] = _y; //#2212\n $aload(_13); //#2212\n var _14 = $a(); //#2212\n for (var _15 = 0, _16 = _14.length; _15 < _16; _15++) { //#2213\n var _18 = $k[--$j]; //#2213\n var _19 = $k[--$j]; //#2213\n $put(_19, _18, $f($get(_14, _15) + 48)); //#2213\n $k[$j++] = _19; //#2213\n $k[$j++] = $f(_18 + 1); //#2213\n } //#2213\n $j--; //#2213\n }; //#2214\n $1.right = function() {\n if ($1.dir != 1) { //#2216\n $k[$j++] = $1.x; //#2216\n $k[$j++] = $1.y; //#2216\n $k[$j++] = $1.dir; //#2216\n $1.cput(); //#2216\n $k[$j++] = $a([$1.x, $1.y]); //#2216\n } //#2216\n $1.x = $1.x + 1; //#2216\n $1.dir = 1; //#2216\n }; //#2216\n $1.down = function() {\n if ($1.dir != 2) { //#2217\n $k[$j++] = $1.x; //#2217\n $k[$j++] = $1.y; //#2217\n $k[$j++] = $1.dir; //#2217\n $1.cput(); //#2217\n $k[$j++] = $a([$1.x, $1.y]); //#2217\n } //#2217\n $1.y = $1.y + 1; //#2217\n $1.dir = 2; //#2217\n }; //#2217\n $1.left = function() {\n if ($1.dir != 4) { //#2218\n $k[$j++] = $1.x; //#2218\n $k[$j++] = $1.y; //#2218\n $k[$j++] = $1.dir; //#2218\n $1.cput(); //#2218\n $k[$j++] = $a([$1.x, $1.y]); //#2218\n } //#2218\n $1.x = $1.x - 1; //#2218\n $1.dir = 4; //#2218\n }; //#2218\n $1.up = function() {\n if ($1.dir != 8) { //#2219\n $k[$j++] = $1.x; //#2219\n $k[$j++] = $1.y; //#2219\n $k[$j++] = $1.dir; //#2219\n $1.cput(); //#2219\n $k[$j++] = $a([$1.x, $1.y]); //#2219\n } //#2219\n $1.y = $1.y - 1; //#2219\n $1.dir = 8; //#2219\n }; //#2219\n $1.trace = function() {\n $1.y = $k[--$j]; //#2223\n $1.x = $k[--$j]; //#2223\n $k[$j++] = 'dir'; //#2225\n $k[$j++] = $f($1.x + 1); //#2225\n $k[$j++] = $f($1.y + 1); //#2225\n $1.xyget(); //#2225\n var _1l = ($k[--$j] == 1) ? 8 : 4; //#2225\n $1[$k[--$j]] = _1l; //#2225\n $1.sx = $1.x; //#2226\n $1.sy = $1.y; //#2226\n $1.sdir = $1.dir; //#2226\n $k[$j++] = Infinity; //#2230\n for (;;) { //#2244\n $k[$j++] = $1.x; //#2231\n $k[$j++] = $1.y; //#2231\n $1.abcd(); //#2231\n for (var _1s = 0, _1t = 1; _1s < _1t; _1s++) { //#2242\n var _1u = $k[--$j]; //#2233\n $k[$j++] = _1u; //#2233\n if ($eq(_1u, \"0001\") || ($eq(_1u, \"0011\") || $eq(_1u, \"1011\"))) { //#2233\n $j--; //#2233\n $1.right(); //#2233\n break; //#2233\n } //#2233\n var _1v = $k[--$j]; //#2234\n $k[$j++] = _1v; //#2234\n if ($eq(_1v, \"0010\") || ($eq(_1v, \"1010\") || $eq(_1v, \"1110\"))) { //#2234\n $j--; //#2234\n $1.down(); //#2234\n break; //#2234\n } //#2234\n var _1w = $k[--$j]; //#2235\n $k[$j++] = _1w; //#2235\n if ($eq(_1w, \"1000\") || ($eq(_1w, \"1100\") || $eq(_1w, \"1101\"))) { //#2235\n $j--; //#2235\n $1.left(); //#2235\n break; //#2235\n } //#2235\n var _1x = $k[--$j]; //#2236\n $k[$j++] = _1x; //#2236\n if ($eq(_1x, \"0100\") || ($eq(_1x, \"0101\") || $eq(_1x, \"0111\"))) { //#2236\n $j--; //#2236\n $1.up(); //#2236\n break; //#2236\n } //#2236\n var _1y = $k[--$j]; //#2237\n $k[$j++] = _1y; //#2241\n if ($eq(_1y, \"1001\")) { //#2240\n if ($1.dir == 2) { //#2238\n $j--; //#2238\n $1.left(); //#2238\n break; //#2238\n } else { //#2238\n $j--; //#2238\n $1.right(); //#2238\n break; //#2238\n } //#2238\n } else { //#2240\n if ($1.dir == 1) { //#2240\n $j--; //#2240\n $1.down(); //#2240\n break; //#2240\n } else { //#2240\n $j--; //#2240\n $1.up(); //#2240\n break; //#2240\n } //#2240\n } //#2240\n } //#2240\n if (($eq($1.x, $1.sx) && $eq($1.y, $1.sy)) && ($1.dir == $1.sdir)) { //#2243\n break; //#2243\n } //#2243\n } //#2243\n $astore($a($counttomark())); //#2245\n var _29 = $k[--$j]; //#2245\n var _2A = $k[--$j]; //#2245\n $k[$j++] = _29; //#2245\n $k[$j++] = _2A; //#2245\n $j--; //#2245\n }; //#2247\n $1.drawlayer = function() {\n $1.pixsorig = $1.pixs; //#2263\n $1.pixs = $k[--$j]; //#2264\n $k[$j++] = Infinity; //#2274\n for (var _2E = 0, _2F = $1.pixx + 2; _2E < _2F; _2E++) { //#2268\n $k[$j++] = 0; //#2268\n } //#2268\n for (var _2J = 0, _2K = $1.pixx, _2I = $1.pixs.length - 1; _2K < 0 ? _2J >= _2I : _2J <= _2I; _2J += _2K) { //#2273\n $k[$j++] = 0; //#2271\n $aload($geti($1.pixs, _2J, $1.pixx)); //#2271\n $k[$j++] = 0; //#2272\n } //#2272\n for (var _2P = 0, _2Q = $1.pixx + 2; _2P < _2Q; _2P++) { //#2274\n $k[$j++] = 0; //#2274\n } //#2274\n $1.pixs = $a(); //#2274\n $1.pixx = $1.pixx + 2; //#2276\n $1.pixy = $1.pixy + 2; //#2277\n $k[$j++] = Infinity; //#2280\n for (var _2V = 0, _2W = $1.pixs.length; _2V < _2W; _2V++) { //#2280\n $k[$j++] = 0; //#2280\n } //#2280\n $1.cache = $a(); //#2280\n $k[$j++] = Infinity; //#2296\n for (var _2a = 0, _2Z = $1.pixy - 2; _2a <= _2Z; _2a += 1) { //#2300\n $1.j = _2a; //#2285\n for (var _2d = 0, _2c = $1.pixx - 2; _2d <= _2c; _2d += 1) { //#2299\n $1.i = _2d; //#2287\n $k[$j++] = 'k'; //#2288\n $k[$j++] = $1.i; //#2288\n $k[$j++] = $1.j; //#2288\n $1.abcd(); //#2288\n var _2g = $k[--$j]; //#2288\n $1[$k[--$j]] = _2g; //#2288\n if ($eq($1.k, \"0001\") || $eq($1.k, \"1001\")) { //#2293\n $k[$j++] = 8; //#2290\n $k[$j++] = $1.i; //#2290\n $k[$j++] = $1.j; //#2290\n $1.cget(); //#2290\n if ($k[--$j] == 0) { //#2292\n $k[$j++] = $1.i; //#2291\n $k[$j++] = $1.j; //#2291\n $1.trace(); //#2291\n } //#2291\n } //#2291\n if ($eq($1.k, \"1110\")) { //#2298\n $k[$j++] = 4; //#2295\n $k[$j++] = $1.i; //#2295\n $k[$j++] = $1.j; //#2295\n $1.cget(); //#2295\n if ($k[--$j] == 0) { //#2297\n $k[$j++] = $1.i; //#2296\n $k[$j++] = $1.j; //#2296\n $1.trace(); //#2296\n } //#2296\n } //#2296\n } //#2296\n } //#2296\n $1.paths = $a(); //#2296\n $1.pixx = $1.pixx - 2; //#2304\n $1.pixy = $1.pixy - 2; //#2305\n $$.newpath(); //#2308\n var _2y = $1.paths; //#2309\n for (var _2z = 0, _30 = _2y.length; _2z < _30; _2z++) { //#2327\n $1.p = $get(_2y, _2z); //#2310\n $1.len = $1.p.length; //#2311\n $aload($get($1.p, $1.len - 1)); //#2312\n $aload($get($1.p, 0)); //#2313\n for (var _3A = 0, _39 = $1.len - 1; _3A <= _39; _3A += 1) { //#2324\n $1.i = _3A; //#2315\n $aload($get($1.p, ($1.i + 1) % $1.len)); //#2316\n var _3F = $k[--$j]; //#2316\n var _3G = $k[--$j]; //#2316\n var _3H = $k[--$j]; //#2316\n var _3I = $k[--$j]; //#2316\n var _3J = $k[--$j]; //#2316\n var _3K = $k[--$j]; //#2316\n $k[$j++] = _3I; //#2318\n $k[$j++] = _3H; //#2318\n $k[$j++] = _3G; //#2318\n $k[$j++] = _3F; //#2318\n $k[$j++] = _3K; //#2318\n $k[$j++] = _3I; //#2318\n $k[$j++] = $1.inkspreadh; //#2318\n if ($lt(_3F, _3J)) { //#2318\n var _3M = $k[--$j]; //#2318\n var _3N = $k[--$j]; //#2318\n $k[$j++] = $f(_3N + _3M); //#2318\n } else { //#2318\n var _3O = $k[--$j]; //#2318\n var _3P = $k[--$j]; //#2318\n $k[$j++] = $f(_3P - _3O); //#2318\n } //#2318\n var _3Q = $k[--$j]; //#2319\n var _3R = $k[--$j]; //#2319\n var _3S = $k[--$j]; //#2319\n var _3T = $k[--$j]; //#2319\n var _3U = $k[--$j]; //#2320\n $k[$j++] = _3U; //#2321\n $k[$j++] = _3Q; //#2321\n $k[$j++] = _3T; //#2321\n $k[$j++] = _3S; //#2321\n $k[$j++] = _3U; //#2321\n $k[$j++] = $1.inkspreadv; //#2321\n if ($gt(_3T, _3R)) { //#2321\n var _3W = $k[--$j]; //#2321\n var _3X = $k[--$j]; //#2321\n $k[$j++] = $f(_3X + _3W); //#2321\n } else { //#2321\n var _3Y = $k[--$j]; //#2321\n var _3Z = $k[--$j]; //#2321\n $k[$j++] = $f(_3Z - _3Y); //#2321\n } //#2321\n var _3a = $k[--$j]; //#2322\n var _3b = $k[--$j]; //#2322\n var _3c = $k[--$j]; //#2322\n var _3d = $k[--$j]; //#2322\n $k[$j++] = _3c; //#2323\n $k[$j++] = _3b; //#2323\n $k[$j++] = _3d; //#2323\n $k[$j++] = $f($1.pixy - _3a); //#2323\n if ($1.i == 0) { //#2323\n var _3g = $k[--$j]; //#2323\n $$.moveto($k[--$j], _3g); //#2323\n } else { //#2323\n var _3i = $k[--$j]; //#2323\n $$.lineto($k[--$j], _3i); //#2323\n } //#2323\n } //#2323\n $$.closepath(); //#2325\n $j -= 4; //#2326\n } //#2326\n $$.fill(); //#2328\n $1.pixs = $1.pixsorig; //#2330\n }; //#2332\n $1.drawlayerdots = function() {\n $1.pixsorig = $1.pixs; //#2336\n $1.pixs = $k[--$j]; //#2337\n $$.newpath(); //#2339\n for (var _3p = 0, _3o = $1.pixs.length - 1; _3p <= _3o; _3p += 1) { //#2347\n $1.x = _3p % $1.pixx; //#2341\n $1.y = ~~(_3p / $1.pixx); //#2342\n $k[$j++] = $1.x; //#2343\n $k[$j++] = $1.y; //#2343\n $1.xyget(); //#2343\n if ($k[--$j] == 1) { //#2346\n $$.moveto($f($1.x + 0.5), $f(($1.pixy - $1.y) - 0.5)); //#2344\n $$.arc($f($1.x + 0.5), $f(($1.pixy - $1.y) - 0.5), $f(0.5 - $1.inkspread), 0, 360, 1); //#2345\n } //#2345\n } //#2345\n $$.fill(); //#2348\n $1.pixs = $1.pixsorig; //#2350\n }; //#2352\n $$.save(); //#2354\n $1.inkspread = $1.inkspread / 2; //#2357\n $1.inkspreadh = $1.inkspreadh / 2; //#2358\n $1.inkspreadv = $1.inkspreadv / 2; //#2359\n var _46 = $$.currpos(); //#2360\n $$.translate(_46.x, _46.y); //#2360\n $$.scale(($1.width / $1.pixx) * 72, ($1.height / $1.pixy) * 72); //#2361\n $$.moveto(0, 0); //#2362\n $$.lineto($1.pixx, 0); //#2362\n $$.lineto($1.pixx, $1.pixy); //#2362\n $$.lineto(0, $1.pixy); //#2362\n $$.closepath(); //#2362\n if ($eq($1.colormap, \"unset\")) { //#2367\n var _4H = new Map([\n [1, $1.barcolor]\n ]); //#2366\n $1.colormap = _4H; //#2366\n } //#2366\n var _4I = $1.colormap; //#2369\n for (var _4N = _4I.size, _4M = _4I.keys(), _4L = 0; _4L < _4N; _4L++) { //#2375\n var _4J = _4M.next().value; //#2375\n $$.setcolor(_4I.get(_4J)); //#2370\n $1.key = _4J; //#2371\n $k[$j++] = Infinity; //#2373\n var _4O = $1.pixs; //#2373\n for (var _4P = 0, _4Q = _4O.length; _4P < _4Q; _4P++) { //#2373\n var _4T = $eq($get(_4O, _4P), $1.key) ? 1 : 0; //#2373\n $k[$j++] = _4T; //#2373\n } //#2373\n var _4U = $a(); //#2373\n $k[$j++] = _4U; //#2374\n if ($1.dotty) { //#2374\n $1.drawlayerdots(); //#2374\n } else { //#2374\n $1.drawlayer(); //#2374\n } //#2374\n } //#2374\n if ($ne($1.textcolor, \"unset\")) { //#2378\n $$.setcolor($1.textcolor); //#2378\n } //#2378\n if ($1.includetext) { //#2435\n if (($eq($1.textxalign, \"unset\") && $eq($1.textyalign, \"unset\")) && $eq($1.alttext, \"\")) { //#2433\n $1.s = 0; //#2381\n $1.fn = \"\"; //#2381\n var _4c = $1.txt; //#2382\n for (var _4d = 0, _4e = _4c.length; _4d < _4e; _4d++) { //#2391\n $forall($get(_4c, _4d)); //#2383\n var _4g = $k[--$j]; //#2384\n var _4h = $k[--$j]; //#2384\n $k[$j++] = _4h; //#2389\n $k[$j++] = _4g; //#2389\n if ((_4g != $1.s) || $ne(_4h, $1.fn)) { //#2388\n var _4k = $k[--$j]; //#2385\n var _4l = $k[--$j]; //#2385\n $1.s = _4k; //#2385\n $1.fn = _4l; //#2385\n $$.selectfont(_4l, _4k); //#2386\n } else { //#2388\n $j -= 2; //#2388\n } //#2388\n var _4m = $k[--$j]; //#2390\n $$.moveto($k[--$j], _4m); //#2390\n $$.show($k[--$j], 0, 0); //#2390\n } //#2390\n } else { //#2433\n $$.selectfont($1.textfont, $1.textsize); //#2393\n if ($eq($1.alttext, \"\")) { //#2399\n $k[$j++] = Infinity; //#2395\n var _4s = $1.txt; //#2395\n for (var _4t = 0, _4u = _4s.length; _4t < _4u; _4t++) { //#2395\n $forall($get($get(_4s, _4t), 0)); //#2395\n } //#2395\n $1.txt = $a(); //#2395\n $1.tstr = $s($1.txt.length); //#2396\n for (var _52 = 0, _51 = $1.txt.length - 1; _52 <= _51; _52 += 1) { //#2397\n $put($1.tstr, _52, $get($1.txt, _52)); //#2397\n } //#2397\n } else { //#2399\n $1.tstr = $1.alttext; //#2399\n } //#2399\n if ($1.tstr.length == 0) { //#2409\n $k[$j++] = 0; //#2404\n } else { //#2409\n $$.save(); //#2406\n $$.newpath(); //#2407\n $$.moveto(0, 0); //#2407\n $$.charpath(\"0\", false); //#2407\n var _58 = $$.pathbbox(); //#2407\n $$.restore(); //#2409\n $k[$j++] = _58.ury; //#2409\n } //#2409\n $1.textascent = $k[--$j]; //#2418\n var _5B = $$.stringwidth($1.tstr); //#2419\n $1.textwidth = $f(_5B.w + (($1.tstr.length - 1) * $1.textgaps)); //#2419\n $1.textxpos = $f($1.textxoffset + ($f($1.x - $1.textwidth) / 2)); //#2421\n if ($eq($1.textxalign, \"left\")) { //#2422\n $1.textxpos = $1.textxoffset; //#2422\n } //#2422\n if ($eq($1.textxalign, \"right\")) { //#2423\n $1.textxpos = $f($f($1.x - $1.textxoffset) - $1.textwidth); //#2423\n } //#2423\n if ($eq($1.textxalign, \"offleft\")) { //#2424\n $1.textxpos = -$f($1.textwidth + $1.textxoffset); //#2424\n } //#2424\n if ($eq($1.textxalign, \"offright\")) { //#2425\n $1.textxpos = $f($1.x + $1.textxoffset); //#2425\n } //#2425\n if ($eq($1.textxalign, \"justify\") && ($1.textwidth < $1.x)) { //#2429\n $1.textxpos = 0; //#2427\n $1.textgaps = $f($1.x - $1.textwidth) / ($1.tstr.length - 1); //#2428\n } //#2428\n $1.textypos = -($f($f($1.textyoffset + $1.textascent) + 1)); //#2430\n if ($eq($1.textyalign, \"above\")) { //#2431\n $1.textypos = $f($f($1.textyoffset + $1.pixy) + 1); //#2431\n } //#2431\n if ($eq($1.textyalign, \"center\")) { //#2432\n $1.textypos = $f($1.textyoffset + ($f($1.pixy - $1.textascent) / 2)); //#2432\n } //#2432\n $$.moveto($1.textxpos, $1.textypos); //#2433\n $$.show($1.tstr, $1.textgaps, 0); //#2433\n } //#2433\n } //#2433\n $$.restore(); //#2437\n}\n\nfunction bwipp_ean5() {\n var $1 = {}; //#2555\n $1.options = $k[--$j]; //#2557\n $1.barcode = $k[--$j]; //#2558\n $1.dontdraw = false; //#2560\n $1.includetext = false; //#2561\n $1.textfont = \"OCR-B\"; //#2562\n $1.textsize = 12; //#2563\n $1.textxoffset = 0; //#2564\n $1.textyoffset = \"unset\"; //#2565\n $1.height = 0.7; //#2566\n $forall($1.options, function() { //#2577\n var _3 = $k[--$j]; //#2577\n $1[$k[--$j]] = _3; //#2577\n }); //#2577\n $1.textfont = \"\" + $1.textfont; //#2579\n $1.textsize = +$1.textsize; //#2580\n $1.height = +$1.height; //#2581\n $1.textxoffset = +$1.textxoffset; //#2582\n if ($eq($1.textyoffset, \"unset\")) { //#2586\n $1.textyoffset = $f(($1.height * 72) + 1); //#2584\n } else { //#2586\n $1.textyoffset = +$1.textyoffset; //#2586\n } //#2586\n if ($1.barcode.length != 5) { //#2592\n $k[$j++] = 'bwipp.ean5badLength'; //#2591\n $k[$j++] = \"EAN-5 add-on must be 5 digits\"; //#2591\n bwipp_raiseerror(); //#2591\n } //#2591\n $forall($1.barcode, function() { //#2597\n var _E = $k[--$j]; //#2594\n if ((_E < 48) || (_E > 57)) { //#2596\n $k[$j++] = 'bwipp.ean5badCharacter'; //#2595\n $k[$j++] = \"EAN-5 add-on must contain only digits\"; //#2595\n bwipp_raiseerror(); //#2595\n } //#2595\n }); //#2595\n $1.encs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"1312\", \"1213\", \"3112\", \"112\", \"11\"]); //#2604\n $1.barchars = \"0123456789\"; //#2607\n $1.mirrormaps = $a([\"11000\", \"10100\", \"10010\", \"10001\", \"01100\", \"00110\", \"00011\", \"01010\", \"01001\", \"00101\"]); //#2613\n $1.checksum = 0; //#2614\n for (var _H = 0; _H <= 4; _H += 1) { //#2623\n $1.i = _H; //#2616\n $1.barchar = $f($get($1.barcode, $1.i) - 48); //#2617\n if (($1.i % 2) == 0) { //#2621\n $1.checksum = $f(($1.barchar * 3) + $1.checksum); //#2619\n } else { //#2621\n $1.checksum = $f(($1.barchar * 9) + $1.checksum); //#2621\n } //#2621\n } //#2621\n $1.checksum = $1.checksum % 10; //#2624\n $1.mirrormap = $get($1.mirrormaps, $1.checksum); //#2625\n $1.sbs = $s(31); //#2627\n $1.txt = $a(5); //#2628\n for (var _W = 0; _W <= 4; _W += 1) { //#2658\n $1.i = _W; //#2631\n if ($1.i == 0) { //#2637\n $puti($1.sbs, 0, $get($1.encs, 10)); //#2635\n } else { //#2637\n $puti($1.sbs, (($1.i - 1) * 6) + 7, $get($1.encs, 11)); //#2637\n } //#2637\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#2641\n $j--; //#2642\n $1.indx = $k[--$j].length; //#2643\n $j -= 2; //#2644\n $1.enc = $get($1.encs, $1.indx); //#2645\n if ($get($1.mirrormap, $1.i) == 49) { //#2655\n $1.enclen = $1.enc.length; //#2647\n $1.revenc = $s($1.enclen); //#2648\n for (var _v = 0, _u = $1.enclen - 1; _v <= _u; _v += 1) { //#2653\n $1.j = _v; //#2650\n $1.char = $get($1.enc, $1.j); //#2651\n $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); //#2652\n } //#2652\n $1.enc = $1.revenc; //#2654\n } //#2654\n $puti($1.sbs, ($1.i * 6) + 3, $1.enc); //#2656\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(((($1.i - 1) * 9) + 13) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#2657\n } //#2657\n $k[$j++] = Infinity; //#2672\n $k[$j++] = Infinity; //#2663\n var _1I = $1.sbs; //#2663\n for (var _1J = 0, _1K = _1I.length; _1J < _1K; _1J++) { //#2663\n $k[$j++] = $get(_1I, _1J) - 48; //#2663\n } //#2663\n var _1M = $a(); //#2663\n $k[$j++] = Infinity; //#2664\n for (var _1N = 0, _1O = 16; _1N < _1O; _1N++) { //#2664\n $k[$j++] = $1.height; //#2664\n } //#2664\n var _1Q = $a(); //#2664\n $k[$j++] = Infinity; //#2665\n for (var _1R = 0, _1S = 16; _1R < _1S; _1R++) { //#2665\n $k[$j++] = 0; //#2665\n } //#2665\n var _1T = $a(); //#2665\n $k[$j++] = 'ren'; //#2668\n $k[$j++] = bwipp_renlinear; //#2668\n $k[$j++] = 'sbs'; //#2668\n $k[$j++] = _1M; //#2668\n $k[$j++] = 'bhs'; //#2668\n $k[$j++] = _1Q; //#2668\n $k[$j++] = 'bbs'; //#2668\n $k[$j++] = _1T; //#2668\n if ($1.includetext) { //#2668\n $k[$j++] = 'txt'; //#2667\n $k[$j++] = $1.txt; //#2667\n } //#2667\n $k[$j++] = 'opt'; //#2672\n $k[$j++] = $1.options; //#2672\n $k[$j++] = 'guardrightpos'; //#2672\n $k[$j++] = 10; //#2672\n $k[$j++] = 'guardrightypos'; //#2672\n $k[$j++] = $f($1.textyoffset + 4); //#2672\n $k[$j++] = 'bordertop'; //#2672\n $k[$j++] = 10; //#2672\n var _1Y = $d(); //#2672\n $k[$j++] = _1Y; //#2675\n if (!$1.dontdraw) { //#2675\n bwipp_renlinear(); //#2675\n } //#2675\n}\n\nfunction bwipp_ean2() {\n var $1 = {}; //#2704\n $1.options = $k[--$j]; //#2706\n $1.barcode = $k[--$j]; //#2707\n $1.dontdraw = false; //#2709\n $1.includetext = false; //#2710\n $1.textfont = \"OCR-B\"; //#2711\n $1.textsize = 12; //#2712\n $1.textxoffset = 0; //#2713\n $1.textyoffset = \"unset\"; //#2714\n $1.height = 0.7; //#2715\n $forall($1.options, function() { //#2726\n var _3 = $k[--$j]; //#2726\n $1[$k[--$j]] = _3; //#2726\n }); //#2726\n $1.textfont = \"\" + $1.textfont; //#2728\n $1.textsize = +$1.textsize; //#2729\n $1.height = +$1.height; //#2730\n $1.textxoffset = +$1.textxoffset; //#2731\n if ($eq($1.textyoffset, \"unset\")) { //#2735\n $1.textyoffset = $f(($1.height * 72) + 1); //#2733\n } else { //#2735\n $1.textyoffset = +$1.textyoffset; //#2735\n } //#2735\n if ($1.barcode.length != 2) { //#2741\n $k[$j++] = 'bwipp.ean2badLength'; //#2740\n $k[$j++] = \"EAN-2 add-on must be 2 digits\"; //#2740\n bwipp_raiseerror(); //#2740\n } //#2740\n $forall($1.barcode, function() { //#2746\n var _E = $k[--$j]; //#2743\n if ((_E < 48) || (_E > 57)) { //#2745\n $k[$j++] = 'bwipp.ean2badCharacter'; //#2744\n $k[$j++] = \"EAN-2 add-on must contain only digits\"; //#2744\n bwipp_raiseerror(); //#2744\n } //#2744\n }); //#2744\n $1.encs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"1312\", \"1213\", \"3112\", \"112\", \"11\"]); //#2753\n $1.barchars = \"0123456789\"; //#2756\n $1.mirrormap = $get($a([\"00\", \"01\", \"10\", \"11\"]), (~~$z($geti($1.barcode, 0, 2))) % 4); //#2759\n $1.sbs = $s(13); //#2761\n $1.txt = $a(2); //#2762\n for (var _M = 0; _M <= 1; _M += 1) { //#2792\n $1.i = _M; //#2765\n if ($1.i == 0) { //#2771\n $puti($1.sbs, 0, $get($1.encs, 10)); //#2769\n } else { //#2771\n $puti($1.sbs, (($1.i - 1) * 6) + 7, $get($1.encs, 11)); //#2771\n } //#2771\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#2775\n $j--; //#2776\n $1.indx = $k[--$j].length; //#2777\n $j -= 2; //#2778\n $1.enc = $get($1.encs, $1.indx); //#2779\n if ($get($1.mirrormap, $1.i) == 49) { //#2789\n $1.enclen = $1.enc.length; //#2781\n $1.revenc = $s($1.enclen); //#2782\n for (var _l = 0, _k = $1.enclen - 1; _l <= _k; _l += 1) { //#2787\n $1.j = _l; //#2784\n $1.char = $get($1.enc, $1.j); //#2785\n $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); //#2786\n } //#2786\n $1.enc = $1.revenc; //#2788\n } //#2788\n $puti($1.sbs, ($1.i * 6) + 3, $1.enc); //#2790\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(((($1.i - 1) * 9) + 13) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#2791\n } //#2791\n $k[$j++] = Infinity; //#2806\n $k[$j++] = Infinity; //#2797\n var _18 = $1.sbs; //#2797\n for (var _19 = 0, _1A = _18.length; _19 < _1A; _19++) { //#2797\n $k[$j++] = $get(_18, _19) - 48; //#2797\n } //#2797\n var _1C = $a(); //#2797\n $k[$j++] = Infinity; //#2798\n for (var _1D = 0, _1E = 12; _1D < _1E; _1D++) { //#2798\n $k[$j++] = $1.height; //#2798\n } //#2798\n var _1G = $a(); //#2798\n $k[$j++] = Infinity; //#2799\n for (var _1H = 0, _1I = 12; _1H < _1I; _1H++) { //#2799\n $k[$j++] = 0; //#2799\n } //#2799\n var _1J = $a(); //#2799\n $k[$j++] = 'ren'; //#2802\n $k[$j++] = bwipp_renlinear; //#2802\n $k[$j++] = 'sbs'; //#2802\n $k[$j++] = _1C; //#2802\n $k[$j++] = 'bhs'; //#2802\n $k[$j++] = _1G; //#2802\n $k[$j++] = 'bbs'; //#2802\n $k[$j++] = _1J; //#2802\n if ($1.includetext) { //#2802\n $k[$j++] = 'txt'; //#2801\n $k[$j++] = $1.txt; //#2801\n } //#2801\n $k[$j++] = 'opt'; //#2806\n $k[$j++] = $1.options; //#2806\n $k[$j++] = 'guardrightpos'; //#2806\n $k[$j++] = 10; //#2806\n $k[$j++] = 'guardrightypos'; //#2806\n $k[$j++] = $f($1.textyoffset + 4); //#2806\n $k[$j++] = 'bordertop'; //#2806\n $k[$j++] = 10; //#2806\n var _1O = $d(); //#2806\n $k[$j++] = _1O; //#2809\n if (!$1.dontdraw) { //#2809\n bwipp_renlinear(); //#2809\n } //#2809\n}\n\nfunction bwipp_ean13() {\n var $1 = {}; //#2840\n $1.options = $k[--$j]; //#2842\n $1.barcode = $k[--$j]; //#2843\n $1.dontdraw = false; //#2845\n $1.includetext = false; //#2846\n $1.textfont = \"OCR-B\"; //#2847\n $1.textsize = 12; //#2848\n $1.textxoffset = -10; //#2849\n $1.textyoffset = -4; //#2850\n $1.height = 1; //#2851\n $1.addongap = 12; //#2852\n $1.addontextfont = \"unset\"; //#2853\n $1.addontextsize = \"unset\"; //#2854\n $1.addontextxoffset = \"unset\"; //#2855\n $1.addontextyoffset = \"unset\"; //#2856\n $forall($1.options, function() { //#2867\n var _3 = $k[--$j]; //#2867\n $1[$k[--$j]] = _3; //#2867\n }); //#2867\n $1.textfont = \"\" + $1.textfont; //#2869\n $1.textsize = +$1.textsize; //#2870\n $1.textxoffset = +$1.textxoffset; //#2871\n $1.textyoffset = +$1.textyoffset; //#2872\n $1.height = +$1.height; //#2873\n $1.addongap = +$1.addongap; //#2874\n if ($ne($1.addontextfont, \"unset\")) { //#2875\n $1.addontextfont = \"\" + $1.addontextfont; //#2875\n } //#2875\n if ($ne($1.addontextsize, \"unset\")) { //#2876\n $1.addontextsize = +$1.addontextsize; //#2876\n } //#2876\n if ($ne($1.addontextxoffset, \"unset\")) { //#2877\n $1.addontextxoffset = +$1.addontextxoffset; //#2877\n } //#2877\n if ($ne($1.addontextyoffset, \"unset\")) { //#2878\n $1.addontextyoffset = +$1.addontextyoffset; //#2878\n } //#2878\n $search($1.barcode, \" \"); //#2881\n if ($k[--$j]) { //#2887\n $1.barcode = $k[--$j]; //#2882\n $j--; //#2883\n $1.addon = $k[--$j]; //#2884\n } else { //#2887\n $j--; //#2886\n $1.addon = \"\"; //#2887\n } //#2887\n if (($1.barcode.length != 12) && ($1.barcode.length != 13)) { //#2893\n $k[$j++] = 'bwipp.ean13badLength'; //#2892\n $k[$j++] = \"EAN-13 must be 12 or 13 digits\"; //#2892\n bwipp_raiseerror(); //#2892\n } //#2892\n $forall($1.barcode, function() { //#2898\n var _Q = $k[--$j]; //#2895\n if ((_Q < 48) || (_Q > 57)) { //#2897\n $k[$j++] = 'bwipp.ean13badCharacter'; //#2896\n $k[$j++] = \"EAN-13 must contain only digits\"; //#2896\n bwipp_raiseerror(); //#2896\n } //#2896\n }); //#2896\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#2901\n $k[$j++] = 'bwipp.ean13badAddOnLength'; //#2900\n $k[$j++] = \"Add-on for EAN-13 must be 2 or 5 digits\"; //#2900\n bwipp_raiseerror(); //#2900\n } //#2900\n $1.pad = $s(13); //#2904\n $1.checksum = 0; //#2905\n for (var _V = 0; _V <= 11; _V += 1) { //#2914\n $1.i = _V; //#2907\n $1.barchar = $f($get($1.barcode, $1.i) - 48); //#2908\n if (($1.i % 2) == 0) { //#2912\n $1.checksum = $f($1.barchar + $1.checksum); //#2910\n } else { //#2912\n $1.checksum = $f(($1.barchar * 3) + $1.checksum); //#2912\n } //#2912\n } //#2912\n $1.checksum = ($f(10 - ($1.checksum % 10))) % 10; //#2915\n if ($1.barcode.length == 13) { //#2920\n if ($get($1.barcode, 12) != $f($1.checksum + 48)) { //#2919\n $k[$j++] = 'bwipp.ean13badCheckDigit'; //#2918\n $k[$j++] = \"Incorrect EAN-13 check digit provided\"; //#2918\n bwipp_raiseerror(); //#2918\n } //#2918\n } //#2918\n $puti($1.pad, 0, $1.barcode); //#2921\n $put($1.pad, 12, $f($1.checksum + 48)); //#2922\n $1.barcode = $1.pad; //#2923\n $1.encs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"1312\", \"1213\", \"3112\", \"111\", \"11111\", \"111\"]); //#2930\n $1.barchars = \"0123456789\"; //#2933\n $1.mirrormaps = $a([\"000000\", \"001011\", \"001101\", \"001110\", \"010011\", \"011001\", \"011100\", \"010101\", \"010110\", \"011010\"]); //#2939\n $1.sbs = $s(59); //#2941\n $1.txt = $a(13); //#2942\n $puti($1.sbs, 0, $get($1.encs, 10)); //#2945\n $1.mirrormap = $get($1.mirrormaps, $get($1.barcode, 0) - 48); //#2948\n $put($1.txt, 0, $a([$geti($1.barcode, 0, 1), $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); //#2949\n for (var _17 = 1; _17 <= 6; _17 += 1) { //#2972\n $1.i = _17; //#2954\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#2955\n $j--; //#2956\n $1.indx = $k[--$j].length; //#2957\n $j -= 2; //#2958\n $1.enc = $get($1.encs, $1.indx); //#2959\n if ($get($1.mirrormap, $1.i - 1) == 49) { //#2969\n $1.enclen = $1.enc.length; //#2961\n $1.revenc = $s($1.enclen); //#2962\n for (var _1O = 0, _1N = $1.enclen - 1; _1O <= _1N; _1O += 1) { //#2967\n $1.j = _1O; //#2964\n $1.char = $get($1.enc, $1.j); //#2965\n $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); //#2966\n } //#2966\n $1.enc = $1.revenc; //#2968\n } //#2968\n $puti($1.sbs, (($1.i - 1) * 4) + 3, $1.enc); //#2970\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(((($1.i - 1) * 7) + 14) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#2971\n } //#2971\n $puti($1.sbs, ((7 - 1) * 4) + 3, $get($1.encs, 11)); //#2975\n for (var _1o = 7; _1o <= 12; _1o += 1) { //#2988\n $1.i = _1o; //#2980\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#2981\n $j--; //#2982\n $1.indx = $k[--$j].length; //#2983\n $j -= 2; //#2984\n $1.enc = $get($1.encs, $1.indx); //#2985\n $puti($1.sbs, (($1.i - 1) * 4) + 8, $1.enc); //#2986\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(((($1.i - 1) * 7) + 18) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#2987\n } //#2987\n $puti($1.sbs, 56, $get($1.encs, 12)); //#2991\n $k[$j++] = Infinity; //#2993\n var _2E = $1.sbs; //#2993\n for (var _2F = 0, _2G = _2E.length; _2F < _2G; _2F++) { //#2993\n $k[$j++] = $get(_2E, _2F) - 48; //#2993\n } //#2993\n $1.sbs = $a(); //#2993\n if ($1.includetext) { //#3000\n $k[$j++] = Infinity; //#2995\n $k[$j++] = $1.height; //#2995\n $k[$j++] = $1.height; //#2995\n for (var _2M = 0, _2N = 12; _2M < _2N; _2M++) { //#2995\n $k[$j++] = $f($1.height - 0.075); //#2995\n } //#2995\n $k[$j++] = $1.height; //#2995\n $k[$j++] = $1.height; //#2995\n for (var _2R = 0, _2S = 12; _2R < _2S; _2R++) { //#2995\n $k[$j++] = $f($1.height - 0.075); //#2995\n } //#2995\n $k[$j++] = $1.height; //#2995\n $k[$j++] = $1.height; //#2995\n $1.bhs = $a(); //#2995\n $k[$j++] = Infinity; //#2996\n $k[$j++] = 0; //#2996\n $k[$j++] = 0; //#2996\n for (var _2X = 0, _2Y = 12; _2X < _2Y; _2X++) { //#2996\n $k[$j++] = 0.075; //#2996\n } //#2996\n $k[$j++] = 0; //#2996\n $k[$j++] = 0; //#2996\n for (var _2Z = 0, _2a = 12; _2Z < _2a; _2Z++) { //#2996\n $k[$j++] = 0.075; //#2996\n } //#2996\n $k[$j++] = 0; //#2996\n $k[$j++] = 0; //#2996\n $1.bbs = $a(); //#2996\n } else { //#3000\n $k[$j++] = Infinity; //#2998\n for (var _2c = 0, _2d = 30; _2c < _2d; _2c++) { //#2998\n $k[$j++] = $1.height; //#2998\n } //#2998\n $1.bhs = $a(); //#2998\n $k[$j++] = Infinity; //#2999\n for (var _2g = 0, _2h = 30; _2g < _2h; _2g++) { //#2999\n $k[$j++] = 0; //#2999\n } //#2999\n $1.bbs = $a(); //#2999\n $1.txt = $a([]); //#3000\n } //#3000\n $1.guardrightypos = 0; //#3002\n if ($ne($1.addon, \"\")) { //#3023\n $k[$j++] = Infinity; //#3013\n $k[$j++] = 'dontdraw'; //#3010\n $k[$j++] = true; //#3010\n $k[$j++] = 'includetext'; //#3010\n $k[$j++] = true; //#3010\n $k[$j++] = 'height'; //#3010\n $k[$j++] = $f($1.height - 0.15); //#3010\n $k[$j++] = 'textxoffset'; //#3010\n if ($1.addontextxoffset != \"unset\") { //#3010\n $k[$j++] = $1.addontextxoffset; //#3010\n } else { //#3010\n $k[$j++] = $f(95 + $1.addongap); //#3010\n } //#3010\n if ($1.addontextyoffset != \"unset\") { //#3011\n $k[$j++] = 'textyoffset'; //#3011\n $k[$j++] = $1.addontextyoffset; //#3011\n } //#3011\n var _2s = ($1.addontextsize != \"unset\") ? $1.addontextsize : $1.textsize; //#3012\n var _2u = $ne($1.addontextfont, \"unset\") ? $1.addontextfont : $1.textfont; //#3013\n $k[$j++] = 'textsize'; //#3013\n $k[$j++] = _2s; //#3013\n $k[$j++] = 'textfont'; //#3013\n $k[$j++] = _2u; //#3013\n $1.addopts = $d(); //#3014\n if ($1.addon.length == 2) { //#3015\n $k[$j++] = $1.addon; //#3015\n $k[$j++] = $1.addopts; //#3015\n bwipp_ean2(); //#3015\n } //#3015\n if ($1.addon.length == 5) { //#3016\n $k[$j++] = $1.addon; //#3016\n $k[$j++] = $1.addopts; //#3016\n bwipp_ean5(); //#3016\n } //#3016\n $1.addcode = $k[--$j]; //#3017\n $k[$j++] = Infinity; //#3018\n $aload($1.sbs); //#3018\n $k[$j++] = $1.addongap; //#3018\n $aload($get($1.addcode, \"sbs\")); //#3018\n $1.sbs = $a(); //#3018\n $k[$j++] = Infinity; //#3019\n $aload($1.bhs); //#3019\n $forall($get($1.addcode, \"bhs\"), function() { //#3019\n var _3B = $k[--$j]; //#3019\n $k[$j++] = $f(_3B - 0.075); //#3019\n }); //#3019\n $1.bhs = $a(); //#3019\n $k[$j++] = Infinity; //#3020\n $aload($1.bbs); //#3020\n $forall($get($1.addcode, \"bbs\"), function() { //#3020\n var _3G = $k[--$j]; //#3020\n $k[$j++] = $f(_3G + 0.075); //#3020\n }); //#3020\n $1.bbs = $a(); //#3020\n $k[$j++] = Infinity; //#3021\n $aload($1.txt); //#3021\n $aload($get($1.addcode, \"txt\")); //#3021\n $1.txt = $a(); //#3021\n $1.guardrightypos = $f(($1.height * 72) - 6); //#3022\n } //#3022\n var _3T = new Map([\n [\"ren\", bwipp_renlinear],\n [\"sbs\", $1.sbs],\n [\"bhs\", $1.bhs],\n [\"bbs\", $1.bbs],\n [\"txt\", $1.txt],\n [\"opt\", $1.options],\n [\"guardrightpos\", 10],\n [\"guardrightypos\", $1.guardrightypos],\n [\"borderbottom\", 5]\n ]); //#3035\n $k[$j++] = _3T; //#3038\n if (!$1.dontdraw) { //#3038\n bwipp_renlinear(); //#3038\n } //#3038\n}\n\nfunction bwipp_ean8() {\n var $1 = {}; //#3069\n $1.options = $k[--$j]; //#3071\n $1.barcode = $k[--$j]; //#3072\n $1.dontdraw = false; //#3074\n $1.includetext = false; //#3075\n $1.textfont = \"OCR-B\"; //#3076\n $1.textsize = 12; //#3077\n $1.textxoffset = 4; //#3078\n $1.textyoffset = -4; //#3079\n $1.height = 1; //#3080\n $1.addongap = 12; //#3081\n $1.addontextfont = \"unset\"; //#3082\n $1.addontextsize = \"unset\"; //#3083\n $1.addontextxoffset = \"unset\"; //#3084\n $1.addontextyoffset = \"unset\"; //#3085\n $forall($1.options, function() { //#3096\n var _3 = $k[--$j]; //#3096\n $1[$k[--$j]] = _3; //#3096\n }); //#3096\n $1.textfont = \"\" + $1.textfont; //#3098\n $1.textsize = +$1.textsize; //#3099\n $1.textxoffset = +$1.textxoffset; //#3100\n $1.textyoffset = +$1.textyoffset; //#3101\n $1.height = +$1.height; //#3102\n $1.addongap = +$1.addongap; //#3103\n if ($ne($1.addontextfont, \"unset\")) { //#3104\n $1.addontextfont = \"\" + $1.addontextfont; //#3104\n } //#3104\n if ($ne($1.addontextsize, \"unset\")) { //#3105\n $1.addontextsize = +$1.addontextsize; //#3105\n } //#3105\n if ($ne($1.addontextxoffset, \"unset\")) { //#3106\n $1.addontextxoffset = +$1.addontextxoffset; //#3106\n } //#3106\n if ($ne($1.addontextyoffset, \"unset\")) { //#3107\n $1.addontextyoffset = +$1.addontextyoffset; //#3107\n } //#3107\n $search($1.barcode, \" \"); //#3110\n if ($k[--$j]) { //#3116\n $1.barcode = $k[--$j]; //#3111\n $j--; //#3112\n $1.addon = $k[--$j]; //#3113\n } else { //#3116\n $j--; //#3115\n $1.addon = \"\"; //#3116\n } //#3116\n if (($1.barcode.length != 7) && ($1.barcode.length != 8)) { //#3122\n $k[$j++] = 'bwipp.ean8badLength'; //#3121\n $k[$j++] = \"EAN-8 must be 7 or 8 digits\"; //#3121\n bwipp_raiseerror(); //#3121\n } //#3121\n $forall($1.barcode, function() { //#3127\n var _Q = $k[--$j]; //#3124\n if ((_Q < 48) || (_Q > 57)) { //#3126\n $k[$j++] = 'bwipp.ean8badCharacter'; //#3125\n $k[$j++] = \"EAN-8 must contain only digits\"; //#3125\n bwipp_raiseerror(); //#3125\n } //#3125\n }); //#3125\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#3130\n $k[$j++] = 'bwipp.ean8badAddOnLength'; //#3129\n $k[$j++] = \"Add-on for EAN-8 must be 2 or 5 digits\"; //#3129\n bwipp_raiseerror(); //#3129\n } //#3129\n $1.pad = $s(8); //#3133\n $1.checksum = 0; //#3134\n for (var _V = 0; _V <= 6; _V += 1) { //#3143\n $1.i = _V; //#3136\n $1.barchar = $f($get($1.barcode, $1.i) - 48); //#3137\n if (($1.i % 2) != 0) { //#3141\n $1.checksum = $f($1.barchar + $1.checksum); //#3139\n } else { //#3141\n $1.checksum = $f(($1.barchar * 3) + $1.checksum); //#3141\n } //#3141\n } //#3141\n $1.checksum = ($f(10 - ($1.checksum % 10))) % 10; //#3144\n if ($1.barcode.length == 8) { //#3149\n if ($get($1.barcode, 7) != $f($1.checksum + 48)) { //#3148\n $k[$j++] = 'bwipp.ean8badCheckDigit'; //#3147\n $k[$j++] = \"Incorrect EAN-8 check digit provided\"; //#3147\n bwipp_raiseerror(); //#3147\n } //#3147\n } //#3147\n $puti($1.pad, 0, $1.barcode); //#3150\n $put($1.pad, 7, $f($1.checksum + 48)); //#3151\n $1.barcode = $1.pad; //#3152\n $1.encs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"1312\", \"1213\", \"3112\", \"111\", \"11111\", \"111\"]); //#3159\n $1.barchars = \"0123456789\"; //#3162\n $1.sbs = $s(43); //#3164\n $1.txt = $a(8); //#3165\n $puti($1.sbs, 0, $get($1.encs, 10)); //#3168\n for (var _u = 0; _u <= 3; _u += 1) { //#3181\n $1.i = _u; //#3173\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#3174\n $j--; //#3175\n $1.indx = $k[--$j].length; //#3176\n $j -= 2; //#3177\n $1.enc = $get($1.encs, $1.indx); //#3178\n $puti($1.sbs, ($1.i * 4) + 3, $1.enc); //#3179\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(($1.i * 7) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#3180\n } //#3180\n $puti($1.sbs, (4 * 4) + 3, $get($1.encs, 11)); //#3184\n for (var _1K = 4; _1K <= 7; _1K += 1) { //#3197\n $1.i = _1K; //#3189\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#3190\n $j--; //#3191\n $1.indx = $k[--$j].length; //#3192\n $j -= 2; //#3193\n $1.enc = $get($1.encs, $1.indx); //#3194\n $puti($1.sbs, ($1.i * 4) + 8, $1.enc); //#3195\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(($f(($1.i * 7) + $1.textxoffset)) + 4), $1.textyoffset, $1.textfont, $1.textsize])); //#3196\n } //#3196\n $puti($1.sbs, 40, $get($1.encs, 12)); //#3200\n $k[$j++] = Infinity; //#3202\n var _1k = $1.sbs; //#3202\n for (var _1l = 0, _1m = _1k.length; _1l < _1m; _1l++) { //#3202\n $k[$j++] = $get(_1k, _1l) - 48; //#3202\n } //#3202\n $1.sbs = $a(); //#3202\n if ($1.includetext) { //#3209\n $k[$j++] = Infinity; //#3204\n $k[$j++] = $1.height; //#3204\n $k[$j++] = $1.height; //#3204\n for (var _1s = 0, _1t = 8; _1s < _1t; _1s++) { //#3204\n $k[$j++] = $f($1.height - 0.075); //#3204\n } //#3204\n $k[$j++] = $1.height; //#3204\n $k[$j++] = $1.height; //#3204\n for (var _1x = 0, _1y = 8; _1x < _1y; _1x++) { //#3204\n $k[$j++] = $f($1.height - 0.075); //#3204\n } //#3204\n $k[$j++] = $1.height; //#3204\n $k[$j++] = $1.height; //#3204\n $1.bhs = $a(); //#3204\n $k[$j++] = Infinity; //#3205\n $k[$j++] = 0; //#3205\n $k[$j++] = 0; //#3205\n for (var _23 = 0, _24 = 8; _23 < _24; _23++) { //#3205\n $k[$j++] = 0.075; //#3205\n } //#3205\n $k[$j++] = 0; //#3205\n $k[$j++] = 0; //#3205\n for (var _25 = 0, _26 = 8; _25 < _26; _25++) { //#3205\n $k[$j++] = 0.075; //#3205\n } //#3205\n $k[$j++] = 0; //#3205\n $k[$j++] = 0; //#3205\n $1.bbs = $a(); //#3205\n } else { //#3209\n $k[$j++] = Infinity; //#3207\n for (var _28 = 0, _29 = 22; _28 < _29; _28++) { //#3207\n $k[$j++] = $1.height; //#3207\n } //#3207\n $1.bhs = $a(); //#3207\n $k[$j++] = Infinity; //#3208\n for (var _2C = 0, _2D = 22; _2C < _2D; _2C++) { //#3208\n $k[$j++] = 0; //#3208\n } //#3208\n $1.bbs = $a(); //#3208\n $1.txt = $a([]); //#3209\n } //#3209\n $1.guardrightypos = 0; //#3211\n if ($ne($1.addon, \"\")) { //#3232\n $k[$j++] = Infinity; //#3222\n $k[$j++] = 'dontdraw'; //#3219\n $k[$j++] = true; //#3219\n $k[$j++] = 'includetext'; //#3219\n $k[$j++] = true; //#3219\n $k[$j++] = 'height'; //#3219\n $k[$j++] = $f($1.height - 0.15); //#3219\n $k[$j++] = 'textxoffset'; //#3219\n if ($1.addontextxoffset != \"unset\") { //#3219\n $k[$j++] = $1.addontextxoffset; //#3219\n } else { //#3219\n $k[$j++] = $f(67 + $1.addongap); //#3219\n } //#3219\n if ($1.addontextyoffset != \"unset\") { //#3220\n $k[$j++] = 'textyoffset'; //#3220\n $k[$j++] = $1.addontextyoffset; //#3220\n } //#3220\n var _2O = ($1.addontextsize != \"unset\") ? $1.addontextsize : $1.textsize; //#3221\n var _2Q = $ne($1.addontextfont, \"unset\") ? $1.addontextfont : $1.textfont; //#3222\n $k[$j++] = 'textsize'; //#3222\n $k[$j++] = _2O; //#3222\n $k[$j++] = 'textfont'; //#3222\n $k[$j++] = _2Q; //#3222\n $1.addopts = $d(); //#3223\n if ($1.addon.length == 2) { //#3224\n $k[$j++] = $1.addon; //#3224\n $k[$j++] = $1.addopts; //#3224\n bwipp_ean2(); //#3224\n } //#3224\n if ($1.addon.length == 5) { //#3225\n $k[$j++] = $1.addon; //#3225\n $k[$j++] = $1.addopts; //#3225\n bwipp_ean5(); //#3225\n } //#3225\n $1.addcode = $k[--$j]; //#3226\n $k[$j++] = Infinity; //#3227\n $aload($1.sbs); //#3227\n $k[$j++] = $1.addongap; //#3227\n $aload($get($1.addcode, \"sbs\")); //#3227\n $1.sbs = $a(); //#3227\n $k[$j++] = Infinity; //#3228\n $aload($1.bhs); //#3228\n $forall($get($1.addcode, \"bhs\"), function() { //#3228\n var _2h = $k[--$j]; //#3228\n $k[$j++] = $f(_2h - 0.075); //#3228\n }); //#3228\n $1.bhs = $a(); //#3228\n $k[$j++] = Infinity; //#3229\n $aload($1.bbs); //#3229\n $forall($get($1.addcode, \"bbs\"), function() { //#3229\n var _2m = $k[--$j]; //#3229\n $k[$j++] = $f(_2m + 0.075); //#3229\n }); //#3229\n $1.bbs = $a(); //#3229\n $k[$j++] = Infinity; //#3230\n $aload($1.txt); //#3230\n $aload($get($1.addcode, \"txt\")); //#3230\n $1.txt = $a(); //#3230\n $1.guardrightypos = $f(($1.height * 72) - 6); //#3231\n } //#3231\n var _2z = new Map([\n [\"ren\", bwipp_renlinear],\n [\"sbs\", $1.sbs],\n [\"bhs\", $1.bhs],\n [\"bbs\", $1.bbs],\n [\"txt\", $1.txt],\n [\"opt\", $1.options],\n [\"guardleftpos\", 10],\n [\"guardrightpos\", 10],\n [\"guardrightypos\", $1.guardrightypos],\n [\"borderbottom\", 5]\n ]); //#3245\n $k[$j++] = _2z; //#3248\n if (!$1.dontdraw) { //#3248\n bwipp_renlinear(); //#3248\n } //#3248\n}\n\nfunction bwipp_upca() {\n var $1 = {}; //#3279\n $1.options = $k[--$j]; //#3281\n $1.barcode = $k[--$j]; //#3282\n $1.dontdraw = false; //#3284\n $1.includetext = false; //#3285\n $1.textfont = \"OCR-B\"; //#3286\n $1.textsize = 12; //#3287\n $1.textxoffset = -7; //#3288\n $1.textyoffset = -4; //#3289\n $1.height = 1; //#3290\n $1.addongap = 12; //#3291\n $1.addontextfont = \"unset\"; //#3292\n $1.addontextsize = \"unset\"; //#3293\n $1.addontextxoffset = \"unset\"; //#3294\n $1.addontextyoffset = \"unset\"; //#3295\n $forall($1.options, function() { //#3306\n var _3 = $k[--$j]; //#3306\n $1[$k[--$j]] = _3; //#3306\n }); //#3306\n $1.textfont = \"\" + $1.textfont; //#3308\n $1.textsize = +$1.textsize; //#3309\n $1.textxoffset = +$1.textxoffset; //#3310\n $1.textyoffset = +$1.textyoffset; //#3311\n $1.height = +$1.height; //#3312\n $1.addongap = +$1.addongap; //#3313\n if ($ne($1.addontextfont, \"unset\")) { //#3314\n $1.addontextfont = \"\" + $1.addontextfont; //#3314\n } //#3314\n if ($ne($1.addontextsize, \"unset\")) { //#3315\n $1.addontextsize = +$1.addontextsize; //#3315\n } //#3315\n if ($ne($1.addontextxoffset, \"unset\")) { //#3316\n $1.addontextxoffset = +$1.addontextxoffset; //#3316\n } //#3316\n if ($ne($1.addontextyoffset, \"unset\")) { //#3317\n $1.addontextyoffset = +$1.addontextyoffset; //#3317\n } //#3317\n $search($1.barcode, \" \"); //#3320\n if ($k[--$j]) { //#3326\n $1.barcode = $k[--$j]; //#3321\n $j--; //#3322\n $1.addon = $k[--$j]; //#3323\n } else { //#3326\n $j--; //#3325\n $1.addon = \"\"; //#3326\n } //#3326\n if (($1.barcode.length == 7) || ($1.barcode.length == 8)) { //#3372\n $forall($1.barcode, function() { //#3336\n var _Q = $k[--$j]; //#3333\n if ((_Q < 48) || (_Q > 57)) { //#3335\n $k[$j++] = 'bwipp.upcAupcEbadCharacter'; //#3334\n $k[$j++] = \"UPC-E must contain only digits\"; //#3334\n bwipp_raiseerror(); //#3334\n } //#3334\n }); //#3334\n var _S = $get($1.barcode, 0); //#3337\n if ((_S != 48) && (_S != 49)) { //#3339\n $k[$j++] = 'bwipp.upcAupcEbadNumberSystem'; //#3338\n $k[$j++] = \"UPC-E must have number system 0 or 1\"; //#3338\n bwipp_raiseerror(); //#3338\n } //#3338\n for (var _T = 0, _U = 1; _T < _U; _T++) { //#3367\n var _W = ($1.barcode.length == 8) ? 12 : 11; //#3341\n $1.upcacode = $s(_W); //#3341\n if ($f($get($1.barcode, 6) - 48) <= 2) { //#3348\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 3)); //#3343\n $puti($1.upcacode, 3, $geti($1.barcode, 6, 1)); //#3344\n $puti($1.upcacode, 4, \"0000\"); //#3345\n $puti($1.upcacode, 8, $geti($1.barcode, 3, 3)); //#3346\n break; //#3347\n } //#3347\n if ($f($get($1.barcode, 6) - 48) == 3) { //#3354\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 4)); //#3350\n $puti($1.upcacode, 4, \"00000\"); //#3351\n $puti($1.upcacode, 9, $geti($1.barcode, 4, 2)); //#3352\n break; //#3353\n } //#3353\n if ($f($get($1.barcode, 6) - 48) == 4) { //#3360\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 5)); //#3356\n $puti($1.upcacode, 5, \"00000\"); //#3357\n $puti($1.upcacode, 10, $geti($1.barcode, 5, 1)); //#3358\n break; //#3359\n } //#3359\n if ($f($get($1.barcode, 6) - 48) >= 5) { //#3366\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 6)); //#3362\n $puti($1.upcacode, 6, \"0000\"); //#3363\n $puti($1.upcacode, 10, $geti($1.barcode, 6, 1)); //#3364\n break; //#3365\n } //#3365\n } //#3365\n if ($1.barcode.length == 8) { //#3370\n $puti($1.upcacode, 11, $geti($1.barcode, 7, 1)); //#3369\n } //#3369\n $1.barcode = $1.upcacode; //#3371\n } //#3371\n if (($1.barcode.length != 11) && ($1.barcode.length != 12)) { //#3377\n $k[$j++] = 'bwipp.upcAbadLength'; //#3376\n $k[$j++] = \"UPC-A must be 11 or 12 digits\"; //#3376\n bwipp_raiseerror(); //#3376\n } //#3376\n var _1I = $1.barcode; //#3378\n for (var _1J = 0, _1K = _1I.length; _1J < _1K; _1J++) { //#3382\n var _1L = $get(_1I, _1J); //#3382\n if ((_1L < 48) || (_1L > 57)) { //#3381\n $k[$j++] = 'bwipp.upcAbadCharacter'; //#3380\n $k[$j++] = \"UPC-A must contain only digits\"; //#3380\n bwipp_raiseerror(); //#3380\n } //#3380\n } //#3380\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#3385\n $k[$j++] = 'bwipp.upcAbadAddOnLength'; //#3384\n $k[$j++] = \"Add-on for UPC-A must be 2 or 5 digits\"; //#3384\n bwipp_raiseerror(); //#3384\n } //#3384\n $1.pad = $s(12); //#3388\n $1.checksum = 0; //#3389\n for (var _1Q = 0; _1Q <= 10; _1Q += 1) { //#3398\n $1.i = _1Q; //#3391\n $1.barchar = $get($1.barcode, $1.i) - 48; //#3392\n if (($1.i % 2) != 0) { //#3396\n $1.checksum = $1.checksum + $1.barchar; //#3394\n } else { //#3396\n $1.checksum = $1.checksum + ($1.barchar * 3); //#3396\n } //#3396\n } //#3396\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#3399\n if ($1.barcode.length == 12) { //#3404\n if ($get($1.barcode, 11) != ($1.checksum + 48)) { //#3403\n $k[$j++] = 'bwipp.upcAbadCheckDigit'; //#3402\n $k[$j++] = \"Incorrect UPC check digit provided\"; //#3402\n bwipp_raiseerror(); //#3402\n } //#3402\n } //#3402\n $puti($1.pad, 0, $1.barcode); //#3405\n $put($1.pad, 11, $1.checksum + 48); //#3406\n $1.barcode = $1.pad; //#3407\n $1.encs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"1312\", \"1213\", \"3112\", \"111\", \"11111\", \"111\"]); //#3414\n $1.barchars = \"0123456789\"; //#3417\n $1.sbs = $s(59); //#3419\n $1.txt = $a(12); //#3420\n $puti($1.sbs, 0, $get($1.encs, 10)); //#3423\n for (var _1p = 0; _1p <= 5; _1p += 1) { //#3440\n $1.i = _1p; //#3428\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#3429\n $j--; //#3430\n $1.indx = $k[--$j].length; //#3431\n $j -= 2; //#3432\n $1.enc = $get($1.encs, $1.indx); //#3433\n $puti($1.sbs, ($1.i * 4) + 3, $1.enc); //#3434\n if ($1.i == 0) { //#3438\n $put($1.txt, 0, $a([$geti($1.barcode, 0, 1), $1.textxoffset, $1.textyoffset, $1.textfont, $f($1.textsize - 2)])); //#3436\n } else { //#3438\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f((($1.i * 7) + 11) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#3438\n } //#3438\n } //#3438\n $puti($1.sbs, (6 * 4) + 3, $get($1.encs, 11)); //#3443\n for (var _2O = 6; _2O <= 11; _2O += 1) { //#3460\n $1.i = _2O; //#3448\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#3449\n $j--; //#3450\n $1.indx = $k[--$j].length; //#3451\n $j -= 2; //#3452\n $1.enc = $get($1.encs, $1.indx); //#3453\n $puti($1.sbs, ($1.i * 4) + 8, $1.enc); //#3454\n if ($1.i == 11) { //#3458\n $put($1.txt, 11, $a([$geti($1.barcode, 11, 1), $f($1.textxoffset + 104), $1.textyoffset, $1.textfont, $f($1.textsize - 2)])); //#3456\n } else { //#3458\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(($f(($1.i * 7) + $1.textxoffset)) + 15), $1.textyoffset, $1.textfont, $1.textsize])); //#3458\n } //#3458\n } //#3458\n $puti($1.sbs, 56, $get($1.encs, 12)); //#3463\n $k[$j++] = Infinity; //#3465\n var _2x = $1.sbs; //#3465\n for (var _2y = 0, _2z = _2x.length; _2y < _2z; _2y++) { //#3465\n $k[$j++] = $get(_2x, _2y) - 48; //#3465\n } //#3465\n $1.sbs = $a(); //#3465\n if ($1.includetext) { //#3472\n $k[$j++] = Infinity; //#3467\n for (var _33 = 0, _34 = 4; _33 < _34; _33++) { //#3467\n $k[$j++] = $1.height; //#3467\n } //#3467\n for (var _36 = 0, _37 = 10; _36 < _37; _36++) { //#3467\n $k[$j++] = $f($1.height - 0.075); //#3467\n } //#3467\n $k[$j++] = $1.height; //#3467\n $k[$j++] = $1.height; //#3467\n for (var _3B = 0, _3C = 10; _3B < _3C; _3B++) { //#3467\n $k[$j++] = $f($1.height - 0.075); //#3467\n } //#3467\n for (var _3E = 0, _3F = 4; _3E < _3F; _3E++) { //#3467\n $k[$j++] = $1.height; //#3467\n } //#3467\n $1.bhs = $a(); //#3467\n $k[$j++] = Infinity; //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n for (var _3I = 0, _3J = 10; _3I < _3J; _3I++) { //#3468\n $k[$j++] = 0.075; //#3468\n } //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n for (var _3K = 0, _3L = 10; _3K < _3L; _3K++) { //#3468\n $k[$j++] = 0.075; //#3468\n } //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n $k[$j++] = 0; //#3468\n $1.bbs = $a(); //#3468\n } else { //#3472\n $k[$j++] = Infinity; //#3470\n for (var _3N = 0, _3O = 30; _3N < _3O; _3N++) { //#3470\n $k[$j++] = $1.height; //#3470\n } //#3470\n $1.bhs = $a(); //#3470\n $k[$j++] = Infinity; //#3471\n for (var _3R = 0, _3S = 30; _3R < _3S; _3R++) { //#3471\n $k[$j++] = 0; //#3471\n } //#3471\n $1.bbs = $a(); //#3471\n $1.txt = $a([]); //#3472\n } //#3472\n $1.guardrightypos = 0; //#3474\n if ($ne($1.addon, \"\")) { //#3495\n $k[$j++] = Infinity; //#3485\n $k[$j++] = 'dontdraw'; //#3482\n $k[$j++] = true; //#3482\n $k[$j++] = 'includetext'; //#3482\n $k[$j++] = true; //#3482\n $k[$j++] = 'height'; //#3482\n $k[$j++] = $f($1.height - 0.15); //#3482\n $k[$j++] = 'textxoffset'; //#3482\n if ($1.addontextxoffset != \"unset\") { //#3482\n $k[$j++] = $1.addontextxoffset; //#3482\n } else { //#3482\n $k[$j++] = $f(95 + $1.addongap); //#3482\n } //#3482\n if ($1.addontextyoffset != \"unset\") { //#3483\n $k[$j++] = 'textyoffset'; //#3483\n $k[$j++] = $1.addontextyoffset; //#3483\n } //#3483\n var _3d = ($1.addontextsize != \"unset\") ? $1.addontextsize : $1.textsize; //#3484\n var _3f = $ne($1.addontextfont, \"unset\") ? $1.addontextfont : $1.textfont; //#3485\n $k[$j++] = 'textsize'; //#3485\n $k[$j++] = _3d; //#3485\n $k[$j++] = 'textfont'; //#3485\n $k[$j++] = _3f; //#3485\n $1.addopts = $d(); //#3486\n if ($1.addon.length == 2) { //#3487\n $k[$j++] = $1.addon; //#3487\n $k[$j++] = $1.addopts; //#3487\n bwipp_ean2(); //#3487\n } //#3487\n if ($1.addon.length == 5) { //#3488\n $k[$j++] = $1.addon; //#3488\n $k[$j++] = $1.addopts; //#3488\n bwipp_ean5(); //#3488\n } //#3488\n $1.addcode = $k[--$j]; //#3489\n $k[$j++] = Infinity; //#3490\n $aload($1.sbs); //#3490\n $k[$j++] = $1.addongap; //#3490\n $aload($get($1.addcode, \"sbs\")); //#3490\n $1.sbs = $a(); //#3490\n $k[$j++] = Infinity; //#3491\n $aload($1.bhs); //#3491\n $forall($get($1.addcode, \"bhs\"), function() { //#3491\n var _3w = $k[--$j]; //#3491\n $k[$j++] = $f(_3w - 0.075); //#3491\n }); //#3491\n $1.bhs = $a(); //#3491\n $k[$j++] = Infinity; //#3492\n $aload($1.bbs); //#3492\n $forall($get($1.addcode, \"bbs\"), function() { //#3492\n var _41 = $k[--$j]; //#3492\n $k[$j++] = $f(_41 + 0.075); //#3492\n }); //#3492\n $1.bbs = $a(); //#3492\n $k[$j++] = Infinity; //#3493\n $aload($1.txt); //#3493\n $aload($get($1.addcode, \"txt\")); //#3493\n $1.txt = $a(); //#3493\n $1.guardrightypos = $f(($1.height * 72) - 6); //#3494\n } //#3494\n var _4E = new Map([\n [\"ren\", bwipp_renlinear],\n [\"sbs\", $1.sbs],\n [\"bhs\", $1.bhs],\n [\"bbs\", $1.bbs],\n [\"txt\", $1.txt],\n [\"opt\", $1.options],\n [\"guardrightpos\", 10],\n [\"guardrightypos\", $1.guardrightypos],\n [\"borderbottom\", 5]\n ]); //#3507\n $k[$j++] = _4E; //#3510\n if (!$1.dontdraw) { //#3510\n bwipp_renlinear(); //#3510\n } //#3510\n}\n\nfunction bwipp_upce() {\n var $1 = {}; //#3541\n $1.options = $k[--$j]; //#3543\n $1.barcode = $k[--$j]; //#3544\n $1.dontdraw = false; //#3546\n $1.includetext = false; //#3547\n $1.textfont = \"OCR-B\"; //#3548\n $1.textsize = 12; //#3549\n $1.textxoffset = -7; //#3550\n $1.textyoffset = -4; //#3551\n $1.height = 1; //#3552\n $1.addongap = 12; //#3553\n $1.addontextfont = \"unset\"; //#3554\n $1.addontextsize = \"unset\"; //#3555\n $1.addontextxoffset = \"unset\"; //#3556\n $1.addontextyoffset = \"unset\"; //#3557\n $forall($1.options, function() { //#3568\n var _3 = $k[--$j]; //#3568\n $1[$k[--$j]] = _3; //#3568\n }); //#3568\n $1.textfont = \"\" + $1.textfont; //#3570\n $1.textsize = +$1.textsize; //#3571\n $1.textxoffset = +$1.textxoffset; //#3572\n $1.textyoffset = +$1.textyoffset; //#3573\n $1.height = +$1.height; //#3574\n $1.addongap = +$1.addongap; //#3575\n if ($ne($1.addontextfont, \"unset\")) { //#3576\n $1.addontextfont = \"\" + $1.addontextfont; //#3576\n } //#3576\n if ($ne($1.addontextsize, \"unset\")) { //#3577\n $1.addontextsize = +$1.addontextsize; //#3577\n } //#3577\n if ($ne($1.addontextxoffset, \"unset\")) { //#3578\n $1.addontextxoffset = +$1.addontextxoffset; //#3578\n } //#3578\n if ($ne($1.addontextyoffset, \"unset\")) { //#3579\n $1.addontextyoffset = +$1.addontextyoffset; //#3579\n } //#3579\n $search($1.barcode, \" \"); //#3582\n if ($k[--$j]) { //#3588\n $1.barcode = $k[--$j]; //#3583\n $j--; //#3584\n $1.addon = $k[--$j]; //#3585\n } else { //#3588\n $j--; //#3587\n $1.addon = \"\"; //#3588\n } //#3588\n if (($1.barcode.length == 11) || ($1.barcode.length == 12)) { //#3630\n $forall($1.barcode, function() { //#3598\n var _Q = $k[--$j]; //#3595\n if ((_Q < 48) || (_Q > 57)) { //#3597\n $k[$j++] = 'bwipp.upcEupcAbadCharacter'; //#3596\n $k[$j++] = \"UPC-A must contain only digits\"; //#3596\n bwipp_raiseerror(); //#3596\n } //#3596\n }); //#3596\n for (var _R = 0, _S = 1; _R < _S; _R++) { //#3625\n var _U = ($1.barcode.length == 12) ? 8 : 7; //#3600\n $1.upcecode = $s(_U); //#3600\n if (($f($get($1.barcode, 3) - 48) <= 2) && $eq($geti($1.barcode, 4, 4), \"0000\")) { //#3606\n $puti($1.upcecode, 0, $geti($1.barcode, 0, 3)); //#3602\n $puti($1.upcecode, 3, $geti($1.barcode, 8, 3)); //#3603\n $puti($1.upcecode, 6, $geti($1.barcode, 3, 1)); //#3604\n break; //#3605\n } //#3605\n if ($eq($geti($1.barcode, 4, 5), \"00000\")) { //#3612\n $puti($1.upcecode, 0, $geti($1.barcode, 0, 4)); //#3608\n $puti($1.upcecode, 4, $geti($1.barcode, 9, 2)); //#3609\n $puti($1.upcecode, 6, \"3\"); //#3610\n break; //#3611\n } //#3611\n if ($eq($geti($1.barcode, 5, 5), \"00000\")) { //#3618\n $puti($1.upcecode, 0, $geti($1.barcode, 0, 5)); //#3614\n $puti($1.upcecode, 5, $geti($1.barcode, 10, 1)); //#3615\n $puti($1.upcecode, 6, \"4\"); //#3616\n break; //#3617\n } //#3617\n if (($f($get($1.barcode, 10) - 48) >= 5) && $eq($geti($1.barcode, 6, 4), \"0000\")) { //#3623\n $puti($1.upcecode, 0, $geti($1.barcode, 0, 6)); //#3620\n $puti($1.upcecode, 6, $geti($1.barcode, 10, 1)); //#3621\n break; //#3622\n } //#3622\n $k[$j++] = 'bwipp.upcEupcAnotCompressible'; //#3624\n $k[$j++] = \"UPC-A cannot be converted to a UPC-E\"; //#3624\n bwipp_raiseerror(); //#3624\n } //#3624\n if ($1.barcode.length == 12) { //#3628\n $puti($1.upcecode, 7, $geti($1.barcode, 11, 1)); //#3627\n } //#3627\n $1.barcode = $1.upcecode; //#3629\n } //#3629\n if (($1.barcode.length != 7) && ($1.barcode.length != 8)) { //#3635\n $k[$j++] = 'bwipp.upcEbadLength'; //#3634\n $k[$j++] = \"UPC-E must be 7 or 8 digits\"; //#3634\n bwipp_raiseerror(); //#3634\n } //#3634\n var _1I = $1.barcode; //#3636\n for (var _1J = 0, _1K = _1I.length; _1J < _1K; _1J++) { //#3640\n var _1L = $get(_1I, _1J); //#3640\n if ((_1L < 48) || (_1L > 57)) { //#3639\n $k[$j++] = 'bwipp.upcEbadCharacter'; //#3638\n $k[$j++] = \"UPC-E must contain only digits\"; //#3638\n bwipp_raiseerror(); //#3638\n } //#3638\n } //#3638\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#3643\n $k[$j++] = 'bwipp.upcEbadAddOnLength'; //#3642\n $k[$j++] = \"Add-on for UPC-E must be 2 or 5 digits\"; //#3642\n bwipp_raiseerror(); //#3642\n } //#3642\n var _1Q = $get($1.barcode, 0); //#3646\n if ((_1Q != 48) && (_1Q != 49)) { //#3648\n $k[$j++] = 'bwipp.upcEbadNumberSystem'; //#3647\n $k[$j++] = \"UPC-E must have number system 0 or 1\"; //#3647\n bwipp_raiseerror(); //#3647\n } //#3647\n $1.encs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"1312\", \"1213\", \"3112\", \"111\", \"111111\"]); //#3655\n $1.barchars = \"0123456789\"; //#3658\n $1.mirrormaps = $a([\"000111\", \"001011\", \"001101\", \"001110\", \"010011\", \"011001\", \"011100\", \"010101\", \"010110\", \"011010\"]); //#3663\n for (var _1T = 0, _1U = 1; _1T < _1U; _1T++) { //#3693\n $1.upcacode = $s(11); //#3667\n if (($get($1.barcode, 6) - 48) <= 2) { //#3674\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 3)); //#3669\n $puti($1.upcacode, 3, $geti($1.barcode, 6, 1)); //#3670\n $puti($1.upcacode, 4, \"0000\"); //#3671\n $puti($1.upcacode, 8, $geti($1.barcode, 3, 3)); //#3672\n break; //#3673\n } //#3673\n if (($get($1.barcode, 6) - 48) == 3) { //#3680\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 4)); //#3676\n $puti($1.upcacode, 4, \"00000\"); //#3677\n $puti($1.upcacode, 9, $geti($1.barcode, 4, 2)); //#3678\n break; //#3679\n } //#3679\n if (($get($1.barcode, 6) - 48) == 4) { //#3686\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 5)); //#3682\n $puti($1.upcacode, 5, \"00000\"); //#3683\n $puti($1.upcacode, 10, $geti($1.barcode, 5, 1)); //#3684\n break; //#3685\n } //#3685\n if (($get($1.barcode, 6) - 48) >= 5) { //#3692\n $puti($1.upcacode, 0, $geti($1.barcode, 0, 6)); //#3688\n $puti($1.upcacode, 6, \"0000\"); //#3689\n $puti($1.upcacode, 10, $geti($1.barcode, 6, 1)); //#3690\n break; //#3691\n } //#3691\n } //#3691\n $1.checksum = 0; //#3694\n for (var _29 = 0; _29 <= 10; _29 += 1) { //#3703\n $1.i = _29; //#3696\n $1.barchar = $get($1.upcacode, $1.i) - 48; //#3697\n if (($1.i % 2) != 0) { //#3701\n $1.checksum = $1.checksum + $1.barchar; //#3699\n } else { //#3701\n $1.checksum = $1.checksum + ($1.barchar * 3); //#3701\n } //#3701\n } //#3701\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#3704\n if ($1.barcode.length == 8) { //#3709\n if ($get($1.barcode, 7) != ($1.checksum + 48)) { //#3708\n $k[$j++] = 'bwipp.upcEbadCheckDigit'; //#3707\n $k[$j++] = \"Incorrect UPC check digit provided\"; //#3707\n bwipp_raiseerror(); //#3707\n } //#3707\n } //#3707\n $1.pad = $s(8); //#3710\n $puti($1.pad, 0, $1.barcode); //#3711\n $put($1.pad, 7, $1.checksum + 48); //#3712\n $1.barcode = $1.pad; //#3713\n $1.txt = $a(8); //#3714\n $put($1.txt, 0, $a([$geti($1.barcode, 0, 1), $1.textxoffset, $1.textyoffset, $1.textfont, $f($1.textsize - 2)])); //#3715\n $1.mirrormap = $get($1.mirrormaps, $1.checksum); //#3718\n if ($get($1.barcode, 0) == 48) { //#3732\n $1.invt = $s($1.mirrormap.length); //#3722\n for (var _2l = 0, _2k = $1.mirrormap.length - 1; _2l <= _2k; _2l += 1) { //#3730\n $1.i = _2l; //#3724\n if ($get($1.mirrormap, $1.i) == 48) { //#3728\n $put($1.invt, $1.i, 49); //#3726\n } else { //#3728\n $put($1.invt, $1.i, 48); //#3728\n } //#3728\n } //#3728\n $1.mirrormap = $1.invt; //#3731\n } //#3731\n $1.sbs = $s(33); //#3734\n $puti($1.sbs, 0, $get($1.encs, 10)); //#3737\n for (var _2y = 1; _2y <= 6; _2y += 1) { //#3759\n $1.i = _2y; //#3740\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#3742\n $j--; //#3743\n $1.indx = $k[--$j].length; //#3744\n $j -= 2; //#3745\n $1.enc = $get($1.encs, $1.indx); //#3746\n if ($get($1.mirrormap, $1.i - 1) == 49) { //#3756\n $1.enclen = $1.enc.length; //#3748\n $1.revenc = $s($1.enclen); //#3749\n for (var _3F = 0, _3E = $1.enclen - 1; _3F <= _3E; _3F += 1) { //#3754\n $1.j = _3F; //#3751\n $1.char = $get($1.enc, $1.j); //#3752\n $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); //#3753\n } //#3753\n $1.enc = $1.revenc; //#3755\n } //#3755\n $puti($1.sbs, (($1.i - 1) * 4) + 3, $1.enc); //#3757\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(((($1.i - 1) * 7) + 11) + $1.textxoffset), $1.textyoffset, $1.textfont, $1.textsize])); //#3758\n } //#3758\n $put($1.txt, 7, $a([$geti($1.barcode, 7, 1), $f(((6 * 7) + 18) + $1.textxoffset), $1.textyoffset, $1.textfont, $f($1.textsize - 2)])); //#3761\n $puti($1.sbs, 27, $get($1.encs, 11)); //#3764\n $k[$j++] = Infinity; //#3766\n var _3n = $1.sbs; //#3766\n for (var _3o = 0, _3p = _3n.length; _3o < _3p; _3o++) { //#3766\n $k[$j++] = $get(_3n, _3o) - 48; //#3766\n } //#3766\n $1.sbs = $a(); //#3766\n if ($1.includetext) { //#3773\n $k[$j++] = Infinity; //#3768\n $k[$j++] = $1.height; //#3768\n $k[$j++] = $1.height; //#3768\n for (var _3v = 0, _3w = 12; _3v < _3w; _3v++) { //#3768\n $k[$j++] = $f($1.height - 0.075); //#3768\n } //#3768\n $k[$j++] = $1.height; //#3768\n $k[$j++] = $1.height; //#3768\n $k[$j++] = $1.height; //#3768\n $1.bhs = $a(); //#3768\n $k[$j++] = Infinity; //#3769\n $k[$j++] = 0; //#3769\n $k[$j++] = 0; //#3769\n for (var _42 = 0, _43 = 12; _42 < _43; _42++) { //#3769\n $k[$j++] = 0.075; //#3769\n } //#3769\n $k[$j++] = 0; //#3769\n $k[$j++] = 0; //#3769\n $k[$j++] = 0; //#3769\n $1.bbs = $a(); //#3769\n } else { //#3773\n $k[$j++] = Infinity; //#3771\n for (var _45 = 0, _46 = 17; _45 < _46; _45++) { //#3771\n $k[$j++] = $1.height; //#3771\n } //#3771\n $1.bhs = $a(); //#3771\n $k[$j++] = Infinity; //#3772\n for (var _49 = 0, _4A = 17; _49 < _4A; _49++) { //#3772\n $k[$j++] = 0; //#3772\n } //#3772\n $1.bbs = $a(); //#3772\n $1.txt = $a([]); //#3773\n } //#3773\n $1.guardrightypos = 0; //#3775\n if ($ne($1.addon, \"\")) { //#3796\n $k[$j++] = Infinity; //#3786\n $k[$j++] = 'dontdraw'; //#3783\n $k[$j++] = true; //#3783\n $k[$j++] = 'includetext'; //#3783\n $k[$j++] = true; //#3783\n $k[$j++] = 'height'; //#3783\n $k[$j++] = $f($1.height - 0.15); //#3783\n $k[$j++] = 'textxoffset'; //#3783\n if ($1.addontextxoffset != \"unset\") { //#3783\n $k[$j++] = $1.addontextxoffset; //#3783\n } else { //#3783\n $k[$j++] = $f(51 + $1.addongap); //#3783\n } //#3783\n if ($1.addontextyoffset != \"unset\") { //#3784\n $k[$j++] = 'textyoffset'; //#3784\n $k[$j++] = $1.addontextyoffset; //#3784\n } //#3784\n var _4L = ($1.addontextsize != \"unset\") ? $1.addontextsize : $1.textsize; //#3785\n var _4N = $ne($1.addontextfont, \"unset\") ? $1.addontextfont : $1.textfont; //#3786\n $k[$j++] = 'textsize'; //#3786\n $k[$j++] = _4L; //#3786\n $k[$j++] = 'textfont'; //#3786\n $k[$j++] = _4N; //#3786\n $1.addopts = $d(); //#3787\n if ($1.addon.length == 2) { //#3788\n $k[$j++] = $1.addon; //#3788\n $k[$j++] = $1.addopts; //#3788\n bwipp_ean2(); //#3788\n } //#3788\n if ($1.addon.length == 5) { //#3789\n $k[$j++] = $1.addon; //#3789\n $k[$j++] = $1.addopts; //#3789\n bwipp_ean5(); //#3789\n } //#3789\n $1.addcode = $k[--$j]; //#3790\n $k[$j++] = Infinity; //#3791\n $aload($1.sbs); //#3791\n $k[$j++] = $1.addongap; //#3791\n $aload($get($1.addcode, \"sbs\")); //#3791\n $1.sbs = $a(); //#3791\n $k[$j++] = Infinity; //#3792\n $aload($1.bhs); //#3792\n $forall($get($1.addcode, \"bhs\"), function() { //#3792\n var _4e = $k[--$j]; //#3792\n $k[$j++] = $f(_4e - 0.075); //#3792\n }); //#3792\n $1.bhs = $a(); //#3792\n $k[$j++] = Infinity; //#3793\n $aload($1.bbs); //#3793\n $forall($get($1.addcode, \"bbs\"), function() { //#3793\n var _4j = $k[--$j]; //#3793\n $k[$j++] = $f(_4j + 0.075); //#3793\n }); //#3793\n $1.bbs = $a(); //#3793\n $k[$j++] = Infinity; //#3794\n $aload($1.txt); //#3794\n $aload($get($1.addcode, \"txt\")); //#3794\n $1.txt = $a(); //#3794\n $1.guardrightypos = $f(($1.height * 72) - 6); //#3795\n } //#3795\n var _4w = new Map([\n [\"ren\", bwipp_renlinear],\n [\"sbs\", $1.sbs],\n [\"bhs\", $1.bhs],\n [\"bbs\", $1.bbs],\n [\"txt\", $1.txt],\n [\"opt\", $1.options],\n [\"guardrightpos\", 10],\n [\"guardrightypos\", $1.guardrightypos],\n [\"borderbottom\", 5]\n ]); //#3808\n $k[$j++] = _4w; //#3811\n if (!$1.dontdraw) { //#3811\n bwipp_renlinear(); //#3811\n } //#3811\n}\n\nfunction bwipp_isbn() {\n var $1 = {}; //#3841\n $1.options = $k[--$j]; //#3843\n $1.barcode = $k[--$j]; //#3844\n $1.dontdraw = false; //#3846\n $1.includetext = false; //#3847\n $1.isbntextfont = 'OCR-A'; //#3848\n $1.isbntextsize = 8; //#3849\n $1.isbntextxoffset = \"unset\"; //#3850\n $1.isbntextyoffset = \"unset\"; //#3851\n $1.height = 1; //#3852\n $1.addongap = 12; //#3853\n $1.legacy = false; //#3854\n $forall($1.options, function() { //#3865\n var _3 = $k[--$j]; //#3865\n $1[$k[--$j]] = _3; //#3865\n }); //#3865\n $1.isbntextfont = \"\" + $1.isbntextfont; //#3867\n $1.isbntextsize = +$1.isbntextsize; //#3868\n if ($ne($1.isbntextxoffset, \"unset\")) { //#3869\n $1.isbntextxoffset = +$1.isbntextxoffset; //#3869\n } //#3869\n if ($ne($1.isbntextyoffset, \"unset\")) { //#3870\n $1.isbntextyoffset = +$1.isbntextyoffset; //#3870\n } //#3870\n $1.height = +$1.height; //#3871\n $1.addongap = +$1.addongap; //#3872\n $search($1.barcode, \" \"); //#3875\n if ($k[--$j]) { //#3881\n $1.barcode = $k[--$j]; //#3876\n $j--; //#3877\n $1.addon = $k[--$j]; //#3878\n } else { //#3881\n $j--; //#3880\n $1.addon = \"\"; //#3881\n } //#3881\n if ((($1.barcode.length != 15) && ($1.barcode.length != 17)) && (($1.barcode.length != 11) && ($1.barcode.length != 13))) { //#3888\n $k[$j++] = 'bwipp.isbnBadLength'; //#3887\n $k[$j++] = \"ISBN-13 must be 15 or 17 characters including dashes. ISBN-10 must be 11 or 13 characters including dashes\"; //#3887\n bwipp_raiseerror(); //#3887\n } //#3887\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#3891\n $k[$j++] = 'bwipp.isbnBadAddOnLength'; //#3890\n $k[$j++] = \"Add-on for ISBN must be 2 or 5 digits\"; //#3890\n bwipp_raiseerror(); //#3890\n } //#3890\n if ($1.barcode.length >= 15) { //#3955\n var _Q = $geti($1.barcode, 0, 4); //#3893\n if ($ne(_Q, \"978-\") && $ne(_Q, \"979-\")) { //#3895\n $k[$j++] = 'bwipp.isbn13badPrefix'; //#3894\n $k[$j++] = \"ISBN-13 prefix must be 978- or 979-\"; //#3894\n bwipp_raiseerror(); //#3894\n } //#3894\n $1.wasdash = false; //#3896\n $1.numdash = 0; //#3896\n $1.numdigit = 0; //#3896\n var _S = $geti($1.barcode, 5, 9); //#3897\n for (var _T = 0, _U = _S.length; _T < _U; _T++) { //#3910\n var _V = $get(_S, _T); //#3910\n $k[$j++] = _V; //#3905\n if (_V == 45) { //#3905\n if ($1.wasdash) { //#3902\n $k[$j++] = 'bwipp.isbn13adjacentDashes'; //#3901\n $k[$j++] = \"ISBN-13 does not permit adjacent dashes\"; //#3901\n bwipp_raiseerror(); //#3901\n } //#3901\n $1.wasdash = true; //#3903\n $1.numdash = $1.numdash + 1; //#3904\n } //#3904\n var _Y = $k[--$j]; //#3906\n if ((_Y >= 48) && (_Y <= 57)) { //#3909\n $1.wasdash = false; //#3907\n $1.numdigit = $1.numdigit + 1; //#3908\n } //#3908\n } //#3908\n if (($1.numdash != 2) || ($1.numdigit != 7)) { //#3913\n $k[$j++] = 'bwipp.isbn13numDashesDigits'; //#3912\n $k[$j++] = \"Incorrect number of dashes and digits for ISBN-13\"; //#3912\n bwipp_raiseerror(); //#3912\n } //#3912\n var _d = $get($1.barcode, 14); //#3914\n if ((_d < 48) || (_d > 57)) { //#3916\n $k[$j++] = 'bwipp.isbn13character15'; //#3915\n $k[$j++] = \"ISBN-13 character 15 must be a digit\"; //#3915\n bwipp_raiseerror(); //#3915\n } //#3915\n if ($1.barcode.length == 17) { //#3924\n if ($ne($geti($1.barcode, 15, 1), \"-\")) { //#3920\n $k[$j++] = 'bwipp.isbn13character16'; //#3919\n $k[$j++] = \"ISBN-13 penultimate character must be a dash\"; //#3919\n bwipp_raiseerror(); //#3919\n } //#3919\n var _i = $get($1.barcode, 16); //#3921\n if ((_i < 48) || (_i > 57)) { //#3923\n $k[$j++] = 'bwipp.isbn13character17'; //#3922\n $k[$j++] = \"ISBN-13 final character must be a digit\"; //#3922\n bwipp_raiseerror(); //#3922\n } //#3922\n } //#3922\n } else { //#3955\n var _k = $get($1.barcode, 0); //#3926\n if ((_k < 48) || (_k > 57)) { //#3928\n $k[$j++] = 'bwipp.isbn10FirstDigit'; //#3927\n $k[$j++] = \"ISBN-10 first character must be a digit\"; //#3927\n bwipp_raiseerror(); //#3927\n } //#3927\n $1.wasdash = false; //#3929\n $1.numdash = 0; //#3929\n $1.numdigit = 0; //#3929\n var _m = $geti($1.barcode, 1, 9); //#3930\n for (var _n = 0, _o = _m.length; _n < _o; _n++) { //#3943\n var _p = $get(_m, _n); //#3943\n $k[$j++] = _p; //#3938\n if (_p == 45) { //#3938\n if ($1.wasdash) { //#3935\n $k[$j++] = 'bwipp.isbn10adjacentDashes'; //#3934\n $k[$j++] = \"ISBN-10 does not permit adjacent dashes\"; //#3934\n bwipp_raiseerror(); //#3934\n } //#3934\n $1.wasdash = true; //#3936\n $1.numdash = $1.numdash + 1; //#3937\n } //#3937\n var _s = $k[--$j]; //#3939\n if ((_s >= 48) && (_s <= 57)) { //#3942\n $1.wasdash = false; //#3940\n $1.numdigit = $1.numdigit + 1; //#3941\n } //#3941\n } //#3941\n if (($1.numdash != 2) || ($1.numdigit != 7)) { //#3946\n $k[$j++] = 'bwipp.isbn10numDashesDigits'; //#3945\n $k[$j++] = \"Incorrect number of dashes and digits for ISBN-10\"; //#3945\n bwipp_raiseerror(); //#3945\n } //#3945\n var _x = $get($1.barcode, 10); //#3947\n if ((_x < 48) || (_x > 57)) { //#3949\n $k[$j++] = 'bwipp.isbn10character11'; //#3948\n $k[$j++] = \"ISBN-10 character 11 must be a digit\"; //#3948\n bwipp_raiseerror(); //#3948\n } //#3948\n if ($1.barcode.length == 13) { //#3957\n if ($ne($geti($1.barcode, 11, 1), \"-\")) { //#3953\n $k[$j++] = 'bwipp.isbn10character12'; //#3952\n $k[$j++] = \"ISBN-10 penultimate character must be a dash\"; //#3952\n bwipp_raiseerror(); //#3952\n } //#3952\n var _12 = $get($1.barcode, 12); //#3954\n if (((_12 < 48) || (_12 > 57)) && (_12 != 88)) { //#3956\n $k[$j++] = 'bwipp.isbn10character13'; //#3955\n $k[$j++] = \"ISBN-10 final character must be a digit or X\"; //#3955\n bwipp_raiseerror(); //#3955\n } //#3955\n } //#3955\n } //#3955\n $1.isbntxt = $1.barcode; //#3960\n if ($1.isbntxt.length <= 13) { //#3986\n $1.isbn = $s(10); //#3964\n $1.checksum = 0; //#3965\n $1.i = 0; //#3966\n $1.n = 0; //#3966\n for (;;) { //#3978\n $1.isbnchar = $f($get($1.isbntxt, $1.i) - 48); //#3968\n if ($1.isbnchar != -3) { //#3975\n $put($1.isbn, $1.n, $f($1.isbnchar + 48)); //#3970\n if ($1.n < 9) { //#3973\n $1.checksum = $f($1.checksum + ((10 - $1.n) * $1.isbnchar)); //#3972\n } //#3972\n $1.n = $1.n + 1; //#3974\n } //#3974\n $1.i = $1.i + 1; //#3976\n if ($1.i == $1.isbntxt.length) { //#3977\n break; //#3977\n } //#3977\n } //#3977\n var _1M = ($f(11 - ($1.checksum % 11))) % 11; //#3979\n $k[$j++] = 'checksum'; //#3979\n $k[$j++] = _1M; //#3979\n if (_1M == 10) { //#3979\n $j--; //#3979\n $k[$j++] = 40; //#3979\n } //#3979\n var _1N = $k[--$j]; //#3979\n $1[$k[--$j]] = $f(_1N + 48); //#3979\n $1.isbn = $geti($1.isbn, 0, 9); //#3980\n if ($1.isbntxt.length == 13) { //#3985\n if ($get($1.isbntxt, 12) != $1.checksum) { //#3984\n $k[$j++] = 'bwipp.isbn10badCheckDigit'; //#3983\n $k[$j++] = \"Incorrect ISBN-10 check digit provided\"; //#3983\n bwipp_raiseerror(); //#3983\n } //#3983\n } //#3983\n } //#3983\n if ((!$1.legacy) || ($1.isbntxt.length >= 15)) { //#4022\n if ($1.isbntxt.length <= 13) { //#3996\n $1.pad = $s(15); //#3992\n $puti($1.pad, 0, \"978-\"); //#3993\n $puti($1.pad, 4, $geti($1.isbntxt, 0, 11)); //#3994\n $1.isbntxt = $1.pad; //#3995\n } //#3995\n $1.isbn = $s(13); //#3999\n $1.checksum = 0; //#4000\n $1.i = 0; //#4001\n $1.n = 0; //#4001\n for (;;) { //#4013\n $1.isbnchar = $get($1.isbntxt, $1.i) - 48; //#4003\n if ($1.isbnchar != -3) { //#4010\n $put($1.isbn, $1.n, $1.isbnchar + 48); //#4005\n if ($1.n < 12) { //#4008\n $k[$j++] = 'checksum'; //#4007\n $k[$j++] = $1.isbnchar; //#4007\n if (($1.n % 2) != 0) { //#4007\n var _1p = $k[--$j]; //#4007\n $k[$j++] = _1p * 3; //#4007\n } //#4007\n var _1r = $k[--$j]; //#4007\n $1[$k[--$j]] = $f(_1r + $1.checksum); //#4007\n } //#4007\n $1.n = $1.n + 1; //#4009\n } //#4009\n $1.i = $1.i + 1; //#4011\n if ($1.i == $1.isbntxt.length) { //#4012\n break; //#4012\n } //#4012\n } //#4012\n $1.checksum = ((10 - ($1.checksum % 10)) % 10) + 48; //#4014\n $1.isbn = $geti($1.isbn, 0, 12); //#4015\n if ($1.isbntxt.length == 17) { //#4020\n if ($get($1.isbntxt, 16) != $1.checksum) { //#4019\n $k[$j++] = 'bwipp.isbn13badCheckDigit'; //#4018\n $k[$j++] = \"Incorrect ISBN-13 check digit provided\"; //#4018\n bwipp_raiseerror(); //#4018\n } //#4018\n } //#4018\n } //#4018\n var _25 = ($1.isbn.length == 12) ? 22 : 18; //#4025\n $1.pad = $s(_25); //#4025\n $puti($1.pad, 0, \"ISBN \"); //#4026\n $puti($1.pad, 5, $1.isbntxt); //#4027\n $put($1.pad, $1.pad.length - 2, 45); //#4028\n $put($1.pad, $1.pad.length - 1, $1.checksum); //#4029\n $1.isbntxt = $1.pad; //#4030\n $1.barcode = $s(12); //#4033\n if ($1.isbn.length == 9) { //#4038\n $puti($1.barcode, 0, \"978\"); //#4035\n $puti($1.barcode, 3, $1.isbn); //#4036\n } else { //#4038\n $puti($1.barcode, 0, $1.isbn); //#4038\n } //#4038\n if ($ne($1.addon, \"\")) { //#4048\n var _2P = $s((12 + $1.addon.length) + 1); //#4043\n $puti(_2P, 0, $1.barcode); //#4044\n $puti(_2P, 12, \" \"); //#4045\n $puti(_2P, 13, $1.addon); //#4046\n $1.barcode = _2P; //#4047\n } //#4047\n $put($1.options, \"dontdraw\", true); //#4051\n $put($1.options, \"addongap\", $1.addongap); //#4052\n $k[$j++] = 'args'; //#4053\n $k[$j++] = $1.barcode; //#4053\n $k[$j++] = $1.options; //#4053\n bwipp_ean13(); //#4053\n var _2X = $k[--$j]; //#4053\n $1[$k[--$j]] = _2X; //#4053\n if ($1.includetext) { //#4072\n if ($1.isbntextxoffset == \"unset\") { //#4059\n $k[$j++] = 'isbntextxoffset'; //#4058\n if ($1.isbn.length == 9) { //#4058\n $k[$j++] = -1; //#4058\n } else { //#4058\n $k[$j++] = -12; //#4058\n } //#4058\n var _2c = $k[--$j]; //#4058\n $1[$k[--$j]] = _2c; //#4058\n } //#4058\n if ($1.isbntextyoffset == \"unset\") { //#4062\n $1.isbntextyoffset = $f(($1.height * 72) + 3); //#4061\n } //#4061\n var _2h = $get($1.args, \"txt\") !== undefined; //#4063\n if (_2h) { //#4070\n $1.txt = $get($1.args, \"txt\"); //#4064\n $1.newtxt = $a($1.txt.length + 1); //#4065\n $puti($1.newtxt, 0, $1.txt); //#4066\n $put($1.newtxt, $1.newtxt.length - 1, $a([$1.isbntxt, $1.isbntextxoffset, $1.isbntextyoffset, $1.isbntextfont, $1.isbntextsize])); //#4067\n $put($1.args, \"txt\", $1.newtxt); //#4068\n } else { //#4070\n $put($1.args, \"txt\", $a([$a([$1.isbntxt, $1.isbntextxoffset, $1.isbntextyoffset, $1.isbntextfont, $1.isbntextsize])])); //#4070\n } //#4070\n } //#4070\n $put($1.args, \"opt\", $1.options); //#4074\n $k[$j++] = $1.args; //#4077\n if (!$1.dontdraw) { //#4077\n bwipp_renlinear(); //#4077\n } //#4077\n}\n\nfunction bwipp_ismn() {\n var $1 = {}; //#4107\n $1.options = $k[--$j]; //#4109\n $1.barcode = $k[--$j]; //#4110\n $1.dontdraw = false; //#4112\n $1.includetext = false; //#4113\n $1.ismntextfont = 'OCR-A'; //#4114\n $1.ismntextsize = 8; //#4115\n $1.ismntextxoffset = \"unset\"; //#4116\n $1.ismntextyoffset = \"unset\"; //#4117\n $1.height = 1; //#4118\n $1.addongap = 12; //#4119\n $1.legacy = false; //#4120\n $forall($1.options, function() { //#4131\n var _3 = $k[--$j]; //#4131\n $1[$k[--$j]] = _3; //#4131\n }); //#4131\n $1.ismntextfont = \"\" + $1.ismntextfont; //#4133\n $1.ismntextsize = +$1.ismntextsize; //#4134\n if ($ne($1.ismntextxoffset, \"unset\")) { //#4135\n $1.ismntextxoffset = +$1.ismntextxoffset; //#4135\n } //#4135\n if ($ne($1.ismntextyoffset, \"unset\")) { //#4136\n $1.ismntextyoffset = +$1.ismntextyoffset; //#4136\n } //#4136\n $1.height = +$1.height; //#4137\n $1.addongap = +$1.addongap; //#4138\n $search($1.barcode, \" \"); //#4141\n if ($k[--$j]) { //#4147\n $1.barcode = $k[--$j]; //#4142\n $j--; //#4143\n $1.addon = $k[--$j]; //#4144\n } else { //#4147\n $j--; //#4146\n $1.addon = \"\"; //#4147\n } //#4147\n if ((($1.barcode.length != 15) && ($1.barcode.length != 17)) && (($1.barcode.length != 11) && ($1.barcode.length != 13))) { //#4154\n $k[$j++] = 'bwipp.ismnBadLength'; //#4153\n $k[$j++] = \"ISMN-13 must be 15 or 17 characters including dashes. ISMN-10 must be 11 or 13 characters including dashes\"; //#4153\n bwipp_raiseerror(); //#4153\n } //#4153\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#4157\n $k[$j++] = 'bwipp.ismnBadAddOnLength'; //#4156\n $k[$j++] = \"Add-on for ISMN must be 2 or 5 digits\"; //#4156\n bwipp_raiseerror(); //#4156\n } //#4156\n if ($1.barcode.length >= 15) { //#4224\n if ($ne($geti($1.barcode, 0, 4), \"979-\")) { //#4161\n $k[$j++] = 'bwipp.ismn13badPrefix'; //#4160\n $k[$j++] = \"ISMN-13 prefix must be 979-\"; //#4160\n bwipp_raiseerror(); //#4160\n } //#4160\n $1.wasdash = false; //#4162\n $1.numdash = 0; //#4162\n $1.numdigit = 0; //#4162\n var _S = $geti($1.barcode, 5, 9); //#4163\n for (var _T = 0, _U = _S.length; _T < _U; _T++) { //#4176\n var _V = $get(_S, _T); //#4176\n $k[$j++] = _V; //#4171\n if (_V == 45) { //#4171\n if ($1.wasdash) { //#4168\n $k[$j++] = 'bwipp.ismn13adjacentDashes'; //#4167\n $k[$j++] = \"ISMN-13 does not permit adjacent dashes\"; //#4167\n bwipp_raiseerror(); //#4167\n } //#4167\n $1.wasdash = true; //#4169\n $1.numdash = $1.numdash + 1; //#4170\n } //#4170\n var _Y = $k[--$j]; //#4172\n if ((_Y >= 48) && (_Y <= 57)) { //#4175\n $1.wasdash = false; //#4173\n $1.numdigit = $1.numdigit + 1; //#4174\n } //#4174\n } //#4174\n if (($1.numdash != 2) || ($1.numdigit != 7)) { //#4179\n $k[$j++] = 'bwipp.ismn13numDashesDigits'; //#4178\n $k[$j++] = \"Incorrect number of dashes and digits for ISMN-13\"; //#4178\n bwipp_raiseerror(); //#4178\n } //#4178\n var _d = $get($1.barcode, 14); //#4180\n if ((_d < 48) || (_d > 57)) { //#4182\n $k[$j++] = 'bwipp.ismn13character15'; //#4181\n $k[$j++] = \"ISMN-13 character 15 must be a digit\"; //#4181\n bwipp_raiseerror(); //#4181\n } //#4181\n if ($1.barcode.length == 17) { //#4190\n if ($ne($geti($1.barcode, 15, 1), \"-\")) { //#4186\n $k[$j++] = 'bwipp.ismn13character16'; //#4185\n $k[$j++] = \"ISMN-13 penultimate character must be a dash\"; //#4185\n bwipp_raiseerror(); //#4185\n } //#4185\n var _i = $get($1.barcode, 16); //#4187\n if ((_i < 48) || (_i > 57)) { //#4189\n $k[$j++] = 'bwipp.ismn13character17'; //#4188\n $k[$j++] = \"ISMN-13 final character must be a digit\"; //#4188\n bwipp_raiseerror(); //#4188\n } //#4188\n } //#4188\n } else { //#4224\n if ($ne($geti($1.barcode, 0, 2), \"M-\")) { //#4194\n $k[$j++] = 'bwipp.ismn10badPrefix'; //#4193\n $k[$j++] = \"ISMN-10 prefix must be M-\"; //#4193\n bwipp_raiseerror(); //#4193\n } //#4193\n var _m = $get($1.barcode, 2); //#4195\n if ((_m < 48) || (_m > 57)) { //#4197\n $k[$j++] = 'bwipp.ismn10character3'; //#4196\n $k[$j++] = \"ISMN-10 character 3 must be a digit\"; //#4196\n bwipp_raiseerror(); //#4196\n } //#4196\n $1.wasdash = false; //#4198\n $1.numdash = 0; //#4198\n $1.numdigit = 0; //#4198\n var _o = $geti($1.barcode, 3, 7); //#4199\n for (var _p = 0, _q = _o.length; _p < _q; _p++) { //#4212\n var _r = $get(_o, _p); //#4212\n $k[$j++] = _r; //#4207\n if (_r == 45) { //#4207\n if ($1.wasdash) { //#4204\n $k[$j++] = 'bwipp.ismn10adjacentDashes'; //#4203\n $k[$j++] = \"ISMN-10 does not permit adjacent dashes\"; //#4203\n bwipp_raiseerror(); //#4203\n } //#4203\n $1.wasdash = true; //#4205\n $1.numdash = $1.numdash + 1; //#4206\n } //#4206\n var _u = $k[--$j]; //#4208\n if ((_u >= 48) && (_u <= 57)) { //#4211\n $1.wasdash = false; //#4209\n $1.numdigit = $1.numdigit + 1; //#4210\n } //#4210\n } //#4210\n if (($1.numdash != 1) || ($1.numdigit != 6)) { //#4215\n $k[$j++] = 'bwipp.ismn10numDashesDigits'; //#4214\n $k[$j++] = \"Incorrect number of dashes and digits for ISMN-10\"; //#4214\n bwipp_raiseerror(); //#4214\n } //#4214\n var _z = $get($1.barcode, 10); //#4216\n if ((_z < 48) || (_z > 57)) { //#4218\n $k[$j++] = 'bwipp.ismn10character11'; //#4217\n $k[$j++] = \"ISMN-10 character 11 must be a digit\"; //#4217\n bwipp_raiseerror(); //#4217\n } //#4217\n if ($1.barcode.length == 13) { //#4226\n if ($ne($geti($1.barcode, 11, 1), \"-\")) { //#4222\n $k[$j++] = 'bwipp.ismn10character12'; //#4221\n $k[$j++] = \"ISMN-10 penultimate character must be a dash\"; //#4221\n bwipp_raiseerror(); //#4221\n } //#4221\n var _14 = $get($1.barcode, 12); //#4223\n if (((_14 < 48) || (_14 > 57)) && (_14 != 88)) { //#4225\n $k[$j++] = 'bwipp.ismn10character13'; //#4224\n $k[$j++] = \"ISMN-10 final character must be a digit or X\"; //#4224\n bwipp_raiseerror(); //#4224\n } //#4224\n } //#4224\n } //#4224\n $1.ismntxt = $1.barcode; //#4229\n $1.legacytxt = \"\"; //#4232\n if ($1.ismntxt.length <= 13) { //#4239\n $1.legacytxt = $1.ismntxt; //#4234\n $1.pad = $s($1.ismntxt.length + 4); //#4235\n $puti($1.pad, 0, \"979-0-\"); //#4236\n $puti($1.pad, 6, $geti($1.ismntxt, 2, $1.ismntxt.length - 2)); //#4237\n $1.ismntxt = $1.pad; //#4238\n } //#4238\n $1.ismn = $s(13); //#4242\n $1.checksum = 0; //#4243\n $1.i = 0; //#4244\n $1.n = 0; //#4244\n for (;;) { //#4260\n $1.ismnchar = $get($1.ismntxt, $1.i) - 48; //#4246\n if ($1.ismnchar != -3) { //#4257\n $put($1.ismn, $1.n, $1.ismnchar + 48); //#4248\n if ($1.n < 12) { //#4255\n if (($1.n % 2) == 0) { //#4253\n $1.checksum = $1.ismnchar + $1.checksum; //#4251\n } else { //#4253\n $1.checksum = ($1.ismnchar * 3) + $1.checksum; //#4253\n } //#4253\n } //#4253\n $1.n = $1.n + 1; //#4256\n } //#4256\n $1.i = $1.i + 1; //#4258\n if ($1.i == $1.ismntxt.length) { //#4259\n break; //#4259\n } //#4259\n } //#4259\n $1.checksum = ((10 - ($1.checksum % 10)) % 10) + 48; //#4261\n if (($1.barcode.length == 13) || ($1.barcode.length == 17)) { //#4268\n var _1b = $1.barcode; //#4265\n if ($get(_1b, _1b.length - 1) != $1.checksum) { //#4267\n $k[$j++] = 'bwipp.ismnBadCheckDigit'; //#4266\n $k[$j++] = \"Incorrect ISMN check digit provided\"; //#4266\n bwipp_raiseerror(); //#4266\n } //#4266\n } //#4266\n if ($1.legacy && $ne($1.legacytxt, \"\")) { //#4275\n $1.ismntxt = $1.legacytxt; //#4272\n $1.pad = $s(18); //#4273\n } else { //#4275\n $1.pad = $s(22); //#4275\n } //#4275\n $puti($1.pad, 0, \"ISMN \"); //#4277\n $puti($1.pad, 5, $1.ismntxt); //#4278\n $put($1.pad, $1.pad.length - 2, 45); //#4279\n $put($1.pad, $1.pad.length - 1, $1.checksum); //#4280\n $1.ismntxt = $1.pad; //#4281\n $1.barcode = $geti($1.ismn, 0, 12); //#4284\n if ($ne($1.addon, \"\")) { //#4293\n var _1w = $s((12 + $1.addon.length) + 1); //#4288\n $puti(_1w, 0, $1.barcode); //#4289\n $puti(_1w, 12, \" \"); //#4290\n $puti(_1w, 13, $1.addon); //#4291\n $1.barcode = _1w; //#4292\n } //#4292\n $put($1.options, \"dontdraw\", true); //#4296\n $put($1.options, \"addongap\", $1.addongap); //#4297\n $k[$j++] = 'args'; //#4298\n $k[$j++] = $1.barcode; //#4298\n $k[$j++] = $1.options; //#4298\n bwipp_ean13(); //#4298\n var _24 = $k[--$j]; //#4298\n $1[$k[--$j]] = _24; //#4298\n if ($1.includetext) { //#4317\n if ($1.ismntextxoffset == \"unset\") { //#4304\n $k[$j++] = 'ismntextxoffset'; //#4303\n if ($1.ismntxt.length == 18) { //#4303\n $k[$j++] = -1; //#4303\n } else { //#4303\n $k[$j++] = -12; //#4303\n } //#4303\n var _29 = $k[--$j]; //#4303\n $1[$k[--$j]] = _29; //#4303\n } //#4303\n if ($1.ismntextyoffset == \"unset\") { //#4307\n $1.ismntextyoffset = $f(($1.height * 72) + 3); //#4306\n } //#4306\n var _2E = $get($1.args, \"txt\") !== undefined; //#4308\n if (_2E) { //#4315\n $1.txt = $get($1.args, \"txt\"); //#4309\n $1.newtxt = $a($1.txt.length + 1); //#4310\n $puti($1.newtxt, 0, $1.txt); //#4311\n $put($1.newtxt, $1.newtxt.length - 1, $a([$1.ismntxt, $1.ismntextxoffset, $1.ismntextyoffset, $1.ismntextfont, $1.ismntextsize])); //#4312\n $put($1.args, \"txt\", $1.newtxt); //#4313\n } else { //#4315\n $put($1.args, \"txt\", $a([$a([$1.ismntxt, $1.ismntextxoffset, $1.ismntextyoffset, $1.ismntextfont, $1.ismntextsize])])); //#4315\n } //#4315\n } //#4315\n $put($1.args, \"opt\", $1.options); //#4319\n $k[$j++] = $1.args; //#4322\n if (!$1.dontdraw) { //#4322\n bwipp_renlinear(); //#4322\n } //#4322\n}\n\nfunction bwipp_issn() {\n var $1 = {}; //#4352\n $1.options = $k[--$j]; //#4354\n $1.issntxt = $k[--$j]; //#4355\n $1.dontdraw = false; //#4357\n $1.includetext = false; //#4358\n $1.issntextfont = 'OCR-A'; //#4359\n $1.issntextsize = 8; //#4360\n $1.issntextxoffset = \"unset\"; //#4361\n $1.issntextyoffset = \"unset\"; //#4362\n $1.height = 1; //#4363\n $1.addongap = 12; //#4364\n $forall($1.options, function() { //#4375\n var _3 = $k[--$j]; //#4375\n $1[$k[--$j]] = _3; //#4375\n }); //#4375\n $1.issntextfont = \"\" + $1.issntextfont; //#4377\n $1.issntextsize = +$1.issntextsize; //#4378\n if ($ne($1.issntextxoffset, \"unset\")) { //#4379\n $1.issntextxoffset = +$1.issntextxoffset; //#4379\n } //#4379\n if ($ne($1.issntextyoffset, \"unset\")) { //#4380\n $1.issntextyoffset = +$1.issntextyoffset; //#4380\n } //#4380\n $1.height = +$1.height; //#4381\n $1.addongap = +$1.addongap; //#4382\n $search($1.issntxt, \" \"); //#4385\n if ($k[--$j]) { //#4391\n $1.issntxt = $k[--$j]; //#4386\n $j--; //#4387\n $1.seqvar = $k[--$j]; //#4388\n } else { //#4391\n $j--; //#4390\n $1.seqvar = \"00\"; //#4391\n } //#4391\n $search($1.seqvar, \" \"); //#4395\n if ($k[--$j]) { //#4401\n $1.seqvar = $k[--$j]; //#4396\n $j--; //#4397\n $1.addon = $k[--$j]; //#4398\n } else { //#4401\n $j--; //#4400\n $1.addon = \"\"; //#4401\n } //#4401\n if (($1.issntxt.length != 8) && ($1.issntxt.length != 9)) { //#4407\n $k[$j++] = 'bwipp.issnBadLength'; //#4406\n $k[$j++] = \"ISSN must be 8 or 9 characters including dash, in the format XXXX-XXXX\"; //#4406\n bwipp_raiseerror(); //#4406\n } //#4406\n var _O = $geti($1.issntxt, 0, 4); //#4408\n for (var _P = 0, _Q = _O.length; _P < _Q; _P++) { //#4412\n var _R = $get(_O, _P); //#4412\n if ((_R < 48) || (_R > 57)) { //#4411\n $k[$j++] = 'bwipp.issnFirstThroughFourthNotNumeric'; //#4410\n $k[$j++] = \"ISSN first four characters must be numeral characters\"; //#4410\n bwipp_raiseerror(); //#4410\n } //#4410\n } //#4410\n if ($ne($geti($1.issntxt, 4, 1), \"-\")) { //#4415\n $k[$j++] = 'bwipp.issnNeedsDash'; //#4414\n $k[$j++] = \"ISSN fifth character must be a dash\"; //#4414\n bwipp_raiseerror(); //#4414\n } //#4414\n var _V = $geti($1.issntxt, 5, 3); //#4416\n for (var _W = 0, _X = _V.length; _W < _X; _W++) { //#4420\n var _Y = $get(_V, _W); //#4420\n if ((_Y < 48) || (_Y > 57)) { //#4419\n $k[$j++] = 'bwipp.issnSixthThroughEighthNotNumeric'; //#4418\n $k[$j++] = \"ISSN sixth through eighth characters must be numerals\"; //#4418\n bwipp_raiseerror(); //#4418\n } //#4418\n } //#4418\n if ($1.issntxt.length == 9) { //#4425\n var _b = $get($1.issntxt, 8); //#4422\n if (((_b < 48) || (_b > 57)) && (_b != 88)) { //#4424\n $k[$j++] = 'bwipp.issnNinthCharacterBadFormat'; //#4423\n $k[$j++] = \"ISSN ninth character must be a number or the character X\"; //#4423\n bwipp_raiseerror(); //#4423\n } //#4423\n } //#4423\n if ($1.seqvar.length != 2) { //#4428\n $k[$j++] = 'bwipp.issnBadSequenceVariantLength'; //#4427\n $k[$j++] = \"Sequence variant for ISSN must be 2 digits\"; //#4427\n bwipp_raiseerror(); //#4427\n } //#4427\n $forall($1.seqvar, function() { //#4433\n var _e = $k[--$j]; //#4430\n if ((_e < 48) || (_e > 57)) { //#4432\n $k[$j++] = 'bwipp.issnSequenceVariantBadCharacter'; //#4431\n $k[$j++] = \"Sequence variant for ISSN must contain only digits\"; //#4431\n bwipp_raiseerror(); //#4431\n } //#4431\n }); //#4431\n if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { //#4436\n $k[$j++] = 'bwipp.issnBadAddOnLength'; //#4435\n $k[$j++] = \"Add-on for ISSN must be 2 or 5 digits\"; //#4435\n bwipp_raiseerror(); //#4435\n } //#4435\n $1.issn = $s(8); //#4439\n $1.checksum = 0; //#4440\n $1.i = 0; //#4441\n $1.n = 0; //#4441\n for (;;) { //#4453\n $1.issnchar = $f($get($1.issntxt, $1.i) - 48); //#4443\n if ($1.issnchar != -3) { //#4450\n $put($1.issn, $1.n, $f($1.issnchar + 48)); //#4445\n if ($1.n < 7) { //#4448\n $1.checksum = $f($1.checksum + ($1.issnchar * (8 - $1.n))); //#4447\n } //#4447\n $1.n = $1.n + 1; //#4449\n } //#4449\n $1.i = $1.i + 1; //#4451\n if ($1.i == $1.issntxt.length) { //#4452\n break; //#4452\n } //#4452\n } //#4452\n $1.checksum = ($f(11 - ($1.checksum % 11))) % 11; //#4454\n var _10 = $f($1.checksum + 48); //#4455\n $k[$j++] = 'checksum'; //#4455\n $k[$j++] = _10; //#4455\n if (_10 == 58) { //#4455\n $j--; //#4455\n $k[$j++] = 88; //#4455\n } //#4455\n var _11 = $k[--$j]; //#4455\n $1[$k[--$j]] = _11; //#4455\n if ($1.issntxt.length == 9) { //#4460\n if ($get($1.issntxt, 8) != $1.checksum) { //#4459\n $k[$j++] = 'bwipp.issnBadCheckDigit'; //#4458\n $k[$j++] = \"Incorrect ISSN check digit provided\"; //#4458\n bwipp_raiseerror(); //#4458\n } //#4458\n } //#4458\n $1.pad = $s(14); //#4463\n $puti($1.pad, 0, \"ISSN \"); //#4464\n $puti($1.pad, 5, $1.issntxt); //#4465\n $put($1.pad, 13, $1.checksum); //#4466\n $1.issntxt = $1.pad; //#4467\n $1.barcode = $geti($1.issn, 0, 7); //#4470\n $1.barcode = $s(12); //#4473\n $puti($1.barcode, 0, \"977\"); //#4474\n $puti($1.barcode, 3, $1.issn); //#4475\n $puti($1.barcode, 10, $1.seqvar); //#4476\n if ($ne($1.addon, \"\")) { //#4485\n var _1O = $s((12 + $1.addon.length) + 1); //#4480\n $puti(_1O, 0, $1.barcode); //#4481\n $puti(_1O, 12, \" \"); //#4482\n $puti(_1O, 13, $1.addon); //#4483\n $1.barcode = _1O; //#4484\n } //#4484\n $put($1.options, \"dontdraw\", true); //#4488\n $put($1.options, \"addongap\", $1.addongap); //#4489\n $k[$j++] = 'args'; //#4490\n $k[$j++] = $1.barcode; //#4490\n $k[$j++] = $1.options; //#4490\n bwipp_ean13(); //#4490\n var _1W = $k[--$j]; //#4490\n $1[$k[--$j]] = _1W; //#4490\n if ($1.includetext) { //#4507\n if ($1.issntextxoffset == \"unset\") { //#4494\n $1.issntextxoffset = 10; //#4494\n } //#4494\n if ($1.issntextyoffset == \"unset\") { //#4497\n $1.issntextyoffset = $f(($1.height * 72) + 3); //#4496\n } //#4496\n var _1d = $get($1.args, \"txt\") !== undefined; //#4498\n if (_1d) { //#4505\n $1.txt = $get($1.args, \"txt\"); //#4499\n $1.newtxt = $a($1.txt.length + 1); //#4500\n $puti($1.newtxt, 0, $1.txt); //#4501\n $put($1.newtxt, $1.newtxt.length - 1, $a([$1.issntxt, $1.issntextxoffset, $1.issntextyoffset, $1.issntextfont, $1.issntextsize])); //#4502\n $put($1.args, \"txt\", $1.newtxt); //#4503\n } else { //#4505\n $put($1.args, \"txt\", $a([$a([$1.issntxt, $1.issntextxoffset, $1.issntextyoffset, $1.issntextfont, $1.issntextsize])])); //#4505\n } //#4505\n } //#4505\n $put($1.args, \"opt\", $1.options); //#4509\n $k[$j++] = $1.args; //#4512\n if (!$1.dontdraw) { //#4512\n bwipp_renlinear(); //#4512\n } //#4512\n}\n\nfunction bwipp_code128() {\n var $1 = {}; //#4542\n $1.options = $k[--$j]; //#4544\n $1.barcode = $k[--$j]; //#4545\n $1.dontdraw = false; //#4547\n $1.includetext = false; //#4548\n $1.textfont = \"OCR-B\"; //#4549\n $1.textsize = 10; //#4550\n $1.textxoffset = 0; //#4551\n $1.textyoffset = -8; //#4552\n $1.height = 1; //#4553\n $1.encoding = \"auto\"; //#4554\n $1.raw = false; //#4555\n $1.parse = false; //#4556\n $1.parsefnc = false; //#4557\n $forall($1.options, function() { //#4568\n var _3 = $k[--$j]; //#4568\n $1[$k[--$j]] = _3; //#4568\n }); //#4568\n $1.textfont = \"\" + $1.textfont; //#4570\n $1.textsize = +$1.textsize; //#4571\n $1.textxoffset = +$1.textxoffset; //#4572\n $1.textyoffset = +$1.textyoffset; //#4573\n $1.height = +$1.height; //#4574\n $1.sta = -1; //#4577\n $1.stb = -2; //#4577\n $1.stc = -3; //#4577\n $1.swa = -4; //#4578\n $1.swb = -5; //#4578\n $1.swc = -6; //#4578\n $1.fn1 = -7; //#4579\n $1.fn2 = -8; //#4579\n $1.fn3 = -9; //#4579\n $1.fn4 = -10; //#4580\n $1.sft = -11; //#4580\n $1.stp = -12; //#4580\n $1.lka = -13; //#4581\n $1.lkc = -14; //#4581\n var _I = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"FNC1\", $1.fn1],\n [\"FNC1\", $1.fn1],\n [\"FNC2\", $1.fn2],\n [\"FNC3\", $1.fn3],\n [\"LNKA\", $1.lka],\n [\"LNKC\", $1.lkc]\n ]); //#4593\n $1.fncvals = _I; //#4594\n $k[$j++] = 'msg'; //#4595\n $k[$j++] = $1.barcode; //#4595\n $k[$j++] = $1.fncvals; //#4595\n bwipp_parseinput(); //#4595\n var _L = $k[--$j]; //#4595\n $1[$k[--$j]] = _L; //#4595\n $1.msglen = $1.msg.length; //#4596\n $1.charmaps = $a([$a([32, 32, \"00\"]), $a([\"!\", \"!\", \"01\"]), $a([\"\\\"\", \"\\\"\", \"02\"]), $a([\"#\", \"#\", \"03\"]), $a([\"$\", \"$\", \"04\"]), $a([\"%\", \"%\", \"05\"]), $a([\"&\", \"&\", \"06\"]), $a([\"'\", \"'\", \"07\"]), $a([40, 40, \"08\"]), $a([41, 41, \"09\"]), $a([\"*\", \"*\", \"10\"]), $a([\"+\", \"+\", \"11\"]), $a([\",\", \",\", \"12\"]), $a([\"-\", \"-\", \"13\"]), $a([\".\", \".\", \"14\"]), $a([\"/\", \"/\", \"15\"]), $a([\"0\", \"0\", \"16\"]), $a([\"1\", \"1\", \"17\"]), $a([\"2\", \"2\", \"18\"]), $a([\"3\", \"3\", \"19\"]), $a([\"4\", \"4\", \"20\"]), $a([\"5\", \"5\", \"21\"]), $a([\"6\", \"6\", \"22\"]), $a([\"7\", \"7\", \"23\"]), $a([\"8\", \"8\", \"24\"]), $a([\"9\", \"9\", \"25\"]), $a([\":\", \":\", \"26\"]), $a([\";\", \";\", \"27\"]), $a([\"<\", \"<\", \"28\"]), $a([\"=\", \"=\", \"29\"]), $a([\">\", \">\", \"30\"]), $a([\"?\", \"?\", \"31\"]), $a([\"@\", \"@\", \"32\"]), $a([\"A\", \"A\", \"33\"]), $a([\"B\", \"B\", \"34\"]), $a([\"C\", \"C\", \"35\"]), $a([\"D\", \"D\", \"36\"]), $a([\"E\", \"E\", \"37\"]), $a([\"F\", \"F\", \"38\"]), $a([\"G\", \"G\", \"39\"]), $a([\"H\", \"H\", \"40\"]), $a([\"I\", \"I\", \"41\"]), $a([\"J\", \"J\", \"42\"]), $a([\"K\", \"K\", \"43\"]), $a([\"L\", \"L\", \"44\"]), $a([\"M\", \"M\", \"45\"]), $a([\"N\", \"N\", \"46\"]), $a([\"O\", \"O\", \"47\"]), $a([\"P\", \"P\", \"48\"]), $a([\"Q\", \"Q\", \"49\"]), $a([\"R\", \"R\", \"50\"]), $a([\"S\", \"S\", \"51\"]), $a([\"T\", \"T\", \"52\"]), $a([\"U\", \"U\", \"53\"]), $a([\"V\", \"V\", \"54\"]), $a([\"W\", \"W\", \"55\"]), $a([\"X\", \"X\", \"56\"]), $a([\"Y\", \"Y\", \"57\"]), $a([\"Z\", \"Z\", \"58\"]), $a([\"[\", \"[\", \"59\"]), $a([92, 92, \"60\"]), $a([\"]\", \"]\", \"61\"]), $a([\"^\", \"^\", \"62\"]), $a([\"_\", \"_\", \"63\"]), $a([0, \"`\", \"64\"]), $a([1, \"a\", \"65\"]), $a([2, \"b\", \"66\"]), $a([3, \"c\", \"67\"]), $a([4, \"d\", \"68\"]), $a([5, \"e\", \"69\"]), $a([6, \"f\", \"70\"]), $a([7, \"g\", \"71\"]), $a([8, \"h\", \"72\"]), $a([9, \"i\", \"73\"]), $a([10, \"j\", \"74\"]), $a([11, \"k\", \"75\"]), $a([12, \"l\", \"76\"]), $a([13, \"m\", \"77\"]), $a([14, \"n\", \"78\"]), $a([15, \"o\", \"79\"]), $a([16, \"p\", \"80\"]), $a([17, \"q\", \"81\"]), $a([18, \"r\", \"82\"]), $a([19, \"s\", \"83\"]), $a([20, \"t\", \"84\"]), $a([21, \"u\", \"85\"]), $a([22, \"v\", \"86\"]), $a([23, \"w\", \"87\"]), $a([24, \"x\", \"88\"]), $a([25, \"y\", \"89\"]), $a([26, \"z\", \"90\"]), $a([27, \"{\", \"91\"]), $a([28, \"|\", \"92\"]), $a([29, \"}\", \"93\"]), $a([30, \"~\", \"94\"]), $a([31, 127, \"95\"]), $a([$1.fn3, $1.fn3, \"96\"]), $a([$1.fn2, $1.fn2, \"97\"]), $a([$1.sft, $1.sft, \"98\"]), $a([$1.swc, $1.swc, \"99\"]), $a([$1.swb, $1.fn4, $1.swb]), $a([$1.fn4, $1.swa, $1.swa]), $a([$1.fn1, $1.fn1, $1.fn1]), $a([$1.sta, $1.sta, $1.sta]), $a([$1.stb, $1.stb, $1.stb]), $a([$1.stc, $1.stc, $1.stc]), $a([$1.stp, $1.stp, $1.stp])]); //#4637\n $1.charvals = $a([new Map, new Map, new Map]); //#4640\n for (var _2e = 0, _2d = $1.charmaps.length - 1; _2e <= _2d; _2e += 1) { //#4649\n $1.i = _2e; //#4642\n $1.encs = $get($1.charmaps, $1.i); //#4643\n for (var _2i = 0; _2i <= 2; _2i += 1) { //#4648\n $1.j = _2i; //#4645\n var _2l = $get($1.encs, $1.j); //#4646\n $k[$j++] = _2l; //#4646\n if ($eq($type(_2l), 'stringtype')) { //#4646\n var _2o = $get($k[--$j], 0); //#4646\n $k[$j++] = _2o; //#4646\n } //#4646\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#4647\n } //#4647\n } //#4647\n $1.seta = $get($1.charvals, 0); //#4650\n $1.setb = $get($1.charvals, 1); //#4651\n $1.setc = $get($1.charvals, 2); //#4652\n $put($1.seta, $1.lka, $get($1.seta, $1.swb)); //#4655\n $put($1.seta, $1.lkc, $get($1.seta, $1.swc)); //#4655\n $put($1.setb, $1.lka, $get($1.setb, $1.swc)); //#4656\n $put($1.setb, $1.lkc, $get($1.setb, $1.swa)); //#4656\n $put($1.setc, $1.lka, $get($1.setc, $1.swa)); //#4657\n $put($1.setc, $1.lkc, $get($1.setc, $1.swb)); //#4657\n if ($1.raw) { //#4659\n $1.encoding = \"raw\"; //#4659\n } //#4659\n if ($eq($1.encoding, \"raw\")) { //#4673\n $1.cws = $a($1.barcode.length); //#4662\n $1.i = 0; //#4663\n $1.j = 0; //#4663\n for (;;) { //#4670\n if ($1.i == $1.barcode.length) { //#4665\n break; //#4665\n } //#4665\n $1.cw = ~~$z($geti($1.barcode, $1.i + 1, 3)); //#4666\n $put($1.cws, $1.j, $1.cw); //#4667\n $1.i = $1.i + 4; //#4668\n $1.j = $1.j + 1; //#4669\n } //#4669\n $1.cws = $geti($1.cws, 0, $1.j); //#4671\n $1.text = \"\"; //#4672\n } //#4672\n if ($eq($1.encoding, \"auto\")) { //#4898\n $1.text = $s($1.msglen); //#4677\n for (var _3q = 0, _3p = $1.msglen - 1; _3q <= _3p; _3q += 1) { //#4681\n $1.i = _3q; //#4679\n var _3v = $get($1.msg, $1.i); //#4680\n $k[$j++] = $1.text; //#4680\n $k[$j++] = $1.i; //#4680\n $k[$j++] = _3v; //#4680\n if (_3v < 0) { //#4680\n $j--; //#4680\n $k[$j++] = 32; //#4680\n } //#4680\n var _3w = $k[--$j]; //#4680\n var _3x = $k[--$j]; //#4680\n $put($k[--$j], _3x, _3w); //#4680\n } //#4680\n $k[$j++] = Infinity; //#4684\n for (var _40 = 0, _41 = $1.msglen; _40 < _41; _40++) { //#4684\n $k[$j++] = 0; //#4684\n } //#4684\n $k[$j++] = 0; //#4684\n $1.numSA = $a(); //#4684\n $k[$j++] = Infinity; //#4685\n for (var _44 = 0, _45 = $1.msglen; _44 < _45; _44++) { //#4685\n $k[$j++] = 0; //#4685\n } //#4685\n $k[$j++] = 0; //#4685\n $1.numEA = $a(); //#4685\n for (var _48 = $1.msglen - 1; _48 >= 0; _48 -= 1) { //#4695\n $1.i = _48; //#4687\n if ($get($1.msg, $1.i) >= 0) { //#4694\n if ($get($1.msg, $1.i) >= 128) { //#4692\n $put($1.numEA, $1.i, $f($get($1.numEA, $1.i + 1) + 1)); //#4690\n } else { //#4692\n $put($1.numSA, $1.i, $f($get($1.numSA, $1.i + 1) + 1)); //#4692\n } //#4692\n } //#4692\n } //#4692\n $1.ea = false; //#4698\n $1.msgtmp = $a([]); //#4698\n for (var _4S = 0, _4R = $1.msglen - 1; _4S <= _4R; _4S += 1) { //#4713\n $1.i = _4S; //#4700\n $1.c = $get($1.msg, $1.i); //#4701\n if ((!$xo($1.ea, $1.c < 128)) && ($1.c >= 0)) { //#4711\n if ($1.ea) { //#4703\n $k[$j++] = $1.numSA; //#4703\n } else { //#4703\n $k[$j++] = $1.numEA; //#4703\n } //#4703\n var _4e = $get($k[--$j], $1.i); //#4703\n var _4h = ($f(_4e + $1.i) == $1.msglen) ? 3 : 5; //#4704\n if (_4e < _4h) { //#4709\n $k[$j++] = Infinity; //#4706\n $aload($1.msgtmp); //#4706\n $k[$j++] = $1.fn4; //#4706\n $1.msgtmp = $a(); //#4706\n } else { //#4709\n $k[$j++] = Infinity; //#4708\n $aload($1.msgtmp); //#4708\n $k[$j++] = $1.fn4; //#4708\n $k[$j++] = $1.fn4; //#4708\n $1.msgtmp = $a(); //#4708\n $1.ea = !$1.ea; //#4709\n } //#4709\n } //#4709\n $k[$j++] = Infinity; //#4712\n $aload($1.msgtmp); //#4712\n if ($1.c >= 0) { //#4712\n $k[$j++] = $1.c & 127; //#4712\n } else { //#4712\n $k[$j++] = $1.c; //#4712\n } //#4712\n $1.msgtmp = $a(); //#4712\n } //#4712\n $1.msg = $1.msgtmp; //#4714\n $1.msglen = $1.msg.length; //#4715\n $1.numsscr = function() {\n $1.n = 0; //#4719\n $1.s = 0; //#4719\n $1.p = $k[--$j]; //#4720\n for (;;) { //#4733\n if ($1.p >= $1.msglen) { //#4721\n break; //#4721\n } //#4721\n var _52 = $get($1.msg, $1.p); //#4722\n var _54 = $get($1.setc, _52) !== undefined; //#4723\n $k[$j++] = _52; //#4723\n if (!_54) { //#4723\n $j--; //#4723\n break; //#4723\n } //#4723\n var _55 = $k[--$j]; //#4724\n $k[$j++] = _55; //#4729\n if (_55 <= -1) { //#4728\n var _57 = $k[--$j]; //#4726\n if ((_57 == $1.fn1) && (($1.s % 2) == 0)) { //#4726\n $1.s = $1.s + 1; //#4726\n } else { //#4726\n break; //#4726\n } //#4726\n } else { //#4728\n $j--; //#4728\n } //#4728\n $1.n = $1.n + 1; //#4730\n $1.s = $1.s + 1; //#4731\n $1.p = $f($1.p + 1); //#4732\n } //#4732\n $k[$j++] = $1.n; //#4734\n $k[$j++] = $1.s; //#4734\n }; //#4735\n $1.enca = function() {\n $put($1.cws, $1.j, $get($1.seta, $k[--$j])); //#4739\n $1.j = $1.j + 1; //#4740\n }; //#4741\n $1.encb = function() {\n $put($1.cws, $1.j, $get($1.setb, $k[--$j])); //#4743\n $1.j = $1.j + 1; //#4744\n }; //#4745\n $1.encc = function() {\n var _5R = $k[--$j]; //#4747\n $k[$j++] = _5R; //#4751\n if ($ne($type(_5R), 'arraytype')) { //#4750\n var _5V = $get($1.setc, $k[--$j]); //#4748\n $k[$j++] = _5V; //#4748\n } else { //#4750\n $aload($k[--$j]); //#4750\n var _5X = $k[--$j]; //#4750\n var _5Y = $k[--$j]; //#4750\n $k[$j++] = $f($f(_5X - 48) + ($f(_5Y - 48) * 10)); //#4750\n } //#4750\n $put($1.cws, $1.j, $k[--$j]); //#4752\n $1.j = $1.j + 1; //#4753\n }; //#4754\n $1.anotb = function() {\n var _5d = $k[--$j]; //#4757\n var _5f = $get($1.seta, _5d) !== undefined; //#4757\n var _5h = $get($1.setb, _5d) !== undefined; //#4757\n $k[$j++] = _5f && (!_5h); //#4757\n }; //#4757\n $1.bnota = function() {\n var _5i = $k[--$j]; //#4758\n var _5k = $get($1.setb, _5i) !== undefined; //#4758\n var _5m = $get($1.seta, _5i) !== undefined; //#4758\n $k[$j++] = _5k && (!_5m); //#4758\n }; //#4758\n $k[$j++] = Infinity; //#4761\n for (var _5o = 0, _5p = $1.msg.length; _5o < _5p; _5o++) { //#4761\n $k[$j++] = 0; //#4761\n } //#4761\n $k[$j++] = 9999; //#4761\n $1.nextanotb = $a(); //#4761\n $k[$j++] = Infinity; //#4762\n for (var _5s = 0, _5t = $1.msg.length; _5s < _5t; _5s++) { //#4762\n $k[$j++] = 0; //#4762\n } //#4762\n $k[$j++] = 9999; //#4762\n $1.nextbnota = $a(); //#4762\n for (var _5w = $1.msg.length - 1; _5w >= 0; _5w -= 1) { //#4775\n $1.i = _5w; //#4764\n $k[$j++] = $get($1.msg, $1.i); //#4765\n $1.anotb(); //#4765\n if ($k[--$j]) { //#4768\n $put($1.nextanotb, $1.i, 0); //#4766\n } else { //#4768\n $put($1.nextanotb, $1.i, $f($get($1.nextanotb, $1.i + 1) + 1)); //#4768\n } //#4768\n $k[$j++] = $get($1.msg, $1.i); //#4770\n $1.bnota(); //#4770\n if ($k[--$j]) { //#4773\n $put($1.nextbnota, $1.i, 0); //#4771\n } else { //#4773\n $put($1.nextbnota, $1.i, $f($get($1.nextbnota, $1.i + 1) + 1)); //#4773\n } //#4773\n } //#4773\n $1.abeforeb = function() {\n var _6J = $k[--$j]; //#4778\n $k[$j++] = $lt($get($1.nextanotb, _6J), $get($1.nextbnota, _6J)); //#4778\n }; //#4778\n $1.bbeforea = function() {\n var _6O = $k[--$j]; //#4779\n $k[$j++] = $lt($get($1.nextbnota, _6O), $get($1.nextanotb, _6O)); //#4779\n }; //#4779\n $1.cws = $a(($1.barcode.length * 2) + 3); //#4781\n $1.j = 0; //#4784\n if ($1.msglen > 0) { //#4785\n $k[$j++] = 0; //#4785\n $1.numsscr(); //#4785\n } else { //#4785\n $k[$j++] = -1; //#4785\n $k[$j++] = -1; //#4785\n } //#4785\n $1.nums = $k[--$j]; //#4785\n $1.nchars = $k[--$j]; //#4785\n for (;;) { //#4810\n if ($1.msglen == 0) { //#4791\n $k[$j++] = $1.stb; //#4788\n $1.enca(); //#4788\n $1.cset = \"setb\"; //#4789\n break; //#4790\n } //#4790\n if (($1.msglen == 2) && ($1.nums == 2)) { //#4796\n $k[$j++] = $1.stc; //#4793\n $1.enca(); //#4793\n $1.cset = \"setc\"; //#4794\n break; //#4795\n } //#4795\n if ($1.nums >= 4) { //#4801\n $k[$j++] = $1.stc; //#4798\n $1.enca(); //#4798\n $1.cset = \"setc\"; //#4799\n break; //#4800\n } //#4800\n $k[$j++] = 0; //#4802\n $1.abeforeb(); //#4802\n if ($k[--$j]) { //#4806\n $k[$j++] = $1.sta; //#4803\n $1.enca(); //#4803\n $1.cset = \"seta\"; //#4804\n break; //#4805\n } //#4805\n $k[$j++] = $1.stb; //#4807\n $1.enca(); //#4807\n $1.cset = \"setb\"; //#4808\n break; //#4809\n } //#4809\n $1.i = 0; //#4813\n for (;;) { //#4896\n if ($1.i == $1.msglen) { //#4814\n break; //#4814\n } //#4814\n $k[$j++] = $1.i; //#4816\n $1.numsscr(); //#4816\n $1.nums = $k[--$j]; //#4816\n $1.nchars = $k[--$j]; //#4816\n for (;;) { //#4894\n if ((($eq($1.cset, \"seta\") || $eq($1.cset, \"setb\")) && ($1.nums >= 4)) && ($get($1.msg, $1.i) != $1.fn1)) { //#4833\n if (($1.nums % 2) == 0) { //#4831\n $k[$j++] = $1.swc; //#4823\n if ($eq($1.cset, \"seta\")) { //#4823\n $1.enca(); //#4823\n } else { //#4823\n $1.encb(); //#4823\n } //#4823\n $1.cset = \"setc\"; //#4824\n break; //#4825\n } else { //#4831\n $k[$j++] = $get($1.msg, $1.i); //#4827\n if ($eq($1.cset, \"seta\")) { //#4827\n $1.enca(); //#4827\n } else { //#4827\n $1.encb(); //#4827\n } //#4827\n $1.i = $1.i + 1; //#4828\n $k[$j++] = $1.swc; //#4829\n if ($eq($1.cset, \"seta\")) { //#4829\n $1.enca(); //#4829\n } else { //#4829\n $1.encb(); //#4829\n } //#4829\n $1.cset = \"setc\"; //#4830\n break; //#4831\n } //#4831\n } //#4831\n $k[$j++] = $eq($1.cset, \"setb\"); //#4834\n $k[$j++] = $get($1.msg, $1.i); //#4834\n $1.anotb(); //#4834\n var _78 = $k[--$j]; //#4834\n var _79 = $k[--$j]; //#4834\n if ((_79 && _78)) { //#4846\n if ($1.i < ($1.msglen - 1)) { //#4842\n $k[$j++] = $1.i + 1; //#4836\n $1.bbeforea(); //#4836\n if ($k[--$j]) { //#4841\n $k[$j++] = $1.sft; //#4837\n $1.encb(); //#4837\n $k[$j++] = $get($1.msg, $1.i); //#4838\n $1.enca(); //#4838\n $1.i = $1.i + 1; //#4839\n break; //#4840\n } //#4840\n } //#4840\n $k[$j++] = $1.swa; //#4843\n $1.encb(); //#4843\n $1.cset = \"seta\"; //#4844\n break; //#4845\n } //#4845\n $k[$j++] = $eq($1.cset, \"seta\"); //#4847\n $k[$j++] = $get($1.msg, $1.i); //#4847\n $1.bnota(); //#4847\n var _7O = $k[--$j]; //#4847\n var _7P = $k[--$j]; //#4847\n if ((_7P && _7O)) { //#4859\n if ($1.i < ($1.msglen - 1)) { //#4855\n $k[$j++] = $1.i + 1; //#4849\n $1.abeforeb(); //#4849\n if ($k[--$j]) { //#4854\n $k[$j++] = $1.sft; //#4850\n $1.enca(); //#4850\n $k[$j++] = $get($1.msg, $1.i); //#4851\n $1.encb(); //#4851\n $1.i = $1.i + 1; //#4852\n break; //#4853\n } //#4853\n } //#4853\n $k[$j++] = $1.swb; //#4856\n $1.enca(); //#4856\n $1.cset = \"setb\"; //#4857\n break; //#4858\n } //#4858\n if (($eq($1.cset, \"setc\") && ($1.nums < 2)) && ($get($1.msg, $1.i) > -1)) { //#4869\n $k[$j++] = $1.i; //#4861\n $1.abeforeb(); //#4861\n if ($k[--$j]) { //#4865\n $k[$j++] = $1.swa; //#4862\n $1.encc(); //#4862\n $1.cset = \"seta\"; //#4863\n break; //#4864\n } //#4864\n $k[$j++] = $1.swb; //#4866\n $1.encc(); //#4866\n $1.cset = \"setb\"; //#4867\n break; //#4868\n } //#4868\n if ($eq($1.cset, \"seta\")) { //#4876\n $k[$j++] = $get($1.msg, $1.i); //#4873\n $1.enca(); //#4873\n $1.i = $1.i + 1; //#4874\n break; //#4875\n } //#4875\n if ($eq($1.cset, \"setb\")) { //#4881\n $k[$j++] = $get($1.msg, $1.i); //#4878\n $1.encb(); //#4878\n $1.i = $1.i + 1; //#4879\n break; //#4880\n } //#4880\n if ($eq($1.cset, \"setc\")) { //#4891\n if ($get($1.msg, $1.i) <= -1) { //#4888\n $k[$j++] = $get($1.msg, $1.i); //#4884\n $1.encc(); //#4884\n $1.i = $1.i + 1; //#4885\n } else { //#4888\n $k[$j++] = $geti($1.msg, $1.i, 2); //#4887\n $1.encc(); //#4887\n $1.i = $1.i + 2; //#4888\n } //#4888\n break; //#4890\n } //#4890\n break; //#4893\n } //#4893\n } //#4893\n $1.cws = $geti($1.cws, 0, $1.j); //#4897\n } //#4897\n var _89 = $a($1.j + 2); //#4901\n $puti(_89, 0, $1.cws); //#4901\n $1.cws = _89; //#4901\n $1.csum = $get($1.cws, 0); //#4902\n for (var _8F = 1, _8E = $1.j - 1; _8F <= _8E; _8F += 1) { //#4906\n $1.i = _8F; //#4904\n $1.csum = $f($1.csum + ($get($1.cws, $1.i) * $1.i)); //#4905\n } //#4905\n $1.csum = $1.csum % 103; //#4907\n $put($1.cws, $1.j, $1.csum); //#4908\n $put($1.cws, $1.j + 1, $get($1.seta, $1.stp)); //#4909\n $1.encs = $a([\"212222\", \"222122\", \"222221\", \"121223\", \"121322\", \"131222\", \"122213\", \"122312\", \"132212\", \"221213\", \"221312\", \"231212\", \"112232\", \"122132\", \"122231\", \"113222\", \"123122\", \"123221\", \"223211\", \"221132\", \"221231\", \"213212\", \"223112\", \"312131\", \"311222\", \"321122\", \"321221\", \"312212\", \"322112\", \"322211\", \"212123\", \"212321\", \"232121\", \"111323\", \"131123\", \"131321\", \"112313\", \"132113\", \"132311\", \"211313\", \"231113\", \"231311\", \"112133\", \"112331\", \"132131\", \"113123\", \"113321\", \"133121\", \"313121\", \"211331\", \"231131\", \"213113\", \"213311\", \"213131\", \"311123\", \"311321\", \"331121\", \"312113\", \"312311\", \"332111\", \"314111\", \"221411\", \"431111\", \"111224\", \"111422\", \"121124\", \"121421\", \"141122\", \"141221\", \"112214\", \"112412\", \"122114\", \"122411\", \"142112\", \"142211\", \"241211\", \"221114\", \"413111\", \"241112\", \"134111\", \"111242\", \"121142\", \"121241\", \"114212\", \"124112\", \"124211\", \"411212\", \"421112\", \"421211\", \"212141\", \"214121\", \"412121\", \"111143\", \"111341\", \"131141\", \"114113\", \"114311\", \"411113\", \"411311\", \"113141\", \"114131\", \"311141\", \"411131\", \"211412\", \"211214\", \"211232\", \"2331112\"]); //#4929\n $1.sbs = $s(($1.cws.length * 6) + 1); //#4932\n for (var _8Z = 0, _8Y = $1.cws.length - 1; _8Z <= _8Y; _8Z += 1) { //#4936\n $1.i = _8Z; //#4934\n $puti($1.sbs, $1.i * 6, $get($1.encs, $get($1.cws, $1.i))); //#4935\n } //#4935\n $k[$j++] = Infinity; //#4946\n $k[$j++] = Infinity; //#4941\n var _8h = $1.sbs; //#4941\n for (var _8i = 0, _8j = _8h.length; _8i < _8j; _8i++) { //#4941\n $k[$j++] = $get(_8h, _8i) - 48; //#4941\n } //#4941\n var _8l = $a(); //#4941\n $k[$j++] = Infinity; //#4942\n for (var _8n = 0, _8o = ~~(($1.sbs.length + 1) / 2); _8n < _8o; _8n++) { //#4942\n $k[$j++] = $1.height; //#4942\n } //#4942\n var _8q = $a(); //#4942\n $k[$j++] = Infinity; //#4943\n for (var _8s = 0, _8t = ~~(($1.sbs.length + 1) / 2); _8s < _8t; _8s++) { //#4943\n $k[$j++] = 0; //#4943\n } //#4943\n var _8u = $a(); //#4943\n $k[$j++] = 'ren'; //#4946\n $k[$j++] = bwipp_renlinear; //#4946\n $k[$j++] = 'sbs'; //#4946\n $k[$j++] = _8l; //#4946\n $k[$j++] = 'bhs'; //#4946\n $k[$j++] = _8q; //#4946\n $k[$j++] = 'bbs'; //#4946\n $k[$j++] = _8u; //#4946\n $k[$j++] = 'txt'; //#4946\n $k[$j++] = $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])]); //#4946\n $k[$j++] = 'textxalign'; //#4946\n $k[$j++] = \"center\"; //#4946\n $k[$j++] = 'opt'; //#4946\n $k[$j++] = $1.options; //#4946\n var _93 = $d(); //#4946\n $k[$j++] = _93; //#4949\n if (!$1.dontdraw) { //#4949\n bwipp_renlinear(); //#4949\n } //#4949\n}\n\nfunction bwipp_gs1_128() {\n var $1 = {}; //#4981\n $1.options = $k[--$j]; //#4983\n $1.barcode = $k[--$j]; //#4984\n $1.dontdraw = false; //#4986\n $1.includetext = false; //#4987\n $1.textfont = \"OCR-B\"; //#4988\n $1.textsize = 10; //#4989\n $1.textxoffset = 0; //#4990\n $1.textyoffset = -8; //#4991\n $1.height = 0.5; //#4992\n $1.linkagea = false; //#4993\n $1.linkagec = false; //#4994\n $1.parse = false; //#4995\n $1.dontlint = false; //#4996\n $forall($1.options, function() { //#5007\n var _3 = $k[--$j]; //#5007\n $1[$k[--$j]] = _3; //#5007\n }); //#5007\n $1.textfont = \"\" + $1.textfont; //#5009\n $1.textsize = +$1.textsize; //#5010\n $1.textxoffset = +$1.textxoffset; //#5011\n $1.textyoffset = +$1.textyoffset; //#5012\n $1.height = +$1.height; //#5013\n $1.text = $1.barcode; //#5015\n $1.expand = function() {\n var _C = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#5022\n $1.fncvals = _C; //#5023\n $k[$j++] = $1.fncvals; //#5024\n bwipp_parseinput(); //#5024\n }; //#5025\n $1.ais = $a([]); //#5028\n $1.vals = $a([]); //#5029\n var _G = $1.barcode; //#5030\n $k[$j++] = $geti(_G, 1, _G.length - 1); //#5043\n for (;;) { //#5043\n var _I = $k[--$j]; //#5032\n $k[$j++] = _I; //#5032\n if ($eq(_I, \"\")) { //#5032\n break; //#5032\n } //#5032\n $search($k[--$j], \")\"); //#5033\n $j--; //#5033\n var _K = $k[--$j]; //#5034\n var _L = $k[--$j]; //#5034\n $k[$j++] = _K; //#5034\n $k[$j++] = _L; //#5034\n $j--; //#5034\n var _M = $k[--$j]; //#5035\n var _N = $k[--$j]; //#5035\n $k[$j++] = _M; //#5035\n $search(_N, \"(\"); //#5035\n if ($k[--$j]) { //#5038\n var _P = $k[--$j]; //#5036\n var _Q = $k[--$j]; //#5036\n $k[$j++] = _P; //#5036\n $k[$j++] = _Q; //#5036\n $j--; //#5036\n var _R = $k[--$j]; //#5036\n var _S = $k[--$j]; //#5036\n var _T = $k[--$j]; //#5036\n $k[$j++] = _S; //#5036\n $k[$j++] = _T; //#5036\n $k[$j++] = _R; //#5036\n } else { //#5038\n var _U = $k[--$j]; //#5038\n var _V = $k[--$j]; //#5038\n $k[$j++] = \"\"; //#5038\n $k[$j++] = _V; //#5038\n $k[$j++] = _U; //#5038\n } //#5038\n $k[$j++] = Infinity; //#5040\n $aload($1.ais); //#5040\n var _Y = $k[$j - 1 - ($counttomark() + 2)]; //#5040\n $k[$j++] = _Y; //#5040\n $1.ais = $a(); //#5040\n $k[$j++] = Infinity; //#5041\n $aload($1.vals); //#5041\n var _c = $k[$j - 1 - ($counttomark() + 1)]; //#5041\n $k[$j++] = _c; //#5041\n $1.expand(); //#5041\n $1.vals = $a(); //#5041\n $j -= 2; //#5042\n } //#5042\n $j--; //#5044\n if (!$1.dontlint) { //#5046\n var _g = $1.vals; //#5046\n $k[$j++] = $1.ais; //#5046\n $k[$j++] = _g; //#5046\n bwipp_gs1lint(); //#5046\n $j--; //#5046\n } //#5046\n $1.aifixed = new Map; //#5051\n $k[$j++] = Infinity; //#5053\n for (var _h = 0; _h <= 4; _h += 1) { //#5053\n $k[$j++] = _h; //#5053\n } //#5053\n var _i = $a(); //#5053\n for (var _j = 0, _k = _i.length; _j < _k; _j++) { //#5056\n var _n = $strcpy($s(2), \"00\"); //#5055\n $put(_n, 1, $f($get(_i, _j) + 48)); //#5055\n $put($1.aifixed, _n, _n); //#5055\n } //#5055\n $k[$j++] = Infinity; //#5061\n for (var _p = 11; _p <= 20; _p += 1) { //#5058\n $k[$j++] = _p; //#5058\n } //#5058\n $k[$j++] = 23; //#5060\n for (var _q = 31; _q <= 36; _q += 1) { //#5060\n $k[$j++] = _q; //#5060\n } //#5060\n $k[$j++] = 41; //#5061\n var _r = $a(); //#5061\n for (var _s = 0, _t = _r.length; _s < _t; _s++) { //#5064\n var _w = $cvrs($s(2), $get(_r, _s), 10); //#5063\n $put($1.aifixed, _w, _w); //#5063\n } //#5063\n $1.fnc1 = -1; //#5067\n $1.c128 = $a([$1.fnc1]); //#5068\n for (var _12 = 0, _11 = $1.ais.length - 1; _12 <= _11; _12 += 1) { //#5084\n $1.i = _12; //#5070\n $1.ai = $get($1.ais, $1.i); //#5071\n $1.val = $get($1.vals, $1.i); //#5072\n var _1C = $a(($1.c128.length + $1.ai.length) + $1.val.length); //#5073\n $puti(_1C, 0, $1.c128); //#5074\n $k[$j++] = _1C; //#5075\n $k[$j++] = _1C; //#5075\n $k[$j++] = $1.c128.length; //#5075\n $k[$j++] = $1.ai; //#5075\n $k[$j++] = Infinity; //#5075\n var _1G = $k[--$j]; //#5075\n var _1H = $k[--$j]; //#5075\n $k[$j++] = _1G; //#5075\n $forall(_1H); //#5075\n var _1I = $a(); //#5075\n var _1J = $k[--$j]; //#5075\n $puti($k[--$j], _1J, _1I); //#5075\n var _1L = $k[--$j]; //#5076\n $k[$j++] = _1L; //#5076\n $k[$j++] = _1L; //#5076\n $k[$j++] = $1.c128.length + $1.ai.length; //#5076\n $k[$j++] = $1.val; //#5076\n $k[$j++] = Infinity; //#5076\n var _1P = $k[--$j]; //#5076\n var _1Q = $k[--$j]; //#5076\n $k[$j++] = _1P; //#5076\n $forall(_1Q); //#5076\n var _1R = $a(); //#5076\n var _1S = $k[--$j]; //#5076\n $puti($k[--$j], _1S, _1R); //#5076\n $1.c128 = $k[--$j]; //#5077\n var _1a = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#5078\n if (($1.i != ($1.ais.length - 1)) && (!_1a)) { //#5083\n var _1c = $a($1.c128.length + 1); //#5079\n $puti(_1c, 0, $1.c128); //#5080\n $put(_1c, $1.c128.length, $1.fnc1); //#5081\n $1.c128 = _1c; //#5082\n } //#5082\n } //#5082\n $1.barcode = $s(($1.c128.length + 1) * 5); //#5087\n $1.i = 0; //#5088\n $1.j = 0; //#5088\n for (;;) { //#5098\n if ($1.i == $1.c128.length) { //#5089\n break; //#5089\n } //#5089\n var _1m = $get($1.c128, $1.i); //#5090\n $k[$j++] = _1m; //#5095\n if (_1m == $1.fnc1) { //#5094\n $j--; //#5091\n $puti($1.barcode, $1.j, \"^FNC1\"); //#5091\n $1.j = $1.j + 4; //#5092\n } else { //#5094\n $put($1.barcode, $1.j, $k[--$j]); //#5094\n } //#5094\n $1.i = $1.i + 1; //#5096\n $1.j = $1.j + 1; //#5097\n } //#5097\n if ($1.linkagea || $1.linkagec) { //#5102\n $k[$j++] = $1.barcode; //#5100\n $k[$j++] = $1.j; //#5100\n if ($1.linkagea) { //#5100\n $k[$j++] = \"^LNKA\"; //#5100\n } else { //#5100\n $k[$j++] = \"^LNKC\"; //#5100\n } //#5100\n var _21 = $k[--$j]; //#5100\n var _22 = $k[--$j]; //#5100\n $puti($k[--$j], _22, _21); //#5100\n $1.j = $1.j + 5; //#5101\n } //#5101\n $1.barcode = $geti($1.barcode, 0, $1.j); //#5103\n delete $1.options[\"parse\"]; //#5106\n $put($1.options, \"height\", $1.height); //#5107\n $put($1.options, \"dontdraw\", true); //#5108\n $put($1.options, \"parsefnc\", true); //#5109\n $k[$j++] = 'args'; //#5110\n $k[$j++] = $1.barcode; //#5110\n $k[$j++] = $1.options; //#5110\n bwipp_code128(); //#5110\n var _2F = $k[--$j]; //#5110\n $1[$k[--$j]] = _2F; //#5110\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#5112\n $put($1.args, \"textxalign\", \"center\"); //#5113\n $put($1.args, \"opt\", $1.options); //#5114\n $k[$j++] = $1.args; //#5117\n if (!$1.dontdraw) { //#5117\n bwipp_renlinear(); //#5117\n } //#5117\n}\n\nfunction bwipp_ean14() {\n var $1 = {}; //#5147\n $1.options = $k[--$j]; //#5149\n $1.barcode = $k[--$j]; //#5150\n $1.dontdraw = false; //#5152\n $1.includetext = false; //#5153\n $1.textfont = \"OCR-B\"; //#5154\n $1.textsize = 10; //#5155\n $1.textxoffset = 0; //#5156\n $1.textyoffset = -8; //#5157\n $1.height = 1; //#5158\n $forall($1.options, function() { //#5169\n var _3 = $k[--$j]; //#5169\n $1[$k[--$j]] = _3; //#5169\n }); //#5169\n $1.textfont = \"\" + $1.textfont; //#5171\n $1.textsize = +$1.textsize; //#5172\n $1.textxoffset = +$1.textxoffset; //#5173\n $1.textyoffset = +$1.textyoffset; //#5174\n $1.height = +$1.height; //#5175\n $1.text = $1.barcode; //#5178\n var _B = $1.barcode; //#5179\n $k[$j++] = $s(_B.length); //#5180\n $k[$j++] = 0; //#5180\n $forall(_B, function() { //#5180\n var _D = $k[--$j]; //#5180\n $k[$j++] = _D; //#5180\n if (_D != 32) { //#5180\n var _E = $k[--$j]; //#5180\n var _F = $k[--$j]; //#5180\n var _G = $k[--$j]; //#5180\n $put(_G, _F, _E); //#5180\n $k[$j++] = _G; //#5180\n $k[$j++] = $f(_F + 1); //#5180\n } else { //#5180\n $j--; //#5180\n } //#5180\n }); //#5180\n var _H = $k[--$j]; //#5181\n $1.barcode = $geti($k[--$j], 0, _H); //#5181\n $1.hasspace = $1.text.length != $1.barcode.length; //#5182\n if ($ne($geti($1.barcode, 0, 4), \"(01)\")) { //#5187\n $k[$j++] = 'bwipp.ean14badAI'; //#5186\n $k[$j++] = \"GS1-14 must begin with (01) application identifier\"; //#5186\n bwipp_raiseerror(); //#5186\n } //#5186\n if (($1.barcode.length != 17) && ($1.barcode.length != 18)) { //#5190\n $k[$j++] = 'bwipp.ean14badLength'; //#5189\n $k[$j++] = \"GS1-14 must be 13 or 14 digits\"; //#5189\n bwipp_raiseerror(); //#5189\n } //#5189\n var _S = $geti($1.barcode, 4, $1.barcode.length - 4); //#5191\n for (var _T = 0, _U = _S.length; _T < _U; _T++) { //#5195\n var _V = $get(_S, _T); //#5195\n if ((_V < 48) || (_V > 57)) { //#5194\n $k[$j++] = 'bwipp.ean14badCharacter'; //#5193\n $k[$j++] = \"GS1-14 must contain only digits\"; //#5193\n bwipp_raiseerror(); //#5193\n } //#5193\n } //#5193\n $1.checksum = 0; //#5198\n for (var _W = 0; _W <= 12; _W += 1) { //#5202\n $1.i = _W; //#5200\n $k[$j++] = 'checksum'; //#5201\n $k[$j++] = $1.checksum; //#5201\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#5201\n if (($1.i % 2) == 0) { //#5201\n var _c = $k[--$j]; //#5201\n $k[$j++] = _c * 3; //#5201\n } //#5201\n var _d = $k[--$j]; //#5201\n var _e = $k[--$j]; //#5201\n $1[$k[--$j]] = $f(_e + _d); //#5201\n } //#5201\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#5203\n if ($1.barcode.length == 18) { //#5217\n if ($get($1.barcode, 17) != ($1.checksum + 48)) { //#5207\n $k[$j++] = 'bwipp.ean14badCheckDigit'; //#5206\n $k[$j++] = \"Incorrect GS1-14 check digit provided\"; //#5206\n bwipp_raiseerror(); //#5206\n } //#5206\n } else { //#5217\n var _l = $s(18); //#5209\n $puti(_l, 0, $1.barcode); //#5210\n $put(_l, 17, $1.checksum + 48); //#5211\n $1.barcode = _l; //#5212\n var _q = $1.hasspace ? 2 : 1; //#5213\n var _r = $s($1.text.length + _q); //#5213\n $puti(_r, _r.length - 2, \" \"); //#5214\n $put(_r, _r.length - 1, $1.checksum + 48); //#5215\n $puti(_r, 0, $1.text); //#5216\n $1.text = _r; //#5217\n } //#5217\n $1.gtin = $geti($1.barcode, 4, 14); //#5219\n $1.barcode = $s(21); //#5222\n $puti($1.barcode, 0, \"^FNC101\"); //#5223\n $puti($1.barcode, 7, $1.gtin); //#5224\n $put($1.options, \"dontdraw\", true); //#5227\n $put($1.options, \"parsefnc\", true); //#5228\n $k[$j++] = 'args'; //#5229\n $k[$j++] = $1.barcode; //#5229\n $k[$j++] = $1.options; //#5229\n bwipp_code128(); //#5229\n var _14 = $k[--$j]; //#5229\n $1[$k[--$j]] = _14; //#5229\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#5231\n $put($1.args, \"textxalign\", \"center\"); //#5232\n $put($1.args, \"opt\", $1.options); //#5233\n $k[$j++] = $1.args; //#5236\n if (!$1.dontdraw) { //#5236\n bwipp_renlinear(); //#5236\n } //#5236\n}\n\nfunction bwipp_sscc18() {\n var $1 = {}; //#5266\n $1.options = $k[--$j]; //#5268\n $1.barcode = $k[--$j]; //#5269\n $1.dontdraw = false; //#5271\n $1.includetext = false; //#5272\n $1.textfont = \"OCR-B\"; //#5273\n $1.textsize = 10; //#5274\n $1.textxoffset = 0; //#5275\n $1.textyoffset = -8; //#5276\n $1.height = 1; //#5277\n $forall($1.options, function() { //#5288\n var _3 = $k[--$j]; //#5288\n $1[$k[--$j]] = _3; //#5288\n }); //#5288\n $1.textfont = \"\" + $1.textfont; //#5290\n $1.textsize = +$1.textsize; //#5291\n $1.textxoffset = +$1.textxoffset; //#5292\n $1.textyoffset = +$1.textyoffset; //#5293\n $1.height = +$1.height; //#5294\n $1.text = $1.barcode; //#5297\n var _B = $1.barcode; //#5298\n $k[$j++] = $s(_B.length); //#5299\n $k[$j++] = 0; //#5299\n $forall(_B, function() { //#5299\n var _D = $k[--$j]; //#5299\n $k[$j++] = _D; //#5299\n if (_D != 32) { //#5299\n var _E = $k[--$j]; //#5299\n var _F = $k[--$j]; //#5299\n var _G = $k[--$j]; //#5299\n $put(_G, _F, _E); //#5299\n $k[$j++] = _G; //#5299\n $k[$j++] = $f(_F + 1); //#5299\n } else { //#5299\n $j--; //#5299\n } //#5299\n }); //#5299\n var _H = $k[--$j]; //#5300\n $1.barcode = $geti($k[--$j], 0, _H); //#5300\n $1.hasspace = $1.text.length != $1.barcode.length; //#5301\n if ($ne($geti($1.barcode, 0, 4), \"(00)\")) { //#5306\n $k[$j++] = 'bwipp.sscc18badAI'; //#5305\n $k[$j++] = \"SSCC-18 must begin with (00) application identifier\"; //#5305\n bwipp_raiseerror(); //#5305\n } //#5305\n if (($1.barcode.length != 21) && ($1.barcode.length != 22)) { //#5309\n $k[$j++] = 'bwipp.sscc18badLength'; //#5308\n $k[$j++] = \"SSCC-18 must be 17 or 18 digits\"; //#5308\n bwipp_raiseerror(); //#5308\n } //#5308\n var _S = $geti($1.barcode, 4, $1.barcode.length - 4); //#5310\n for (var _T = 0, _U = _S.length; _T < _U; _T++) { //#5314\n var _V = $get(_S, _T); //#5314\n if ((_V < 48) || (_V > 57)) { //#5313\n $k[$j++] = 'bwipp.sscc18badCharacter'; //#5312\n $k[$j++] = \"SSCC-18 must contain only digits\"; //#5312\n bwipp_raiseerror(); //#5312\n } //#5312\n } //#5312\n $1.checksum = 0; //#5317\n for (var _W = 0; _W <= 16; _W += 1) { //#5321\n $1.i = _W; //#5319\n $k[$j++] = 'checksum'; //#5320\n $k[$j++] = $1.checksum; //#5320\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#5320\n if (($1.i % 2) == 0) { //#5320\n var _c = $k[--$j]; //#5320\n $k[$j++] = _c * 3; //#5320\n } //#5320\n var _d = $k[--$j]; //#5320\n var _e = $k[--$j]; //#5320\n $1[$k[--$j]] = $f(_e + _d); //#5320\n } //#5320\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#5322\n if ($1.barcode.length == 22) { //#5336\n if ($get($1.barcode, 21) != ($1.checksum + 48)) { //#5326\n $k[$j++] = 'bwipp.sscc18badCheckDigit'; //#5325\n $k[$j++] = \"Incorrect SSCC-18 check digit provided\"; //#5325\n bwipp_raiseerror(); //#5325\n } //#5325\n } else { //#5336\n var _l = $s(22); //#5328\n $puti(_l, 0, $1.barcode); //#5329\n $put(_l, 21, $1.checksum + 48); //#5330\n $1.barcode = _l; //#5331\n var _q = $1.hasspace ? 2 : 1; //#5332\n var _r = $s($1.text.length + _q); //#5332\n $puti(_r, _r.length - 2, \" \"); //#5333\n $put(_r, _r.length - 1, $1.checksum + 48); //#5334\n $puti(_r, 0, $1.text); //#5335\n $1.text = _r; //#5336\n } //#5336\n $1.sscc = $geti($1.barcode, 4, 18); //#5338\n $1.barcode = $s(25); //#5341\n $puti($1.barcode, 0, \"^FNC100\"); //#5342\n $puti($1.barcode, 7, $1.sscc); //#5343\n $put($1.options, \"dontdraw\", true); //#5346\n $put($1.options, \"parsefnc\", true); //#5347\n $k[$j++] = 'args'; //#5348\n $k[$j++] = $1.barcode; //#5348\n $k[$j++] = $1.options; //#5348\n bwipp_code128(); //#5348\n var _14 = $k[--$j]; //#5348\n $1[$k[--$j]] = _14; //#5348\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#5350\n $put($1.args, \"textxalign\", \"center\"); //#5351\n $put($1.args, \"opt\", $1.options); //#5352\n $k[$j++] = $1.args; //#5355\n if (!$1.dontdraw) { //#5355\n bwipp_renlinear(); //#5355\n } //#5355\n}\n\nfunction bwipp_code39() {\n var $1 = {}; //#5384\n $1.options = $k[--$j]; //#5386\n $1.barcode = $k[--$j]; //#5387\n $1.dontdraw = false; //#5389\n $1.includecheck = false; //#5390\n $1.validatecheck = false; //#5391\n $1.includetext = false; //#5392\n $1.includecheckintext = false; //#5393\n $1.hidestars = false; //#5394\n $1.textfont = \"OCR-B\"; //#5395\n $1.textsize = 10; //#5396\n $1.textyoffset = -8; //#5397\n $1.height = 1; //#5398\n $forall($1.options, function() { //#5409\n var _3 = $k[--$j]; //#5409\n $1[$k[--$j]] = _3; //#5409\n }); //#5409\n $1.textfont = \"\" + $1.textfont; //#5411\n $1.textsize = +$1.textsize; //#5412\n $1.textyoffset = +$1.textyoffset; //#5413\n $1.height = +$1.height; //#5414\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#5417\n $1.charvals = new Map; //#5418\n for (var _9 = 0; _9 <= 42; _9 += 1) { //#5419\n $put($1.charvals, $geti($1.barchars, _9, 1), _9); //#5419\n } //#5419\n for (var _F = 0, _E = $1.barcode.length - 1; _F <= _E; _F += 1) { //#5426\n var _J = $get($1.charvals, $geti($1.barcode, _F, 1)) !== undefined; //#5423\n if (!_J) { //#5425\n $k[$j++] = 'bwipp.code39badCharacter'; //#5424\n $k[$j++] = \"Code 39 must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#5424\n bwipp_raiseerror(); //#5424\n } //#5424\n } //#5424\n $k[$j++] = 'barlen'; //#5428\n $k[$j++] = $1.barcode.length; //#5428\n if ($1.validatecheck) { //#5428\n var _M = $k[--$j]; //#5428\n $k[$j++] = $f(_M - 1); //#5428\n } //#5428\n var _N = $k[--$j]; //#5428\n $1[$k[--$j]] = _N; //#5428\n $1.checksum = 0; //#5430\n for (var _R = 0, _Q = $f($1.barlen - 1); _R <= _Q; _R += 1) { //#5434\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _R, 1)) + $1.checksum); //#5433\n } //#5433\n $1.checksum = $1.checksum % 43; //#5435\n if ($1.validatecheck) { //#5442\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#5439\n $k[$j++] = 'bwipp.code39badCheckDigit'; //#5438\n $k[$j++] = \"Incorrect Code 39 check digit provided\"; //#5438\n bwipp_raiseerror(); //#5438\n } //#5438\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#5440\n $1.includecheck = true; //#5441\n } //#5441\n $1.encs = $a([\"1113313111\", \"3113111131\", \"1133111131\", \"3133111111\", \"1113311131\", \"3113311111\", \"1133311111\", \"1113113131\", \"3113113111\", \"1133113111\", \"3111131131\", \"1131131131\", \"3131131111\", \"1111331131\", \"3111331111\", \"1131331111\", \"1111133131\", \"3111133111\", \"1131133111\", \"1111333111\", \"3111111331\", \"1131111331\", \"3131111311\", \"1111311331\", \"3111311311\", \"1131311311\", \"1111113331\", \"3111113311\", \"1131113311\", \"1111313311\", \"3311111131\", \"1331111131\", \"3331111111\", \"1311311131\", \"3311311111\", \"1331311111\", \"1311113131\", \"3311113111\", \"1331113111\", \"1313131111\", \"1313111311\", \"1311131311\", \"1113131311\", \"1311313111\"]); //#5455\n var _l = $1.includecheck ? 3 : 2; //#5457\n $1.sbs = $s($f($1.barlen + _l) * 10); //#5457\n var _p = $1.includecheck ? 3 : 2; //#5458\n $1.txt = $a($f($1.barlen + _p)); //#5458\n $puti($1.sbs, 0, $get($1.encs, 43)); //#5461\n if (!$1.hidestars) { //#5465\n $put($1.txt, 0, $a([\"*\", 0, $1.textyoffset, $1.textfont, $1.textsize])); //#5463\n } else { //#5465\n $put($1.txt, 0, $a([\"\", 0, $1.textyoffset, $1.textfont, $1.textsize])); //#5465\n } //#5465\n for (var _17 = 0, _16 = $f($1.barlen - 1); _17 <= _16; _17 += 1) { //#5473\n $1.i = _17; //#5469\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#5470\n $puti($1.sbs, ($1.i * 10) + 10, $get($1.encs, $1.indx)); //#5471\n $put($1.txt, $1.i + 1, $a([$geti($1.barcode, $1.i, 1), ($1.i + 1) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5472\n } //#5472\n if ($1.includecheck) { //#5494\n $puti($1.sbs, $f(($1.barlen * 10) + 10), $get($1.encs, $1.checksum)); //#5477\n if ($1.includecheckintext) { //#5481\n $put($1.txt, $f($1.barlen + 1), $a([$geti($1.barchars, $1.checksum, 1), $f($1.barlen + 1) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5479\n } else { //#5481\n $put($1.txt, $f($1.barlen + 1), $a([\"\", $f($1.barlen + 1) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5481\n } //#5481\n $puti($1.sbs, $f(($1.barlen * 10) + 20), $get($1.encs, 43)); //#5483\n if (!$1.hidestars) { //#5487\n $put($1.txt, $f($1.barlen + 2), $a([\"*\", $f($1.barlen + 2) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5485\n } else { //#5487\n $put($1.txt, $f($1.barlen + 2), $a([\"\", $f($1.barlen + 2) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5487\n } //#5487\n } else { //#5494\n $puti($1.sbs, $f(($1.barlen * 10) + 10), $get($1.encs, 43)); //#5490\n if (!$1.hidestars) { //#5494\n $put($1.txt, $f($1.barlen + 1), $a([\"*\", $f($1.barlen + 1) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5492\n } else { //#5494\n $put($1.txt, $f($1.barlen + 1), $a([\"\", $f($1.barlen + 1) * 16, $1.textyoffset, $1.textfont, $1.textsize])); //#5494\n } //#5494\n } //#5494\n $k[$j++] = Infinity; //#5507\n $k[$j++] = Infinity; //#5501\n var _2S = $1.sbs; //#5501\n for (var _2T = 0, _2U = _2S.length; _2T < _2U; _2T++) { //#5501\n $k[$j++] = $get(_2S, _2T) - 48; //#5501\n } //#5501\n var _2W = $a(); //#5501\n $k[$j++] = Infinity; //#5502\n for (var _2Y = 0, _2Z = ~~(($1.sbs.length + 1) / 2); _2Y < _2Z; _2Y++) { //#5502\n $k[$j++] = $1.height; //#5502\n } //#5502\n var _2b = $a(); //#5502\n $k[$j++] = Infinity; //#5503\n for (var _2d = 0, _2e = ~~(($1.sbs.length + 1) / 2); _2d < _2e; _2d++) { //#5503\n $k[$j++] = 0; //#5503\n } //#5503\n var _2f = $a(); //#5503\n $k[$j++] = 'ren'; //#5506\n $k[$j++] = bwipp_renlinear; //#5506\n $k[$j++] = 'sbs'; //#5506\n $k[$j++] = _2W; //#5506\n $k[$j++] = 'bhs'; //#5506\n $k[$j++] = _2b; //#5506\n $k[$j++] = 'bbs'; //#5506\n $k[$j++] = _2f; //#5506\n if ($1.includetext) { //#5506\n $k[$j++] = 'txt'; //#5505\n $k[$j++] = $1.txt; //#5505\n } //#5505\n $k[$j++] = 'opt'; //#5507\n $k[$j++] = $1.options; //#5507\n var _2j = $d(); //#5507\n $k[$j++] = _2j; //#5510\n if (!$1.dontdraw) { //#5510\n bwipp_renlinear(); //#5510\n } //#5510\n}\n\nfunction bwipp_code39ext() {\n var $1 = {}; //#5541\n $1.options = $k[--$j]; //#5543\n $1.barcode = $k[--$j]; //#5544\n $1.dontdraw = false; //#5546\n $1.includetext = false; //#5547\n $1.parse = false; //#5548\n $forall($1.options, function() { //#5559\n var _3 = $k[--$j]; //#5559\n $1[$k[--$j]] = _3; //#5559\n }); //#5559\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#5565\n $1.fncvals = _6; //#5566\n $k[$j++] = 'barcode'; //#5567\n $k[$j++] = $1.barcode; //#5567\n $k[$j++] = $1.fncvals; //#5567\n bwipp_parseinput(); //#5567\n var _9 = $k[--$j]; //#5567\n $1[$k[--$j]] = _9; //#5567\n $1.barlen = $1.barcode.length; //#5568\n delete $1.options[\"parse\"]; //#5569\n $forall($1.barcode, function() { //#5576\n if ($k[--$j] >= 128) { //#5575\n $k[$j++] = 'bwipp.code39extBadCharacter'; //#5574\n $k[$j++] = \"Code 39 Extended must contain only ASCII characters\"; //#5574\n bwipp_raiseerror(); //#5574\n } //#5574\n }); //#5574\n $1.extencs = $a([\"%U\", \"$A\", \"$B\", \"$C\", \"$D\", \"$E\", \"$F\", \"$G\", \"$H\", \"$I\", \"$J\", \"$K\", \"$L\", \"$M\", \"$N\", \"$O\", \"$P\", \"$Q\", \"$R\", \"$S\", \"$T\", \"$U\", \"$V\", \"$W\", \"$X\", \"$Y\", \"$Z\", \"%A\", \"%B\", \"%C\", \"%D\", \"%E\", \" \", \"/A\", \"/B\", \"/C\", \"/D\", \"/E\", \"/F\", \"/G\", \"/H\", \"/I\", \"/J\", \"/K\", \"/L\", \"-\", \".\", \"/O\", \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"/Z\", \"%F\", \"%G\", \"%H\", \"%I\", \"%J\", \"%V\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"%K\", \"%L\", \"%M\", \"%N\", \"%O\", \"%W\", \"+A\", \"+B\", \"+C\", \"+D\", \"+E\", \"+F\", \"+G\", \"+H\", \"+I\", \"+J\", \"+K\", \"+L\", \"+M\", \"+N\", \"+O\", \"+P\", \"+Q\", \"+R\", \"+S\", \"+T\", \"+U\", \"+V\", \"+W\", \"+X\", \"+Y\", \"+Z\", \"%P\", \"%Q\", \"%R\", \"%S\", \"%T\"]); //#5588\n $1.newcode = $s($1.barlen * 2); //#5590\n $1.newtext = $s($1.barlen * 2); //#5591\n $1.j = 0; //#5592\n for (var _M = 0, _L = $1.barlen - 1; _M <= _L; _M += 1) { //#5600\n $1.i = _M; //#5594\n $1.extchar = $get($1.extencs, $get($1.barcode, $1.i)); //#5595\n $puti($1.newcode, $1.j, $1.extchar); //#5596\n $put($1.newtext, $1.j, $get($1.barcode, $1.i)); //#5597\n if ($1.extchar.length != 1) { //#5598\n $puti($1.newtext, $1.j + 1, \" \"); //#5598\n } //#5598\n $1.j = $1.j + $1.extchar.length; //#5599\n } //#5599\n $1.newcode = $geti($1.newcode, 0, $1.j); //#5601\n $1.newtext = $geti($1.newtext, 0, $1.j); //#5602\n $put($1.options, \"dontdraw\", true); //#5605\n $k[$j++] = 'args'; //#5606\n $k[$j++] = $1.newcode; //#5606\n $k[$j++] = $1.options; //#5606\n bwipp_code39(); //#5606\n var _o = $k[--$j]; //#5606\n $1[$k[--$j]] = _o; //#5606\n if ($1.includetext) { //#5618\n $1.txt = $get($1.args, \"txt\"); //#5610\n for (var _v = 0, _u = $1.newtext.length - 1; _v <= _u; _v += 1) { //#5616\n $1.i = _v; //#5612\n $1.txtentry = $get($1.txt, $1.i + 1); //#5613\n $put($1.txtentry, 0, $geti($1.newtext, $1.i, 1)); //#5614\n $put($1.txt, $1.i + 1, $1.txtentry); //#5615\n } //#5615\n $put($1.args, \"txt\", $1.txt); //#5617\n } //#5617\n $put($1.args, \"opt\", $1.options); //#5619\n $k[$j++] = $1.args; //#5622\n if (!$1.dontdraw) { //#5622\n bwipp_renlinear(); //#5622\n } //#5622\n}\n\nfunction bwipp_code32() {\n var $1 = {}; //#5652\n $1.options = $k[--$j]; //#5654\n $1.barcode = $k[--$j]; //#5655\n $1.dontdraw = false; //#5657\n $1.includetext = false; //#5658\n $1.textfont = \"OCR-B\"; //#5659\n $1.textsize = 10; //#5660\n $1.textyoffset = -8; //#5661\n $1.textxoffset = 0; //#5662\n $1.height = 1; //#5663\n $forall($1.options, function() { //#5674\n var _3 = $k[--$j]; //#5674\n $1[$k[--$j]] = _3; //#5674\n }); //#5674\n $1.textfont = \"\" + $1.textfont; //#5676\n $1.textsize = +$1.textsize; //#5677\n $1.textyoffset = +$1.textyoffset; //#5678\n $1.height = +$1.height; //#5679\n if (($1.barcode.length != 8) && ($1.barcode.length != 9)) { //#5684\n $k[$j++] = 'bwipp.code32badLength'; //#5683\n $k[$j++] = \"Italian Pharmacode must be 8 or 9 digits\"; //#5683\n bwipp_raiseerror(); //#5683\n } //#5683\n $forall($1.barcode, function() { //#5689\n var _C = $k[--$j]; //#5686\n if ((_C < 48) || (_C > 57)) { //#5688\n $k[$j++] = 'bwipp.code32badCharacter'; //#5687\n $k[$j++] = \"Italian Pharmacode must contain only digits\"; //#5687\n bwipp_raiseerror(); //#5687\n } //#5687\n }); //#5687\n $1.checksum = 0; //#5692\n for (var _D = 0; _D <= 7; _D += 1) { //#5697\n $1.i = _D; //#5694\n $k[$j++] = $f($get($1.barcode, $1.i) - 48); //#5695\n if (($1.i % 2) != 0) { //#5695\n var _I = $k[--$j]; //#5695\n $k[$j++] = _I * 2; //#5695\n } //#5695\n var _J = $k[--$j]; //#5695\n $k[$j++] = _J; //#5695\n if (_J > 9) { //#5695\n var _K = $k[--$j]; //#5695\n $k[$j++] = $f(_K - 9); //#5695\n } //#5695\n $1.checksum = $f($k[--$j] + $1.checksum); //#5696\n } //#5696\n $1.checksum = $1.checksum % 10; //#5698\n if ($1.barcode.length == 9) { //#5703\n if ($get($1.barcode, 8) != $f($1.checksum + 48)) { //#5702\n $k[$j++] = 'bwipp.code32badCheckDigit'; //#5701\n $k[$j++] = \"Incorrect Italian Pharmacode check digit provided\"; //#5701\n bwipp_raiseerror(); //#5701\n } //#5701\n } //#5701\n var _S = $s(10); //#5704\n $puti(_S, 0, $1.barcode); //#5705\n $put(_S, 8, $f($1.checksum + 48)); //#5706\n $1.text = _S; //#5707\n $1.val = $cvrs($s(6), ~~$z($1.text), 32); //#5710\n $1.barcode = $s(6); //#5711\n for (var _Z = 0; _Z <= 5; _Z += 1) { //#5712\n $put($1.barcode, _Z, 48); //#5712\n } //#5712\n $puti($1.barcode, 6 - $1.val.length, $1.val); //#5713\n for (var _e = 0; _e <= 5; _e += 1) { //#5720\n var _g = $get($1.barcode, _e); //#5717\n $k[$j++] = _e; //#5718\n $k[$j++] = _g; //#5718\n $k[$j++] = _g; //#5718\n for (var _h = 0, _i = \"AEIO\".length; _h < _i; _h++) { //#5718\n if ($k[--$j] >= $get(\"AEIO\", _h)) { //#5718\n var _l = $k[--$j]; //#5718\n $k[$j++] = $f(_l + 1); //#5718\n } //#5718\n var _m = $k[--$j]; //#5718\n $k[$j++] = _m; //#5718\n $k[$j++] = _m; //#5718\n } //#5718\n $j--; //#5718\n var _o = $k[--$j]; //#5719\n $put($1.barcode, $k[--$j], _o); //#5719\n } //#5719\n var _r = $1.text; //#5723\n $puti($1.text, 1, $geti(_r, 0, 9)); //#5723\n $put($1.text, 0, 65); //#5724\n $put($1.options, \"dontdraw\", true); //#5727\n $k[$j++] = 'args'; //#5728\n $k[$j++] = $1.barcode; //#5728\n $k[$j++] = $1.options; //#5728\n bwipp_code39(); //#5728\n var _x = $k[--$j]; //#5728\n $1[$k[--$j]] = _x; //#5728\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#5730\n $put($1.args, \"textxalign\", \"center\"); //#5731\n $put($1.args, \"opt\", $1.options); //#5732\n $k[$j++] = $1.args; //#5735\n if (!$1.dontdraw) { //#5735\n bwipp_renlinear(); //#5735\n } //#5735\n}\n\nfunction bwipp_pzn() {\n var $1 = {}; //#5765\n $1.options = $k[--$j]; //#5767\n $1.barcode = $k[--$j]; //#5768\n $1.dontdraw = false; //#5770\n $1.includetext = false; //#5771\n $1.textfont = \"OCR-B\"; //#5772\n $1.textsize = 10; //#5773\n $1.textyoffset = -8; //#5774\n $1.textxoffset = 0; //#5775\n $1.height = 1; //#5776\n $1.pzn8 = false; //#5777\n $forall($1.options, function() { //#5788\n var _3 = $k[--$j]; //#5788\n $1[$k[--$j]] = _3; //#5788\n }); //#5788\n $1.textfont = \"\" + $1.textfont; //#5790\n $1.textsize = +$1.textsize; //#5791\n $1.textyoffset = +$1.textyoffset; //#5792\n $1.textxoffset = +$1.textxoffset; //#5793\n $1.height = +$1.height; //#5794\n if ($1.pzn8) { //#5803\n if (($1.barcode.length != 7) && ($1.barcode.length != 8)) { //#5800\n $k[$j++] = 'bwipp.pzn8badLength'; //#5799\n $k[$j++] = \"PZN8 must be 7 or 8 digits\"; //#5799\n bwipp_raiseerror(); //#5799\n } //#5799\n } else { //#5803\n if (($1.barcode.length != 6) && ($1.barcode.length != 7)) { //#5804\n $k[$j++] = 'bwipp.pzn7badLength'; //#5803\n $k[$j++] = \"PZN7 must be 6 or 7 digits\"; //#5803\n bwipp_raiseerror(); //#5803\n } //#5803\n } //#5803\n $forall($1.barcode, function() { //#5810\n var _G = $k[--$j]; //#5807\n if ((_G < 48) || (_G > 57)) { //#5809\n $k[$j++] = 'bwipp.pznBadCharacter'; //#5808\n $k[$j++] = \"PZN must contain only digits\"; //#5808\n bwipp_raiseerror(); //#5808\n } //#5808\n }); //#5808\n var _I = $1.pzn8 ? 9 : 8; //#5813\n $1.msglen = _I; //#5813\n $1.checksum = 0; //#5814\n for (var _L = 0, _K = $1.msglen - 3; _L <= _K; _L += 1) { //#5819\n $1.i = _L; //#5816\n var _R = $1.pzn8 ? 1 : 2; //#5817\n $1.checksum = $f(($f($get($1.barcode, $1.i) - 48) * ($1.i + _R)) + $1.checksum); //#5818\n } //#5818\n $1.checksum = $1.checksum % 11; //#5820\n if ($1.checksum == 10) { //#5823\n $k[$j++] = 'bwipp.pznBadInputSequence'; //#5822\n $k[$j++] = \"Incorrect PZN input sequence provided\"; //#5822\n bwipp_raiseerror(); //#5822\n } //#5822\n if ($1.barcode.length == ($1.msglen - 1)) { //#5828\n if ($get($1.barcode, $1.msglen - 2) != $f($1.checksum + 48)) { //#5827\n $k[$j++] = 'bwipp.pznBadCheckDigit'; //#5826\n $k[$j++] = \"Incorrect PZN check digit provided\"; //#5826\n bwipp_raiseerror(); //#5826\n } //#5826\n } //#5826\n var _c = $s($1.msglen); //#5829\n $put(_c, 0, 45); //#5830\n $puti(_c, 1, $1.barcode); //#5831\n $put(_c, $1.msglen - 1, $f($1.checksum + 48)); //#5832\n $1.msg = _c; //#5833\n $put($1.options, \"dontdraw\", true); //#5836\n $k[$j++] = 'args'; //#5837\n $k[$j++] = $1.msg; //#5837\n $k[$j++] = $1.options; //#5837\n bwipp_code39(); //#5837\n var _j = $k[--$j]; //#5837\n $1[$k[--$j]] = _j; //#5837\n $1.text = $s($1.msglen + 5); //#5840\n $puti($1.text, 0, \"PZN - \"); //#5841\n var _r = $geti($1.msg, 1, $1.msglen - 1); //#5842\n $puti($1.text, 6, _r); //#5842\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#5844\n $put($1.args, \"textxalign\", \"center\"); //#5845\n $put($1.args, \"opt\", $1.options); //#5846\n $k[$j++] = $1.args; //#5849\n if (!$1.dontdraw) { //#5849\n bwipp_renlinear(); //#5849\n } //#5849\n}\n\nfunction bwipp_code93() {\n var $1 = {}; //#5879\n $1.options = $k[--$j]; //#5881\n $1.barcode = $k[--$j]; //#5882\n $1.dontdraw = false; //#5884\n $1.includecheck = false; //#5885\n $1.includetext = false; //#5886\n $1.textfont = \"OCR-B\"; //#5887\n $1.textsize = 10; //#5888\n $1.textyoffset = -8; //#5889\n $1.height = 1; //#5890\n $1.parse = false; //#5891\n $1.parsefnc = false; //#5892\n $forall($1.options, function() { //#5903\n var _3 = $k[--$j]; //#5903\n $1[$k[--$j]] = _3; //#5903\n }); //#5903\n $1.textfont = \"\" + $1.textfont; //#5905\n $1.textsize = +$1.textsize; //#5906\n $1.textyoffset = +$1.textyoffset; //#5907\n $1.height = +$1.height; //#5908\n $1.encs = $a([\"131112\", \"111213\", \"111312\", \"111411\", \"121113\", \"121212\", \"121311\", \"111114\", \"131211\", \"141111\", \"211113\", \"211212\", \"211311\", \"221112\", \"221211\", \"231111\", \"112113\", \"112212\", \"112311\", \"122112\", \"132111\", \"111123\", \"111222\", \"111321\", \"121122\", \"131121\", \"212112\", \"212211\", \"211122\", \"211221\", \"221121\", \"222111\", \"112122\", \"112221\", \"122121\", \"123111\", \"121131\", \"311112\", \"311211\", \"321111\", \"112131\", \"113121\", \"211131\", \"121221\", \"312111\", \"311121\", \"122211\", \"111141\", \"1111411\"]); //#5921\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#5924\n $1.sft1 = -1; //#5927\n $1.sft2 = -2; //#5927\n $1.sft3 = -3; //#5927\n $1.sft4 = -4; //#5927\n var _G = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"SFT$\", $1.sft1],\n [\"SFT%\", $1.sft2],\n [\"SFT/\", $1.sft3],\n [\"SFT+\", $1.sft4]\n ]); //#5934\n $1.fncvals = _G; //#5935\n $k[$j++] = 'msg'; //#5936\n $k[$j++] = $1.barcode; //#5936\n $k[$j++] = $1.fncvals; //#5936\n bwipp_parseinput(); //#5936\n var _J = $k[--$j]; //#5936\n $1[$k[--$j]] = _J; //#5936\n $1.msglen = $1.msg.length; //#5937\n if ($1.includecheck) { //#5942\n $1.sbs = $s(($1.msglen * 6) + 25); //#5940\n } else { //#5942\n $1.sbs = $s(($1.msglen * 6) + 13); //#5942\n } //#5942\n $1.txt = $a($1.msglen); //#5944\n $puti($1.sbs, 0, $get($1.encs, 47)); //#5947\n $1.checksum1 = 0; //#5949\n $1.checksum2 = 0; //#5949\n for (var _Y = 0, _X = $1.msglen - 1; _Y <= _X; _Y += 1) { //#5968\n $1.i = _Y; //#5951\n var _b = $get($1.msg, $1.i); //#5953\n $k[$j++] = _b; //#5962\n if (_b < 0) { //#5961\n $1.indx = $f(42 - $k[--$j]); //#5954\n $1.char = \" \"; //#5955\n } else { //#5961\n var _d = $s(1); //#5957\n $put(_d, 0, $k[--$j]); //#5957\n $1.char = _d; //#5957\n $search($1.barchars, $1.char); //#5958\n $j--; //#5959\n $1.indx = $k[--$j].length; //#5960\n $j -= 2; //#5961\n } //#5961\n $1.enc = $get($1.encs, $1.indx); //#5963\n $puti($1.sbs, ($1.i * 6) + 6, $1.enc); //#5964\n $put($1.txt, $1.i, $a([$1.char, ($1.i * 9) + 9, $1.textyoffset, $1.textfont, $1.textsize])); //#5965\n $1.checksum1 = $1.checksum1 + ((((($1.msglen - $1.i) - 1) % 20) + 1) * $1.indx); //#5966\n $1.checksum2 = $1.checksum2 + (((($1.msglen - $1.i) % 15) + 1) * $1.indx); //#5967\n } //#5967\n if ($1.includecheck) { //#5980\n $1.checksum1 = $1.checksum1 % 47; //#5972\n $1.checksum2 = ($1.checksum2 + $1.checksum1) % 47; //#5973\n $puti($1.sbs, ($1.msglen * 6) + 6, $get($1.encs, $1.checksum1)); //#5974\n $puti($1.sbs, ($1.msglen * 6) + 12, $get($1.encs, $1.checksum2)); //#5975\n $puti($1.sbs, ($1.msglen * 6) + 18, $get($1.encs, 48)); //#5977\n } else { //#5980\n $puti($1.sbs, ($1.msglen * 6) + 6, $get($1.encs, 48)); //#5980\n } //#5980\n $k[$j++] = Infinity; //#5992\n $k[$j++] = Infinity; //#5986\n var _1Q = $1.sbs; //#5986\n for (var _1R = 0, _1S = _1Q.length; _1R < _1S; _1R++) { //#5986\n $k[$j++] = $get(_1Q, _1R) - 48; //#5986\n } //#5986\n var _1U = $a(); //#5986\n $k[$j++] = Infinity; //#5987\n for (var _1W = 0, _1X = ~~(($1.sbs.length + 1) / 2); _1W < _1X; _1W++) { //#5987\n $k[$j++] = $1.height; //#5987\n } //#5987\n var _1Z = $a(); //#5987\n $k[$j++] = Infinity; //#5988\n for (var _1b = 0, _1c = ~~(($1.sbs.length + 1) / 2); _1b < _1c; _1b++) { //#5988\n $k[$j++] = 0; //#5988\n } //#5988\n var _1d = $a(); //#5988\n $k[$j++] = 'ren'; //#5991\n $k[$j++] = bwipp_renlinear; //#5991\n $k[$j++] = 'sbs'; //#5991\n $k[$j++] = _1U; //#5991\n $k[$j++] = 'bhs'; //#5991\n $k[$j++] = _1Z; //#5991\n $k[$j++] = 'bbs'; //#5991\n $k[$j++] = _1d; //#5991\n if ($1.includetext) { //#5991\n $k[$j++] = 'txt'; //#5990\n $k[$j++] = $1.txt; //#5990\n } //#5990\n $k[$j++] = 'opt'; //#5992\n $k[$j++] = $1.options; //#5992\n var _1h = $d(); //#5992\n $k[$j++] = _1h; //#5995\n if (!$1.dontdraw) { //#5995\n bwipp_renlinear(); //#5995\n } //#5995\n}\n\nfunction bwipp_code93ext() {\n var $1 = {}; //#6026\n $1.options = $k[--$j]; //#6028\n $1.barcode = $k[--$j]; //#6029\n $1.dontdraw = false; //#6031\n $1.includetext = false; //#6032\n $1.parse = false; //#6033\n $forall($1.options, function() { //#6044\n var _3 = $k[--$j]; //#6044\n $1[$k[--$j]] = _3; //#6044\n }); //#6044\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#6050\n $1.fncvals = _6; //#6051\n $k[$j++] = 'barcode'; //#6052\n $k[$j++] = $1.barcode; //#6052\n $k[$j++] = $1.fncvals; //#6052\n bwipp_parseinput(); //#6052\n var _9 = $k[--$j]; //#6052\n $1[$k[--$j]] = _9; //#6052\n $1.barlen = $1.barcode.length; //#6053\n delete $1.options[\"parse\"]; //#6054\n $1.extencs = $a([\"^SFT%U\", \"^SFT$A\", \"^SFT$B\", \"^SFT$C\", \"^SFT$D\", \"^SFT$E\", \"^SFT$F\", \"^SFT$G\", \"^SFT$H\", \"^SFT$I\", \"^SFT$J\", \"^SFT$K\", \"^SFT$L\", \"^SFT$M\", \"^SFT$N\", \"^SFT$O\", \"^SFT$P\", \"^SFT$Q\", \"^SFT$R\", \"^SFT$S\", \"^SFT$T\", \"^SFT$U\", \"^SFT$V\", \"^SFT$W\", \"^SFT$X\", \"^SFT$Y\", \"^SFT$Z\", \"^SFT%A\", \"^SFT%B\", \"^SFT%C\", \"^SFT%D\", \"^SFT%E\", \" \", \"^SFT/A\", \"^SFT/B\", \"^SFT/C\", \"^SFT/D\", \"^SFT/E\", \"^SFT/F\", \"^SFT/G\", \"^SFT/H\", \"^SFT/I\", \"^SFT/J\", \"^SFT/K\", \"^SFT/L\", \"-\", \".\", \"^SFT/O\", \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"^SFT/Z\", \"^SFT%F\", \"^SFT%G\", \"^SFT%H\", \"^SFT%I\", \"^SFT%J\", \"^SFT%V\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"^SFT%K\", \"^SFT%L\", \"^SFT%M\", \"^SFT%N\", \"^SFT%O\", \"^SFT%W\", \"^SFT+A\", \"^SFT+B\", \"^SFT+C\", \"^SFT+D\", \"^SFT+E\", \"^SFT+F\", \"^SFT+G\", \"^SFT+H\", \"^SFT+I\", \"^SFT+J\", \"^SFT+K\", \"^SFT+L\", \"^SFT+M\", \"^SFT+N\", \"^SFT+O\", \"^SFT+P\", \"^SFT+Q\", \"^SFT+R\", \"^SFT+S\", \"^SFT+T\", \"^SFT+U\", \"^SFT+V\", \"^SFT+W\", \"^SFT+X\", \"^SFT+Y\", \"^SFT+Z\", \"^SFT%P\", \"^SFT%Q\", \"^SFT%R\", \"^SFT%S\", \"^SFT%T\"]); //#6074\n $1.newcode = $s($1.barlen * 6); //#6076\n $1.newtext = $s($1.barlen * 6); //#6077\n $1.j = 0; //#6078\n $1.k = 0; //#6078\n for (var _K = 0, _J = $1.barlen - 1; _K <= _J; _K += 1) { //#6088\n $1.i = _K; //#6080\n $1.extchar = $get($1.extencs, $get($1.barcode, $1.i)); //#6081\n $1.extlen = $1.extchar.length; //#6082\n $puti($1.newcode, $1.j, $1.extchar); //#6083\n $put($1.newtext, $1.k, $get($1.barcode, $1.i)); //#6084\n if ($1.extlen != 1) { //#6085\n $puti($1.newtext, $1.k + 1, \" \"); //#6085\n } //#6085\n $1.j = $1.j + $1.extlen; //#6086\n var _g = ($1.extlen == 1) ? 1 : 2; //#6087\n $1.k = $1.k + _g; //#6087\n } //#6087\n $1.newcode = $geti($1.newcode, 0, $1.j); //#6089\n $1.newtext = $geti($1.newtext, 0, $1.k); //#6090\n $put($1.options, \"dontdraw\", true); //#6093\n $put($1.options, \"parsefnc\", true); //#6094\n $k[$j++] = 'args'; //#6095\n $k[$j++] = $1.newcode; //#6095\n $k[$j++] = $1.options; //#6095\n bwipp_code93(); //#6095\n var _r = $k[--$j]; //#6095\n $1[$k[--$j]] = _r; //#6095\n if ($1.includetext) { //#6107\n $1.txt = $get($1.args, \"txt\"); //#6099\n for (var _y = 0, _x = $1.newtext.length - 1; _y <= _x; _y += 1) { //#6105\n $1.i = _y; //#6101\n $1.txtentry = $get($1.txt, $1.i); //#6102\n $put($1.txtentry, 0, $geti($1.newtext, $1.i, 1)); //#6103\n $put($1.txt, $1.i, $1.txtentry); //#6104\n } //#6104\n $put($1.args, \"txt\", $1.txt); //#6106\n } //#6106\n $put($1.args, \"opt\", $1.options); //#6108\n $k[$j++] = $1.args; //#6111\n if (!$1.dontdraw) { //#6111\n bwipp_renlinear(); //#6111\n } //#6111\n}\n\nfunction bwipp_interleaved2of5() {\n var $1 = {}; //#6140\n $1.options = $k[--$j]; //#6142\n $1.barcode = $k[--$j]; //#6143\n $1.dontdraw = false; //#6145\n $1.includecheck = false; //#6146\n $1.includetext = false; //#6147\n $1.includecheckintext = false; //#6148\n $1.textfont = \"OCR-B\"; //#6149\n $1.textsize = 10; //#6150\n $1.textyoffset = -8; //#6151\n $1.height = 1; //#6152\n $forall($1.options, function() { //#6163\n var _3 = $k[--$j]; //#6163\n $1[$k[--$j]] = _3; //#6163\n }); //#6163\n $1.textfont = \"\" + $1.textfont; //#6165\n $1.textsize = +$1.textsize; //#6166\n $1.textyoffset = +$1.textyoffset; //#6167\n $1.height = +$1.height; //#6168\n $forall($1.barcode, function() { //#6175\n var _A = $k[--$j]; //#6172\n if ((_A < 48) || (_A > 57)) { //#6174\n $k[$j++] = 'bwipp.interleaved2of5badCharacter'; //#6173\n $k[$j++] = \"Interleaved 2 of 5 must contain only digits\"; //#6173\n bwipp_raiseerror(); //#6173\n } //#6173\n }); //#6173\n $1.barlen = $1.barcode.length; //#6177\n if (((($1.barlen % 2) == 0) && $1.includecheck) || ((($1.barlen % 2) != 0) && (!$1.includecheck))) { //#6188\n $1.pad = $s($1.barlen + 1); //#6183\n $put($1.pad, 0, 48); //#6184\n $puti($1.pad, 1, $1.barcode); //#6185\n $1.barcode = $1.pad; //#6186\n $1.barlen = $1.barlen + 1; //#6187\n } //#6187\n if ($1.includecheck) { //#6207\n $1.checksum = 0; //#6192\n for (var _Q = 0, _P = $1.barlen - 1; _Q <= _P; _Q += 1) { //#6200\n $1.i = _Q; //#6194\n if (($1.i % 2) == 0) { //#6198\n $1.checksum = $1.checksum + (($get($1.barcode, $1.i) - 48) * 3); //#6196\n } else { //#6198\n $1.checksum = $1.checksum + ($get($1.barcode, $1.i) - 48); //#6198\n } //#6198\n } //#6198\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#6201\n $1.pad = $s($1.barlen + 1); //#6202\n $puti($1.pad, 0, $1.barcode); //#6203\n $put($1.pad, $1.barlen, $1.checksum + 48); //#6204\n $1.barcode = $1.pad; //#6205\n $1.barlen = $1.barlen + 1; //#6206\n } //#6206\n $1.encs = $a([\"11221\", \"21112\", \"12112\", \"22111\", \"11212\", \"21211\", \"12211\", \"11122\", \"21121\", \"12121\", \"1111\", \"2111\"]); //#6214\n $1.barchars = \"0123456789\"; //#6217\n $1.sbs = $s(($1.barlen * 5) + 8); //#6218\n $1.txt = $a($1.barlen); //#6219\n $puti($1.sbs, 0, $get($1.encs, 10)); //#6222\n for (var _u = 0, _t = $1.barlen - 1; _u <= _t; _u += 2) { //#6256\n $1.i = _u; //#6225\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#6227\n $j--; //#6228\n $1.indx = $k[--$j].length; //#6229\n $j -= 2; //#6230\n $1.enca = $get($1.encs, $1.indx); //#6231\n $search($1.barchars, $geti($1.barcode, $1.i + 1, 1)); //#6233\n $j--; //#6234\n $1.indx = $k[--$j].length; //#6235\n $j -= 2; //#6236\n $1.encb = $get($1.encs, $1.indx); //#6237\n $1.intl = $s($1.enca.length * 2); //#6240\n for (var _1F = 0, _1E = $1.enca.length - 1; _1F <= _1E; _1F += 1) { //#6247\n $1.j = _1F; //#6242\n $1.achar = $get($1.enca, $1.j); //#6243\n $1.bchar = $get($1.encb, $1.j); //#6244\n $put($1.intl, $1.j * 2, $1.achar); //#6245\n $put($1.intl, ($1.j * 2) + 1, $1.bchar); //#6246\n } //#6246\n $puti($1.sbs, ($1.i * 5) + 4, $1.intl); //#6249\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ($1.i * 9) + 4, $1.textyoffset, $1.textfont, $1.textsize])); //#6250\n if (($1.includecheck && (!$1.includecheckintext)) && (($1.barlen - 2) == $1.i)) { //#6254\n $put($1.txt, $1.i + 1, $a([\" \", (($1.i + 1) * 9) + 4, $1.textyoffset, $1.textfont, $1.textsize])); //#6252\n } else { //#6254\n $put($1.txt, $1.i + 1, $a([$geti($1.barcode, $1.i + 1, 1), (($1.i + 1) * 9) + 4, $1.textyoffset, $1.textfont, $1.textsize])); //#6254\n } //#6254\n } //#6254\n $puti($1.sbs, ($1.barlen * 5) + 4, $get($1.encs, 11)); //#6259\n $k[$j++] = Infinity; //#6272\n $k[$j++] = Infinity; //#6264\n var _24 = $1.sbs; //#6264\n for (var _25 = 0, _26 = _24.length; _25 < _26; _25++) { //#6264\n $k[$j++] = $get(_24, _25) - 48; //#6264\n } //#6264\n var _28 = $a(); //#6264\n $k[$j++] = Infinity; //#6265\n for (var _2A = 0, _2B = ~~(($1.sbs.length + 1) / 2); _2A < _2B; _2A++) { //#6265\n $k[$j++] = $1.height; //#6265\n } //#6265\n var _2D = $a(); //#6265\n $k[$j++] = Infinity; //#6266\n for (var _2F = 0, _2G = ~~(($1.sbs.length + 1) / 2); _2F < _2G; _2F++) { //#6266\n $k[$j++] = 0; //#6266\n } //#6266\n var _2H = $a(); //#6266\n $k[$j++] = 'ren'; //#6269\n $k[$j++] = bwipp_renlinear; //#6269\n $k[$j++] = 'sbs'; //#6269\n $k[$j++] = _28; //#6269\n $k[$j++] = 'bhs'; //#6269\n $k[$j++] = _2D; //#6269\n $k[$j++] = 'bbs'; //#6269\n $k[$j++] = _2H; //#6269\n if ($1.includetext) { //#6269\n $k[$j++] = 'txt'; //#6268\n $k[$j++] = $1.txt; //#6268\n } //#6268\n $k[$j++] = 'barratio'; //#6272\n $k[$j++] = 2; //#6272\n $k[$j++] = 'spaceratio'; //#6272\n $k[$j++] = 2; //#6272\n $k[$j++] = 'opt'; //#6272\n $k[$j++] = $1.options; //#6272\n var _2L = $d(); //#6272\n $k[$j++] = _2L; //#6275\n if (!$1.dontdraw) { //#6275\n bwipp_renlinear(); //#6275\n } //#6275\n}\n\nfunction bwipp_itf14() {\n var $1 = {}; //#6305\n $1.options = $k[--$j]; //#6307\n $1.barcode = $k[--$j]; //#6308\n $1.dontdraw = false; //#6310\n $1.includetext = false; //#6311\n $1.includecheckintext = true; //#6312\n $1.textfont = \"OCR-B\"; //#6313\n $1.textsize = 10; //#6314\n $1.textxoffset = 0; //#6315\n $1.textyoffset = 3; //#6316\n $1.height = 0.5; //#6317\n $1.showborder = true; //#6318\n $1.borderwidth = 4; //#6319\n $1.borderleft = 15; //#6320\n $1.borderright = 15; //#6321\n $forall($1.options, function() { //#6332\n var _3 = $k[--$j]; //#6332\n $1[$k[--$j]] = _3; //#6332\n }); //#6332\n $1.textfont = \"\" + $1.textfont; //#6334\n $1.textsize = +$1.textsize; //#6335\n $1.textxoffset = +$1.textxoffset; //#6336\n $1.textyoffset = +$1.textyoffset; //#6337\n $1.height = +$1.height; //#6338\n $1.borderwidth = +$1.borderwidth; //#6339\n $1.borderleft = +$1.borderleft; //#6340\n $1.borderright = +$1.borderright; //#6341\n $1.text = $1.barcode; //#6344\n var _E = $1.barcode; //#6345\n $k[$j++] = $s(_E.length); //#6346\n $k[$j++] = 0; //#6346\n $forall(_E, function() { //#6346\n var _G = $k[--$j]; //#6346\n $k[$j++] = _G; //#6346\n if (_G != 32) { //#6346\n var _H = $k[--$j]; //#6346\n var _I = $k[--$j]; //#6346\n var _J = $k[--$j]; //#6346\n $put(_J, _I, _H); //#6346\n $k[$j++] = _J; //#6346\n $k[$j++] = $f(_I + 1); //#6346\n } else { //#6346\n $j--; //#6346\n } //#6346\n }); //#6346\n var _K = $k[--$j]; //#6347\n $1.barcode = $geti($k[--$j], 0, _K); //#6347\n $1.hasspace = $1.text.length != $1.barcode.length; //#6348\n if (($1.barcode.length != 13) && ($1.barcode.length != 14)) { //#6353\n $k[$j++] = 'bwipp.itf14badLength'; //#6352\n $k[$j++] = \"ITF-14 must be 13 or 14 digits\"; //#6352\n bwipp_raiseerror(); //#6352\n } //#6352\n var _R = $1.barcode; //#6354\n for (var _S = 0, _T = _R.length; _S < _T; _S++) { //#6358\n var _U = $get(_R, _S); //#6358\n if ((_U < 48) || (_U > 57)) { //#6357\n $k[$j++] = 'bwipp.itf14badCharacter'; //#6356\n $k[$j++] = \"ITF-14 must contain only digits\"; //#6356\n bwipp_raiseerror(); //#6356\n } //#6356\n } //#6356\n $1.checksum = 0; //#6361\n for (var _V = 0; _V <= 12; _V += 1) { //#6365\n $1.i = _V; //#6363\n $k[$j++] = 'checksum'; //#6364\n $k[$j++] = $1.checksum; //#6364\n $k[$j++] = $f($get($1.barcode, $1.i) - 48); //#6364\n if (($1.i % 2) == 0) { //#6364\n var _b = $k[--$j]; //#6364\n $k[$j++] = _b * 3; //#6364\n } //#6364\n var _c = $k[--$j]; //#6364\n var _d = $k[--$j]; //#6364\n $1[$k[--$j]] = $f(_d + _c); //#6364\n } //#6364\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#6366\n if ($1.barcode.length == 14) { //#6380\n if ($get($1.barcode, 13) != ($1.checksum + 48)) { //#6370\n $k[$j++] = 'bwipp.itf14badCheckDigit'; //#6369\n $k[$j++] = \"Incorrect ITF-14 check digit provided\"; //#6369\n bwipp_raiseerror(); //#6369\n } //#6369\n } else { //#6380\n var _k = $s(14); //#6372\n $puti(_k, 0, $1.barcode); //#6373\n $put(_k, 13, $1.checksum + 48); //#6374\n $1.barcode = _k; //#6375\n var _p = $1.hasspace ? 2 : 1; //#6376\n var _q = $s($1.text.length + _p); //#6376\n $puti(_q, _q.length - 2, \" \"); //#6377\n $put(_q, _q.length - 1, $1.checksum + 48); //#6378\n $puti(_q, 0, $1.text); //#6379\n $1.text = _q; //#6380\n } //#6380\n $put($1.options, \"dontdraw\", true); //#6384\n $put($1.options, \"showborder\", $1.showborder); //#6385\n $put($1.options, \"borderwidth\", $1.borderwidth); //#6386\n $put($1.options, \"borderleft\", $1.borderleft); //#6387\n $put($1.options, \"borderright\", $1.borderright); //#6388\n $put($1.options, \"height\", $1.height); //#6389\n $put($1.options, \"textyoffset\", $1.textyoffset); //#6390\n $k[$j++] = 'args'; //#6391\n $k[$j++] = $1.barcode; //#6391\n $k[$j++] = $1.options; //#6391\n bwipp_interleaved2of5(); //#6391\n var _18 = $k[--$j]; //#6391\n $1[$k[--$j]] = _18; //#6391\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#6393\n $put($1.args, \"textxalign\", \"center\"); //#6394\n $put($1.args, \"opt\", $1.options); //#6395\n $k[$j++] = $1.args; //#6398\n if (!$1.dontdraw) { //#6398\n bwipp_renlinear(); //#6398\n } //#6398\n}\n\nfunction bwipp_identcode() {\n var $1 = {}; //#6428\n $1.options = $k[--$j]; //#6430\n $1.barcode = $k[--$j]; //#6431\n $1.dontdraw = false; //#6433\n $1.includetext = false; //#6434\n $1.textfont = \"OCR-B\"; //#6435\n $1.textsize = 10; //#6436\n $1.textxoffset = 0; //#6437\n $1.textyoffset = -8; //#6438\n $1.height = 1; //#6439\n $forall($1.options, function() { //#6450\n var _3 = $k[--$j]; //#6450\n $1[$k[--$j]] = _3; //#6450\n }); //#6450\n $1.textfont = \"\" + $1.textfont; //#6452\n $1.textsize = +$1.textsize; //#6453\n $1.textxoffset = +$1.textxoffset; //#6454\n $1.textyoffset = +$1.textyoffset; //#6455\n $1.height = +$1.height; //#6456\n if (($1.barcode.length != 11) && ($1.barcode.length != 12)) { //#6461\n $k[$j++] = 'bwipp.identcodeBadLength'; //#6460\n $k[$j++] = \"Deutsche Post Identcode must be 11 or 12 digits\"; //#6460\n bwipp_raiseerror(); //#6460\n } //#6460\n $forall($1.barcode, function() { //#6466\n var _D = $k[--$j]; //#6463\n if ((_D < 48) || (_D > 57)) { //#6465\n $k[$j++] = 'bwipp.identcodeBadCharacter'; //#6464\n $k[$j++] = \"Deutsche Post Identcode must contain only digits\"; //#6464\n bwipp_raiseerror(); //#6464\n } //#6464\n }); //#6464\n $1.checksum = 0; //#6469\n for (var _E = 0; _E <= 10; _E += 1) { //#6473\n $1.i = _E; //#6471\n $k[$j++] = 'checksum'; //#6472\n $k[$j++] = $1.checksum; //#6472\n $k[$j++] = $f($get($1.barcode, $1.i) - 48); //#6472\n if (($1.i % 2) == 0) { //#6472\n var _K = $k[--$j]; //#6472\n $k[$j++] = _K * 4; //#6472\n } else { //#6472\n var _L = $k[--$j]; //#6472\n $k[$j++] = _L * 9; //#6472\n } //#6472\n var _M = $k[--$j]; //#6472\n var _N = $k[--$j]; //#6472\n $1[$k[--$j]] = $f(_N + _M); //#6472\n } //#6472\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#6474\n if ($1.barcode.length == 12) { //#6479\n if ($get($1.barcode, 11) != ($1.checksum + 48)) { //#6478\n $k[$j++] = 'bwipp.identcodeBadCheckDigit'; //#6477\n $k[$j++] = \"Incorrect Deutsche Post Identcode check digit provided\"; //#6477\n bwipp_raiseerror(); //#6477\n } //#6477\n } //#6477\n var _U = $s(12); //#6480\n $puti(_U, 0, $1.barcode); //#6481\n $put(_U, 11, $1.checksum + 48); //#6482\n $1.barcode = _U; //#6483\n $1.text = $strcpy($s(16), \" . . \"); //#6486\n $puti($1.text, 0, $geti($1.barcode, 0, 2)); //#6487\n $puti($1.text, 3, $geti($1.barcode, 2, 3)); //#6488\n $puti($1.text, 7, $geti($1.barcode, 5, 3)); //#6489\n var _i = $1.text; //#6490\n $puti(_i, 11, $geti($1.barcode, 8, 3)); //#6490\n $puti($1.text, 15, $geti($1.barcode, 11, 1)); //#6491\n $put($1.options, \"dontdraw\", true); //#6494\n $put($1.options, \"includecheck\", false); //#6495\n var _r = $1.options; //#6496\n $k[$j++] = 'args'; //#6496\n $k[$j++] = $1.barcode; //#6496\n $k[$j++] = _r; //#6496\n bwipp_interleaved2of5(); //#6496\n var _s = $k[--$j]; //#6496\n $1[$k[--$j]] = _s; //#6496\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#6498\n $put($1.args, \"textxalign\", \"center\"); //#6499\n $put($1.args, \"opt\", $1.options); //#6500\n $k[$j++] = $1.args; //#6503\n if (!$1.dontdraw) { //#6503\n bwipp_renlinear(); //#6503\n } //#6503\n}\n\nfunction bwipp_leitcode() {\n var $1 = {}; //#6533\n $1.options = $k[--$j]; //#6535\n $1.barcode = $k[--$j]; //#6536\n $1.dontdraw = false; //#6538\n $1.includetext = false; //#6539\n $1.textfont = \"OCR-B\"; //#6540\n $1.textsize = 10; //#6541\n $1.textxoffset = 0; //#6542\n $1.textyoffset = -8; //#6543\n $1.height = 1; //#6544\n $forall($1.options, function() { //#6555\n var _3 = $k[--$j]; //#6555\n $1[$k[--$j]] = _3; //#6555\n }); //#6555\n $1.textfont = \"\" + $1.textfont; //#6557\n $1.textsize = +$1.textsize; //#6558\n $1.textxoffset = +$1.textxoffset; //#6559\n $1.textyoffset = +$1.textyoffset; //#6560\n $1.height = +$1.height; //#6561\n if (($1.barcode.length != 13) && ($1.barcode.length != 14)) { //#6566\n $k[$j++] = 'bwipp.leitcodeBadLength'; //#6565\n $k[$j++] = \"Deutsche Post Leitcode must be 13 or 14 digits\"; //#6565\n bwipp_raiseerror(); //#6565\n } //#6565\n $forall($1.barcode, function() { //#6571\n var _D = $k[--$j]; //#6568\n if ((_D < 48) || (_D > 57)) { //#6570\n $k[$j++] = 'bwipp.leitcodeBadCharacter'; //#6569\n $k[$j++] = \"Deutsche Post Leitcode must contain only digits\"; //#6569\n bwipp_raiseerror(); //#6569\n } //#6569\n }); //#6569\n $1.checksum = 0; //#6574\n for (var _E = 0; _E <= 12; _E += 1) { //#6578\n $1.i = _E; //#6576\n $k[$j++] = 'checksum'; //#6577\n $k[$j++] = $1.checksum; //#6577\n $k[$j++] = $f($get($1.barcode, $1.i) - 48); //#6577\n if (($1.i % 2) == 0) { //#6577\n var _K = $k[--$j]; //#6577\n $k[$j++] = _K * 4; //#6577\n } else { //#6577\n var _L = $k[--$j]; //#6577\n $k[$j++] = _L * 9; //#6577\n } //#6577\n var _M = $k[--$j]; //#6577\n var _N = $k[--$j]; //#6577\n $1[$k[--$j]] = $f(_N + _M); //#6577\n } //#6577\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#6579\n if ($1.barcode.length == 14) { //#6584\n if ($get($1.barcode, 13) != ($1.checksum + 48)) { //#6583\n $k[$j++] = 'bwipp.leitcodeBadCheckDigit'; //#6582\n $k[$j++] = \"Incorrect Deutsche Post Leitcode check digit provided\"; //#6582\n bwipp_raiseerror(); //#6582\n } //#6582\n } //#6582\n var _U = $s(14); //#6585\n $puti(_U, 0, $1.barcode); //#6586\n $put(_U, 13, $1.checksum + 48); //#6587\n $1.barcode = _U; //#6588\n $1.text = $strcpy($s(18), \" . . . \"); //#6591\n $puti($1.text, 0, $geti($1.barcode, 0, 5)); //#6592\n $puti($1.text, 6, $geti($1.barcode, 5, 3)); //#6593\n $puti($1.text, 10, $geti($1.barcode, 8, 3)); //#6594\n var _i = $1.text; //#6595\n $puti(_i, 14, $geti($1.barcode, 11, 2)); //#6595\n $puti($1.text, 17, $geti($1.barcode, 13, 1)); //#6596\n $put($1.options, \"dontdraw\", true); //#6599\n $put($1.options, \"includecheck\", false); //#6600\n var _r = $1.options; //#6601\n $k[$j++] = 'args'; //#6601\n $k[$j++] = $1.barcode; //#6601\n $k[$j++] = _r; //#6601\n bwipp_interleaved2of5(); //#6601\n var _s = $k[--$j]; //#6601\n $1[$k[--$j]] = _s; //#6601\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#6603\n $put($1.args, \"textxalign\", \"center\"); //#6604\n $put($1.args, \"opt\", $1.options); //#6605\n $k[$j++] = $1.args; //#6608\n if (!$1.dontdraw) { //#6608\n bwipp_renlinear(); //#6608\n } //#6608\n}\n\nfunction bwipp_databaromni() {\n var $1 = {}; //#6638\n $1.options = $k[--$j]; //#6640\n $1.barcode = $k[--$j]; //#6641\n $1.dontdraw = false; //#6643\n $1.height = 33 / 72; //#6644\n $1.linkage = false; //#6645\n $1.format = \"omni\"; //#6646\n $1.barxmult = 33; //#6647\n $forall($1.options, function() { //#6658\n var _3 = $k[--$j]; //#6658\n $1[$k[--$j]] = _3; //#6658\n }); //#6658\n if ($eq($1.format, \"truncated\")) { //#6660\n $1.height = 13 / 72; //#6660\n } //#6660\n $1.height = +$1.height; //#6661\n $1.barxmult = ~~$1.barxmult; //#6662\n if ($ne($geti($1.barcode, 0, 4), \"(01)\")) { //#6667\n $k[$j++] = 'bwipp.databaromniBadAI'; //#6666\n $k[$j++] = \"GS1 DataBar Omnidirectional must begin with (01) application identifier\"; //#6666\n bwipp_raiseerror(); //#6666\n } //#6666\n if (($1.barcode.length != 17) && ($1.barcode.length != 18)) { //#6670\n $k[$j++] = 'bwipp.databaromniBadLength'; //#6669\n $k[$j++] = \"GS1 DataBar Omnidirectional must be 13 or 14 digits\"; //#6669\n bwipp_raiseerror(); //#6669\n } //#6669\n var _E = $geti($1.barcode, 4, $1.barcode.length - 4); //#6671\n for (var _F = 0, _G = _E.length; _F < _G; _F++) { //#6675\n var _H = $get(_E, _F); //#6675\n if ((_H < 48) || (_H > 57)) { //#6674\n $k[$j++] = 'bwipp.databaromniBadCharacter'; //#6673\n $k[$j++] = \"GS1 DataBar Omnidirectional must contain only digits\"; //#6673\n bwipp_raiseerror(); //#6673\n } //#6673\n } //#6673\n $1.checksum = 0; //#6678\n for (var _I = 0; _I <= 12; _I += 1) { //#6682\n $1.i = _I; //#6680\n $k[$j++] = 'checksum'; //#6681\n $k[$j++] = $1.checksum; //#6681\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#6681\n if (($1.i % 2) == 0) { //#6681\n var _O = $k[--$j]; //#6681\n $k[$j++] = _O * 3; //#6681\n } //#6681\n var _P = $k[--$j]; //#6681\n var _Q = $k[--$j]; //#6681\n $1[$k[--$j]] = $f(_Q + _P); //#6681\n } //#6681\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#6683\n if ($1.barcode.length == 18) { //#6688\n if ($get($1.barcode, 17) != ($1.checksum + 48)) { //#6687\n $k[$j++] = 'bwipp.databaromniBadCheckDigit'; //#6686\n $k[$j++] = \"Incorrect GS1 DataBar Omnidirectional check digit provided\"; //#6686\n bwipp_raiseerror(); //#6686\n } //#6686\n } //#6686\n var _X = $s(18); //#6689\n $puti(_X, 0, $1.barcode); //#6690\n $put(_X, 17, $1.checksum + 48); //#6691\n $1.barcode = _X; //#6692\n $1.txt = $a($1.barcode.length); //#6695\n for (var _e = 0, _d = $1.barcode.length - 1; _e <= _d; _e += 1) { //#6699\n $1.i = _e; //#6697\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), 0, 0, \"\", 0])); //#6698\n } //#6698\n $1.ncr = function() {\n var _l = $k[--$j]; //#6702\n var _m = $k[--$j]; //#6702\n var _n = $f(_m - _l); //#6702\n if (_l < $f(_m - _l)) { //#6702\n var _ = _n; //#6702\n _n = _l; //#6702\n _l = _; //#6702\n } //#6702\n $k[$j++] = _n; //#6709\n $k[$j++] = 1; //#6709\n $k[$j++] = 1; //#6709\n for (var _p = _m, _o = $f(_l + 1); _p >= _o; _p -= 1) { //#6709\n var _q = $k[--$j]; //#6705\n var _r = $k[--$j]; //#6706\n var _s = $k[--$j]; //#6706\n $k[$j++] = _s; //#6708\n $k[$j++] = _r; //#6708\n $k[$j++] = _q * _p; //#6708\n if ($le(_r, _s)) { //#6708\n var _t = $k[--$j]; //#6707\n var _u = $k[--$j]; //#6707\n $k[$j++] = $f(_u + 1); //#6707\n $k[$j++] = ~~(_t / _u); //#6707\n } //#6707\n } //#6707\n for (;;) { //#6713\n var _v = $k[--$j]; //#6711\n var _w = $k[--$j]; //#6711\n var _x = $k[--$j]; //#6711\n $k[$j++] = _x; //#6711\n $k[$j++] = _w; //#6711\n $k[$j++] = _v; //#6711\n if ($gt(_w, _x)) { //#6711\n break; //#6711\n } //#6711\n var _y = $k[--$j]; //#6712\n var _z = $k[--$j]; //#6712\n $k[$j++] = $f(_z + 1); //#6712\n $k[$j++] = ~~(_y / _z); //#6712\n } //#6712\n var _10 = $k[--$j]; //#6714\n var _11 = $k[--$j]; //#6714\n $k[$j++] = _10; //#6714\n $k[$j++] = _11; //#6714\n $j--; //#6714\n var _12 = $k[--$j]; //#6714\n var _13 = $k[--$j]; //#6714\n $k[$j++] = _12; //#6714\n $k[$j++] = _13; //#6714\n $j--; //#6714\n }; //#6715\n $1.getRSSwidths = function() {\n $1.oe = $k[--$j]; //#6718\n $1.el = $k[--$j]; //#6719\n $1.mw = $k[--$j]; //#6720\n $1.nm = $k[--$j]; //#6721\n $1.val = $k[--$j]; //#6722\n $1.out = $a($1.el); //#6723\n $1.mask = 0; //#6724\n for (var _1D = 0, _1C = $f($1.el - 2); _1D <= _1C; _1D += 1) { //#6751\n $1.bar = _1D; //#6726\n $1.ew = 1; //#6727\n var _1F = $1.bar; //#6728\n $1.mask = $1.mask | ((_1F < 0 ? 1 >>> -_1F : 1 << _1F)); //#6728\n for (;;) { //#6747\n $k[$j++] = 'sval'; //#6729\n $k[$j++] = $f($f($1.nm - $1.ew) - 1); //#6729\n $k[$j++] = $f($f($1.el - $1.bar) - 2); //#6729\n $1.ncr(); //#6729\n var _1K = $k[--$j]; //#6729\n $1[$k[--$j]] = _1K; //#6729\n if (($1.oe && ($1.mask == 0)) && (($f(($f($f($1.nm - $1.ew) - ($1.el * 2))) + ($1.bar * 2))) >= -2)) { //#6732\n $k[$j++] = 'sval'; //#6731\n $k[$j++] = $1.sval; //#6731\n $k[$j++] = $f(($f($f($1.nm - $1.ew) - $1.el)) + $1.bar); //#6731\n $k[$j++] = $f($f($1.el - $1.bar) - 2); //#6731\n $1.ncr(); //#6731\n var _1Z = $k[--$j]; //#6731\n var _1a = $k[--$j]; //#6731\n $1[$k[--$j]] = $f(_1a - _1Z); //#6731\n } //#6731\n if ($f($1.el - $1.bar) > 2) { //#6741\n $1.lval = 0; //#6734\n for (var _1k = $f(($f(($f($f($1.nm - $1.ew) - $1.el)) + $1.bar)) + 2), _1j = $f($1.mw + 1); _1k >= _1j; _1k -= 1) { //#6738\n $k[$j++] = $f(($f($f($1.nm - _1k) - $1.ew)) - 1); //#6736\n $k[$j++] = $f($f($1.el - $1.bar) - 3); //#6736\n $1.ncr(); //#6736\n $1.lval = $f($k[--$j] + $1.lval); //#6737\n } //#6737\n $1.sval = $f($1.sval - ($1.lval * ($f($f($1.el - $1.bar) - 1)))); //#6739\n } else { //#6741\n if ($f($1.nm - $1.ew) > $1.mw) { //#6741\n $1.sval = $f($1.sval - 1); //#6741\n } //#6741\n } //#6741\n $1.val = $f($1.val - $1.sval); //#6743\n if ($1.val < 0) { //#6744\n break; //#6744\n } //#6744\n $1.ew = $1.ew + 1; //#6745\n var _24 = $1.bar; //#6746\n $1.mask = $1.mask & (~((_24 < 0 ? 1 >>> -_24 : 1 << _24))); //#6746\n } //#6746\n $1.val = $f($1.val + $1.sval); //#6748\n $1.nm = $f($1.nm - $1.ew); //#6749\n $put($1.out, $1.bar, $1.ew); //#6750\n } //#6750\n $put($1.out, $f($1.el - 1), $1.nm); //#6752\n $k[$j++] = $1.out; //#6753\n }; //#6754\n $k[$j++] = Infinity; //#6758\n var _2H = $1.linkage ? 1 : 0; //#6757\n var _2J = $geti($1.barcode, 4, 13); //#6758\n $k[$j++] = _2H; //#6758\n for (var _2K = 0, _2L = _2J.length; _2K < _2L; _2K++) { //#6758\n $k[$j++] = $f($get(_2J, _2K) - 48); //#6758\n } //#6758\n $1.binval = $a(); //#6758\n for (var _2O = 0; _2O <= 12; _2O += 1) { //#6765\n $1.i = _2O; //#6762\n var _2P = $1.binval; //#6763\n var _2Q = $1.i; //#6763\n $put(_2P, _2Q + 1, $f($get(_2P, _2Q + 1) + (($get($1.binval, $1.i) % 4537077) * 10))); //#6763\n $put($1.binval, $1.i, ~~($get($1.binval, $1.i) / 4537077)); //#6764\n } //#6764\n $1.right = $get($1.binval, 13) % 4537077; //#6766\n var _2c = $1.binval; //#6767\n $put(_2c, 13, ~~($get(_2c, 13) / 4537077)); //#6767\n $1.left = 0; //#6769\n $1.i = true; //#6770\n for (var _2e = 0; _2e <= 13; _2e += 1) { //#6780\n $1.j = _2e; //#6772\n var _2h = $get($1.binval, $1.j); //#6773\n $k[$j++] = _2h; //#6779\n if ((_2h == 0) && $1.i) { //#6778\n $j--; //#6775\n } else { //#6778\n $1.i = false; //#6777\n $1.left = $f($1.left + ($k[--$j] * (~~Math.pow(10, 13 - $1.j)))); //#6778\n } //#6778\n } //#6778\n $1.d1 = ~~($1.left / 1597); //#6782\n $1.d2 = $1.left % 1597; //#6783\n $1.d3 = ~~($1.right / 1597); //#6784\n $1.d4 = $1.right % 1597; //#6785\n $1.tab164 = $a([160, 0, 12, 4, 8, 1, 161, 1, 960, 161, 10, 6, 6, 3, 80, 10, 2014, 961, 8, 8, 4, 5, 31, 34, 2714, 2015, 6, 10, 3, 6, 10, 70, 2840, 2715, 4, 12, 1, 8, 1, 126]); //#6793\n $1.tab154 = $a([335, 0, 5, 10, 2, 7, 4, 84, 1035, 336, 7, 8, 4, 5, 20, 35, 1515, 1036, 9, 6, 6, 3, 48, 10, 1596, 1516, 11, 4, 8, 1, 81, 1]); //#6800\n $1.i = 0; //#6802\n for (;;) { //#6812\n if ($1.d1 <= $get($1.tab164, $1.i)) { //#6810\n var _2y = $geti($1.tab164, $1.i + 1, 7); //#6804\n for (var _2z = 0, _30 = _2y.length; _2z < _30; _2z++) { //#6804\n $k[$j++] = $get(_2y, _2z); //#6804\n } //#6804\n $1.d1te = $k[--$j]; //#6805\n $1.d1to = $k[--$j]; //#6805\n $1.d1mwe = $k[--$j]; //#6806\n $1.d1mwo = $k[--$j]; //#6806\n $1.d1ele = $k[--$j]; //#6807\n $1.d1elo = $k[--$j]; //#6807\n $1.d1gs = $k[--$j]; //#6808\n break; //#6809\n } //#6809\n $1.i = $1.i + 8; //#6811\n } //#6811\n $1.i = 0; //#6814\n for (;;) { //#6824\n if ($1.d2 <= $get($1.tab154, $1.i)) { //#6822\n var _3G = $geti($1.tab154, $1.i + 1, 7); //#6816\n for (var _3H = 0, _3I = _3G.length; _3H < _3I; _3H++) { //#6816\n $k[$j++] = $get(_3G, _3H); //#6816\n } //#6816\n $1.d2te = $k[--$j]; //#6817\n $1.d2to = $k[--$j]; //#6817\n $1.d2mwe = $k[--$j]; //#6818\n $1.d2mwo = $k[--$j]; //#6818\n $1.d2ele = $k[--$j]; //#6819\n $1.d2elo = $k[--$j]; //#6819\n $1.d2gs = $k[--$j]; //#6820\n break; //#6821\n } //#6821\n $1.i = $1.i + 8; //#6823\n } //#6823\n $1.i = 0; //#6826\n for (;;) { //#6836\n if ($1.d3 <= $get($1.tab164, $1.i)) { //#6834\n var _3Y = $geti($1.tab164, $1.i + 1, 7); //#6828\n for (var _3Z = 0, _3a = _3Y.length; _3Z < _3a; _3Z++) { //#6828\n $k[$j++] = $get(_3Y, _3Z); //#6828\n } //#6828\n $1.d3te = $k[--$j]; //#6829\n $1.d3to = $k[--$j]; //#6829\n $1.d3mwe = $k[--$j]; //#6830\n $1.d3mwo = $k[--$j]; //#6830\n $1.d3ele = $k[--$j]; //#6831\n $1.d3elo = $k[--$j]; //#6831\n $1.d3gs = $k[--$j]; //#6832\n break; //#6833\n } //#6833\n $1.i = $1.i + 8; //#6835\n } //#6835\n $1.i = 0; //#6838\n for (;;) { //#6848\n if ($1.d4 <= $get($1.tab154, $1.i)) { //#6846\n var _3q = $geti($1.tab154, $1.i + 1, 7); //#6840\n for (var _3r = 0, _3s = _3q.length; _3r < _3s; _3r++) { //#6840\n $k[$j++] = $get(_3q, _3r); //#6840\n } //#6840\n $1.d4te = $k[--$j]; //#6841\n $1.d4to = $k[--$j]; //#6841\n $1.d4mwe = $k[--$j]; //#6842\n $1.d4mwo = $k[--$j]; //#6842\n $1.d4ele = $k[--$j]; //#6843\n $1.d4elo = $k[--$j]; //#6843\n $1.d4gs = $k[--$j]; //#6844\n break; //#6845\n } //#6845\n $1.i = $1.i + 8; //#6847\n } //#6847\n $k[$j++] = 'd1wo'; //#6850\n $k[$j++] = ~~($f($1.d1 - $1.d1gs) / $1.d1te); //#6850\n $k[$j++] = $1.d1elo; //#6850\n $k[$j++] = $1.d1mwo; //#6850\n $k[$j++] = 4; //#6850\n $k[$j++] = false; //#6850\n $1.getRSSwidths(); //#6850\n var _47 = $k[--$j]; //#6850\n $1[$k[--$j]] = _47; //#6850\n $k[$j++] = 'd1we'; //#6851\n $k[$j++] = $f($1.d1 - $1.d1gs) % $1.d1te; //#6851\n $k[$j++] = $1.d1ele; //#6851\n $k[$j++] = $1.d1mwe; //#6851\n $k[$j++] = 4; //#6851\n $k[$j++] = true; //#6851\n $1.getRSSwidths(); //#6851\n var _4E = $k[--$j]; //#6851\n $1[$k[--$j]] = _4E; //#6851\n $k[$j++] = 'd2wo'; //#6852\n $k[$j++] = $f($1.d2 - $1.d2gs) % $1.d2to; //#6852\n $k[$j++] = $1.d2elo; //#6852\n $k[$j++] = $1.d2mwo; //#6852\n $k[$j++] = 4; //#6852\n $k[$j++] = true; //#6852\n $1.getRSSwidths(); //#6852\n var _4L = $k[--$j]; //#6852\n $1[$k[--$j]] = _4L; //#6852\n $k[$j++] = 'd2we'; //#6853\n $k[$j++] = ~~($f($1.d2 - $1.d2gs) / $1.d2to); //#6853\n $k[$j++] = $1.d2ele; //#6853\n $k[$j++] = $1.d2mwe; //#6853\n $k[$j++] = 4; //#6853\n $k[$j++] = false; //#6853\n $1.getRSSwidths(); //#6853\n var _4S = $k[--$j]; //#6853\n $1[$k[--$j]] = _4S; //#6853\n $k[$j++] = 'd3wo'; //#6854\n $k[$j++] = ~~($f($1.d3 - $1.d3gs) / $1.d3te); //#6854\n $k[$j++] = $1.d3elo; //#6854\n $k[$j++] = $1.d3mwo; //#6854\n $k[$j++] = 4; //#6854\n $k[$j++] = false; //#6854\n $1.getRSSwidths(); //#6854\n var _4Z = $k[--$j]; //#6854\n $1[$k[--$j]] = _4Z; //#6854\n $k[$j++] = 'd3we'; //#6855\n $k[$j++] = $f($1.d3 - $1.d3gs) % $1.d3te; //#6855\n $k[$j++] = $1.d3ele; //#6855\n $k[$j++] = $1.d3mwe; //#6855\n $k[$j++] = 4; //#6855\n $k[$j++] = true; //#6855\n $1.getRSSwidths(); //#6855\n var _4g = $k[--$j]; //#6855\n $1[$k[--$j]] = _4g; //#6855\n $k[$j++] = 'd4wo'; //#6856\n $k[$j++] = $f($1.d4 - $1.d4gs) % $1.d4to; //#6856\n $k[$j++] = $1.d4elo; //#6856\n $k[$j++] = $1.d4mwo; //#6856\n $k[$j++] = 4; //#6856\n $k[$j++] = true; //#6856\n $1.getRSSwidths(); //#6856\n var _4n = $k[--$j]; //#6856\n $1[$k[--$j]] = _4n; //#6856\n $k[$j++] = 'd4we'; //#6857\n $k[$j++] = ~~($f($1.d4 - $1.d4gs) / $1.d4to); //#6857\n $k[$j++] = $1.d4ele; //#6857\n $k[$j++] = $1.d4mwe; //#6857\n $k[$j++] = 4; //#6857\n $k[$j++] = false; //#6857\n $1.getRSSwidths(); //#6857\n var _4u = $k[--$j]; //#6857\n $1[$k[--$j]] = _4u; //#6857\n $1.d1w = $a(8); //#6859\n for (var _4x = 0; _4x <= 3; _4x += 1) { //#6864\n $1.i = _4x; //#6861\n $put($1.d1w, $1.i * 2, $get($1.d1wo, $1.i)); //#6862\n $put($1.d1w, ($1.i * 2) + 1, $get($1.d1we, $1.i)); //#6863\n } //#6863\n $1.d2w = $a(8); //#6866\n for (var _59 = 0; _59 <= 3; _59 += 1) { //#6871\n $1.i = _59; //#6868\n $put($1.d2w, 7 - ($1.i * 2), $get($1.d2wo, $1.i)); //#6869\n $put($1.d2w, 6 - ($1.i * 2), $get($1.d2we, $1.i)); //#6870\n } //#6870\n $1.d3w = $a(8); //#6873\n for (var _5L = 0; _5L <= 3; _5L += 1) { //#6878\n $1.i = _5L; //#6875\n $put($1.d3w, 7 - ($1.i * 2), $get($1.d3wo, $1.i)); //#6876\n $put($1.d3w, 6 - ($1.i * 2), $get($1.d3we, $1.i)); //#6877\n } //#6877\n $1.d4w = $a(8); //#6880\n for (var _5X = 0; _5X <= 3; _5X += 1) { //#6885\n $1.i = _5X; //#6882\n $put($1.d4w, $1.i * 2, $get($1.d4wo, $1.i)); //#6883\n $put($1.d4w, ($1.i * 2) + 1, $get($1.d4we, $1.i)); //#6884\n } //#6884\n $k[$j++] = Infinity; //#6891\n var _5i = $1.d1w; //#6888\n for (var _5j = 0, _5k = _5i.length; _5j < _5k; _5j++) { //#6888\n $k[$j++] = $get(_5i, _5j); //#6888\n } //#6888\n var _5m = $1.d2w; //#6889\n for (var _5n = 0, _5o = _5m.length; _5n < _5o; _5n++) { //#6889\n $k[$j++] = $get(_5m, _5n); //#6889\n } //#6889\n var _5q = $1.d3w; //#6890\n for (var _5r = 0, _5s = _5q.length; _5r < _5s; _5r++) { //#6890\n $k[$j++] = $get(_5q, _5r); //#6890\n } //#6890\n var _5u = $1.d4w; //#6891\n for (var _5v = 0, _5w = _5u.length; _5v < _5w; _5v++) { //#6891\n $k[$j++] = $get(_5u, _5v); //#6891\n } //#6891\n $1.widths = $a(); //#6891\n $1.checkweights = $a([1, 3, 9, 27, 2, 6, 18, 54, 58, 72, 24, 8, 29, 36, 12, 4, 74, 51, 17, 32, 37, 65, 48, 16, 64, 34, 23, 69, 49, 68, 46, 59]); //#6899\n $1.checkwidths = $a([3, 8, 2, 1, 1, 3, 5, 5, 1, 1, 3, 3, 7, 1, 1, 3, 1, 9, 1, 1, 2, 7, 4, 1, 1, 2, 5, 6, 1, 1, 2, 3, 8, 1, 1, 1, 5, 7, 1, 1, 1, 3, 9, 1, 1]); //#6905\n $1.checksum = 0; //#6907\n for (var _61 = 0; _61 <= 31; _61 += 1) { //#6911\n $1.i = _61; //#6909\n $1.checksum = $f($1.checksum + ($get($1.widths, $1.i) * $get($1.checkweights, $1.i))); //#6910\n } //#6910\n $1.checksum = $1.checksum % 79; //#6912\n if ($1.checksum >= 8) { //#6913\n $1.checksum = $f($1.checksum + 1); //#6913\n } //#6913\n if ($1.checksum >= 72) { //#6914\n $1.checksum = $f($1.checksum + 1); //#6914\n } //#6914\n $1.checklt = $geti($1.checkwidths, (~~($1.checksum / 9)) * 5, 5); //#6915\n $1.checkrtrev = $geti($1.checkwidths, ($1.checksum % 9) * 5, 5); //#6916\n $1.checkrt = $a(5); //#6917\n for (var _6L = 0; _6L <= 4; _6L += 1) { //#6921\n $1.i = _6L; //#6919\n $put($1.checkrt, $1.i, $get($1.checkrtrev, 4 - $1.i)); //#6920\n } //#6920\n if ($eq($1.format, \"omni\") || $eq($1.format, \"truncated\")) { //#7043\n $k[$j++] = Infinity; //#6928\n var _6T = $1.d1w; //#6927\n $k[$j++] = 1; //#6927\n for (var _6U = 0, _6V = _6T.length; _6U < _6V; _6U++) { //#6927\n $k[$j++] = $get(_6T, _6U); //#6927\n } //#6927\n var _6X = $1.checklt; //#6927\n for (var _6Y = 0, _6Z = _6X.length; _6Y < _6Z; _6Y++) { //#6927\n $k[$j++] = $get(_6X, _6Y); //#6927\n } //#6927\n var _6b = $1.d2w; //#6927\n for (var _6c = 0, _6d = _6b.length; _6c < _6d; _6c++) { //#6927\n $k[$j++] = $get(_6b, _6c); //#6927\n } //#6927\n var _6f = $1.d4w; //#6928\n for (var _6g = 0, _6h = _6f.length; _6g < _6h; _6g++) { //#6928\n $k[$j++] = $get(_6f, _6g); //#6928\n } //#6928\n var _6j = $1.checkrt; //#6928\n for (var _6k = 0, _6l = _6j.length; _6k < _6l; _6k++) { //#6928\n $k[$j++] = $get(_6j, _6k); //#6928\n } //#6928\n var _6n = $1.d3w; //#6928\n for (var _6o = 0, _6p = _6n.length; _6o < _6p; _6o++) { //#6928\n $k[$j++] = $get(_6n, _6o); //#6928\n } //#6928\n $k[$j++] = 1; //#6928\n $k[$j++] = 1; //#6928\n $1.sbs = $a(); //#6928\n $k[$j++] = Infinity; //#6938\n var _6s = $1.sbs; //#6933\n $k[$j++] = Infinity; //#6934\n for (var _6u = 0, _6v = ~~(($1.sbs.length + 1) / 2); _6u < _6v; _6u++) { //#6934\n $k[$j++] = $1.height; //#6934\n } //#6934\n var _6x = $a(); //#6934\n $k[$j++] = Infinity; //#6935\n for (var _6z = 0, _70 = ~~(($1.sbs.length + 1) / 2); _6z < _70; _6z++) { //#6935\n $k[$j++] = 0; //#6935\n } //#6935\n var _71 = $a(); //#6935\n $k[$j++] = 'ren'; //#6938\n $k[$j++] = bwipp_renlinear; //#6938\n $k[$j++] = 'sbs'; //#6938\n $k[$j++] = _6s; //#6938\n $k[$j++] = 'bhs'; //#6938\n $k[$j++] = _6x; //#6938\n $k[$j++] = 'bbs'; //#6938\n $k[$j++] = _71; //#6938\n $k[$j++] = 'txt'; //#6938\n $k[$j++] = $1.txt; //#6938\n $k[$j++] = 'textxalign'; //#6938\n $k[$j++] = \"center\"; //#6938\n $k[$j++] = 'opt'; //#6938\n $k[$j++] = $1.options; //#6938\n var _74 = $d(); //#6938\n $k[$j++] = _74; //#6941\n if (!$1.dontdraw) { //#6941\n bwipp_renlinear(); //#6941\n } //#6941\n } else { //#7043\n $k[$j++] = Infinity; //#6945\n var _76 = $1.d1w; //#6945\n $k[$j++] = 1; //#6945\n $k[$j++] = 1; //#6945\n for (var _77 = 0, _78 = _76.length; _77 < _78; _77++) { //#6945\n $k[$j++] = $get(_76, _77); //#6945\n } //#6945\n var _7A = $1.checklt; //#6945\n for (var _7B = 0, _7C = _7A.length; _7B < _7C; _7B++) { //#6945\n $k[$j++] = $get(_7A, _7B); //#6945\n } //#6945\n var _7E = $1.d2w; //#6945\n for (var _7F = 0, _7G = _7E.length; _7F < _7G; _7F++) { //#6945\n $k[$j++] = $get(_7E, _7F); //#6945\n } //#6945\n $k[$j++] = 1; //#6945\n $k[$j++] = 1; //#6945\n $k[$j++] = 0; //#6945\n $1.top = $a(); //#6945\n $k[$j++] = Infinity; //#6946\n var _7J = $1.d4w; //#6946\n $k[$j++] = 1; //#6946\n $k[$j++] = 1; //#6946\n for (var _7K = 0, _7L = _7J.length; _7K < _7L; _7K++) { //#6946\n $k[$j++] = $get(_7J, _7K); //#6946\n } //#6946\n var _7N = $1.checkrt; //#6946\n for (var _7O = 0, _7P = _7N.length; _7O < _7P; _7O++) { //#6946\n $k[$j++] = $get(_7N, _7O); //#6946\n } //#6946\n var _7R = $1.d3w; //#6946\n for (var _7S = 0, _7T = _7R.length; _7S < _7T; _7S++) { //#6946\n $k[$j++] = $get(_7R, _7S); //#6946\n } //#6946\n $k[$j++] = 1; //#6946\n $k[$j++] = 1; //#6946\n $k[$j++] = 0; //#6946\n $1.bot = $a(); //#6946\n for (var _7W = 0; _7W <= 24; _7W += 2) { //#6951\n $1.i = _7W; //#6948\n for (var _7a = 0, _7b = $get($1.top, $1.i); _7a < _7b; _7a++) { //#6949\n $k[$j++] = 0; //#6949\n } //#6949\n for (var _7f = 0, _7g = $get($1.top, $1.i + 1); _7f < _7g; _7f++) { //#6950\n $k[$j++] = 1; //#6950\n } //#6950\n } //#6950\n $astore($a(50)); //#6952\n $1.top = $k[--$j]; //#6952\n for (var _7j = 0; _7j <= 24; _7j += 2) { //#6957\n $1.i = _7j; //#6954\n for (var _7n = 0, _7o = $get($1.bot, $1.i); _7n < _7o; _7n++) { //#6955\n $k[$j++] = 1; //#6955\n } //#6955\n for (var _7s = 0, _7t = $get($1.bot, $1.i + 1); _7s < _7t; _7s++) { //#6956\n $k[$j++] = 0; //#6956\n } //#6956\n } //#6956\n $astore($a(50)); //#6958\n $1.bot = $k[--$j]; //#6958\n if ($eq($1.format, \"stacked\")) { //#6980\n $1.sep = $a(50); //#6962\n $put($1.sep, 0, 0); //#6963\n for (var _7z = 1; _7z <= 49; _7z += 1) { //#6971\n $1.i = _7z; //#6965\n if ($eq($get($1.top, $1.i), $get($1.bot, $1.i))) { //#6969\n $put($1.sep, $1.i, $f(1 - $get($1.top, $1.i))); //#6967\n } else { //#6969\n $put($1.sep, $1.i, $f(1 - $get($1.sep, $1.i - 1))); //#6969\n } //#6969\n } //#6969\n $puti($1.sep, 0, $a([0, 0, 0, 0])); //#6972\n $puti($1.sep, 46, $a([0, 0, 0, 0])); //#6973\n $k[$j++] = Infinity; //#6977\n for (var _8K = 0, _8L = 5; _8K < _8L; _8K++) { //#6975\n $aload($1.top); //#6975\n } //#6975\n $aload($1.sep); //#6976\n for (var _8O = 0, _8P = 7; _8O < _8P; _8O++) { //#6977\n $aload($1.bot); //#6977\n } //#6977\n $1.pixs = $a(); //#6977\n $1.pixy = ~~($1.pixs.length / 50); //#6979\n } //#6979\n if ($eq($1.format, \"stackedomni\")) { //#7030\n $k[$j++] = Infinity; //#6984\n $forall($1.top, function() { //#6984\n var _8V = $k[--$j]; //#6984\n $k[$j++] = $f(1 - _8V); //#6984\n }); //#6984\n $1.sep1 = $a(); //#6984\n $puti($1.sep1, 0, $a([0, 0, 0, 0])); //#6985\n $puti($1.sep1, 46, $a([0, 0, 0, 0])); //#6986\n for (var _8b = 18; _8b <= 30; _8b += 1) { //#6999\n $1.i = _8b; //#6988\n if ($get($1.top, $1.i) == 0) { //#6996\n if ($get($1.top, $1.i - 1) == 1) { //#6993\n $k[$j++] = 1; //#6991\n } else { //#6993\n var _8l = ($get($1.sep1, $1.i - 1) == 0) ? 1 : 0; //#6993\n $k[$j++] = _8l; //#6993\n } //#6993\n } else { //#6996\n $k[$j++] = 0; //#6996\n } //#6996\n $put($1.sep1, $1.i, $k[--$j]); //#6998\n } //#6998\n $k[$j++] = Infinity; //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 0; //#7000\n for (var _8p = 0, _8q = 21; _8p < _8q; _8p++) { //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 1; //#7000\n } //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 0; //#7000\n $k[$j++] = 0; //#7000\n $1.sep2 = $a(); //#7000\n $k[$j++] = Infinity; //#7001\n $forall($1.bot, function() { //#7001\n var _8t = $k[--$j]; //#7001\n $k[$j++] = $f(1 - _8t); //#7001\n }); //#7001\n $1.sep3 = $a(); //#7001\n $puti($1.sep3, 0, $a([0, 0, 0, 0])); //#7002\n $puti($1.sep3, 46, $a([0, 0, 0, 0])); //#7003\n for (var _8z = 19; _8z <= 31; _8z += 1) { //#7016\n $1.i = _8z; //#7005\n if ($get($1.bot, $1.i) == 0) { //#7013\n if ($get($1.bot, $1.i - 1) == 1) { //#7010\n $k[$j++] = 1; //#7008\n } else { //#7010\n var _99 = ($get($1.sep3, $1.i - 1) == 0) ? 1 : 0; //#7010\n $k[$j++] = _99; //#7010\n } //#7010\n } else { //#7013\n $k[$j++] = 0; //#7013\n } //#7013\n $put($1.sep3, $1.i, $k[--$j]); //#7015\n } //#7015\n $1.f3 = $a([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]); //#7017\n $k[$j++] = true; //#7018\n for (var _9E = 0; _9E <= 12; _9E += 1) { //#7018\n var _9J = $k[--$j]; //#7018\n $k[$j++] = _9J && $eq($get($1.bot, _9E + 19), $get($1.f3, _9E)); //#7018\n } //#7018\n if ($k[--$j]) { //#7021\n $puti($1.sep3, 19, $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0])); //#7020\n } //#7020\n $k[$j++] = Infinity; //#7027\n for (var _9O = 0, _9P = $1.barxmult; _9O < _9P; _9O++) { //#7023\n $aload($1.top); //#7023\n } //#7023\n $aload($1.sep1); //#7024\n $aload($1.sep2); //#7025\n $aload($1.sep3); //#7026\n for (var _9V = 0, _9W = $1.barxmult; _9V < _9W; _9V++) { //#7027\n $aload($1.bot); //#7027\n } //#7027\n $1.pixs = $a(); //#7027\n $1.pixy = ~~($1.pixs.length / 50); //#7029\n } //#7029\n var _9e = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", 50],\n [\"pixy\", $1.pixy],\n [\"height\", $1.pixy / 72],\n [\"width\", 50 / 72],\n [\"opt\", $1.options]\n ]); //#7040\n $k[$j++] = _9e; //#7043\n if (!$1.dontdraw) { //#7043\n bwipp_renmatrix(); //#7043\n } //#7043\n } //#7043\n}\n\nfunction bwipp_databarstacked() {\n var $1 = {}; //#7075\n $1.options = $k[--$j]; //#7077\n $1.barcode = $k[--$j]; //#7078\n $1.dontdraw = false; //#7080\n $forall($1.options, function() { //#7091\n var _3 = $k[--$j]; //#7091\n $1[$k[--$j]] = _3; //#7091\n }); //#7091\n if ($ne($geti($1.barcode, 0, 4), \"(01)\")) { //#7096\n $k[$j++] = 'bwipp.databarstackedBadAI'; //#7095\n $k[$j++] = \"GS1 DataBar Stacked must begin with (01) application identifier\"; //#7095\n bwipp_raiseerror(); //#7095\n } //#7095\n if (($1.barcode.length != 17) && ($1.barcode.length != 18)) { //#7099\n $k[$j++] = 'bwipp.databarstackedBadLength'; //#7098\n $k[$j++] = \"GS1 DataBar Stacked must be 13 or 14 digits\"; //#7098\n bwipp_raiseerror(); //#7098\n } //#7098\n var _B = $geti($1.barcode, 4, $1.barcode.length - 4); //#7100\n for (var _C = 0, _D = _B.length; _C < _D; _C++) { //#7104\n var _E = $get(_B, _C); //#7104\n if ((_E < 48) || (_E > 57)) { //#7103\n $k[$j++] = 'bwipp.databarstackedBadCharacter'; //#7102\n $k[$j++] = \"GS1 DataBar Stacked must contain only digits\"; //#7102\n bwipp_raiseerror(); //#7102\n } //#7102\n } //#7102\n $1.checksum = 0; //#7107\n for (var _F = 0; _F <= 12; _F += 1) { //#7111\n $1.i = _F; //#7109\n $k[$j++] = 'checksum'; //#7110\n $k[$j++] = $1.checksum; //#7110\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#7110\n if (($1.i % 2) == 0) { //#7110\n var _L = $k[--$j]; //#7110\n $k[$j++] = _L * 3; //#7110\n } //#7110\n var _M = $k[--$j]; //#7110\n var _N = $k[--$j]; //#7110\n $1[$k[--$j]] = $f(_N + _M); //#7110\n } //#7110\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#7112\n if ($1.barcode.length == 18) { //#7117\n if ($get($1.barcode, 17) != ($1.checksum + 48)) { //#7116\n $k[$j++] = 'bwipp.databarstackedBadCheckDigit'; //#7115\n $k[$j++] = \"Incorrect GS1 DataBar Stacked check digit provided\"; //#7115\n bwipp_raiseerror(); //#7115\n } //#7115\n } //#7115\n var _U = $s(18); //#7118\n $puti(_U, 0, $1.barcode); //#7119\n $put(_U, 17, $1.checksum + 48); //#7120\n $1.barcode = _U; //#7121\n $put($1.options, \"dontdraw\", true); //#7124\n $put($1.options, \"format\", \"stacked\"); //#7125\n $k[$j++] = 'args'; //#7127\n $k[$j++] = $1.barcode; //#7127\n $k[$j++] = $1.options; //#7127\n bwipp_databaromni(); //#7127\n var _b = $k[--$j]; //#7127\n $1[$k[--$j]] = _b; //#7127\n $put($1.args, \"opt\", $1.options); //#7129\n $k[$j++] = $1.args; //#7132\n if (!$1.dontdraw) { //#7132\n bwipp_renmatrix(); //#7132\n } //#7132\n}\n\nfunction bwipp_databarstackedomni() {\n var $1 = {}; //#7162\n $1.options = $k[--$j]; //#7164\n $1.barcode = $k[--$j]; //#7165\n $1.dontdraw = false; //#7167\n $forall($1.options, function() { //#7178\n var _3 = $k[--$j]; //#7178\n $1[$k[--$j]] = _3; //#7178\n }); //#7178\n if ($ne($geti($1.barcode, 0, 4), \"(01)\")) { //#7183\n $k[$j++] = 'bwipp.databarstackedomniBadAI'; //#7182\n $k[$j++] = \"GS1 DataBar Stacked Omnidirectional must begin with (01) application identifier\"; //#7182\n bwipp_raiseerror(); //#7182\n } //#7182\n if (($1.barcode.length != 17) && ($1.barcode.length != 18)) { //#7186\n $k[$j++] = 'bwipp.databarstackedomniBadLength'; //#7185\n $k[$j++] = \"GS1 DataBar Stacked Omnidirectional must be 13 or 14 digits\"; //#7185\n bwipp_raiseerror(); //#7185\n } //#7185\n var _B = $geti($1.barcode, 4, $1.barcode.length - 4); //#7187\n for (var _C = 0, _D = _B.length; _C < _D; _C++) { //#7191\n var _E = $get(_B, _C); //#7191\n if ((_E < 48) || (_E > 57)) { //#7190\n $k[$j++] = 'bwipp.databarstackedomniBadCharacter'; //#7189\n $k[$j++] = \"GS1 DataBar Stacked Omnidirectional must contain only digits\"; //#7189\n bwipp_raiseerror(); //#7189\n } //#7189\n } //#7189\n $1.checksum = 0; //#7194\n for (var _F = 0; _F <= 12; _F += 1) { //#7198\n $1.i = _F; //#7196\n $k[$j++] = 'checksum'; //#7197\n $k[$j++] = $1.checksum; //#7197\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#7197\n if (($1.i % 2) == 0) { //#7197\n var _L = $k[--$j]; //#7197\n $k[$j++] = _L * 3; //#7197\n } //#7197\n var _M = $k[--$j]; //#7197\n var _N = $k[--$j]; //#7197\n $1[$k[--$j]] = $f(_N + _M); //#7197\n } //#7197\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#7199\n if ($1.barcode.length == 18) { //#7204\n if ($get($1.barcode, 17) != ($1.checksum + 48)) { //#7203\n $k[$j++] = 'bwipp.databarstackedomniBadCheckDigit'; //#7202\n $k[$j++] = \"Incorrect GS1 DataBar Stacked Omnidirectional check digit provided\"; //#7202\n bwipp_raiseerror(); //#7202\n } //#7202\n } //#7202\n var _U = $s(18); //#7205\n $puti(_U, 0, $1.barcode); //#7206\n $put(_U, 17, $1.checksum + 48); //#7207\n $1.barcode = _U; //#7208\n $put($1.options, \"dontdraw\", true); //#7211\n $put($1.options, \"format\", \"stackedomni\"); //#7212\n $k[$j++] = 'args'; //#7214\n $k[$j++] = $1.barcode; //#7214\n $k[$j++] = $1.options; //#7214\n bwipp_databaromni(); //#7214\n var _b = $k[--$j]; //#7214\n $1[$k[--$j]] = _b; //#7214\n $put($1.args, \"opt\", $1.options); //#7216\n $k[$j++] = $1.args; //#7219\n if (!$1.dontdraw) { //#7219\n bwipp_renmatrix(); //#7219\n } //#7219\n}\n\nfunction bwipp_databartruncated() {\n var $1 = {}; //#7249\n $1.options = $k[--$j]; //#7251\n $1.barcode = $k[--$j]; //#7252\n $1.dontdraw = false; //#7254\n $forall($1.options, function() { //#7265\n var _3 = $k[--$j]; //#7265\n $1[$k[--$j]] = _3; //#7265\n }); //#7265\n if ($ne($geti($1.barcode, 0, 4), \"(01)\")) { //#7270\n $k[$j++] = 'bwipp.databartruncatedBadAI'; //#7269\n $k[$j++] = \"GS1 DataBar Truncated must begin with (01) application identifier\"; //#7269\n bwipp_raiseerror(); //#7269\n } //#7269\n if (($1.barcode.length != 17) && ($1.barcode.length != 18)) { //#7273\n $k[$j++] = 'bwipp.databartruncatedBadLength'; //#7272\n $k[$j++] = \"GS1 DataBar Truncated must be 13 or 14 digits\"; //#7272\n bwipp_raiseerror(); //#7272\n } //#7272\n var _B = $geti($1.barcode, 4, $1.barcode.length - 4); //#7274\n for (var _C = 0, _D = _B.length; _C < _D; _C++) { //#7278\n var _E = $get(_B, _C); //#7278\n if ((_E < 48) || (_E > 57)) { //#7277\n $k[$j++] = 'bwipp.databartruncatedBadCharacter'; //#7276\n $k[$j++] = \"GS1 DataBar Truncated must contain only digits\"; //#7276\n bwipp_raiseerror(); //#7276\n } //#7276\n } //#7276\n $1.checksum = 0; //#7281\n for (var _F = 0; _F <= 12; _F += 1) { //#7285\n $1.i = _F; //#7283\n $k[$j++] = 'checksum'; //#7284\n $k[$j++] = $1.checksum; //#7284\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#7284\n if (($1.i % 2) == 0) { //#7284\n var _L = $k[--$j]; //#7284\n $k[$j++] = _L * 3; //#7284\n } //#7284\n var _M = $k[--$j]; //#7284\n var _N = $k[--$j]; //#7284\n $1[$k[--$j]] = $f(_N + _M); //#7284\n } //#7284\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#7286\n if ($1.barcode.length == 18) { //#7291\n if ($get($1.barcode, 17) != ($1.checksum + 48)) { //#7290\n $k[$j++] = 'bwipp.databartruncatedBadCheckDigit'; //#7289\n $k[$j++] = \"Incorrect GS1 DataBar Truncated check digit provided\"; //#7289\n bwipp_raiseerror(); //#7289\n } //#7289\n } //#7289\n var _U = $s(18); //#7292\n $puti(_U, 0, $1.barcode); //#7293\n $put(_U, 17, $1.checksum + 48); //#7294\n $1.barcode = _U; //#7295\n $put($1.options, \"dontdraw\", true); //#7298\n $put($1.options, \"format\", \"truncated\"); //#7299\n $k[$j++] = 'args'; //#7301\n $k[$j++] = $1.barcode; //#7301\n $k[$j++] = $1.options; //#7301\n bwipp_databaromni(); //#7301\n var _b = $k[--$j]; //#7301\n $1[$k[--$j]] = _b; //#7301\n $put($1.args, \"opt\", $1.options); //#7303\n $k[$j++] = $1.args; //#7306\n if (!$1.dontdraw) { //#7306\n bwipp_renlinear(); //#7306\n } //#7306\n}\n\nfunction bwipp_databarlimited() {\n var $1 = {}; //#7335\n $1.options = $k[--$j]; //#7337\n $1.barcode = $k[--$j]; //#7338\n $1.dontdraw = false; //#7340\n $1.height = 10 / 72; //#7341\n $1.linkage = false; //#7342\n $forall($1.options, function() { //#7353\n var _3 = $k[--$j]; //#7353\n $1[$k[--$j]] = _3; //#7353\n }); //#7353\n $1.height = +$1.height; //#7355\n if ($ne($geti($1.barcode, 0, 4), \"(01)\")) { //#7360\n $k[$j++] = 'bwipp.databarlimitedBadAI'; //#7359\n $k[$j++] = \"GS1 DataBar Limited must begin with (01) application identifier\"; //#7359\n bwipp_raiseerror(); //#7359\n } //#7359\n if (($1.barcode.length != 17) && ($1.barcode.length != 18)) { //#7363\n $k[$j++] = 'bwipp.databarlimitedBadLength'; //#7362\n $k[$j++] = \"GS1 DataBar Limited must be 13 or 14 digits\"; //#7362\n bwipp_raiseerror(); //#7362\n } //#7362\n var _B = $get($1.barcode, 4); //#7364\n if ((_B < 48) || (_B > 49)) { //#7366\n $k[$j++] = 'bwipp.databarlimitedBadStartDigit'; //#7365\n $k[$j++] = \"GS1 DataBar Limited must begin with 0 or 1\"; //#7365\n bwipp_raiseerror(); //#7365\n } //#7365\n var _E = $geti($1.barcode, 5, $1.barcode.length - 5); //#7367\n for (var _F = 0, _G = _E.length; _F < _G; _F++) { //#7371\n var _H = $get(_E, _F); //#7371\n if ((_H < 48) || (_H > 57)) { //#7370\n $k[$j++] = 'bwipp.databarlimitedBadCharacter'; //#7369\n $k[$j++] = \"GS1 DataBar Limited must contain only digits\"; //#7369\n bwipp_raiseerror(); //#7369\n } //#7369\n } //#7369\n $1.checksum = 0; //#7374\n for (var _I = 0; _I <= 12; _I += 1) { //#7378\n $1.i = _I; //#7376\n $k[$j++] = 'checksum'; //#7377\n $k[$j++] = $1.checksum; //#7377\n $k[$j++] = $f($get($1.barcode, $1.i + 4) - 48); //#7377\n if (($1.i % 2) == 0) { //#7377\n var _O = $k[--$j]; //#7377\n $k[$j++] = _O * 3; //#7377\n } //#7377\n var _P = $k[--$j]; //#7377\n var _Q = $k[--$j]; //#7377\n $1[$k[--$j]] = $f(_Q + _P); //#7377\n } //#7377\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#7379\n if ($1.barcode.length == 18) { //#7384\n if ($get($1.barcode, 17) != ($1.checksum + 48)) { //#7383\n $k[$j++] = 'bwipp.databarlimitedBadCheckDigit'; //#7382\n $k[$j++] = \"Incorrect GS1 DataBar Limited check digit provided\"; //#7382\n bwipp_raiseerror(); //#7382\n } //#7382\n } //#7382\n var _X = $s(18); //#7385\n $puti(_X, 0, $1.barcode); //#7386\n $put(_X, 17, $1.checksum + 48); //#7387\n $1.barcode = _X; //#7388\n $k[$j++] = Infinity; //#7392\n var _b = $geti($1.barcode, 4, 13); //#7392\n for (var _c = 0, _d = _b.length; _c < _d; _c++) { //#7392\n $k[$j++] = $f($get(_b, _c) - 48); //#7392\n } //#7392\n $1.binval = $a(); //#7392\n if ($1.linkage) { //#7400\n $1.linkval = $a([2, 0, 1, 5, 1, 3, 3, 5, 3, 1, 0, 9, 6]); //#7395\n for (var _k = 0, _j = $1.binval.length - 1; _k <= _j; _k += 1) { //#7399\n $1.i = _k; //#7397\n $put($1.binval, $1.i, $f($get($1.binval, $1.i) + $get($1.linkval, $1.i))); //#7398\n } //#7398\n } //#7398\n $1.txt = $a($1.barcode.length); //#7403\n for (var _x = 0, _w = $1.barcode.length - 1; _x <= _w; _x += 1) { //#7407\n $1.i = _x; //#7405\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), 0, 0, \"\", 0])); //#7406\n } //#7406\n $1.ncr = function() {\n var _14 = $k[--$j]; //#7410\n var _15 = $k[--$j]; //#7410\n var _16 = $f(_15 - _14); //#7410\n if (_14 < $f(_15 - _14)) { //#7410\n var _ = _16; //#7410\n _16 = _14; //#7410\n _14 = _; //#7410\n } //#7410\n $k[$j++] = _16; //#7417\n $k[$j++] = 1; //#7417\n $k[$j++] = 1; //#7417\n for (var _18 = _15, _17 = $f(_14 + 1); _18 >= _17; _18 -= 1) { //#7417\n var _19 = $k[--$j]; //#7413\n var _1A = $k[--$j]; //#7414\n var _1B = $k[--$j]; //#7414\n $k[$j++] = _1B; //#7416\n $k[$j++] = _1A; //#7416\n $k[$j++] = _19 * _18; //#7416\n if ($le(_1A, _1B)) { //#7416\n var _1C = $k[--$j]; //#7415\n var _1D = $k[--$j]; //#7415\n $k[$j++] = $f(_1D + 1); //#7415\n $k[$j++] = ~~(_1C / _1D); //#7415\n } //#7415\n } //#7415\n for (;;) { //#7421\n var _1E = $k[--$j]; //#7419\n var _1F = $k[--$j]; //#7419\n var _1G = $k[--$j]; //#7419\n $k[$j++] = _1G; //#7419\n $k[$j++] = _1F; //#7419\n $k[$j++] = _1E; //#7419\n if ($gt(_1F, _1G)) { //#7419\n break; //#7419\n } //#7419\n var _1H = $k[--$j]; //#7420\n var _1I = $k[--$j]; //#7420\n $k[$j++] = $f(_1I + 1); //#7420\n $k[$j++] = ~~(_1H / _1I); //#7420\n } //#7420\n var _1J = $k[--$j]; //#7422\n var _1K = $k[--$j]; //#7422\n $k[$j++] = _1J; //#7422\n $k[$j++] = _1K; //#7422\n $j--; //#7422\n var _1L = $k[--$j]; //#7422\n var _1M = $k[--$j]; //#7422\n $k[$j++] = _1L; //#7422\n $k[$j++] = _1M; //#7422\n $j--; //#7422\n }; //#7423\n $1.getRSSwidths = function() {\n $1.oe = $k[--$j]; //#7426\n $1.el = $k[--$j]; //#7427\n $1.mw = $k[--$j]; //#7428\n $1.nm = $k[--$j]; //#7429\n $1.val = $k[--$j]; //#7430\n $1.out = $a($1.el); //#7431\n $1.mask = 0; //#7432\n for (var _1W = 0, _1V = $f($1.el - 2); _1W <= _1V; _1W += 1) { //#7459\n $1.bar = _1W; //#7434\n $1.ew = 1; //#7435\n var _1Y = $1.bar; //#7436\n $1.mask = $1.mask | ((_1Y < 0 ? 1 >>> -_1Y : 1 << _1Y)); //#7436\n for (;;) { //#7455\n $k[$j++] = 'sval'; //#7437\n $k[$j++] = $f($f($1.nm - $1.ew) - 1); //#7437\n $k[$j++] = $f($f($1.el - $1.bar) - 2); //#7437\n $1.ncr(); //#7437\n var _1d = $k[--$j]; //#7437\n $1[$k[--$j]] = _1d; //#7437\n if (($1.oe && ($1.mask == 0)) && (($f(($f($f($1.nm - $1.ew) - ($1.el * 2))) + ($1.bar * 2))) >= -2)) { //#7440\n $k[$j++] = 'sval'; //#7439\n $k[$j++] = $1.sval; //#7439\n $k[$j++] = $f(($f($f($1.nm - $1.ew) - $1.el)) + $1.bar); //#7439\n $k[$j++] = $f($f($1.el - $1.bar) - 2); //#7439\n $1.ncr(); //#7439\n var _1s = $k[--$j]; //#7439\n var _1t = $k[--$j]; //#7439\n $1[$k[--$j]] = $f(_1t - _1s); //#7439\n } //#7439\n if ($f($1.el - $1.bar) > 2) { //#7449\n $1.lval = 0; //#7442\n for (var _23 = $f(($f(($f($f($1.nm - $1.ew) - $1.el)) + $1.bar)) + 2), _22 = $f($1.mw + 1); _23 >= _22; _23 -= 1) { //#7446\n $k[$j++] = $f(($f($f($1.nm - _23) - $1.ew)) - 1); //#7444\n $k[$j++] = $f($f($1.el - $1.bar) - 3); //#7444\n $1.ncr(); //#7444\n $1.lval = $f($k[--$j] + $1.lval); //#7445\n } //#7445\n $1.sval = $f($1.sval - ($1.lval * ($f($f($1.el - $1.bar) - 1)))); //#7447\n } else { //#7449\n if ($f($1.nm - $1.ew) > $1.mw) { //#7449\n $1.sval = $f($1.sval - 1); //#7449\n } //#7449\n } //#7449\n $1.val = $f($1.val - $1.sval); //#7451\n if ($1.val < 0) { //#7452\n break; //#7452\n } //#7452\n $1.ew = $1.ew + 1; //#7453\n var _2N = $1.bar; //#7454\n $1.mask = $1.mask & (~((_2N < 0 ? 1 >>> -_2N : 1 << _2N))); //#7454\n } //#7454\n $1.val = $f($1.val + $1.sval); //#7456\n $1.nm = $f($1.nm - $1.ew); //#7457\n $put($1.out, $1.bar, $1.ew); //#7458\n } //#7458\n $put($1.out, $f($1.el - 1), $1.nm); //#7460\n $k[$j++] = $1.out; //#7461\n }; //#7462\n for (var _2Z = 0; _2Z <= 11; _2Z += 1) { //#7468\n $1.i = _2Z; //#7465\n var _2a = $1.binval; //#7466\n var _2b = $1.i; //#7466\n $put(_2a, _2b + 1, $f($get(_2a, _2b + 1) + (($get($1.binval, $1.i) % 2013571) * 10))); //#7466\n $put($1.binval, $1.i, ~~($get($1.binval, $1.i) / 2013571)); //#7467\n } //#7467\n $1.d2 = $get($1.binval, 12) % 2013571; //#7469\n var _2n = $1.binval; //#7470\n $put(_2n, 12, ~~($get(_2n, 12) / 2013571)); //#7470\n $1.d1 = 0; //#7472\n $1.i = true; //#7473\n for (var _2p = 0; _2p <= 12; _2p += 1) { //#7483\n $1.j = _2p; //#7475\n var _2s = $get($1.binval, $1.j); //#7476\n $k[$j++] = _2s; //#7482\n if ((_2s == 0) && $1.i) { //#7481\n $j--; //#7478\n } else { //#7481\n $1.i = false; //#7480\n $1.d1 = $f($1.d1 + ($k[--$j] * (~~Math.pow(10, 12 - $1.j)))); //#7481\n } //#7481\n } //#7481\n $1.tab267 = $a([183063, 0, 17, 9, 6, 3, 6538, 28, 820063, 183064, 13, 13, 5, 4, 875, 728, 1000775, 820064, 9, 17, 3, 6, 28, 6454, 1491020, 1000776, 15, 11, 5, 4, 2415, 203, 1979844, 1491021, 11, 15, 4, 5, 203, 2408, 1996938, 1979845, 19, 7, 8, 1, 17094, 1, 2013570, 1996939, 7, 19, 1, 8, 1, 16632]); //#7493\n $1.i = 0; //#7495\n for (;;) { //#7505\n if ($1.d1 <= $get($1.tab267, $1.i)) { //#7503\n var _34 = $geti($1.tab267, $1.i + 1, 7); //#7497\n for (var _35 = 0, _36 = _34.length; _35 < _36; _35++) { //#7497\n $k[$j++] = $get(_34, _35); //#7497\n } //#7497\n $1.d1te = $k[--$j]; //#7498\n $1.d1to = $k[--$j]; //#7498\n $1.d1mwe = $k[--$j]; //#7499\n $1.d1mwo = $k[--$j]; //#7499\n $1.d1ele = $k[--$j]; //#7500\n $1.d1elo = $k[--$j]; //#7500\n $1.d1gs = $k[--$j]; //#7501\n break; //#7502\n } //#7502\n $1.i = $1.i + 8; //#7504\n } //#7504\n $1.i = 0; //#7507\n for (;;) { //#7517\n if ($1.d2 <= $get($1.tab267, $1.i)) { //#7515\n var _3M = $geti($1.tab267, $1.i + 1, 7); //#7509\n for (var _3N = 0, _3O = _3M.length; _3N < _3O; _3N++) { //#7509\n $k[$j++] = $get(_3M, _3N); //#7509\n } //#7509\n $1.d2te = $k[--$j]; //#7510\n $1.d2to = $k[--$j]; //#7510\n $1.d2mwe = $k[--$j]; //#7511\n $1.d2mwo = $k[--$j]; //#7511\n $1.d2ele = $k[--$j]; //#7512\n $1.d2elo = $k[--$j]; //#7512\n $1.d2gs = $k[--$j]; //#7513\n break; //#7514\n } //#7514\n $1.i = $1.i + 8; //#7516\n } //#7516\n $k[$j++] = 'd1wo'; //#7519\n $k[$j++] = ~~($f($1.d1 - $1.d1gs) / $1.d1te); //#7519\n $k[$j++] = $1.d1elo; //#7519\n $k[$j++] = $1.d1mwo; //#7519\n $k[$j++] = 7; //#7519\n $k[$j++] = false; //#7519\n $1.getRSSwidths(); //#7519\n var _3d = $k[--$j]; //#7519\n $1[$k[--$j]] = _3d; //#7519\n $k[$j++] = 'd1we'; //#7520\n $k[$j++] = $f($1.d1 - $1.d1gs) % $1.d1te; //#7520\n $k[$j++] = $1.d1ele; //#7520\n $k[$j++] = $1.d1mwe; //#7520\n $k[$j++] = 7; //#7520\n $k[$j++] = true; //#7520\n $1.getRSSwidths(); //#7520\n var _3k = $k[--$j]; //#7520\n $1[$k[--$j]] = _3k; //#7520\n $k[$j++] = 'd2wo'; //#7521\n $k[$j++] = ~~($f($1.d2 - $1.d2gs) / $1.d2te); //#7521\n $k[$j++] = $1.d2elo; //#7521\n $k[$j++] = $1.d2mwo; //#7521\n $k[$j++] = 7; //#7521\n $k[$j++] = false; //#7521\n $1.getRSSwidths(); //#7521\n var _3r = $k[--$j]; //#7521\n $1[$k[--$j]] = _3r; //#7521\n $k[$j++] = 'd2we'; //#7522\n $k[$j++] = $f($1.d2 - $1.d2gs) % $1.d2te; //#7522\n $k[$j++] = $1.d2ele; //#7522\n $k[$j++] = $1.d2mwe; //#7522\n $k[$j++] = 7; //#7522\n $k[$j++] = true; //#7522\n $1.getRSSwidths(); //#7522\n var _3y = $k[--$j]; //#7522\n $1[$k[--$j]] = _3y; //#7522\n $1.d1w = $a(14); //#7524\n for (var _41 = 0; _41 <= 6; _41 += 1) { //#7529\n $1.i = _41; //#7526\n $put($1.d1w, $1.i * 2, $get($1.d1wo, $1.i)); //#7527\n $put($1.d1w, ($1.i * 2) + 1, $get($1.d1we, $1.i)); //#7528\n } //#7528\n $1.d2w = $a(14); //#7531\n for (var _4D = 0; _4D <= 6; _4D += 1) { //#7536\n $1.i = _4D; //#7533\n $put($1.d2w, $1.i * 2, $get($1.d2wo, $1.i)); //#7534\n $put($1.d2w, ($1.i * 2) + 1, $get($1.d2we, $1.i)); //#7535\n } //#7535\n $k[$j++] = Infinity; //#7540\n var _4O = $1.d1w; //#7539\n for (var _4P = 0, _4Q = _4O.length; _4P < _4Q; _4P++) { //#7539\n $k[$j++] = $get(_4O, _4P); //#7539\n } //#7539\n var _4S = $1.d2w; //#7540\n for (var _4T = 0, _4U = _4S.length; _4T < _4U; _4T++) { //#7540\n $k[$j++] = $get(_4S, _4T); //#7540\n } //#7540\n $1.widths = $a(); //#7540\n $1.checkweights = $a([1, 3, 9, 27, 81, 65, 17, 51, 64, 14, 42, 37, 22, 66, 20, 60, 2, 6, 18, 54, 73, 41, 34, 13, 39, 28, 84, 74]); //#7546\n $k[$j++] = Infinity; //#7561\n for (var _4Y = 0; _4Y <= 43; _4Y += 1) { //#7549\n $k[$j++] = _4Y; //#7549\n } //#7549\n $k[$j++] = 45; //#7551\n $k[$j++] = 52; //#7551\n $k[$j++] = 57; //#7551\n for (var _4Z = 63; _4Z <= 66; _4Z += 1) { //#7551\n $k[$j++] = _4Z; //#7551\n } //#7551\n for (var _4a = 73; _4a <= 79; _4a += 1) { //#7552\n $k[$j++] = _4a; //#7552\n } //#7552\n $k[$j++] = 82; //#7554\n for (var _4b = 126; _4b <= 130; _4b += 1) { //#7554\n $k[$j++] = _4b; //#7554\n } //#7554\n $k[$j++] = 132; //#7556\n for (var _4c = 141; _4c <= 146; _4c += 1) { //#7556\n $k[$j++] = _4c; //#7556\n } //#7556\n for (var _4d = 210; _4d <= 217; _4d += 1) { //#7557\n $k[$j++] = _4d; //#7557\n } //#7557\n $k[$j++] = 220; //#7559\n for (var _4e = 316; _4e <= 320; _4e += 1) { //#7559\n $k[$j++] = _4e; //#7559\n } //#7559\n $k[$j++] = 322; //#7561\n $k[$j++] = 323; //#7561\n $k[$j++] = 326; //#7561\n $k[$j++] = 337; //#7561\n $1.checkseq = $a(); //#7561\n $1.checksum = 0; //#7564\n for (var _4g = 0; _4g <= 27; _4g += 1) { //#7568\n $1.i = _4g; //#7566\n $1.checksum = $f($1.checksum + ($get($1.widths, $1.i) * $get($1.checkweights, $1.i))); //#7567\n } //#7567\n $1.checksum = $1.checksum % 89; //#7569\n $1.seq = $get($1.checkseq, $1.checksum); //#7570\n $k[$j++] = 'swidths'; //#7571\n $k[$j++] = ~~($1.seq / 21); //#7571\n $k[$j++] = 8; //#7571\n $k[$j++] = 3; //#7571\n $k[$j++] = 6; //#7571\n $k[$j++] = false; //#7571\n $1.getRSSwidths(); //#7571\n var _4t = $k[--$j]; //#7571\n $1[$k[--$j]] = _4t; //#7571\n $k[$j++] = 'bwidths'; //#7572\n $k[$j++] = $1.seq % 21; //#7572\n $k[$j++] = 8; //#7572\n $k[$j++] = 3; //#7572\n $k[$j++] = 6; //#7572\n $k[$j++] = false; //#7572\n $1.getRSSwidths(); //#7572\n var _4w = $k[--$j]; //#7572\n $1[$k[--$j]] = _4w; //#7572\n $1.checkwidths = $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1]); //#7574\n for (var _4z = 0; _4z <= 5; _4z += 1) { //#7579\n $1.i = _4z; //#7576\n $put($1.checkwidths, $1.i * 2, $get($1.swidths, $1.i)); //#7577\n $put($1.checkwidths, ($1.i * 2) + 1, $get($1.bwidths, $1.i)); //#7578\n } //#7578\n $k[$j++] = Infinity; //#7582\n var _5A = $1.d1w; //#7582\n $k[$j++] = 1; //#7582\n for (var _5B = 0, _5C = _5A.length; _5B < _5C; _5B++) { //#7582\n $k[$j++] = $get(_5A, _5B); //#7582\n } //#7582\n var _5E = $1.checkwidths; //#7582\n for (var _5F = 0, _5G = _5E.length; _5F < _5G; _5F++) { //#7582\n $k[$j++] = $get(_5E, _5F); //#7582\n } //#7582\n var _5I = $1.d2w; //#7582\n for (var _5J = 0, _5K = _5I.length; _5J < _5K; _5J++) { //#7582\n $k[$j++] = $get(_5I, _5J); //#7582\n } //#7582\n $k[$j++] = 1; //#7582\n $k[$j++] = 1; //#7582\n $k[$j++] = 5; //#7582\n $1.sbs = $a(); //#7582\n $k[$j++] = Infinity; //#7593\n var _5N = $1.sbs; //#7588\n $k[$j++] = Infinity; //#7589\n for (var _5P = 0, _5Q = ~~(($1.sbs.length + 1) / 2); _5P < _5Q; _5P++) { //#7589\n $k[$j++] = $1.height; //#7589\n } //#7589\n var _5S = $a(); //#7589\n $k[$j++] = Infinity; //#7590\n for (var _5U = 0, _5V = ~~(($1.sbs.length + 1) / 2); _5U < _5V; _5U++) { //#7590\n $k[$j++] = 0; //#7590\n } //#7590\n var _5W = $a(); //#7590\n $k[$j++] = 'ren'; //#7593\n $k[$j++] = bwipp_renlinear; //#7593\n $k[$j++] = 'sbs'; //#7593\n $k[$j++] = _5N; //#7593\n $k[$j++] = 'bhs'; //#7593\n $k[$j++] = _5S; //#7593\n $k[$j++] = 'bbs'; //#7593\n $k[$j++] = _5W; //#7593\n $k[$j++] = 'txt'; //#7593\n $k[$j++] = $1.txt; //#7593\n $k[$j++] = 'textxalign'; //#7593\n $k[$j++] = \"center\"; //#7593\n $k[$j++] = 'opt'; //#7593\n $k[$j++] = $1.options; //#7593\n var _5Z = $d(); //#7593\n $k[$j++] = _5Z; //#7596\n if (!$1.dontdraw) { //#7596\n bwipp_renlinear(); //#7596\n } //#7596\n}\n\nfunction bwipp_databarexpanded() {\n var $1 = {}; //#7628\n $1.options = $k[--$j]; //#7630\n $1.barcode = $k[--$j]; //#7631\n $1.parse = false; //#7633\n $1.dontlint = false; //#7634\n $1.dontdraw = false; //#7635\n $1.height = 34 / 72; //#7636\n $1.format = \"expanded\"; //#7637\n $1.segments = -1; //#7638\n $1.linkage = false; //#7639\n $1.barxmult = 34; //#7640\n $forall($1.options, function() { //#7651\n var _3 = $k[--$j]; //#7651\n $1[$k[--$j]] = _3; //#7651\n }); //#7651\n $1.height = +$1.height; //#7653\n $1.segments = ~~$1.segments; //#7654\n $1.barxmult = ~~$1.barxmult; //#7655\n if ($1.segments == -1) { //#7661\n var _A = $eq($1.format, \"expandedstacked\") ? 4 : 22; //#7658\n $1.segments = _A; //#7658\n } else { //#7661\n if ((($1.segments < 2) || ($1.segments > 22)) || (($1.segments % 2) != 0)) { //#7662\n $k[$j++] = 'bwipp.gs1databarexpandedBadSegments'; //#7661\n $k[$j++] = \"The number of segments must be even from 2 to 22\"; //#7661\n bwipp_raiseerror(); //#7661\n } //#7661\n } //#7661\n $1.expand = function() {\n var _F = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#7670\n $1.fncvals = _F; //#7671\n $k[$j++] = $1.fncvals; //#7672\n bwipp_parseinput(); //#7672\n }; //#7673\n $1.ais = $a([]); //#7676\n $1.vals = $a([]); //#7677\n var _J = $1.barcode; //#7678\n $k[$j++] = $geti(_J, 1, _J.length - 1); //#7691\n for (;;) { //#7691\n var _L = $k[--$j]; //#7680\n $k[$j++] = _L; //#7680\n if ($eq(_L, \"\")) { //#7680\n break; //#7680\n } //#7680\n $search($k[--$j], \")\"); //#7681\n $j--; //#7681\n var _N = $k[--$j]; //#7682\n var _O = $k[--$j]; //#7682\n $k[$j++] = _N; //#7682\n $k[$j++] = _O; //#7682\n $j--; //#7682\n var _P = $k[--$j]; //#7683\n var _Q = $k[--$j]; //#7683\n $k[$j++] = _P; //#7683\n $search(_Q, \"(\"); //#7683\n if ($k[--$j]) { //#7686\n var _S = $k[--$j]; //#7684\n var _T = $k[--$j]; //#7684\n $k[$j++] = _S; //#7684\n $k[$j++] = _T; //#7684\n $j--; //#7684\n var _U = $k[--$j]; //#7684\n var _V = $k[--$j]; //#7684\n var _W = $k[--$j]; //#7684\n $k[$j++] = _V; //#7684\n $k[$j++] = _W; //#7684\n $k[$j++] = _U; //#7684\n } else { //#7686\n var _X = $k[--$j]; //#7686\n var _Y = $k[--$j]; //#7686\n $k[$j++] = \"\"; //#7686\n $k[$j++] = _Y; //#7686\n $k[$j++] = _X; //#7686\n } //#7686\n $k[$j++] = Infinity; //#7688\n $aload($1.ais); //#7688\n var _b = $k[$j - 1 - ($counttomark() + 2)]; //#7688\n $k[$j++] = _b; //#7688\n $1.ais = $a(); //#7688\n $k[$j++] = Infinity; //#7689\n $aload($1.vals); //#7689\n var _f = $k[$j - 1 - ($counttomark() + 1)]; //#7689\n $k[$j++] = _f; //#7689\n $1.expand(); //#7689\n $1.vals = $a(); //#7689\n $j -= 2; //#7690\n } //#7690\n $j--; //#7692\n if (!$1.dontlint) { //#7694\n $k[$j++] = $1.ais; //#7694\n $k[$j++] = $1.vals; //#7694\n bwipp_gs1lint(); //#7694\n $j--; //#7694\n } //#7694\n for (;;) { //#7782\n if ($1.ais.length == 2) { //#7706\n if ($eq($get($1.ais, 0), \"01\") && $eq($get($1.ais, 1), \"3103\")) { //#7705\n if ($eq($geti($get($1.vals, 0), 0, 1), \"9\") && ((~~$z($get($1.vals, 1))) <= 32767)) { //#7704\n $k[$j++] = \"0100\"; //#7703\n $k[$j++] = false; //#7703\n break; //#7703\n } //#7703\n } //#7703\n } //#7703\n if ($1.ais.length == 2) { //#7715\n if ($eq($get($1.ais, 0), \"01\") && $eq($get($1.ais, 1), \"3202\")) { //#7714\n if ($eq($geti($get($1.vals, 0), 0, 1), \"9\") && ((~~$z($get($1.vals, 1))) <= 9999)) { //#7713\n $k[$j++] = \"0101\"; //#7712\n $k[$j++] = false; //#7712\n break; //#7712\n } //#7712\n } //#7712\n } //#7712\n if ($1.ais.length == 2) { //#7724\n if ($eq($get($1.ais, 0), \"01\") && $eq($get($1.ais, 1), \"3203\")) { //#7723\n if ($eq($geti($get($1.vals, 0), 0, 1), \"9\") && ((~~$z($get($1.vals, 1))) <= 22767)) { //#7722\n $k[$j++] = \"0101\"; //#7721\n $k[$j++] = false; //#7721\n break; //#7721\n } //#7721\n } //#7721\n } //#7721\n var _1F = $1.ais.length; //#7727\n if ((_1F == 2) || (_1F == 3)) { //#7758\n $k[$j++] = 'ai310x'; //#7728\n $k[$j++] = false; //#7728\n for (var _1G = 3100; _1G <= 3109; _1G += 1) { //#7728\n var _1L = $k[--$j]; //#7728\n $k[$j++] = _1L || $eq($cvrs($s(4), _1G, 10), $get($1.ais, 1)); //#7728\n } //#7728\n var _1M = $k[--$j]; //#7728\n $1[$k[--$j]] = _1M; //#7728\n $k[$j++] = 'ai320x'; //#7729\n $k[$j++] = false; //#7729\n for (var _1O = 3200; _1O <= 3209; _1O += 1) { //#7729\n var _1T = $k[--$j]; //#7729\n $k[$j++] = _1T || $eq($cvrs($s(4), _1O, 10), $get($1.ais, 1)); //#7729\n } //#7729\n var _1U = $k[--$j]; //#7729\n $1[$k[--$j]] = _1U; //#7729\n if ($1.ais.length == 3) { //#7733\n var _1X = $a([\"11\", \"13\", \"15\", \"17\"]); //#7731\n $k[$j++] = 'aibad'; //#7731\n $k[$j++] = true; //#7731\n for (var _1Y = 0, _1Z = _1X.length; _1Y < _1Z; _1Y++) { //#7731\n var _1d = $k[--$j]; //#7731\n $k[$j++] = _1d && $ne($get(_1X, _1Y), $get($1.ais, 2)); //#7731\n } //#7731\n var _1e = $k[--$j]; //#7731\n $1[$k[--$j]] = _1e; //#7731\n } else { //#7733\n $1.aibad = false; //#7733\n } //#7733\n if (($eq($get($1.ais, 0), \"01\") && ($1.ai310x || $1.ai320x)) && (!$1.aibad)) { //#7757\n if ($1.ais.length == 3) { //#7754\n var _1u = ~~$z($geti($get($1.vals, 2), 2, 2)); //#7739\n var _1y = ~~$z($geti($get($1.vals, 2), 4, 2)); //#7740\n if ((($eq($geti($get($1.vals, 0), 0, 1), \"9\") && ((~~$z($get($1.vals, 1))) <= 99999)) && ((_1u >= 1) && (_1u <= 12))) && ((_1y >= 0) && (_1y <= 31))) { //#7749\n if ($1.ai310x && $eq($get($1.ais, 2), \"11\")) { //#7741\n $k[$j++] = \"0111000\"; //#7741\n $k[$j++] = false; //#7741\n break; //#7741\n } //#7741\n if ($1.ai320x && $eq($get($1.ais, 2), \"11\")) { //#7742\n $k[$j++] = \"0111001\"; //#7742\n $k[$j++] = false; //#7742\n break; //#7742\n } //#7742\n if ($1.ai310x && $eq($get($1.ais, 2), \"13\")) { //#7743\n $k[$j++] = \"0111010\"; //#7743\n $k[$j++] = false; //#7743\n break; //#7743\n } //#7743\n if ($1.ai320x && $eq($get($1.ais, 2), \"13\")) { //#7744\n $k[$j++] = \"0111011\"; //#7744\n $k[$j++] = false; //#7744\n break; //#7744\n } //#7744\n if ($1.ai310x && $eq($get($1.ais, 2), \"15\")) { //#7745\n $k[$j++] = \"0111100\"; //#7745\n $k[$j++] = false; //#7745\n break; //#7745\n } //#7745\n if ($1.ai320x && $eq($get($1.ais, 2), \"15\")) { //#7746\n $k[$j++] = \"0111101\"; //#7746\n $k[$j++] = false; //#7746\n break; //#7746\n } //#7746\n if ($1.ai310x && $eq($get($1.ais, 2), \"17\")) { //#7747\n $k[$j++] = \"0111110\"; //#7747\n $k[$j++] = false; //#7747\n break; //#7747\n } //#7747\n if ($1.ai320x && $eq($get($1.ais, 2), \"17\")) { //#7748\n $k[$j++] = \"0111111\"; //#7748\n $k[$j++] = false; //#7748\n break; //#7748\n } //#7748\n } //#7748\n } else { //#7754\n if ($eq($geti($get($1.vals, 0), 0, 1), \"9\") && ((~~$z($get($1.vals, 1))) <= 99999)) { //#7755\n if ($1.ai310x) { //#7753\n $k[$j++] = \"0111000\"; //#7753\n $k[$j++] = false; //#7753\n break; //#7753\n } //#7753\n if ($1.ai320x) { //#7754\n $k[$j++] = \"0111001\"; //#7754\n $k[$j++] = false; //#7754\n break; //#7754\n } //#7754\n } //#7754\n } //#7754\n } //#7754\n } //#7754\n if ($1.ais.length >= 2) { //#7766\n $k[$j++] = 'ai392x'; //#7762\n $k[$j++] = false; //#7762\n for (var _2V = 3920; _2V <= 3923; _2V += 1) { //#7762\n var _2a = $k[--$j]; //#7762\n $k[$j++] = _2a || $eq($cvrs($s(4), _2V, 10), $get($1.ais, 1)); //#7762\n } //#7762\n var _2b = $k[--$j]; //#7762\n $1[$k[--$j]] = _2b; //#7762\n if ($eq($get($1.ais, 0), \"01\") && $1.ai392x) { //#7765\n if ($eq($geti($get($1.vals, 0), 0, 1), \"9\")) { //#7764\n $k[$j++] = \"01100\"; //#7764\n $k[$j++] = true; //#7764\n break; //#7764\n } //#7764\n } //#7764\n } //#7764\n if ($1.ais.length >= 2) { //#7774\n $k[$j++] = 'ai393x'; //#7770\n $k[$j++] = false; //#7770\n for (var _2k = 3930; _2k <= 3933; _2k += 1) { //#7770\n var _2p = $k[--$j]; //#7770\n $k[$j++] = _2p || $eq($cvrs($s(4), _2k, 10), $get($1.ais, 1)); //#7770\n } //#7770\n var _2q = $k[--$j]; //#7770\n $1[$k[--$j]] = _2q; //#7770\n if ($eq($get($1.ais, 0), \"01\") && $1.ai393x) { //#7773\n if ($eq($geti($get($1.vals, 0), 0, 1), \"9\")) { //#7772\n $k[$j++] = \"01101\"; //#7772\n $k[$j++] = true; //#7772\n break; //#7772\n } //#7772\n } //#7772\n } //#7772\n if ($eq($get($1.ais, 0), \"01\")) { //#7777\n $k[$j++] = \"1\"; //#7777\n $k[$j++] = true; //#7777\n break; //#7777\n } //#7777\n $k[$j++] = \"00\"; //#7780\n $k[$j++] = true; //#7780\n break; //#7780\n } //#7780\n $1.gpfallow = $k[--$j]; //#7783\n $1.method = $k[--$j]; //#7784\n $1.conv12to40 = function() {\n var _33 = $strcpy($s(40), \"0000000000000000000000000000000000000000\"); //#7787\n var _34 = $k[--$j]; //#7788\n var _38 = $cvrs($s(10), ~~$z($geti(_34, 0, 3)), 2); //#7788\n $puti($geti(_33, 0, 10), 10 - _38.length, _38); //#7788\n var _3C = $cvrs($s(10), ~~$z($geti(_34, 3, 3)), 2); //#7789\n $puti($geti(_33, 10, 10), 10 - _3C.length, _3C); //#7789\n var _3G = $cvrs($s(10), ~~$z($geti(_34, 6, 3)), 2); //#7790\n $puti($geti(_33, 20, 10), 10 - _3G.length, _3G); //#7790\n var _3K = $cvrs($s(10), ~~$z($geti(_34, 9, 3)), 2); //#7791\n $puti($geti(_33, 30, 10), 10 - _3K.length, _3K); //#7791\n $k[$j++] = _33; //#7792\n $k[$j++] = _34; //#7792\n $j--; //#7792\n }; //#7793\n $1.conv13to44 = function() {\n var _3M = $strcpy($s(44), \"00000000000000000000000000000000000000000000\"); //#7796\n var _3N = $k[--$j]; //#7797\n var _3R = $cvrs($s(4), ~~$z($geti(_3N, 0, 1)), 2); //#7797\n $puti($geti(_3M, 0, 4), 4 - _3R.length, _3R); //#7797\n $k[$j++] = _3M; //#7798\n $k[$j++] = _3M; //#7798\n $k[$j++] = $geti(_3N, 1, 12); //#7798\n $1.conv12to40(); //#7798\n var _3T = $k[--$j]; //#7798\n $puti($k[--$j], 4, _3T); //#7798\n }; //#7799\n $1.tobin = function() {\n var _3W = $s($k[--$j]); //#7802\n $k[$j++] = _3W; //#7802\n for (var _3Y = 0, _3X = _3W.length - 1; _3Y <= _3X; _3Y += 1) { //#7802\n var _3Z = $k[--$j]; //#7802\n $put(_3Z, _3Y, 48); //#7802\n $k[$j++] = _3Z; //#7802\n } //#7802\n var _3a = $k[--$j]; //#7803\n var _3d = $cvrs($s(_3a.length), $k[--$j], 2); //#7803\n $puti(_3a, _3a.length - _3d.length, _3d); //#7803\n $k[$j++] = _3a; //#7803\n }; //#7804\n $1.fnc1 = -1; //#7806\n $1.lnumeric = -2; //#7806\n $1.lalphanumeric = -3; //#7806\n $1.liso646 = -4; //#7806\n if ($eq($1.method, \"00\")) { //#7811\n $1.cdf = $a([]); //#7809\n $1.gpf = $a([]); //#7810\n } //#7810\n if ($eq($1.method, \"1\")) { //#7819\n $k[$j++] = 'cdf'; //#7814\n $k[$j++] = $geti($get($1.vals, 0), 0, 13); //#7814\n $1.conv13to44(); //#7814\n var _3l = $k[--$j]; //#7814\n $1[$k[--$j]] = _3l; //#7814\n $k[$j++] = Infinity; //#7815\n var _3n = $1.cdf; //#7815\n for (var _3o = 0, _3p = _3n.length; _3o < _3p; _3o++) { //#7815\n $k[$j++] = $f($get(_3n, _3o) - 48); //#7815\n } //#7815\n $1.cdf = $a(); //#7815\n $1.gpf = $a([]); //#7816\n $1.ais = $geti($1.ais, 1, $1.ais.length - 1); //#7817\n $1.vals = $geti($1.vals, 1, $1.vals.length - 1); //#7818\n } //#7818\n if ($eq($1.method, \"0100\")) { //#7829\n $1.cdf = $s(55); //#7822\n $k[$j++] = $1.cdf; //#7823\n $k[$j++] = 0; //#7823\n $k[$j++] = $geti($get($1.vals, 0), 1, 12); //#7823\n $1.conv12to40(); //#7823\n var _45 = $k[--$j]; //#7823\n var _46 = $k[--$j]; //#7823\n $puti($k[--$j], _46, _45); //#7823\n $k[$j++] = $1.cdf; //#7824\n $k[$j++] = 40; //#7824\n $k[$j++] = ~~$z($get($1.vals, 1)); //#7824\n $k[$j++] = 15; //#7824\n $1.tobin(); //#7824\n var _4B = $k[--$j]; //#7824\n var _4C = $k[--$j]; //#7824\n $puti($k[--$j], _4C, _4B); //#7824\n $k[$j++] = Infinity; //#7825\n var _4E = $1.cdf; //#7825\n for (var _4F = 0, _4G = _4E.length; _4F < _4G; _4F++) { //#7825\n $k[$j++] = $get(_4E, _4F) - 48; //#7825\n } //#7825\n $1.cdf = $a(); //#7825\n $1.gpf = $a([]); //#7826\n $1.ais = $a([]); //#7827\n $1.vals = $a([]); //#7828\n } //#7828\n if ($eq($1.method, \"0101\")) { //#7844\n $1.cdf = $s(55); //#7832\n $k[$j++] = $1.cdf; //#7833\n $k[$j++] = 0; //#7833\n $k[$j++] = $geti($get($1.vals, 0), 1, 12); //#7833\n $1.conv12to40(); //#7833\n var _4S = $k[--$j]; //#7833\n var _4T = $k[--$j]; //#7833\n $puti($k[--$j], _4T, _4S); //#7833\n if ($eq($get($1.ais, 1), \"3202\")) { //#7837\n $k[$j++] = ~~$z($get($1.vals, 1)); //#7835\n $k[$j++] = 15; //#7835\n $1.tobin(); //#7835\n } else { //#7837\n $k[$j++] = (~~$z($get($1.vals, 1))) + 10000; //#7837\n $k[$j++] = 15; //#7837\n $1.tobin(); //#7837\n } //#7837\n $puti($1.cdf, 40, $k[--$j]); //#7839\n $k[$j++] = Infinity; //#7840\n var _4d = $1.cdf; //#7840\n for (var _4e = 0, _4f = _4d.length; _4e < _4f; _4e++) { //#7840\n $k[$j++] = $get(_4d, _4e) - 48; //#7840\n } //#7840\n $1.cdf = $a(); //#7840\n $1.gpf = $a([]); //#7841\n $1.ais = $a([]); //#7842\n $1.vals = $a([]); //#7843\n } //#7843\n if ($1.method.length == 7) { //#7865\n $1.cdf = $s(76); //#7847\n $k[$j++] = $1.cdf; //#7848\n $k[$j++] = 0; //#7848\n $k[$j++] = $geti($get($1.vals, 0), 1, 12); //#7848\n $1.conv12to40(); //#7848\n var _4r = $k[--$j]; //#7848\n var _4s = $k[--$j]; //#7848\n $puti($k[--$j], _4s, _4r); //#7848\n var _4u = $s(6); //#7849\n $puti(_4u, 0, $geti($get($1.ais, 1), 3, 1)); //#7849\n $puti(_4u, 1, $geti($get($1.vals, 1), 1, 5)); //#7850\n $k[$j++] = ~~$z(_4u); //#7850\n $k[$j++] = 20; //#7850\n $1.tobin(); //#7850\n $puti($1.cdf, 40, $k[--$j]); //#7851\n if ($1.ais.length == 3) { //#7858\n var _55 = $get($1.vals, 2); //#7853\n $k[$j++] = ((~~$z($geti(_55, 0, 2))) * 384) + ((((~~$z($geti(_55, 2, 2))) - 1) * 32) + (~~$z($geti(_55, 4, 2)))); //#7856\n } else { //#7858\n $k[$j++] = 38400; //#7858\n } //#7858\n $k[$j++] = 16; //#7860\n $1.tobin(); //#7860\n $puti($1.cdf, 60, $k[--$j]); //#7860\n $k[$j++] = Infinity; //#7861\n var _5B = $1.cdf; //#7861\n for (var _5C = 0, _5D = _5B.length; _5C < _5D; _5C++) { //#7861\n $k[$j++] = $get(_5B, _5C) - 48; //#7861\n } //#7861\n $1.cdf = $a(); //#7861\n $1.gpf = $a([]); //#7862\n $1.ais = $a([]); //#7863\n $1.vals = $a([]); //#7864\n } //#7864\n if ($eq($1.method, \"01100\")) { //#7875\n $1.cdf = $s(42); //#7868\n $k[$j++] = $1.cdf; //#7869\n $k[$j++] = 0; //#7869\n $k[$j++] = $geti($get($1.vals, 0), 1, 12); //#7869\n $1.conv12to40(); //#7869\n var _5P = $k[--$j]; //#7869\n var _5Q = $k[--$j]; //#7869\n $puti($k[--$j], _5Q, _5P); //#7869\n $k[$j++] = $1.cdf; //#7870\n $k[$j++] = 40; //#7870\n $k[$j++] = ~~$z($geti($get($1.ais, 1), 3, 1)); //#7870\n $k[$j++] = 2; //#7870\n $1.tobin(); //#7870\n var _5W = $k[--$j]; //#7870\n var _5X = $k[--$j]; //#7870\n $puti($k[--$j], _5X, _5W); //#7870\n $k[$j++] = Infinity; //#7871\n var _5Z = $1.cdf; //#7871\n for (var _5a = 0, _5b = _5Z.length; _5a < _5b; _5a++) { //#7871\n $k[$j++] = $get(_5Z, _5a) - 48; //#7871\n } //#7871\n $1.cdf = $a(); //#7871\n $k[$j++] = Infinity; //#7872\n $forall($get($1.vals, 1)); //#7872\n if ($1.ais.length > 2) { //#7872\n $k[$j++] = $1.fnc1; //#7872\n } //#7872\n $1.gpf = $a(); //#7872\n $1.ais = $geti($1.ais, 2, $1.ais.length - 2); //#7873\n $1.vals = $geti($1.vals, 2, $1.vals.length - 2); //#7874\n } //#7874\n if ($eq($1.method, \"01101\")) { //#7886\n $1.cdf = $s(52); //#7878\n $k[$j++] = $1.cdf; //#7879\n $k[$j++] = 0; //#7879\n $k[$j++] = $geti($get($1.vals, 0), 1, 12); //#7879\n $1.conv12to40(); //#7879\n var _5v = $k[--$j]; //#7879\n var _5w = $k[--$j]; //#7879\n $puti($k[--$j], _5w, _5v); //#7879\n $k[$j++] = $1.cdf; //#7880\n $k[$j++] = 40; //#7880\n $k[$j++] = ~~$z($geti($get($1.ais, 1), 3, 1)); //#7880\n $k[$j++] = 2; //#7880\n $1.tobin(); //#7880\n var _62 = $k[--$j]; //#7880\n var _63 = $k[--$j]; //#7880\n $puti($k[--$j], _63, _62); //#7880\n $k[$j++] = $1.cdf; //#7881\n $k[$j++] = 42; //#7881\n $k[$j++] = ~~$z($geti($get($1.vals, 1), 0, 3)); //#7881\n $k[$j++] = 10; //#7881\n $1.tobin(); //#7881\n var _69 = $k[--$j]; //#7881\n var _6A = $k[--$j]; //#7881\n $puti($k[--$j], _6A, _69); //#7881\n $k[$j++] = Infinity; //#7882\n var _6C = $1.cdf; //#7882\n for (var _6D = 0, _6E = _6C.length; _6D < _6E; _6D++) { //#7882\n $k[$j++] = $get(_6C, _6D) - 48; //#7882\n } //#7882\n $1.cdf = $a(); //#7882\n $k[$j++] = Infinity; //#7883\n var _6I = $get($1.vals, 1); //#7883\n var _6J = $geti(_6I, 3, _6I.length - 3); //#7883\n for (var _6K = 0, _6L = _6J.length; _6K < _6L; _6K++) { //#7883\n $k[$j++] = $get(_6J, _6K); //#7883\n } //#7883\n if ($1.ais.length > 2) { //#7883\n $k[$j++] = $1.fnc1; //#7883\n } //#7883\n $1.gpf = $a(); //#7883\n $1.ais = $geti($1.ais, 2, $1.ais.length - 2); //#7884\n $1.vals = $geti($1.vals, 2, $1.vals.length - 2); //#7885\n } //#7885\n if ($1.gpfallow) { //#7892\n $1.vlf = $a(2); //#7890\n } else { //#7892\n $1.vlf = $a([]); //#7892\n } //#7892\n $1.aifixed = new Map; //#7898\n $k[$j++] = Infinity; //#7900\n for (var _6Z = 0; _6Z <= 4; _6Z += 1) { //#7900\n $k[$j++] = _6Z; //#7900\n } //#7900\n var _6a = $a(); //#7900\n for (var _6b = 0, _6c = _6a.length; _6b < _6c; _6b++) { //#7903\n var _6f = $strcpy($s(2), \"00\"); //#7902\n $put(_6f, 1, $f($get(_6a, _6b) + 48)); //#7902\n $put($1.aifixed, _6f, _6f); //#7902\n } //#7902\n $k[$j++] = Infinity; //#7908\n for (var _6h = 11; _6h <= 20; _6h += 1) { //#7905\n $k[$j++] = _6h; //#7905\n } //#7905\n $k[$j++] = 23; //#7907\n for (var _6i = 31; _6i <= 36; _6i += 1) { //#7907\n $k[$j++] = _6i; //#7907\n } //#7907\n $k[$j++] = 41; //#7908\n var _6j = $a(); //#7908\n for (var _6k = 0, _6l = _6j.length; _6k < _6l; _6k++) { //#7911\n var _6o = $cvrs($s(2), $get(_6j, _6k), 10); //#7910\n $put($1.aifixed, _6o, _6o); //#7910\n } //#7910\n $k[$j++] = Infinity; //#7923\n for (var _6q = 0; _6q <= 119; _6q += 1) { //#7922\n var _6s = $strcpy($s(2), \"00\"); //#7915\n var _6u = $cvrs($s(2), _6q, 11); //#7915\n $puti(_6s, 2 - _6u.length, _6u); //#7916\n $k[$j++] = _6q; //#7917\n $k[$j++] = _6s; //#7917\n if ($get(_6s, 0) == 65) { //#7917\n var _6w = $k[--$j]; //#7917\n $put(_6w, 0, 94); //#7917\n $k[$j++] = _6w; //#7917\n } //#7917\n var _6x = $k[--$j]; //#7918\n $k[$j++] = _6x; //#7918\n if ($get(_6x, 1) == 65) { //#7918\n var _6z = $k[--$j]; //#7918\n $put(_6z, 1, 94); //#7918\n $k[$j++] = _6z; //#7918\n } //#7918\n var _70 = $k[--$j]; //#7919\n var _73 = $strcpy($s(7), \"0000000\"); //#7920\n var _75 = $cvrs($s(7), $f($k[--$j] + 8), 2); //#7920\n $puti(_73, 7 - _75.length, _75); //#7921\n $k[$j++] = _70; //#7921\n $k[$j++] = _73; //#7921\n } //#7921\n $k[$j++] = $1.lalphanumeric; //#7923\n $k[$j++] = \"0000\"; //#7923\n $1.numeric = $d(); //#7924\n $k[$j++] = Infinity; //#7933\n for (var _78 = 48; _78 <= 57; _78 += 1) { //#7927\n $k[$j++] = _78; //#7927\n $k[$j++] = _78 - 43; //#7927\n $k[$j++] = 5; //#7927\n $1.tobin(); //#7927\n } //#7927\n $k[$j++] = $1.fnc1; //#7929\n $k[$j++] = \"01111\"; //#7929\n for (var _7A = 65; _7A <= 90; _7A += 1) { //#7929\n $k[$j++] = _7A; //#7929\n $k[$j++] = _7A - 33; //#7929\n $k[$j++] = 6; //#7929\n $1.tobin(); //#7929\n } //#7929\n $k[$j++] = 42; //#7931\n $k[$j++] = \"111010\"; //#7931\n for (var _7B = 44; _7B <= 47; _7B += 1) { //#7931\n $k[$j++] = _7B; //#7931\n $k[$j++] = _7B + 15; //#7931\n $k[$j++] = 6; //#7931\n $1.tobin(); //#7931\n } //#7931\n $k[$j++] = $1.lnumeric; //#7933\n $k[$j++] = \"000\"; //#7933\n $k[$j++] = $1.liso646; //#7933\n $k[$j++] = \"00100\"; //#7933\n $1.alphanumeric = $d(); //#7934\n $k[$j++] = Infinity; //#7948\n for (var _7F = 48; _7F <= 57; _7F += 1) { //#7937\n $k[$j++] = _7F; //#7937\n $k[$j++] = _7F - 43; //#7937\n $k[$j++] = 5; //#7937\n $1.tobin(); //#7937\n } //#7937\n $k[$j++] = $1.fnc1; //#7939\n $k[$j++] = \"01111\"; //#7939\n for (var _7H = 65; _7H <= 90; _7H += 1) { //#7939\n $k[$j++] = _7H; //#7939\n $k[$j++] = _7H - 1; //#7939\n $k[$j++] = 7; //#7939\n $1.tobin(); //#7939\n } //#7939\n for (var _7I = 97; _7I <= 122; _7I += 1) { //#7940\n $k[$j++] = _7I; //#7940\n $k[$j++] = _7I - 7; //#7940\n $k[$j++] = 7; //#7940\n $1.tobin(); //#7940\n } //#7940\n $k[$j++] = 33; //#7943\n $k[$j++] = \"11101000\"; //#7943\n $k[$j++] = 34; //#7943\n $k[$j++] = \"11101001\"; //#7943\n for (var _7J = 37; _7J <= 47; _7J += 1) { //#7943\n $k[$j++] = _7J; //#7943\n $k[$j++] = _7J + 197; //#7943\n $k[$j++] = 8; //#7943\n $1.tobin(); //#7943\n } //#7943\n for (var _7K = 58; _7K <= 63; _7K += 1) { //#7944\n $k[$j++] = _7K; //#7944\n $k[$j++] = _7K + 187; //#7944\n $k[$j++] = 8; //#7944\n $1.tobin(); //#7944\n } //#7944\n $k[$j++] = 95; //#7948\n $k[$j++] = \"11111011\"; //#7948\n $k[$j++] = 32; //#7948\n $k[$j++] = \"11111100\"; //#7948\n $k[$j++] = $1.lnumeric; //#7948\n $k[$j++] = \"000\"; //#7948\n $k[$j++] = $1.lalphanumeric; //#7948\n $k[$j++] = \"00100\"; //#7948\n $1.iso646 = $d(); //#7949\n for (var _7Q = 0, _7P = $1.ais.length - 1; _7Q <= _7P; _7Q += 1) { //#7967\n $1.i = _7Q; //#7953\n $1.ai = $get($1.ais, $1.i); //#7954\n $1.val = $get($1.vals, $1.i); //#7955\n var _7a = $a(($1.gpf.length + $1.ai.length) + $1.val.length); //#7956\n $puti(_7a, 0, $1.gpf); //#7957\n $k[$j++] = _7a; //#7958\n $k[$j++] = _7a; //#7958\n $k[$j++] = $1.gpf.length; //#7958\n $k[$j++] = $1.ai; //#7958\n $k[$j++] = Infinity; //#7958\n var _7e = $k[--$j]; //#7958\n var _7f = $k[--$j]; //#7958\n $k[$j++] = _7e; //#7958\n $forall(_7f); //#7958\n var _7g = $a(); //#7958\n var _7h = $k[--$j]; //#7958\n $puti($k[--$j], _7h, _7g); //#7958\n var _7j = $k[--$j]; //#7959\n $k[$j++] = _7j; //#7959\n $k[$j++] = _7j; //#7959\n $k[$j++] = $1.gpf.length + $1.ai.length; //#7959\n $k[$j++] = $1.val; //#7959\n $k[$j++] = Infinity; //#7959\n var _7n = $k[--$j]; //#7959\n var _7o = $k[--$j]; //#7959\n $k[$j++] = _7n; //#7959\n $forall(_7o); //#7959\n var _7p = $a(); //#7959\n var _7q = $k[--$j]; //#7959\n $puti($k[--$j], _7q, _7p); //#7959\n $1.gpf = $k[--$j]; //#7960\n var _7y = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#7961\n if (($1.i != ($1.ais.length - 1)) && (!_7y)) { //#7966\n var _80 = $a($1.gpf.length + 1); //#7962\n $puti(_80, 0, $1.gpf); //#7963\n $put(_80, $1.gpf.length, $1.fnc1); //#7964\n $1.gpf = _80; //#7965\n } //#7965\n } //#7965\n $1.rembits = function() {\n var _84 = $k[--$j]; //#7971\n var _85 = 48; //#7973\n var _86 = (~~Math.ceil(_84 / 12)) * 12; //#7973\n if (((~~Math.ceil(_84 / 12)) * 12) < 48) { //#7973\n var _ = _85; //#7973\n _85 = _86; //#7973\n _86 = _; //#7973\n } //#7973\n var _87 = ~~(_86 / 12); //#7974\n $k[$j++] = _84; //#7978\n $k[$j++] = _86; //#7978\n $k[$j++] = _87; //#7978\n if ((_87 % $1.segments) == 1) { //#7977\n var _89 = $k[--$j]; //#7975\n var _8A = $k[--$j]; //#7975\n $k[$j++] = $f(_89 + 1) * 12; //#7975\n $k[$j++] = _8A; //#7975\n $j--; //#7975\n } else { //#7977\n $j--; //#7977\n } //#7977\n var _8B = $k[--$j]; //#7979\n var _8C = $k[--$j]; //#7979\n $k[$j++] = $f(_8B - _8C); //#7979\n }; //#7980\n $1.encode = function() {\n var _8D = $k[--$j]; //#7983\n $k[$j++] = _8D; //#7983\n if ($ne(_8D, 'raw')) { //#7983\n var _8E = $k[--$j]; //#7983\n var _8G = $get(_8E, $k[--$j]); //#7983\n $k[$j++] = _8G; //#7983\n } else { //#7983\n $j--; //#7983\n } //#7983\n $k[$j++] = Infinity; //#7984\n var _8H = $k[--$j]; //#7984\n var _8I = $k[--$j]; //#7984\n $k[$j++] = _8H; //#7984\n $forall(_8I, function() { //#7984\n var _8J = $k[--$j]; //#7984\n $k[$j++] = $f(_8J - 48); //#7984\n }); //#7984\n var _8K = $a(); //#7984\n $puti($1.gpfenc, $1.j, _8K); //#7986\n $1.j = _8K.length + $1.j; //#7987\n }; //#7988\n $k[$j++] = Infinity; //#7991\n for (var _8P = 0, _8Q = $1.gpf.length; _8P < _8Q; _8P++) { //#7991\n $k[$j++] = 0; //#7991\n } //#7991\n $k[$j++] = 0; //#7991\n $k[$j++] = -1; //#7991\n $1.numericruns = $a(); //#7991\n $k[$j++] = Infinity; //#7992\n for (var _8T = 0, _8U = $1.gpf.length; _8T < _8U; _8T++) { //#7992\n $k[$j++] = 0; //#7992\n } //#7992\n $k[$j++] = 0; //#7992\n $1.alphanumericruns = $a(); //#7992\n $k[$j++] = Infinity; //#7993\n for (var _8X = 0, _8Y = $1.gpf.length; _8X < _8Y; _8X++) { //#7993\n $k[$j++] = 0; //#7993\n } //#7993\n $k[$j++] = 9999; //#7993\n $1.nextiso646only = $a(); //#7993\n for (var _8b = $1.gpf.length - 1; _8b >= 0; _8b -= 1) { //#8015\n $1.i = _8b; //#7995\n var _8g = $strcpy($s(2), \"00\"); //#7997\n var _8j = $get($1.gpf, $1.i); //#7998\n $k[$j++] = $get($1.gpf, $1.i); //#7998\n $k[$j++] = _8g; //#7998\n $k[$j++] = _8g; //#7998\n $k[$j++] = 0; //#7998\n $k[$j++] = _8j; //#7998\n if (_8j == $1.fnc1) { //#7998\n $j--; //#7998\n $k[$j++] = 94; //#7998\n } //#7998\n var _8l = $k[--$j]; //#7998\n var _8m = $k[--$j]; //#7998\n $put($k[--$j], _8m, _8l); //#7998\n if ($1.i < ($1.gpf.length - 1)) { //#7999\n var _8q = $k[--$j]; //#7999\n var _8t = $get($1.gpf, $1.i + 1); //#7999\n $k[$j++] = _8q; //#7999\n $k[$j++] = _8q; //#7999\n $k[$j++] = 1; //#7999\n $k[$j++] = _8t; //#7999\n if (_8t == $1.fnc1) { //#7999\n $j--; //#7999\n $k[$j++] = 94; //#7999\n } //#7999\n var _8v = $k[--$j]; //#7999\n var _8w = $k[--$j]; //#7999\n $put($k[--$j], _8w, _8v); //#7999\n } //#7999\n var _90 = $get($1.numeric, $k[--$j]) !== undefined; //#8000\n if (_90) { //#8003\n $put($1.numericruns, $1.i, $f($get($1.numericruns, $1.i + 2) + 2)); //#8001\n } else { //#8003\n $put($1.numericruns, $1.i, 0); //#8003\n } //#8003\n var _98 = $k[--$j]; //#8005\n var _9A = $get($1.alphanumeric, _98) !== undefined; //#8005\n $k[$j++] = _98; //#8009\n if (_9A) { //#8008\n $put($1.alphanumericruns, $1.i, $f($get($1.alphanumericruns, $1.i + 1) + 1)); //#8006\n } else { //#8008\n $put($1.alphanumericruns, $1.i, 0); //#8008\n } //#8008\n var _9I = $k[--$j]; //#8010\n var _9K = $get($1.iso646, _9I) !== undefined; //#8010\n var _9M = $get($1.alphanumeric, _9I) !== undefined; //#8010\n if (_9K && (!_9M)) { //#8013\n $put($1.nextiso646only, $1.i, 0); //#8011\n } else { //#8013\n $put($1.nextiso646only, $1.i, $f($get($1.nextiso646only, $1.i + 1) + 1)); //#8013\n } //#8013\n } //#8013\n $1.gpfenc = $a(252); //#8018\n $1.i = 0; //#8019\n $1.j = 0; //#8019\n $1.mode = \"numeric\"; //#8019\n for (;;) { //#8109\n if ($1.i == $1.gpf.length) { //#8021\n break; //#8021\n } //#8021\n for (;;) { //#8108\n if ($eq($1.mode, \"numeric\")) { //#8057\n if ($1.i <= ($1.gpf.length - 2)) { //#8054\n var _9a = $s(2); //#8026\n var _9d = $get($1.gpf, $1.i); //#8027\n $k[$j++] = _9a; //#8027\n $k[$j++] = _9a; //#8027\n $k[$j++] = 0; //#8027\n $k[$j++] = _9d; //#8027\n if (_9d == $1.fnc1) { //#8027\n $j--; //#8027\n $k[$j++] = 94; //#8027\n } //#8027\n var _9f = $k[--$j]; //#8027\n var _9g = $k[--$j]; //#8027\n $put($k[--$j], _9g, _9f); //#8027\n var _9i = $k[--$j]; //#8028\n var _9l = $get($1.gpf, $1.i + 1); //#8028\n $k[$j++] = _9i; //#8028\n $k[$j++] = _9i; //#8028\n $k[$j++] = 1; //#8028\n $k[$j++] = _9l; //#8028\n if (_9l == $1.fnc1) { //#8028\n $j--; //#8028\n $k[$j++] = 94; //#8028\n } //#8028\n var _9n = $k[--$j]; //#8028\n var _9o = $k[--$j]; //#8028\n $put($k[--$j], _9o, _9n); //#8028\n var _9q = $k[--$j]; //#8029\n var _9s = $get($1.numeric, _9q) !== undefined; //#8029\n $k[$j++] = _9q; //#8033\n if (_9s) { //#8033\n $k[$j++] = $1.numeric; //#8030\n $1.encode(); //#8030\n $1.i = $1.i + 2; //#8031\n break; //#8032\n } //#8032\n $j--; //#8034\n $k[$j++] = $1.lalphanumeric; //#8035\n $k[$j++] = $1.numeric; //#8035\n $1.encode(); //#8035\n $1.mode = \"alphanumeric\"; //#8036\n break; //#8037\n } else { //#8054\n var _9z = $get($1.gpf, $1.i); //#8039\n if ((_9z < 48) || (_9z > 57)) { //#8043\n $k[$j++] = $1.lalphanumeric; //#8040\n $k[$j++] = $1.numeric; //#8040\n $1.encode(); //#8040\n $1.mode = \"alphanumeric\"; //#8041\n break; //#8042\n } //#8042\n $k[$j++] = 'rem'; //#8044\n $k[$j++] = ((((12 + 1) + $1.method.length) + $1.vlf.length) + $1.cdf.length) + $1.j; //#8044\n $1.rembits(); //#8044\n var _A6 = $k[--$j]; //#8044\n $1[$k[--$j]] = _A6; //#8044\n if (($1.rem >= 4) && ($1.rem <= 6)) { //#8054\n var _AD = $geti($strcpy($s(6), \"000000\"), 0, $1.rem); //#8046\n var _AI = $cvrs($s(4), $f($get($1.gpf, $1.i) - 47), 2); //#8047\n $puti(_AD, 4 - _AI.length, _AI); //#8048\n $k[$j++] = _AD; //#8048\n $k[$j++] = 'raw'; //#8048\n $1.encode(); //#8048\n $1.i = $1.i + 1; //#8049\n break; //#8050\n } else { //#8054\n var _AK = $s(2); //#8052\n $put(_AK, 0, $get($1.gpf, $1.i)); //#8052\n $put(_AK, 1, 94); //#8052\n $k[$j++] = _AK; //#8052\n $k[$j++] = $1.numeric; //#8052\n $1.encode(); //#8052\n $1.i = $1.i + 1; //#8053\n break; //#8054\n } //#8054\n } //#8054\n } //#8054\n if ($eq($1.mode, \"alphanumeric\")) { //#8084\n if ($get($1.gpf, $1.i) == $1.fnc1) { //#8065\n $k[$j++] = $1.fnc1; //#8061\n $k[$j++] = $1.alphanumeric; //#8061\n $1.encode(); //#8061\n $1.mode = \"numeric\"; //#8062\n $1.i = $1.i + 1; //#8063\n break; //#8064\n } //#8064\n var _Aa = $get($1.gpf, $1.i); //#8066\n var _Ac = $get($1.iso646, _Aa) !== undefined; //#8066\n var _Ae = $get($1.alphanumeric, _Aa) !== undefined; //#8066\n if (_Ac && (!_Ae)) { //#8070\n $k[$j++] = $1.liso646; //#8067\n $k[$j++] = $1.alphanumeric; //#8067\n $1.encode(); //#8067\n $1.mode = \"iso646\"; //#8068\n break; //#8069\n } //#8069\n if ($get($1.numericruns, $1.i) >= 6) { //#8075\n $k[$j++] = $1.lnumeric; //#8072\n $k[$j++] = $1.alphanumeric; //#8072\n $1.encode(); //#8072\n $1.mode = \"numeric\"; //#8073\n break; //#8074\n } //#8074\n var _Ao = $get($1.numericruns, $1.i); //#8076\n if ((_Ao >= 4) && ($f(_Ao + $1.i) == $1.gpf.length)) { //#8080\n $k[$j++] = $1.lnumeric; //#8077\n $k[$j++] = $1.alphanumeric; //#8077\n $1.encode(); //#8077\n $1.mode = \"numeric\"; //#8078\n break; //#8079\n } //#8079\n $k[$j++] = $get($1.gpf, $1.i); //#8081\n $k[$j++] = $1.alphanumeric; //#8081\n $1.encode(); //#8081\n $1.i = $1.i + 1; //#8082\n break; //#8083\n } //#8083\n if ($eq($1.mode, \"iso646\")) { //#8106\n if ($get($1.gpf, $1.i) == $1.fnc1) { //#8092\n $k[$j++] = $1.fnc1; //#8088\n $k[$j++] = $1.iso646; //#8088\n $1.encode(); //#8088\n $1.mode = \"numeric\"; //#8089\n $1.i = $1.i + 1; //#8090\n break; //#8091\n } //#8091\n if (($get($1.numericruns, $1.i) >= 4) && ($get($1.nextiso646only, $1.i) >= 10)) { //#8097\n $k[$j++] = $1.lnumeric; //#8094\n $k[$j++] = $1.iso646; //#8094\n $1.encode(); //#8094\n $1.mode = \"numeric\"; //#8095\n break; //#8096\n } //#8096\n if (($get($1.alphanumericruns, $1.i) >= 5) && ($get($1.nextiso646only, $1.i) >= 10)) { //#8102\n $k[$j++] = $1.lalphanumeric; //#8099\n $k[$j++] = $1.iso646; //#8099\n $1.encode(); //#8099\n $1.mode = \"alphanumeric\"; //#8100\n break; //#8101\n } //#8101\n $k[$j++] = $get($1.gpf, $1.i); //#8103\n $k[$j++] = $1.iso646; //#8103\n $1.encode(); //#8103\n $1.i = $1.i + 1; //#8104\n break; //#8105\n } //#8105\n } //#8105\n } //#8105\n $1.gpf = $geti($1.gpfenc, 0, $1.j); //#8110\n var _BY = ((((1 + 12) + $1.method.length) + $1.vlf.length) + $1.cdf.length) + $1.gpf.length; //#8114\n $k[$j++] = _BY; //#8114\n $k[$j++] = _BY; //#8114\n $1.rembits(); //#8114\n var _BZ = $k[--$j]; //#8114\n $1.pad = $a(_BZ); //#8114\n $k[$j++] = _BZ; //#8121\n if ($1.vlf.length != 0) { //#8120\n var _Bc = $k[--$j]; //#8116\n var _Be = ~~($f($k[--$j] + _Bc) / 12); //#8117\n $put($1.vlf, 0, _Be % 2); //#8117\n var _Bg = (_Be <= 14) ? 0 : 1; //#8118\n $put($1.vlf, 1, _Bg); //#8118\n } else { //#8120\n $j -= 2; //#8120\n } //#8120\n if ($1.pad.length > 0) { //#8130\n for (var _Bl = 0, _Bk = $1.pad.length - 1; _Bl <= _Bk; _Bl += 5) { //#8126\n $1.i = _Bl; //#8124\n var _Bm = $1.pad; //#8125\n var _Bn = $1.i; //#8125\n var _Bo = $a([0, 0, 1, 0, 0]); //#8125\n var _Bp = $1.pad; //#8125\n var _Bq = $1.i; //#8125\n var _Br = 5; //#8125\n var _Bs = _Bp.length - _Bq; //#8125\n if ((_Bp.length - _Bq) > 5) { //#8125\n var _ = _Br; //#8125\n _Br = _Bs; //#8125\n _Bs = _; //#8125\n } //#8125\n $puti(_Bm, _Bn, $geti(_Bo, 0, _Bs)); //#8125\n } //#8125\n if ($eq($1.mode, \"numeric\")) { //#8129\n $k[$j++] = Infinity; //#8128\n $k[$j++] = 0; //#8128\n $k[$j++] = 0; //#8128\n $k[$j++] = 0; //#8128\n $k[$j++] = 0; //#8128\n $aload($1.pad); //#8128\n $1.pad = $geti($a(), 0, $1.pad.length); //#8128\n } //#8128\n } //#8128\n $k[$j++] = Infinity; //#8139\n var _C0 = $1.linkage ? 1 : 0; //#8134\n $k[$j++] = _C0; //#8135\n $forall($1.method, function() { //#8135\n var _C2 = $k[--$j]; //#8135\n $k[$j++] = $f(_C2 - 48); //#8135\n }); //#8135\n $aload($1.vlf); //#8136\n $aload($1.cdf); //#8137\n $aload($1.gpf); //#8138\n $aload($1.pad); //#8139\n $1.binval = $a(); //#8139\n $1.datalen = ~~($1.binval.length / 12); //#8141\n $1.ncr = function() {\n var _C9 = $k[--$j]; //#8144\n var _CA = $k[--$j]; //#8144\n var _CB = $f(_CA - _C9); //#8144\n if (_C9 < $f(_CA - _C9)) { //#8144\n var _ = _CB; //#8144\n _CB = _C9; //#8144\n _C9 = _; //#8144\n } //#8144\n $k[$j++] = _CB; //#8151\n $k[$j++] = 1; //#8151\n $k[$j++] = 1; //#8151\n for (var _CD = _CA, _CC = $f(_C9 + 1); _CD >= _CC; _CD -= 1) { //#8151\n var _CE = $k[--$j]; //#8147\n var _CF = $k[--$j]; //#8148\n var _CG = $k[--$j]; //#8148\n $k[$j++] = _CG; //#8150\n $k[$j++] = _CF; //#8150\n $k[$j++] = _CE * _CD; //#8150\n if ($le(_CF, _CG)) { //#8150\n var _CH = $k[--$j]; //#8149\n var _CI = $k[--$j]; //#8149\n $k[$j++] = $f(_CI + 1); //#8149\n $k[$j++] = ~~(_CH / _CI); //#8149\n } //#8149\n } //#8149\n for (;;) { //#8155\n var _CJ = $k[--$j]; //#8153\n var _CK = $k[--$j]; //#8153\n var _CL = $k[--$j]; //#8153\n $k[$j++] = _CL; //#8153\n $k[$j++] = _CK; //#8153\n $k[$j++] = _CJ; //#8153\n if ($gt(_CK, _CL)) { //#8153\n break; //#8153\n } //#8153\n var _CM = $k[--$j]; //#8154\n var _CN = $k[--$j]; //#8154\n $k[$j++] = $f(_CN + 1); //#8154\n $k[$j++] = ~~(_CM / _CN); //#8154\n } //#8154\n var _CO = $k[--$j]; //#8156\n var _CP = $k[--$j]; //#8156\n $k[$j++] = _CO; //#8156\n $k[$j++] = _CP; //#8156\n $j--; //#8156\n var _CQ = $k[--$j]; //#8156\n var _CR = $k[--$j]; //#8156\n $k[$j++] = _CQ; //#8156\n $k[$j++] = _CR; //#8156\n $j--; //#8156\n }; //#8157\n $1.getRSSwidths = function() {\n $1.oe = $k[--$j]; //#8160\n $1.el = $k[--$j]; //#8161\n $1.mw = $k[--$j]; //#8162\n $1.nm = $k[--$j]; //#8163\n $1.val = $k[--$j]; //#8164\n $1.out = $a($1.el); //#8165\n $1.mask = 0; //#8166\n for (var _Cb = 0, _Ca = $f($1.el - 2); _Cb <= _Ca; _Cb += 1) { //#8193\n $1.bar = _Cb; //#8168\n $1.ew = 1; //#8169\n var _Cd = $1.bar; //#8170\n $1.mask = $1.mask | ((_Cd < 0 ? 1 >>> -_Cd : 1 << _Cd)); //#8170\n for (;;) { //#8189\n $k[$j++] = 'sval'; //#8171\n $k[$j++] = $f($f($1.nm - $1.ew) - 1); //#8171\n $k[$j++] = $f($f($1.el - $1.bar) - 2); //#8171\n $1.ncr(); //#8171\n var _Ci = $k[--$j]; //#8171\n $1[$k[--$j]] = _Ci; //#8171\n if (($1.oe && ($1.mask == 0)) && (($f(($f($f($1.nm - $1.ew) - ($1.el * 2))) + ($1.bar * 2))) >= -2)) { //#8174\n $k[$j++] = 'sval'; //#8173\n $k[$j++] = $1.sval; //#8173\n $k[$j++] = $f(($f($f($1.nm - $1.ew) - $1.el)) + $1.bar); //#8173\n $k[$j++] = $f($f($1.el - $1.bar) - 2); //#8173\n $1.ncr(); //#8173\n var _Cx = $k[--$j]; //#8173\n var _Cy = $k[--$j]; //#8173\n $1[$k[--$j]] = $f(_Cy - _Cx); //#8173\n } //#8173\n if ($f($1.el - $1.bar) > 2) { //#8183\n $1.lval = 0; //#8176\n for (var _D8 = $f(($f(($f($f($1.nm - $1.ew) - $1.el)) + $1.bar)) + 2), _D7 = $f($1.mw + 1); _D8 >= _D7; _D8 -= 1) { //#8180\n $k[$j++] = $f(($f($f($1.nm - _D8) - $1.ew)) - 1); //#8178\n $k[$j++] = $f($f($1.el - $1.bar) - 3); //#8178\n $1.ncr(); //#8178\n $1.lval = $f($k[--$j] + $1.lval); //#8179\n } //#8179\n $1.sval = $f($1.sval - ($1.lval * ($f($f($1.el - $1.bar) - 1)))); //#8181\n } else { //#8183\n if ($f($1.nm - $1.ew) > $1.mw) { //#8183\n $1.sval = $f($1.sval - 1); //#8183\n } //#8183\n } //#8183\n $1.val = $f($1.val - $1.sval); //#8185\n if ($1.val < 0) { //#8186\n break; //#8186\n } //#8186\n $1.ew = $1.ew + 1; //#8187\n var _DS = $1.bar; //#8188\n $1.mask = $1.mask & (~((_DS < 0 ? 1 >>> -_DS : 1 << _DS))); //#8188\n } //#8188\n $1.val = $f($1.val + $1.sval); //#8190\n $1.nm = $f($1.nm - $1.ew); //#8191\n $put($1.out, $1.bar, $1.ew); //#8192\n } //#8192\n $put($1.out, $f($1.el - 1), $1.nm); //#8194\n $k[$j++] = $1.out; //#8195\n }; //#8196\n $1.tab174 = $a([347, 0, 12, 5, 7, 2, 87, 4, 1387, 348, 10, 7, 5, 4, 52, 20, 2947, 1388, 8, 9, 4, 5, 30, 52, 3987, 2948, 6, 11, 3, 6, 10, 104, 4191, 3988, 4, 13, 1, 8, 1, 204]); //#8204\n $1.dxw = $a($1.datalen); //#8206\n for (var _Dj = 0, _Di = $1.datalen - 1; _Dj <= _Di; _Dj += 1) { //#8247\n $1.x = _Dj; //#8210\n $1.d = $geti($1.binval, $1.x * 12, 12); //#8212\n $k[$j++] = 'd'; //#8213\n $k[$j++] = 0; //#8213\n for (var _Dn = 0; _Dn <= 11; _Dn += 1) { //#8213\n $1.j = _Dn; //#8213\n var _Ds = $k[--$j]; //#8213\n $k[$j++] = $f(_Ds + ((~~Math.pow(2, 11 - $1.j)) * $get($1.d, $1.j))); //#8213\n } //#8213\n var _Dt = $k[--$j]; //#8213\n $1[$k[--$j]] = _Dt; //#8213\n $1.j = 0; //#8215\n for (;;) { //#8225\n if ($le($1.d, $get($1.tab174, $1.j))) { //#8223\n var _E1 = $geti($1.tab174, $1.j + 1, 7); //#8217\n for (var _E2 = 0, _E3 = _E1.length; _E2 < _E3; _E2++) { //#8217\n $k[$j++] = $get(_E1, _E2); //#8217\n } //#8217\n $1.dte = $k[--$j]; //#8218\n $1.dto = $k[--$j]; //#8218\n $1.dmwe = $k[--$j]; //#8219\n $1.dmwo = $k[--$j]; //#8219\n $1.dele = $k[--$j]; //#8220\n $1.delo = $k[--$j]; //#8220\n $1.dgs = $k[--$j]; //#8221\n break; //#8222\n } //#8222\n $1.j = $1.j + 8; //#8224\n } //#8224\n $k[$j++] = 'dwo'; //#8227\n $k[$j++] = ~~($f($1.d - $1.dgs) / $1.dte); //#8227\n $k[$j++] = $1.delo; //#8227\n $k[$j++] = $1.dmwo; //#8227\n $k[$j++] = 4; //#8227\n $k[$j++] = true; //#8227\n $1.getRSSwidths(); //#8227\n var _EI = $k[--$j]; //#8227\n $1[$k[--$j]] = _EI; //#8227\n $k[$j++] = 'dwe'; //#8228\n $k[$j++] = $f($1.d - $1.dgs) % $1.dte; //#8228\n $k[$j++] = $1.dele; //#8228\n $k[$j++] = $1.dmwe; //#8228\n $k[$j++] = 4; //#8228\n $k[$j++] = false; //#8228\n $1.getRSSwidths(); //#8228\n var _EP = $k[--$j]; //#8228\n $1[$k[--$j]] = _EP; //#8228\n $1.dw = $a(8); //#8230\n if (($1.x % 2) == 0) { //#8241\n for (var _ET = 0; _ET <= 3; _ET += 1) { //#8236\n $1.j = _ET; //#8233\n $put($1.dw, 7 - ($1.j * 2), $get($1.dwo, $1.j)); //#8234\n $put($1.dw, 6 - ($1.j * 2), $get($1.dwe, $1.j)); //#8235\n } //#8235\n } else { //#8241\n for (var _Ee = 0; _Ee <= 3; _Ee += 1) { //#8242\n $1.j = _Ee; //#8239\n $put($1.dw, $1.j * 2, $get($1.dwo, $1.j)); //#8240\n $put($1.dw, ($1.j * 2) + 1, $get($1.dwe, $1.j)); //#8241\n } //#8241\n } //#8241\n $put($1.dxw, $1.x, $1.dw); //#8245\n } //#8245\n $1.finderwidths = $a([1, 8, 4, 1, 1, 1, 1, 4, 8, 1, 3, 6, 4, 1, 1, 1, 1, 4, 6, 3, 3, 4, 6, 1, 1, 1, 1, 6, 4, 3, 3, 2, 8, 1, 1, 1, 1, 8, 2, 3, 2, 6, 5, 1, 1, 1, 1, 5, 6, 2, 2, 2, 9, 1, 1, 1, 1, 9, 2, 2]); //#8256\n $1.finderseq = $a([$a([0, 1]), $a([0, 3, 2]), $a([0, 5, 2, 7]), $a([0, 9, 2, 7, 4]), $a([0, 9, 2, 7, 6, 11]), $a([0, 9, 2, 7, 8, 11, 10]), $a([0, 1, 2, 3, 4, 5, 6, 7]), $a([0, 1, 2, 3, 4, 5, 6, 9, 8]), $a([0, 1, 2, 3, 4, 5, 6, 9, 10, 11]), $a([0, 1, 2, 3, 4, 7, 6, 9, 8, 11, 10])]); //#8269\n $1.seq = $get($1.finderseq, ~~(($1.datalen - 2) / 2)); //#8271\n $1.fxw = $a($1.seq.length); //#8272\n for (var _FB = 0, _FA = $1.seq.length - 1; _FB <= _FA; _FB += 1) { //#8276\n $1.x = _FB; //#8274\n $put($1.fxw, $1.x, $geti($1.finderwidths, $get($1.seq, $1.x) * 5, 5)); //#8275\n } //#8275\n $1.checkweights = $a([-1, -1, -1, -1, -1, -1, -1, -1, 77, 96, 32, 81, 27, 9, 3, 1, 20, 60, 180, 118, 143, 7, 21, 63, 205, 209, 140, 117, 39, 13, 145, 189, 193, 157, 49, 147, 19, 57, 171, 91, 132, 44, 85, 169, 197, 136, 186, 62, 185, 133, 188, 142, 4, 12, 36, 108, 50, 87, 29, 80, 97, 173, 128, 113, 150, 28, 84, 41, 123, 158, 52, 156, 166, 196, 206, 139, 187, 203, 138, 46, 76, 17, 51, 153, 37, 111, 122, 155, 146, 119, 110, 107, 106, 176, 129, 43, 16, 48, 144, 10, 30, 90, 59, 177, 164, 125, 112, 178, 200, 137, 116, 109, 70, 210, 208, 202, 184, 130, 179, 115, 190, 204, 68, 93, 31, 151, 191, 134, 148, 22, 66, 198, 172, 94, 71, 2, 40, 154, 192, 64, 162, 54, 18, 6, 120, 149, 25, 75, 14, 42, 126, 167, 175, 199, 207, 69, 23, 78, 26, 79, 103, 98, 83, 38, 114, 131, 182, 124, 159, 53, 88, 170, 127, 183, 61, 161, 55, 165, 73, 8, 24, 72, 5, 15, 89, 100, 174, 58, 160, 194, 135, 45]); //#8303\n $k[$j++] = Infinity; //#8306\n $forall($1.seq, function() { //#8306\n $aload($geti($1.checkweights, $k[--$j] * 16, 16)); //#8306\n }); //#8306\n var _FO = $a(); //#8306\n $1.checkweightseq = $geti(_FO, 8, _FO.length - 8); //#8307\n $k[$j++] = Infinity; //#8310\n var _FQ = $1.dxw; //#8310\n for (var _FR = 0, _FS = _FQ.length; _FR < _FS; _FR++) { //#8310\n $forall($get(_FQ, _FR)); //#8310\n } //#8310\n $1.widths = $a(); //#8310\n $1.checksum = 0; //#8313\n for (var _FX = 0, _FW = $1.widths.length - 1; _FX <= _FW; _FX += 1) { //#8317\n $1.i = _FX; //#8315\n $1.checksum = $f($1.checksum + ($get($1.widths, $1.i) * $get($1.checkweightseq, $1.i))); //#8316\n } //#8316\n $1.checksum = $f(($1.checksum % 211) + (($1.datalen - 3) * 211)); //#8318\n $1.i = 0; //#8320\n for (;;) { //#8330\n if ($1.checksum <= $get($1.tab174, $1.i)) { //#8328\n var _Fn = $geti($1.tab174, $1.i + 1, 7); //#8322\n for (var _Fo = 0, _Fp = _Fn.length; _Fo < _Fp; _Fo++) { //#8322\n $k[$j++] = $get(_Fn, _Fo); //#8322\n } //#8322\n $1.cte = $k[--$j]; //#8323\n $1.cto = $k[--$j]; //#8323\n $1.cmwe = $k[--$j]; //#8324\n $1.cmwo = $k[--$j]; //#8324\n $1.cele = $k[--$j]; //#8325\n $1.celo = $k[--$j]; //#8325\n $1.cgs = $k[--$j]; //#8326\n break; //#8327\n } //#8327\n $1.i = $1.i + 8; //#8329\n } //#8329\n $k[$j++] = 'cwo'; //#8332\n $k[$j++] = ~~($f($1.checksum - $1.cgs) / $1.cte); //#8332\n $k[$j++] = $1.celo; //#8332\n $k[$j++] = $1.cmwo; //#8332\n $k[$j++] = 4; //#8332\n $k[$j++] = true; //#8332\n $1.getRSSwidths(); //#8332\n var _G4 = $k[--$j]; //#8332\n $1[$k[--$j]] = _G4; //#8332\n $k[$j++] = 'cwe'; //#8333\n $k[$j++] = $f($1.checksum - $1.cgs) % $1.cte; //#8333\n $k[$j++] = $1.cele; //#8333\n $k[$j++] = $1.cmwe; //#8333\n $k[$j++] = 4; //#8333\n $k[$j++] = false; //#8333\n $1.getRSSwidths(); //#8333\n var _GB = $k[--$j]; //#8333\n $1[$k[--$j]] = _GB; //#8333\n $1.cw = $a(8); //#8335\n for (var _GE = 0; _GE <= 3; _GE += 1) { //#8340\n $1.i = _GE; //#8337\n $put($1.cw, $1.i * 2, $get($1.cwo, $1.i)); //#8338\n $put($1.cw, ($1.i * 2) + 1, $get($1.cwe, $1.i)); //#8339\n } //#8339\n var _GP = $a(22); //#8342\n $put(_GP, 0, $1.cw); //#8343\n $puti(_GP, 1, $1.dxw); //#8343\n $1.dxw = $geti(_GP, 0, $1.datalen + 1); //#8344\n $1.datalen = $1.dxw.length; //#8345\n $1.rows = $a(~~Math.ceil($1.datalen / $1.segments)); //#8348\n $1.numrows = $1.rows.length; //#8349\n for (var _Gb = 0, _Ga = $1.numrows - 1; _Gb <= _Ga; _Gb += 1) { //#8364\n $1.r = _Gb; //#8351\n $k[$j++] = Infinity; //#8352\n if ((($1.segments % 4) != 0) && (($1.r % 2) == 1)) { //#8353\n $k[$j++] = 0; //#8353\n } //#8353\n $k[$j++] = 1; //#8361\n $k[$j++] = 1; //#8361\n for (var _Gg = 0, _Gf = $1.segments - 1; _Gg <= _Gf; _Gg += 1) { //#8361\n $1.pos = _Gg + ($1.r * $1.segments); //#8356\n if ($1.pos < $1.datalen) { //#8360\n $forall($get($1.dxw, $1.pos)); //#8358\n if (($1.pos % 2) == 0) { //#8359\n $forall($get($1.fxw, ~~($1.pos / 2))); //#8359\n } //#8359\n } //#8359\n } //#8359\n var _Gs = $counttomark() + 2; //#8363\n $k[$j++] = 1; //#8363\n $k[$j++] = 1; //#8363\n $astore($a(_Gs)); //#8363\n $put($1.rows, $1.r, $k[--$j]); //#8363\n $j--; //#8363\n } //#8363\n if ($ne($1.format, \"expandedstacked\")) { //#8492\n var _Gz = $get($1.rows, 0); //#8369\n $1.sbs = $geti(_Gz, 1, _Gz.length - 1); //#8369\n $k[$j++] = Infinity; //#8378\n $k[$j++] = 1; //#8377\n for (var _H3 = 0, _H2 = $1.datalen - 1; _H3 <= _H2; _H3 += 1) { //#8377\n $1.i = _H3; //#8374\n $forall($get($1.dxw, $1.i)); //#8375\n if (($1.i % 2) == 0) { //#8376\n $forall($get($1.fxw, ~~($1.i / 2))); //#8376\n } //#8376\n } //#8376\n $k[$j++] = 1; //#8378\n $k[$j++] = 1; //#8378\n $1.sbs = $a(); //#8378\n delete $1.options[\"parse\"]; //#8381\n $k[$j++] = Infinity; //#8388\n var _HD = $1.sbs; //#8385\n $k[$j++] = Infinity; //#8386\n for (var _HF = 0, _HG = ~~(($1.sbs.length + 1) / 2); _HF < _HG; _HF++) { //#8386\n $k[$j++] = $1.height; //#8386\n } //#8386\n var _HI = $a(); //#8386\n $k[$j++] = Infinity; //#8387\n for (var _HK = 0, _HL = ~~(($1.sbs.length + 1) / 2); _HK < _HL; _HK++) { //#8387\n $k[$j++] = 0; //#8387\n } //#8387\n var _HM = $a(); //#8387\n $k[$j++] = 'ren'; //#8388\n $k[$j++] = bwipp_renlinear; //#8388\n $k[$j++] = 'sbs'; //#8388\n $k[$j++] = _HD; //#8388\n $k[$j++] = 'bhs'; //#8388\n $k[$j++] = _HI; //#8388\n $k[$j++] = 'bbs'; //#8388\n $k[$j++] = _HM; //#8388\n $k[$j++] = 'opt'; //#8388\n $k[$j++] = $1.options; //#8388\n var _HO = $d(); //#8388\n $k[$j++] = _HO; //#8391\n if (!$1.dontdraw) { //#8391\n bwipp_renlinear(); //#8391\n } //#8391\n } else { //#8492\n $1.seps = $a($1.numrows); //#8395\n for (var _HU = 0, _HT = $1.numrows - 1; _HU <= _HT; _HU += 1) { //#8451\n $1.r = _HU; //#8398\n $1.row = $get($1.rows, $1.r); //#8399\n $k[$j++] = Infinity; //#8402\n for (var _Ha = 0, _HZ = $1.row.length - 1; _Ha <= _HZ; _Ha += 2) { //#8407\n $1.i = _Ha; //#8404\n for (var _He = 0, _Hf = $get($1.row, $1.i); _He < _Hf; _He++) { //#8405\n $k[$j++] = 0; //#8405\n } //#8405\n if ($1.i < ($1.row.length - 1)) { //#8406\n for (var _Hl = 0, _Hm = $get($1.row, $1.i + 1); _Hl < _Hm; _Hl++) { //#8406\n $k[$j++] = 1; //#8406\n } //#8406\n } //#8406\n } //#8406\n $astore($a($counttomark())); //#8408\n $1.row = $k[--$j]; //#8408\n $j--; //#8408\n $k[$j++] = Infinity; //#8411\n $forall($1.row, function() { //#8411\n var _Hr = $k[--$j]; //#8411\n $k[$j++] = $f(1 - _Hr); //#8411\n }); //#8411\n $1.sep = $a(); //#8411\n $k[$j++] = Infinity; //#8414\n for (var _Hv = 19, _Hu = $1.row.length - 13; _Hv <= _Hu; _Hv += 98) { //#8413\n $k[$j++] = _Hv; //#8413\n } //#8413\n for (var _Hy = 68, _Hx = $1.row.length - 13; _Hy <= _Hx; _Hy += 98) { //#8414\n $k[$j++] = _Hy; //#8414\n } //#8414\n $1.finderpos = $a(); //#8414\n var _I0 = $1.finderpos; //#8416\n for (var _I1 = 0, _I2 = _I0.length; _I1 < _I2; _I1++) { //#8430\n var _I3 = $get(_I0, _I1); //#8430\n for (var _I5 = _I3, _I4 = $f(_I3 + 14); _I5 <= _I4; _I5 += 1) { //#8429\n $1.i = _I5; //#8418\n if ($get($1.row, $1.i) == 0) { //#8426\n if ($get($1.row, $1.i - 1) == 1) { //#8423\n $k[$j++] = 1; //#8421\n } else { //#8423\n var _IF = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#8423\n $k[$j++] = _IF; //#8423\n } //#8423\n } else { //#8426\n $k[$j++] = 0; //#8426\n } //#8426\n $put($1.sep, $1.i, $k[--$j]); //#8428\n } //#8428\n } //#8428\n $puti($1.sep, 0, $a([0, 0, 0, 0])); //#8431\n $puti($1.sep, $1.row.length - 4, $a([0, 0, 0, 0])); //#8432\n if ((($1.segments % 4) == 0) && (($1.r % 2) == 1)) { //#8446\n if (($get($1.rows, $1.r).length != $get($1.rows, 0).length) && (($1.finderpos.length % 2) == 1)) { //#8444\n $k[$j++] = Infinity; //#8438\n $k[$j++] = 0; //#8438\n $aload($1.row); //#8438\n $1.row = $a(); //#8438\n $k[$j++] = Infinity; //#8439\n $k[$j++] = 0; //#8439\n $aload($1.sep); //#8439\n $1.sep = $a(); //#8439\n } else { //#8444\n for (var _Ib = $1.row.length - 1; _Ib >= 0; _Ib -= 1) { //#8441\n $k[$j++] = $get($1.row, _Ib); //#8441\n } //#8441\n $astore($1.row); //#8442\n $j--; //#8442\n for (var _Ig = $1.sep.length - 1; _Ig >= 0; _Ig -= 1) { //#8443\n $k[$j++] = $get($1.sep, _Ig); //#8443\n } //#8443\n $astore($1.sep); //#8444\n $j--; //#8444\n } //#8444\n } //#8444\n $put($1.rows, $1.r, $1.row); //#8448\n $put($1.seps, $1.r, $1.sep); //#8449\n } //#8449\n $1.pixx = $get($1.rows, 0).length; //#8454\n $k[$j++] = Infinity; //#8455\n for (var _It = 0, _Iu = $1.pixx; _It < _Iu; _It++) { //#8455\n $k[$j++] = 0; //#8455\n } //#8455\n var _Iv = $a(); //#8455\n $puti(_Iv, 0, $get($1.rows, $1.numrows - 1)); //#8455\n $put($1.rows, $1.numrows - 1, _Iv); //#8456\n $k[$j++] = Infinity; //#8457\n for (var _J2 = 0, _J3 = $1.pixx; _J2 < _J3; _J2++) { //#8457\n $k[$j++] = 0; //#8457\n } //#8457\n var _J4 = $a(); //#8457\n $puti(_J4, 0, $get($1.seps, $1.numrows - 1)); //#8457\n $put($1.seps, $1.numrows - 1, _J4); //#8458\n $k[$j++] = Infinity; //#8461\n for (var _JB = 0, _JC = (~~($1.pixx / 2)) + 1; _JB < _JC; _JB++) { //#8461\n $k[$j++] = 0; //#8461\n $k[$j++] = 1; //#8461\n } //#8461\n $1.sep = $geti($a(), 0, $1.pixx); //#8461\n $puti($1.sep, 0, $a([0, 0, 0, 0])); //#8462\n $puti($1.sep, $1.pixx - 4, $a([0, 0, 0, 0])); //#8463\n $k[$j++] = Infinity; //#8475\n for (var _JN = 0, _JM = $1.numrows - 1; _JN <= _JM; _JN += 1) { //#8477\n $1.r = _JN; //#8468\n if ($1.r != 0) { //#8471\n $aload($get($1.seps, $1.r)); //#8470\n } //#8470\n for (var _JT = 0, _JU = $1.barxmult; _JT < _JU; _JT++) { //#8472\n $aload($get($1.rows, $1.r)); //#8472\n } //#8472\n if ($1.r != ($1.numrows - 1)) { //#8476\n $aload($get($1.seps, $1.r)); //#8474\n $aload($1.sep); //#8475\n } //#8475\n } //#8475\n $1.pixs = $a(); //#8475\n delete $1.options[\"parse\"]; //#8480\n var _Jo = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.pixx],\n [\"pixy\", ~~($1.pixs.length / $1.pixx)],\n [\"height\", (~~($1.pixs.length / $1.pixx)) / 72],\n [\"width\", $1.pixx / 72],\n [\"opt\", $1.options]\n ]); //#8489\n $k[$j++] = _Jo; //#8492\n if (!$1.dontdraw) { //#8492\n bwipp_renmatrix(); //#8492\n } //#8492\n } //#8492\n}\n\nfunction bwipp_databarexpandedstacked() {\n var $1 = {}; //#8524\n $1.options = $k[--$j]; //#8526\n $1.barcode = $k[--$j]; //#8527\n $1.dontdraw = false; //#8529\n $forall($1.options, function() { //#8540\n var _3 = $k[--$j]; //#8540\n $1[$k[--$j]] = _3; //#8540\n }); //#8540\n $put($1.options, \"dontdraw\", true); //#8543\n $put($1.options, \"format\", \"expandedstacked\"); //#8544\n $k[$j++] = 'args'; //#8546\n $k[$j++] = $1.barcode; //#8546\n $k[$j++] = $1.options; //#8546\n bwipp_databarexpanded(); //#8546\n var _9 = $k[--$j]; //#8546\n $1[$k[--$j]] = _9; //#8546\n $put($1.args, \"opt\", $1.options); //#8548\n $k[$j++] = $1.args; //#8551\n if (!$1.dontdraw) { //#8551\n bwipp_renmatrix(); //#8551\n } //#8551\n}\n\nfunction bwipp_gs1northamericancoupon() {\n var $1 = {}; //#8583\n $1.options = $k[--$j]; //#8585\n $1.barcode = $k[--$j]; //#8586\n $1.dontdraw = false; //#8588\n $1.includetext = false; //#8590\n $1.coupontextfont = \"OCR-B\"; //#8591\n $1.coupontextsize = 9; //#8592\n $1.coupontextxoffset = \"unset\"; //#8593\n $1.coupontextyoffset = \"unset\"; //#8594\n $1.parse = false; //#8595\n $1.dontlint = false; //#8596\n $forall($1.options, function() { //#8607\n var _3 = $k[--$j]; //#8607\n $1[$k[--$j]] = _3; //#8607\n }); //#8607\n $1.coupontextfont = \"\" + $1.coupontextfont; //#8609\n $1.coupontextsize = +$1.coupontextsize; //#8610\n if ($ne($1.coupontextxoffset, \"unset\")) { //#8611\n $1.coupontextxoffset = +$1.coupontextxoffset; //#8611\n } //#8611\n if ($ne($1.coupontextyoffset, \"unset\")) { //#8612\n $1.coupontextyoffset = +$1.coupontextyoffset; //#8612\n } //#8612\n $1.expand = function() {\n var _C = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#8619\n $1.fncvals = _C; //#8620\n $k[$j++] = $1.fncvals; //#8621\n bwipp_parseinput(); //#8621\n }; //#8622\n $1.ais = $a([]); //#8625\n $1.vals = $a([]); //#8626\n var _G = $1.barcode; //#8627\n $k[$j++] = $geti(_G, 1, _G.length - 1); //#8640\n for (;;) { //#8640\n var _I = $k[--$j]; //#8629\n $k[$j++] = _I; //#8629\n if ($eq(_I, \"\")) { //#8629\n break; //#8629\n } //#8629\n $search($k[--$j], \")\"); //#8630\n $j--; //#8630\n var _K = $k[--$j]; //#8631\n var _L = $k[--$j]; //#8631\n $k[$j++] = _K; //#8631\n $k[$j++] = _L; //#8631\n $j--; //#8631\n var _M = $k[--$j]; //#8632\n var _N = $k[--$j]; //#8632\n $k[$j++] = _M; //#8632\n $search(_N, \"(\"); //#8632\n if ($k[--$j]) { //#8635\n var _P = $k[--$j]; //#8633\n var _Q = $k[--$j]; //#8633\n $k[$j++] = _P; //#8633\n $k[$j++] = _Q; //#8633\n $j--; //#8633\n var _R = $k[--$j]; //#8633\n var _S = $k[--$j]; //#8633\n var _T = $k[--$j]; //#8633\n $k[$j++] = _S; //#8633\n $k[$j++] = _T; //#8633\n $k[$j++] = _R; //#8633\n } else { //#8635\n var _U = $k[--$j]; //#8635\n var _V = $k[--$j]; //#8635\n $k[$j++] = \"\"; //#8635\n $k[$j++] = _V; //#8635\n $k[$j++] = _U; //#8635\n } //#8635\n $k[$j++] = Infinity; //#8637\n $aload($1.ais); //#8637\n var _Y = $k[$j - 1 - ($counttomark() + 2)]; //#8637\n $k[$j++] = _Y; //#8637\n $1.ais = $a(); //#8637\n $k[$j++] = Infinity; //#8638\n $aload($1.vals); //#8638\n var _c = $k[$j - 1 - ($counttomark() + 1)]; //#8638\n $k[$j++] = _c; //#8638\n $1.expand(); //#8638\n $1.vals = $a(); //#8638\n $j -= 2; //#8639\n } //#8639\n $j--; //#8641\n if ($1.ais.length != 1) { //#8646\n $k[$j++] = 'bwipp.gs1northamericancouponBadAIStructure'; //#8645\n $k[$j++] = \"A GS1 North American Coupon should consist of a single AI (8110)\"; //#8645\n bwipp_raiseerror(); //#8645\n } //#8645\n if ($ne($get($1.ais, 0), \"8110\")) { //#8649\n $k[$j++] = 'bwipp.gs1northamericancouponBadAIStructure'; //#8648\n $k[$j++] = \"A GS1 North American Coupon should consist of a single AI (8110)\"; //#8648\n bwipp_raiseerror(); //#8648\n } //#8648\n if (!$1.dontlint) { //#8651\n $k[$j++] = $1.ais; //#8651\n $k[$j++] = $1.vals; //#8651\n bwipp_gs1lint(); //#8651\n $j--; //#8651\n } //#8651\n $1.val = $get($1.vals, 0); //#8654\n $1.vli = $f($get($1.val, 0) - 48); //#8655\n if (($1.vli < 0) || ($1.vli > 6)) { //#8658\n $k[$j++] = 'bwipp.gs1northamericancouponBadVLI'; //#8657\n $k[$j++] = \"The AI (8110) data should start with a Company Prefix length indicator in the range 0 to 6\"; //#8657\n bwipp_raiseerror(); //#8657\n } //#8657\n $1.gcp = $geti($1.val, 1, $f($1.vli + 6)); //#8659\n $1.cod = $geti($1.val, $f($1.vli + 7), 6); //#8660\n $1.coupontext = $s($1.gcp.length + 7); //#8661\n $puti($1.coupontext, 0, $1.gcp); //#8662\n $puti($1.coupontext, $1.gcp.length, \"-\"); //#8663\n $puti($1.coupontext, $1.gcp.length + 1, $1.cod); //#8664\n delete $1.options[\"parse\"]; //#8667\n $put($1.options, \"dontdraw\", true); //#8668\n $k[$j++] = 'args'; //#8670\n $k[$j++] = $1.barcode; //#8670\n $k[$j++] = $1.options; //#8670\n bwipp_databarexpandedstacked(); //#8670\n var _19 = $k[--$j]; //#8670\n $1[$k[--$j]] = _19; //#8670\n if ($1.includetext) { //#8689\n if ($1.coupontextxoffset == \"unset\") { //#8676\n $1.coupontextxoffset = 0; //#8675\n } //#8675\n if ($1.coupontextyoffset == \"unset\") { //#8679\n $1.coupontextyoffset = $f(($get($1.args, \"height\") * 72) + 3); //#8678\n } //#8678\n var _1H = $get($1.args, \"txt\") !== undefined; //#8680\n if (_1H) { //#8687\n $1.txt = $get($1.args, \"txt\"); //#8681\n $1.newtxt = $a($1.txt.length + 1); //#8682\n $puti($1.newtxt, 0, $1.txt); //#8683\n $put($1.newtxt, $1.newtxt.length - 1, $a([$1.coupontext, $1.coupontextxoffset, $1.coupontextyoffset, $1.coupontextfont, $1.coupontextsize])); //#8684\n $put($1.args, \"txt\", $1.newtxt); //#8685\n } else { //#8687\n $put($1.args, \"txt\", $a([$a([$1.coupontext, $1.coupontextxoffset, $1.coupontextyoffset, $1.coupontextfont, $1.coupontextsize])])); //#8687\n } //#8687\n } //#8687\n $put($1.args, \"opt\", $1.options); //#8691\n $k[$j++] = $1.args; //#8694\n if (!$1.dontdraw) { //#8694\n bwipp_renmatrix(); //#8694\n } //#8694\n}\n\nfunction bwipp_pharmacode() {\n var $1 = {}; //#8723\n $1.options = $k[--$j]; //#8725\n $1.barcode = $k[--$j]; //#8726\n $1.dontdraw = false; //#8728\n $1.height = (8 * 2.835) / 72; //#8729\n $1.nwidth = 0.5 * 2.835; //#8730\n $1.wwidth = 1.5 * 2.835; //#8731\n $1.swidth = 1 * 2.835; //#8732\n $forall($1.options, function() { //#8743\n var _3 = $k[--$j]; //#8743\n $1[$k[--$j]] = _3; //#8743\n }); //#8743\n $1.height = +$1.height; //#8745\n $1.nwidth = +$1.nwidth; //#8746\n $1.wwidth = +$1.wwidth; //#8747\n $1.swidth = +$1.swidth; //#8748\n if (($1.barcode.length < 1) || ($1.barcode.length > 6)) { //#8753\n $k[$j++] = 'bwipp.pharmacodeBadLength'; //#8752\n $k[$j++] = \"Pharmacode must be 1 to 6 digits\"; //#8752\n bwipp_raiseerror(); //#8752\n } //#8752\n $forall($1.barcode, function() { //#8758\n var _C = $k[--$j]; //#8755\n if ((_C < 48) || (_C > 57)) { //#8757\n $k[$j++] = 'bwipp.pharmacodeBadCharacter'; //#8756\n $k[$j++] = \"Pharmacode must contain only digits\"; //#8756\n bwipp_raiseerror(); //#8756\n } //#8756\n }); //#8756\n var _E = ~~$z($1.barcode); //#8759\n if ((_E < 3) || (_E > 131070)) { //#8761\n $k[$j++] = 'bwipp.pharmacodeBadValue'; //#8760\n $k[$j++] = \"Pharmacode value must be between 3 and 131070\"; //#8760\n bwipp_raiseerror(); //#8760\n } //#8760\n $1.txt = $a($1.barcode.length); //#8764\n for (var _J = 0, _I = $1.barcode.length - 1; _J <= _I; _J += 1) { //#8768\n $1.i = _J; //#8766\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), 0, 0, \"\", 0])); //#8767\n } //#8767\n $1.barcode = $cvrs($s(17), (~~$z($1.barcode)) + 1, 2); //#8771\n $1.barcode = $geti($1.barcode, 1, $1.barcode.length - 1); //#8772\n $1.barlen = $1.barcode.length; //#8774\n $1.sbs = $a($1.barlen * 2); //#8775\n for (var _b = 0, _a = $1.barlen - 1; _b <= _a; _b += 1) { //#8786\n $1.i = _b; //#8778\n $1.enc = $geti($1.barcode, $1.i, 1); //#8779\n if ($eq($1.enc, \"0\")) { //#8783\n $put($1.sbs, $1.i * 2, $1.nwidth); //#8781\n } else { //#8783\n $put($1.sbs, $1.i * 2, $1.wwidth); //#8783\n } //#8783\n $put($1.sbs, ($1.i * 2) + 1, $1.swidth); //#8785\n } //#8785\n $k[$j++] = Infinity; //#8796\n var _p = $1.sbs; //#8791\n $k[$j++] = Infinity; //#8792\n for (var _r = 0, _s = ~~(($1.sbs.length + 1) / 2); _r < _s; _r++) { //#8792\n $k[$j++] = $1.height; //#8792\n } //#8792\n var _u = $a(); //#8792\n $k[$j++] = Infinity; //#8793\n for (var _w = 0, _x = ~~(($1.sbs.length + 1) / 2); _w < _x; _w++) { //#8793\n $k[$j++] = 0; //#8793\n } //#8793\n var _y = $a(); //#8793\n $k[$j++] = 'ren'; //#8796\n $k[$j++] = bwipp_renlinear; //#8796\n $k[$j++] = 'sbs'; //#8796\n $k[$j++] = _p; //#8796\n $k[$j++] = 'bhs'; //#8796\n $k[$j++] = _u; //#8796\n $k[$j++] = 'bbs'; //#8796\n $k[$j++] = _y; //#8796\n $k[$j++] = 'txt'; //#8796\n $k[$j++] = $1.txt; //#8796\n $k[$j++] = 'textxalign'; //#8796\n $k[$j++] = \"center\"; //#8796\n $k[$j++] = 'opt'; //#8796\n $k[$j++] = $1.options; //#8796\n var _11 = $d(); //#8796\n $k[$j++] = _11; //#8799\n if (!$1.dontdraw) { //#8799\n bwipp_renlinear(); //#8799\n } //#8799\n}\n\nfunction bwipp_pharmacode2() {\n var $1 = {}; //#8828\n $1.options = $k[--$j]; //#8830\n $1.barcode = $k[--$j]; //#8831\n $1.dontdraw = false; //#8833\n $1.includetext = false; //#8834\n $1.height = 4; //#8835\n $forall($1.options, function() { //#8846\n var _3 = $k[--$j]; //#8846\n $1[$k[--$j]] = _3; //#8846\n }); //#8846\n $1.height = +$1.height; //#8848\n if (($1.barcode.length < 1) || ($1.barcode.length > 8)) { //#8853\n $k[$j++] = 'bwipp.pharmacode2BadLength'; //#8852\n $k[$j++] = \"Two-track Pharmacode must be 1 to 6 digits\"; //#8852\n bwipp_raiseerror(); //#8852\n } //#8852\n $forall($1.barcode, function() { //#8858\n var _9 = $k[--$j]; //#8855\n if ((_9 < 48) || (_9 > 57)) { //#8857\n $k[$j++] = 'bwipp.pharmacode2badCharacter'; //#8856\n $k[$j++] = \"Two-track Pharmacode must contain only digits\"; //#8856\n bwipp_raiseerror(); //#8856\n } //#8856\n }); //#8856\n var _B = ~~$z($1.barcode); //#8859\n if ((_B < 4) || (_B > 64570080)) { //#8861\n $k[$j++] = 'bwipp.pharmacode2badValue'; //#8860\n $k[$j++] = \"Two-track Pharmacode value must be between 4 and 64570080\"; //#8860\n bwipp_raiseerror(); //#8860\n } //#8860\n $1.txt = $a($1.barcode.length); //#8864\n for (var _G = 0, _F = $1.barcode.length - 1; _G <= _F; _G += 1) { //#8868\n $1.i = _G; //#8866\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), 0, 0, \"\", 0])); //#8867\n } //#8867\n $1.encstr = $s(16); //#8870\n $1.sbs = $a(32); //#8871\n $1.bar = (1 / 25.4) * $1.height; //#8872\n $1.spc = (1 / 25.4) * 72; //#8873\n $1.i = 15; //#8876\n $1.val = ~~$z($1.barcode); //#8877\n for (;;) { //#8884\n if ($1.val == 0) { //#8879\n break; //#8879\n } //#8879\n var _T = $1.val % 3; //#8880\n $1.val = ~~($f($1.val - $get($a([3, 1, 2]), _T)) / 3); //#8881\n $put($1.encstr, $1.i, $get($a([2, 0, 1]), _T)); //#8882\n $1.i = $1.i - 1; //#8883\n } //#8883\n $1.encstr = $geti($1.encstr, $1.i + 1, 15 - $1.i); //#8885\n $1.bhs = $a($1.encstr.length); //#8888\n $1.bbs = $a($1.encstr.length); //#8889\n for (var _m = 0, _l = $1.encstr.length - 1; _m <= _l; _m += 1) { //#8895\n $1.i = _m; //#8891\n var _p = $get($1.encstr, $1.i); //#8892\n $put($1.bhs, $1.i, $1.bar * $get($a([1, 1, 2]), _p)); //#8893\n $put($1.bbs, $1.i, $get($a([0, $1.bar, 0]), _p)); //#8894\n } //#8894\n $k[$j++] = Infinity; //#8906\n var _10 = $1.bhs; //#8900\n var _11 = $1.bbs; //#8901\n $k[$j++] = Infinity; //#8902\n for (var _13 = 0, _14 = $1.encstr.length * 2; _13 < _14; _13++) { //#8902\n $k[$j++] = $1.spc; //#8902\n } //#8902\n var _16 = $a(); //#8902\n $k[$j++] = 'ren'; //#8906\n $k[$j++] = bwipp_renlinear; //#8906\n $k[$j++] = 'bhs'; //#8906\n $k[$j++] = _10; //#8906\n $k[$j++] = 'bbs'; //#8906\n $k[$j++] = _11; //#8906\n $k[$j++] = 'sbs'; //#8906\n $k[$j++] = _16; //#8906\n $k[$j++] = 'txt'; //#8906\n $k[$j++] = $1.txt; //#8906\n $k[$j++] = 'textxalign'; //#8906\n $k[$j++] = \"center\"; //#8906\n $k[$j++] = 'textyoffset'; //#8906\n $k[$j++] = 4; //#8906\n $k[$j++] = 'opt'; //#8906\n $k[$j++] = $1.options; //#8906\n var _19 = $d(); //#8906\n $k[$j++] = _19; //#8909\n if (!$1.dontdraw) { //#8909\n bwipp_renlinear(); //#8909\n } //#8909\n}\n\nfunction bwipp_code2of5() {\n var $1 = {}; //#8938\n $1.options = $k[--$j]; //#8940\n $1.barcode = $k[--$j]; //#8941\n $1.dontdraw = false; //#8943\n $1.includecheck = false; //#8944\n $1.validatecheck = false; //#8945\n $1.includetext = false; //#8946\n $1.includecheckintext = false; //#8947\n $1.textfont = \"OCR-B\"; //#8948\n $1.textsize = 10; //#8949\n $1.textyoffset = -8; //#8950\n $1.height = 1; //#8951\n $1.version = \"industrial\"; //#8952\n $forall($1.options, function() { //#8963\n var _3 = $k[--$j]; //#8963\n $1[$k[--$j]] = _3; //#8963\n }); //#8963\n $1.textfont = \"\" + $1.textfont; //#8965\n $1.textsize = +$1.textsize; //#8966\n $1.textyoffset = +$1.textyoffset; //#8967\n $1.height = +$1.height; //#8968\n $forall($1.barcode, function() { //#8975\n var _A = $k[--$j]; //#8972\n if ((_A < 48) || (_A > 57)) { //#8974\n $k[$j++] = 'bwipp.code2of5badCharacter'; //#8973\n $k[$j++] = \"Code 25 must contain only digits\"; //#8973\n bwipp_raiseerror(); //#8973\n } //#8973\n }); //#8973\n $k[$j++] = 'barlen'; //#8977\n $k[$j++] = $1.barcode.length; //#8977\n if ($1.validatecheck) { //#8977\n var _D = $k[--$j]; //#8977\n $k[$j++] = $f(_D - 1); //#8977\n } //#8977\n var _E = $k[--$j]; //#8977\n $1[$k[--$j]] = _E; //#8977\n $1.checksum = 0; //#8979\n for (var _I = 0, _H = $f($1.barlen - 1); _I <= _H; _I += 1) { //#8983\n $1.i = _I; //#8981\n $k[$j++] = 'checksum'; //#8982\n $k[$j++] = $1.checksum; //#8982\n $k[$j++] = $f($get($1.barcode, $1.i) - 48); //#8982\n if (($f($1.barlen - $1.i) % 2) != 0) { //#8982\n var _P = $k[--$j]; //#8982\n $k[$j++] = _P * 3; //#8982\n } //#8982\n var _Q = $k[--$j]; //#8982\n var _R = $k[--$j]; //#8982\n $1[$k[--$j]] = $f(_R + _Q); //#8982\n } //#8982\n $1.checksum = (10 - ($1.checksum % 10)) % 10; //#8984\n if ($1.validatecheck) { //#8991\n if ($get($1.barcode, $1.barlen) != ($1.checksum + 48)) { //#8988\n $k[$j++] = 'bwipp.code2of5badCheckDigit'; //#8987\n $k[$j++] = \"Incorrect Code 25 check digit provided\"; //#8987\n bwipp_raiseerror(); //#8987\n } //#8987\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#8989\n $1.includecheck = true; //#8990\n } //#8990\n var _h = new Map([\n [\"industrial\", $a([\"1111313111\", \"3111111131\", \"1131111131\", \"3131111111\", \"1111311131\", \"3111311111\", \"1131311111\", \"1111113131\", \"3111113111\", \"1131113111\", \"313111\", \"31113\"])],\n [\"iata\", $a([\"1111313111\", \"3111111131\", \"1131111131\", \"3131111111\", \"1111311131\", \"3111311111\", \"1131311111\", \"1111113131\", \"3111113111\", \"1131113111\", \"1111\", \"311\"])],\n [\"matrix\", $a([\"113311\", \"311131\", \"131131\", \"331111\", \"113131\", \"313111\", \"133111\", \"111331\", \"311311\", \"131311\", \"311111\", \"31111\"])],\n [\"coop\", $a([\"331111\", \"111331\", \"113131\", \"113311\", \"131131\", \"131311\", \"133111\", \"311131\", \"311311\", \"313111\", \"3131\", \"133\"])],\n [\"datalogic\", $a([\"113311\", \"311131\", \"131131\", \"331111\", \"113131\", \"313111\", \"133111\", \"111331\", \"311311\", \"131311\", \"1111\", \"311\"])]\n ]); //#9015\n $1.versions = _h; //#9017\n var _k = $get($1.versions, $1.version) !== undefined; //#9018\n if (!_k) { //#9020\n $k[$j++] = 'bwipp.code2of5badVersion'; //#9019\n $k[$j++] = \"Unrecognised Code 25 version\"; //#9019\n bwipp_raiseerror(); //#9019\n } //#9019\n $1.encs = $get($1.versions, $1.version); //#9021\n $1.cs = $get($1.encs, 0).length; //#9023\n $k[$j++] = 'cw'; //#9024\n $k[$j++] = 0; //#9024\n $forall($get($1.encs, 0), function() { //#9024\n var _s = $k[--$j]; //#9024\n var _t = $k[--$j]; //#9024\n $k[$j++] = $f(_t + $f(_s - 48)); //#9024\n }); //#9024\n var _u = $k[--$j]; //#9024\n $1[$k[--$j]] = _u; //#9024\n $1.ss = $get($1.encs, 10).length; //#9025\n $k[$j++] = 'sw'; //#9026\n $k[$j++] = 0; //#9026\n $forall($get($1.encs, 10), function() { //#9026\n var _10 = $k[--$j]; //#9026\n var _11 = $k[--$j]; //#9026\n $k[$j++] = $f(_11 + $f(_10 - 48)); //#9026\n }); //#9026\n var _12 = $k[--$j]; //#9026\n $1[$k[--$j]] = _12; //#9026\n $1.es = $get($1.encs, 11).length; //#9027\n $1.barchars = \"0123456789\"; //#9030\n $k[$j++] = 'sbs'; //#9032\n $k[$j++] = $1.barlen; //#9032\n if ($1.includecheck) { //#9032\n var _18 = $k[--$j]; //#9032\n $k[$j++] = $f(_18 + 1); //#9032\n } //#9032\n var _1D = $s($f(($f(($k[--$j] * $1.cs) + $1.ss)) + $1.es)); //#9032\n $1[$k[--$j]] = _1D; //#9032\n $k[$j++] = 'txt'; //#9033\n $k[$j++] = $1.barlen; //#9033\n if ($1.includecheck) { //#9033\n var _1H = $k[--$j]; //#9033\n $k[$j++] = $f(_1H + 1); //#9033\n } //#9033\n var _1J = $a($k[--$j]); //#9033\n $1[$k[--$j]] = _1J; //#9033\n $puti($1.sbs, 0, $get($1.encs, 10)); //#9036\n for (var _1Q = 0, _1P = $f($1.barlen - 1); _1Q <= _1P; _1Q += 1) { //#9047\n $1.i = _1Q; //#9038\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#9040\n $j--; //#9041\n $1.indx = $k[--$j].length; //#9042\n $j -= 2; //#9043\n $1.enc = $get($1.encs, $1.indx); //#9044\n $puti($1.sbs, ($1.i * $1.cs) + $1.ss, $1.enc); //#9045\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $f(($1.i * $1.cw) + $1.sw), $1.textyoffset, $1.textfont, $1.textsize])); //#9046\n } //#9046\n if ($1.includecheck) { //#9059\n $puti($1.sbs, $f(($1.barlen * $1.cs) + $1.ss), $get($1.encs, $1.checksum)); //#9051\n $puti($1.sbs, $f(($f(($1.barlen * $1.cs) + $1.cs)) + $1.ss), $get($1.encs, 11)); //#9052\n if ($1.includecheckintext) { //#9056\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum, 1), $f(($1.barlen * $1.cw) + $1.sw), $1.textyoffset, $1.textfont, $1.textsize])); //#9054\n } else { //#9056\n $put($1.txt, $1.barlen, $a([\" \", $f(($1.barlen * $1.cw) + $1.sw), $1.textyoffset, $1.textfont, $1.textsize])); //#9056\n } //#9056\n } else { //#9059\n $puti($1.sbs, $f(($1.barlen * $1.cs) + $1.ss), $get($1.encs, 11)); //#9059\n } //#9059\n $k[$j++] = Infinity; //#9071\n $k[$j++] = Infinity; //#9065\n $forall($1.sbs, function() { //#9065\n var _2Y = $k[--$j]; //#9065\n $k[$j++] = $f(_2Y - 48); //#9065\n }); //#9065\n var _2Z = $a(); //#9065\n $k[$j++] = Infinity; //#9066\n for (var _2b = 0, _2c = ~~(($1.sbs.length + 1) / 2); _2b < _2c; _2b++) { //#9066\n $k[$j++] = $1.height; //#9066\n } //#9066\n var _2e = $a(); //#9066\n $k[$j++] = Infinity; //#9067\n for (var _2g = 0, _2h = ~~(($1.sbs.length + 1) / 2); _2g < _2h; _2g++) { //#9067\n $k[$j++] = 0; //#9067\n } //#9067\n var _2i = $a(); //#9067\n $k[$j++] = 'ren'; //#9070\n $k[$j++] = bwipp_renlinear; //#9070\n $k[$j++] = 'sbs'; //#9070\n $k[$j++] = _2Z; //#9070\n $k[$j++] = 'bhs'; //#9070\n $k[$j++] = _2e; //#9070\n $k[$j++] = 'bbs'; //#9070\n $k[$j++] = _2i; //#9070\n if ($1.includetext) { //#9070\n $k[$j++] = 'txt'; //#9069\n $k[$j++] = $1.txt; //#9069\n } //#9069\n $k[$j++] = 'opt'; //#9071\n $k[$j++] = $1.options; //#9071\n var _2m = $d(); //#9071\n $k[$j++] = _2m; //#9074\n if (!$1.dontdraw) { //#9074\n bwipp_renlinear(); //#9074\n } //#9074\n}\n\nfunction bwipp_industrial2of5() {\n var $1 = {}; //#9104\n $1.options = $k[--$j]; //#9106\n $1.barcode = $k[--$j]; //#9107\n $1.dontdraw = false; //#9109\n $1.includetext = false; //#9110\n $1.textfont = \"OCR-B\"; //#9111\n $1.textsize = 10; //#9112\n $1.textxoffset = 0; //#9113\n $1.textyoffset = -8; //#9114\n $1.height = 1; //#9115\n $forall($1.options, function() { //#9126\n var _3 = $k[--$j]; //#9126\n $1[$k[--$j]] = _3; //#9126\n }); //#9126\n $1.textfont = \"\" + $1.textfont; //#9128\n $1.textsize = +$1.textsize; //#9129\n $1.textxoffset = +$1.textxoffset; //#9130\n $1.textyoffset = +$1.textyoffset; //#9131\n $1.height = +$1.height; //#9132\n $put($1.options, \"dontdraw\", true); //#9135\n $put($1.options, \"version\", \"industrial\"); //#9136\n $k[$j++] = 'args'; //#9138\n $k[$j++] = $1.barcode; //#9138\n $k[$j++] = $1.options; //#9138\n bwipp_code2of5(); //#9138\n var _E = $k[--$j]; //#9138\n $1[$k[--$j]] = _E; //#9138\n $put($1.args, \"opt\", $1.options); //#9140\n $k[$j++] = $1.args; //#9143\n if (!$1.dontdraw) { //#9143\n bwipp_renlinear(); //#9143\n } //#9143\n}\n\nfunction bwipp_iata2of5() {\n var $1 = {}; //#9173\n $1.options = $k[--$j]; //#9175\n $1.barcode = $k[--$j]; //#9176\n $1.dontdraw = false; //#9178\n $1.includetext = false; //#9179\n $1.textfont = \"OCR-B\"; //#9180\n $1.textsize = 10; //#9181\n $1.textxoffset = 0; //#9182\n $1.textyoffset = -8; //#9183\n $1.height = 1; //#9184\n $forall($1.options, function() { //#9195\n var _3 = $k[--$j]; //#9195\n $1[$k[--$j]] = _3; //#9195\n }); //#9195\n $1.textfont = \"\" + $1.textfont; //#9197\n $1.textsize = +$1.textsize; //#9198\n $1.textxoffset = +$1.textxoffset; //#9199\n $1.textyoffset = +$1.textyoffset; //#9200\n $1.height = +$1.height; //#9201\n $put($1.options, \"dontdraw\", true); //#9204\n $put($1.options, \"version\", \"iata\"); //#9205\n $k[$j++] = 'args'; //#9207\n $k[$j++] = $1.barcode; //#9207\n $k[$j++] = $1.options; //#9207\n bwipp_code2of5(); //#9207\n var _E = $k[--$j]; //#9207\n $1[$k[--$j]] = _E; //#9207\n $put($1.args, \"opt\", $1.options); //#9209\n $k[$j++] = $1.args; //#9212\n if (!$1.dontdraw) { //#9212\n bwipp_renlinear(); //#9212\n } //#9212\n}\n\nfunction bwipp_matrix2of5() {\n var $1 = {}; //#9242\n $1.options = $k[--$j]; //#9244\n $1.barcode = $k[--$j]; //#9245\n $1.dontdraw = false; //#9247\n $1.includetext = false; //#9248\n $1.textfont = \"OCR-B\"; //#9249\n $1.textsize = 10; //#9250\n $1.textxoffset = 0; //#9251\n $1.textyoffset = -8; //#9252\n $1.height = 1; //#9253\n $forall($1.options, function() { //#9264\n var _3 = $k[--$j]; //#9264\n $1[$k[--$j]] = _3; //#9264\n }); //#9264\n $1.textfont = \"\" + $1.textfont; //#9266\n $1.textsize = +$1.textsize; //#9267\n $1.textxoffset = +$1.textxoffset; //#9268\n $1.textyoffset = +$1.textyoffset; //#9269\n $1.height = +$1.height; //#9270\n $put($1.options, \"dontdraw\", true); //#9273\n $put($1.options, \"version\", \"matrix\"); //#9274\n $k[$j++] = 'args'; //#9276\n $k[$j++] = $1.barcode; //#9276\n $k[$j++] = $1.options; //#9276\n bwipp_code2of5(); //#9276\n var _E = $k[--$j]; //#9276\n $1[$k[--$j]] = _E; //#9276\n $put($1.args, \"opt\", $1.options); //#9278\n $k[$j++] = $1.args; //#9281\n if (!$1.dontdraw) { //#9281\n bwipp_renlinear(); //#9281\n } //#9281\n}\n\nfunction bwipp_coop2of5() {\n var $1 = {}; //#9311\n $1.options = $k[--$j]; //#9313\n $1.barcode = $k[--$j]; //#9314\n $1.dontdraw = false; //#9316\n $1.includetext = false; //#9317\n $1.textfont = \"OCR-B\"; //#9318\n $1.textsize = 10; //#9319\n $1.textxoffset = 0; //#9320\n $1.textyoffset = -8; //#9321\n $1.height = 1; //#9322\n $forall($1.options, function() { //#9333\n var _3 = $k[--$j]; //#9333\n $1[$k[--$j]] = _3; //#9333\n }); //#9333\n $1.textfont = \"\" + $1.textfont; //#9335\n $1.textsize = +$1.textsize; //#9336\n $1.textxoffset = +$1.textxoffset; //#9337\n $1.textyoffset = +$1.textyoffset; //#9338\n $1.height = +$1.height; //#9339\n $put($1.options, \"dontdraw\", true); //#9342\n $put($1.options, \"version\", \"coop\"); //#9343\n $k[$j++] = 'args'; //#9345\n $k[$j++] = $1.barcode; //#9345\n $k[$j++] = $1.options; //#9345\n bwipp_code2of5(); //#9345\n var _E = $k[--$j]; //#9345\n $1[$k[--$j]] = _E; //#9345\n $put($1.args, \"opt\", $1.options); //#9347\n $k[$j++] = $1.args; //#9350\n if (!$1.dontdraw) { //#9350\n bwipp_renlinear(); //#9350\n } //#9350\n}\n\nfunction bwipp_datalogic2of5() {\n var $1 = {}; //#9380\n $1.options = $k[--$j]; //#9382\n $1.barcode = $k[--$j]; //#9383\n $1.dontdraw = false; //#9385\n $1.includetext = false; //#9386\n $1.textfont = \"OCR-B\"; //#9387\n $1.textsize = 10; //#9388\n $1.textxoffset = 0; //#9389\n $1.textyoffset = -8; //#9390\n $1.height = 1; //#9391\n $forall($1.options, function() { //#9402\n var _3 = $k[--$j]; //#9402\n $1[$k[--$j]] = _3; //#9402\n }); //#9402\n $1.textfont = \"\" + $1.textfont; //#9404\n $1.textsize = +$1.textsize; //#9405\n $1.textxoffset = +$1.textxoffset; //#9406\n $1.textyoffset = +$1.textyoffset; //#9407\n $1.height = +$1.height; //#9408\n $put($1.options, \"dontdraw\", true); //#9411\n $put($1.options, \"version\", \"datalogic\"); //#9412\n $k[$j++] = 'args'; //#9414\n $k[$j++] = $1.barcode; //#9414\n $k[$j++] = $1.options; //#9414\n bwipp_code2of5(); //#9414\n var _E = $k[--$j]; //#9414\n $1[$k[--$j]] = _E; //#9414\n $put($1.args, \"opt\", $1.options); //#9416\n $k[$j++] = $1.args; //#9419\n if (!$1.dontdraw) { //#9419\n bwipp_renlinear(); //#9419\n } //#9419\n}\n\nfunction bwipp_code11() {\n var $1 = {}; //#9448\n $1.options = $k[--$j]; //#9450\n $1.barcode = $k[--$j]; //#9451\n $1.dontdraw = false; //#9453\n $1.includecheck = false; //#9454\n $1.validatecheck = false; //#9455\n $1.includetext = false; //#9456\n $1.includecheckintext = false; //#9457\n $1.textfont = \"OCR-B\"; //#9458\n $1.textsize = 10; //#9459\n $1.textyoffset = -8; //#9460\n $1.height = 1; //#9461\n $forall($1.options, function() { //#9472\n var _3 = $k[--$j]; //#9472\n $1[$k[--$j]] = _3; //#9472\n }); //#9472\n $1.textfont = \"\" + $1.textfont; //#9474\n $1.textsize = +$1.textsize; //#9475\n $1.textyoffset = +$1.textyoffset; //#9476\n $1.height = +$1.height; //#9477\n $1.encs = $a([\"111131\", \"311131\", \"131131\", \"331111\", \"113131\", \"313111\", \"133111\", \"111331\", \"311311\", \"311111\", \"113111\", \"113311\"]); //#9484\n $1.barchars = \"0123456789-\"; //#9487\n $1.charvals = new Map; //#9488\n for (var _A = 0; _A <= 10; _A += 1) { //#9489\n $put($1.charvals, $geti($1.barchars, _A, 1), _A); //#9489\n } //#9489\n for (var _G = 0, _F = $1.barcode.length - 1; _G <= _F; _G += 1) { //#9496\n var _K = $get($1.charvals, $geti($1.barcode, _G, 1)) !== undefined; //#9493\n if (!_K) { //#9495\n $k[$j++] = 'bwipp.code11badCharacter'; //#9494\n $k[$j++] = \"Code 11 must contain only digits and dashes\"; //#9494\n bwipp_raiseerror(); //#9494\n } //#9494\n } //#9494\n $1.barlen = $1.barcode.length; //#9498\n if ($1.validatecheck) { //#9504\n if ($1.barlen == 11) { //#9502\n $k[$j++] = 'bwipp.code11badLength'; //#9501\n $k[$j++] = \"Code 11 cannot be 11 characters using check digits\"; //#9501\n bwipp_raiseerror(); //#9501\n } //#9501\n var _Q = ($1.barlen <= 10) ? 1 : 2; //#9503\n $1.barlen = $1.barlen - _Q; //#9503\n } //#9503\n $k[$j++] = 'numchecks'; //#9506\n if ($1.includecheck || $1.validatecheck) { //#9506\n var _U = ($1.barlen >= 10) ? 2 : 1; //#9506\n $k[$j++] = _U; //#9506\n } else { //#9506\n $k[$j++] = 0; //#9506\n } //#9506\n var _V = $k[--$j]; //#9506\n $1[$k[--$j]] = _V; //#9506\n $1.checksum1 = 0; //#9507\n $1.checksum2 = 0; //#9507\n for (var _Z = 0, _Y = $1.barlen - 1; _Z <= _Y; _Z += 1) { //#9513\n $1.i = _Z; //#9509\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#9510\n $1.checksum1 = $f($1.checksum1 + ((((($1.barlen - $1.i) - 1) % 10) + 1) * $1.indx)); //#9511\n $1.checksum2 = $f($1.checksum2 + (((($1.barlen - $1.i) % 9) + 1) * $1.indx)); //#9512\n } //#9512\n $1.checksum1 = $1.checksum1 % 11; //#9514\n $1.checksum2 = $f($1.checksum2 + $1.checksum1) % 11; //#9515\n if ($1.validatecheck) { //#9529\n var _r = $1.numchecks; //#9517\n if (_r == 1) { //#9524\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum1)) { //#9520\n $k[$j++] = 'bwipp.code11badCheckDigit'; //#9519\n $k[$j++] = \"Incorrect Code 11 check digit provided\"; //#9519\n bwipp_raiseerror(); //#9519\n } //#9519\n } else { //#9524\n if (($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum1)) || ($get($1.barcode, $1.barlen + 1) != $get($1.barchars, $1.checksum2))) { //#9525\n $k[$j++] = 'bwipp.code11badCheckDigits'; //#9524\n $k[$j++] = \"Incorrect Code 11 check digits provided\"; //#9524\n bwipp_raiseerror(); //#9524\n } //#9524\n } //#9524\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#9527\n $1.includecheck = true; //#9528\n } //#9528\n $1.sbs = $s($f(($f($1.barlen + $1.numchecks) * 6) + 12)); //#9531\n $1.txt = $a($f($1.barlen + $1.numchecks)); //#9532\n $puti($1.sbs, 0, $get($1.encs, 11)); //#9535\n $1.xpos = 8; //#9537\n for (var _1O = 0, _1N = $1.barlen - 1; _1O <= _1N; _1O += 1) { //#9547\n $1.i = _1O; //#9539\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#9540\n $1.enc = $get($1.encs, $1.indx); //#9541\n $puti($1.sbs, ($1.i * 6) + 6, $1.enc); //#9542\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9543\n for (var _1k = 0; _1k <= 5; _1k += 1) { //#9546\n $1.xpos = $f($f($get($1.enc, _1k) - 48) + $1.xpos); //#9545\n } //#9545\n } //#9545\n if ($1.includecheck) { //#9576\n if ($1.barlen >= 10) { //#9573\n $puti($1.sbs, ($1.barlen * 6) + 6, $get($1.encs, $1.checksum1)); //#9552\n $puti($1.sbs, ($1.barlen * 6) + 12, $get($1.encs, $1.checksum2)); //#9553\n if ($1.includecheckintext) { //#9563\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum1, 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9555\n $1.enc = $get($1.encs, $1.checksum1); //#9556\n for (var _2E = 0; _2E <= 5; _2E += 1) { //#9559\n $1.xpos = $f($f($get($1.enc, _2E) - 48) + $1.xpos); //#9558\n } //#9558\n $put($1.txt, $1.barlen + 1, $a([$geti($1.barchars, $1.checksum2, 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9560\n } else { //#9563\n $put($1.txt, $1.barlen, $a([\"\", $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9562\n $put($1.txt, $1.barlen + 1, $a([\"\", $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9563\n } //#9563\n $puti($1.sbs, ($1.barlen * 6) + 18, $get($1.encs, 11)); //#9565\n } else { //#9573\n $puti($1.sbs, ($1.barlen * 6) + 6, $get($1.encs, $1.checksum1)); //#9567\n if ($1.includecheckintext) { //#9571\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum1, 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9569\n } else { //#9571\n $put($1.txt, $1.barlen, $a([\"\", $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9571\n } //#9571\n $puti($1.sbs, ($1.barlen * 6) + 12, $get($1.encs, 11)); //#9573\n } //#9573\n } else { //#9576\n $puti($1.sbs, ($1.barlen * 6) + 6, $get($1.encs, 11)); //#9576\n } //#9576\n $k[$j++] = Infinity; //#9588\n $k[$j++] = Infinity; //#9582\n var _3F = $1.sbs; //#9582\n for (var _3G = 0, _3H = _3F.length; _3G < _3H; _3G++) { //#9582\n $k[$j++] = $get(_3F, _3G) - 48; //#9582\n } //#9582\n var _3J = $a(); //#9582\n $k[$j++] = Infinity; //#9583\n for (var _3L = 0, _3M = ~~(($1.sbs.length + 1) / 2); _3L < _3M; _3L++) { //#9583\n $k[$j++] = $1.height; //#9583\n } //#9583\n var _3O = $a(); //#9583\n $k[$j++] = Infinity; //#9584\n for (var _3Q = 0, _3R = ~~(($1.sbs.length + 1) / 2); _3Q < _3R; _3Q++) { //#9584\n $k[$j++] = 0; //#9584\n } //#9584\n var _3S = $a(); //#9584\n $k[$j++] = 'ren'; //#9587\n $k[$j++] = bwipp_renlinear; //#9587\n $k[$j++] = 'sbs'; //#9587\n $k[$j++] = _3J; //#9587\n $k[$j++] = 'bhs'; //#9587\n $k[$j++] = _3O; //#9587\n $k[$j++] = 'bbs'; //#9587\n $k[$j++] = _3S; //#9587\n if ($1.includetext) { //#9587\n $k[$j++] = 'txt'; //#9586\n $k[$j++] = $1.txt; //#9586\n } //#9586\n $k[$j++] = 'opt'; //#9588\n $k[$j++] = $1.options; //#9588\n var _3W = $d(); //#9588\n $k[$j++] = _3W; //#9591\n if (!$1.dontdraw) { //#9591\n bwipp_renlinear(); //#9591\n } //#9591\n}\n\nfunction bwipp_bc412() {\n var $1 = {}; //#9620\n $1.options = $k[--$j]; //#9622\n $1.barcode = $k[--$j]; //#9623\n $1.dontdraw = false; //#9625\n $1.includecheck = false; //#9626\n $1.validatecheck = false; //#9627\n $1.includetext = false; //#9628\n $1.includecheckintext = false; //#9629\n $1.includestartstop = false; //#9630\n $1.semi = false; //#9631\n $1.textfont = \"OCR-B\"; //#9632\n $1.textsize = 10; //#9633\n $1.textyoffset = -8; //#9634\n $1.height = 1; //#9635\n $forall($1.options, function() { //#9646\n var _3 = $k[--$j]; //#9646\n $1[$k[--$j]] = _3; //#9646\n }); //#9646\n $1.textfont = \"\" + $1.textfont; //#9648\n $1.textsize = +$1.textsize; //#9649\n $1.textyoffset = +$1.textyoffset; //#9650\n $1.height = +$1.height; //#9651\n if ($1.semi) { //#9656\n $1.includecheck = true; //#9654\n $1.includestartstop = true; //#9655\n } //#9655\n $1.barchars = \"0R9GLVHA8EZ4NTS1J2Q6C7DYKBUIX3FWP5M\"; //#9659\n $1.charvals = new Map; //#9660\n for (var _A = 0; _A <= 34; _A += 1) { //#9661\n $put($1.charvals, $geti($1.barchars, _A, 1), _A); //#9661\n } //#9661\n for (var _G = 0, _F = $1.barcode.length - 1; _G <= _F; _G += 1) { //#9668\n var _K = $get($1.charvals, $geti($1.barcode, _G, 1)) !== undefined; //#9665\n if (!_K) { //#9667\n $k[$j++] = 'bwipp.bc412badCharacter'; //#9666\n $k[$j++] = \"BC412 must contain only digits and capital letters except O\"; //#9666\n bwipp_raiseerror(); //#9666\n } //#9666\n } //#9666\n $k[$j++] = 'barlen'; //#9670\n $k[$j++] = $1.barcode.length; //#9670\n if ($1.validatecheck) { //#9670\n var _N = $k[--$j]; //#9670\n $k[$j++] = $f(_N - 1); //#9670\n } //#9670\n var _O = $k[--$j]; //#9670\n $1[$k[--$j]] = _O; //#9670\n $1.checksum = 0; //#9672\n for (var _S = 0, _R = $f($1.barlen - 1); _S <= _R; _S += 1) { //#9676\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _S, 1)) + $1.checksum); //#9675\n } //#9675\n $1.checksum = $1.checksum % 35; //#9677\n if ($1.validatecheck) { //#9684\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#9681\n $k[$j++] = 'bwipp.bc412badCheckDigit'; //#9680\n $k[$j++] = \"Incorrect BC412 check digit provided\"; //#9680\n bwipp_raiseerror(); //#9680\n } //#9680\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#9682\n $1.includecheck = true; //#9683\n } //#9683\n $1.encs = $a([\"11111115\", \"13111212\", \"11131113\", \"12111213\", \"12121311\", \"13131111\", \"12111312\", \"11131212\", \"11121411\", \"11151111\", \"15111111\", \"11111511\", \"12131211\", \"13121112\", \"13111212\", \"11111214\", \"12121113\", \"11111313\", \"13111113\", \"11121213\", \"11141112\", \"11121312\", \"11141211\", \"14121111\", \"12121212\", \"11131311\", \"13121211\", \"12111411\", \"14111211\", \"11111412\", \"12111114\", \"14111112\", \"12141111\", \"11121114\", \"12131112\", \"12\", \"111\"]); //#9696\n $1.sbs = $s($f(($f($1.barlen + 1) * 8) + 5)); //#9698\n if ($1.includecheck) { //#9702\n $1.txt = $a($f($1.barlen + 1)); //#9700\n } else { //#9702\n $1.txt = $a($1.barlen); //#9702\n } //#9702\n if ($1.includestartstop) { //#9712\n $puti($1.sbs, 0, $get($1.encs, 35)); //#9707\n $1.pos = 2; //#9708\n $1.txtpos = 3; //#9709\n } else { //#9712\n $1.pos = 0; //#9711\n $1.txtpos = 0; //#9712\n } //#9712\n for (var _x = 0, _w = $f($1.barlen - 1); _x <= _w; _x += 1) { //#9721\n $1.i = _x; //#9716\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#9717\n $puti($1.sbs, $1.pos, $get($1.encs, $1.indx)); //#9718\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ($1.i * 12) + $1.txtpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9719\n $1.pos = $1.pos + 8; //#9720\n } //#9720\n if ($1.includecheck) { //#9732\n $puti($1.sbs, $1.pos, $get($1.encs, $1.checksum)); //#9725\n if ($1.includecheckintext) { //#9729\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum, 1), $f(($1.barlen * 12) + $1.txtpos), $1.textyoffset, $1.textfont, $1.textsize])); //#9727\n } else { //#9729\n $put($1.txt, $1.barlen, $a([\"\", $f(($1.barlen * 12) + $1.txtpos), $1.textyoffset, $1.textfont, $1.textsize])); //#9729\n } //#9729\n $1.pos = $1.pos + 8; //#9731\n } //#9731\n if ($1.includestartstop) { //#9738\n $puti($1.sbs, $1.pos, $get($1.encs, 36)); //#9736\n $1.pos = $1.pos + 2; //#9737\n } //#9737\n $1.sbs = $geti($1.sbs, 0, $1.pos); //#9741\n $k[$j++] = Infinity; //#9750\n $k[$j++] = Infinity; //#9744\n var _1u = $1.sbs; //#9744\n for (var _1v = 0, _1w = _1u.length; _1v < _1w; _1v++) { //#9744\n $k[$j++] = $f($get(_1u, _1v) - 48); //#9744\n } //#9744\n var _1y = $a(); //#9744\n $k[$j++] = Infinity; //#9745\n for (var _20 = 0, _21 = ~~(($1.sbs.length + 1) / 2); _20 < _21; _20++) { //#9745\n $k[$j++] = $1.height; //#9745\n } //#9745\n var _23 = $a(); //#9745\n $k[$j++] = Infinity; //#9746\n for (var _25 = 0, _26 = ~~(($1.sbs.length + 1) / 2); _25 < _26; _25++) { //#9746\n $k[$j++] = 0; //#9746\n } //#9746\n var _27 = $a(); //#9746\n $k[$j++] = 'ren'; //#9749\n $k[$j++] = bwipp_renlinear; //#9749\n $k[$j++] = 'sbs'; //#9749\n $k[$j++] = _1y; //#9749\n $k[$j++] = 'bhs'; //#9749\n $k[$j++] = _23; //#9749\n $k[$j++] = 'bbs'; //#9749\n $k[$j++] = _27; //#9749\n if ($1.includetext) { //#9749\n $k[$j++] = 'txt'; //#9748\n $k[$j++] = $1.txt; //#9748\n } //#9748\n $k[$j++] = 'opt'; //#9750\n $k[$j++] = $1.options; //#9750\n var _2B = $d(); //#9750\n $k[$j++] = _2B; //#9753\n if (!$1.dontdraw) { //#9753\n bwipp_renlinear(); //#9753\n } //#9753\n}\n\nfunction bwipp_rationalizedCodabar() {\n var $1 = {}; //#9782\n $1.options = $k[--$j]; //#9784\n $1.barcode = $k[--$j]; //#9785\n $1.dontdraw = false; //#9787\n $1.altstartstop = false; //#9788\n $1.includecheck = false; //#9789\n $1.validatecheck = false; //#9790\n $1.includetext = false; //#9791\n $1.includecheckintext = false; //#9792\n $1.textfont = \"OCR-B\"; //#9793\n $1.textsize = 10; //#9794\n $1.textyoffset = -8; //#9795\n $1.height = 1; //#9796\n $forall($1.options, function() { //#9807\n var _3 = $k[--$j]; //#9807\n $1[$k[--$j]] = _3; //#9807\n }); //#9807\n $1.textfont = \"\" + $1.textfont; //#9809\n $1.textsize = +$1.textsize; //#9810\n $1.textyoffset = +$1.textyoffset; //#9811\n $1.height = +$1.height; //#9812\n $1.encs = $a([\"11111331\", \"11113311\", \"11131131\", \"33111111\", \"11311311\", \"31111311\", \"13111131\", \"13113111\", \"13311111\", \"31131111\", \"11133111\", \"11331111\", \"31113131\", \"31311131\", \"31313111\", \"11313131\", \"11331311\", \"13131131\", \"11131331\", \"11133311\"]); //#9820\n if ($1.altstartstop) { //#9826\n $1.barchars = \"0123456789-$:/.+TN*E\"; //#9824\n } else { //#9826\n $1.barchars = \"0123456789-$:/.+ABCD\"; //#9826\n } //#9826\n $1.charvals = new Map; //#9828\n for (var _B = 0; _B <= 19; _B += 1) { //#9829\n $put($1.charvals, $geti($1.barchars, _B, 1), _B); //#9829\n } //#9829\n $1.bodyvals = new Map; //#9830\n for (var _F = 0; _F <= 15; _F += 1) { //#9831\n $put($1.bodyvals, $geti($1.barchars, _F, 1), _F); //#9831\n } //#9831\n $1.ssvals = new Map; //#9832\n for (var _J = 16; _J <= 19; _J += 1) { //#9833\n $put($1.ssvals, $geti($1.barchars, _J, 1), _J); //#9833\n } //#9833\n var _Q = $get($1.ssvals, $geti($1.barcode, 0, 1)) !== undefined; //#9836\n var _V = $get($1.ssvals, $geti($1.barcode, $1.barcode.length - 1, 1)) !== undefined; //#9837\n if ((!_Q) || (!_V)) { //#9843\n if ($1.altstartstop) { //#9841\n $k[$j++] = 'bwipp.rationalizedCodabarBadAltStartStop'; //#9839\n $k[$j++] = \"Codabar start and stop characters must be one of E N T or *\"; //#9839\n bwipp_raiseerror(); //#9839\n } else { //#9841\n $k[$j++] = 'bwipp.rationalizedCodabarBadStartStop'; //#9841\n $k[$j++] = \"Codabar start and stop characters must be one of A B C or D\"; //#9841\n bwipp_raiseerror(); //#9841\n } //#9841\n } //#9841\n for (var _Z = 1, _Y = $1.barcode.length - 2; _Z <= _Y; _Z += 1) { //#9848\n var _d = $get($1.bodyvals, $geti($1.barcode, _Z, 1)) !== undefined; //#9845\n if (!_d) { //#9847\n $k[$j++] = 'bwipp.rationalizedCodabarBadCharacter'; //#9846\n $k[$j++] = \"Codabar body must contain only digits and symbols - $ : / . +\"; //#9846\n bwipp_raiseerror(); //#9846\n } //#9846\n } //#9846\n $k[$j++] = 'barlen'; //#9850\n $k[$j++] = $1.barcode.length; //#9850\n if ($1.validatecheck) { //#9850\n var _g = $k[--$j]; //#9850\n $k[$j++] = $f(_g - 1); //#9850\n } //#9850\n var _h = $k[--$j]; //#9850\n $1[$k[--$j]] = _h; //#9850\n $1.checksum = 0; //#9852\n for (var _l = 0, _k = $f($1.barlen - 2); _l <= _k; _l += 1) { //#9856\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _l, 1)) + $1.checksum); //#9855\n } //#9855\n var _r = $1.barcode; //#9857\n $1.checksum = $f($get($1.charvals, $geti(_r, $1.barcode.length - 1, 1)) + $1.checksum); //#9858\n $1.checksum = ($f(16 - ($1.checksum % 16))) % 16; //#9859\n if ($1.validatecheck) { //#9869\n if ($get($1.barcode, $f($1.barlen - 1)) != $get($1.barchars, $1.checksum)) { //#9863\n $k[$j++] = 'bwipp.rationalizedCodabarBadCheckDigit'; //#9862\n $k[$j++] = \"Incorrect Codabar check digit provided\"; //#9862\n bwipp_raiseerror(); //#9862\n } //#9862\n var _16 = $s($1.barlen); //#9864\n $puti(_16, 0, $geti($1.barcode, 0, $f($1.barlen - 1))); //#9865\n $puti(_16, $f($1.barlen - 1), $geti($1.barcode, $1.barlen, 1)); //#9866\n $1.barcode = _16; //#9867\n $1.includecheck = true; //#9868\n } //#9868\n $k[$j++] = 'sbs'; //#9871\n $k[$j++] = $1.barlen; //#9871\n if ($1.includecheck) { //#9871\n var _1G = $k[--$j]; //#9871\n $k[$j++] = $f(_1G + 1); //#9871\n } //#9871\n var _1I = $s($k[--$j] * 8); //#9871\n $1[$k[--$j]] = _1I; //#9871\n $k[$j++] = 'txt'; //#9872\n $k[$j++] = $1.barlen; //#9872\n if ($1.includecheck) { //#9872\n var _1M = $k[--$j]; //#9872\n $k[$j++] = $f(_1M + 1); //#9872\n } //#9872\n var _1O = $a($k[--$j]); //#9872\n $1[$k[--$j]] = _1O; //#9872\n $1.xpos = 0; //#9874\n for (var _1S = 0, _1R = $f($1.barlen - 2); _1S <= _1R; _1S += 1) { //#9884\n $1.i = _1S; //#9876\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#9877\n $1.enc = $get($1.encs, $1.indx); //#9878\n $puti($1.sbs, $1.i * 8, $1.enc); //#9879\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9880\n for (var _1o = 0; _1o <= 7; _1o += 1) { //#9883\n $1.xpos = $f($f($get($1.enc, _1o) - 48) + $1.xpos); //#9882\n } //#9882\n } //#9882\n if ($1.includecheck) { //#9908\n $puti($1.sbs, $f(($1.barlen * 8) - 8), $get($1.encs, $1.checksum)); //#9889\n if ($1.includecheckintext) { //#9893\n $put($1.txt, $f($1.barlen - 1), $a([$geti($1.barchars, $1.checksum, 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9891\n } else { //#9893\n $put($1.txt, $f($1.barlen - 1), $a([\" \", $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9893\n } //#9893\n for (var _2G = 0; _2G <= 7; _2G += 1) { //#9897\n $1.xpos = $f($f($get($get($1.encs, $1.checksum), _2G) - 48) + $1.xpos); //#9896\n } //#9896\n $1.indx = $get($1.charvals, $geti($1.barcode, $f($1.barlen - 1), 1)); //#9899\n $1.enc = $get($1.encs, $1.indx); //#9900\n $puti($1.sbs, $1.barlen * 8, $1.enc); //#9901\n $put($1.txt, $1.barlen, $a([$geti($1.barcode, $f($1.barlen - 1), 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9902\n } else { //#9908\n $1.indx = $get($1.charvals, $geti($1.barcode, $f($1.barlen - 1), 1)); //#9905\n $1.enc = $get($1.encs, $1.indx); //#9906\n $puti($1.sbs, $f(($1.barlen * 8) - 8), $1.enc); //#9907\n $put($1.txt, $f($1.barlen - 1), $a([$geti($1.barcode, $f($1.barlen - 1), 1), $1.xpos, $1.textyoffset, $1.textfont, $1.textsize])); //#9908\n } //#9908\n $k[$j++] = Infinity; //#9920\n $k[$j++] = Infinity; //#9914\n $forall($1.sbs, function() { //#9914\n var _33 = $k[--$j]; //#9914\n $k[$j++] = $f(_33 - 48); //#9914\n }); //#9914\n var _34 = $a(); //#9914\n $k[$j++] = Infinity; //#9915\n for (var _36 = 0, _37 = ~~(($1.sbs.length + 1) / 2); _36 < _37; _36++) { //#9915\n $k[$j++] = $1.height; //#9915\n } //#9915\n var _39 = $a(); //#9915\n $k[$j++] = Infinity; //#9916\n for (var _3B = 0, _3C = ~~(($1.sbs.length + 1) / 2); _3B < _3C; _3B++) { //#9916\n $k[$j++] = 0; //#9916\n } //#9916\n var _3D = $a(); //#9916\n $k[$j++] = 'ren'; //#9919\n $k[$j++] = bwipp_renlinear; //#9919\n $k[$j++] = 'sbs'; //#9919\n $k[$j++] = _34; //#9919\n $k[$j++] = 'bhs'; //#9919\n $k[$j++] = _39; //#9919\n $k[$j++] = 'bbs'; //#9919\n $k[$j++] = _3D; //#9919\n if ($1.includetext) { //#9919\n $k[$j++] = 'txt'; //#9918\n $k[$j++] = $1.txt; //#9918\n } //#9918\n $k[$j++] = 'opt'; //#9920\n $k[$j++] = $1.options; //#9920\n var _3H = $d(); //#9920\n $k[$j++] = _3H; //#9923\n if (!$1.dontdraw) { //#9923\n bwipp_renlinear(); //#9923\n } //#9923\n}\n\nfunction bwipp_onecode() {\n var $1 = {}; //#9952\n $1.options = $k[--$j]; //#9954\n $1.barcode = $k[--$j]; //#9955\n $1.dontdraw = false; //#9957\n $1.height = 0.15; //#9958\n $forall($1.options, function() { //#9969\n var _3 = $k[--$j]; //#9969\n $1[$k[--$j]] = _3; //#9969\n }); //#9969\n $1.height = +$1.height; //#9971\n $1.barlen = $1.barcode.length; //#9973\n $k[$j++] = Infinity; //#9982\n var _9 = $eq($geti($1.barcode, 5, 1), \"9\") ? 14 : 11; //#9979\n $k[$j++] = 2; //#9982\n $k[$j++] = 2; //#9982\n $k[$j++] = 5; //#9982\n $k[$j++] = 5; //#9982\n $k[$j++] = _9; //#9982\n $k[$j++] = _9; //#9982\n $k[$j++] = 20; //#9982\n $k[$j++] = 20; //#9982\n $k[$j++] = 25; //#9982\n $k[$j++] = 25; //#9982\n $k[$j++] = 29; //#9982\n $k[$j++] = 29; //#9982\n $1.txtdict = $d(); //#9983\n $1.txt = $a($1.barlen + 6); //#9984\n $1.spacecnt = 0; //#9985\n for (var _F = 0, _E = $1.barlen - 1; _F <= _E; _F += 1) { //#9993\n $1.i = _F; //#9987\n var _I = $get($1.txtdict, $1.i) !== undefined; //#9988\n if (_I) { //#9991\n $put($1.txt, $1.i + $1.spacecnt, $a([\" \", 0, 0, \"\", 0])); //#9989\n $1.spacecnt = $1.spacecnt + 1; //#9990\n } //#9990\n $put($1.txt, $1.i + $1.spacecnt, $a([$geti($1.barcode, $1.i, 1), 0, 0, \"\", 0])); //#9992\n } //#9992\n $1.txt = $geti($1.txt, 0, $1.barcode.length + $1.spacecnt); //#9994\n $1.normalize = function() {\n $1.base = $k[--$j]; //#9997\n $1.num = $k[--$j]; //#9998\n for (var _c = $1.num.length - 1; _c >= 1; _c -= 1) { //#10003\n $1.i = _c; //#10000\n var _d = $1.num; //#10001\n var _e = $1.i; //#10001\n $put(_d, _e - 1, $f($get(_d, _e - 1) + (~~($get($1.num, $1.i) / $1.base)))); //#10001\n $put($1.num, $1.i, $get($1.num, $1.i) % $1.base); //#10002\n } //#10002\n for (;;) { //#10009\n if ($lt($get($1.num, 0), $1.base)) { //#10005\n break; //#10005\n } //#10005\n $k[$j++] = Infinity; //#10006\n $k[$j++] = 0; //#10006\n $forall($1.num); //#10006\n $1.num = $a(); //#10006\n $put($1.num, 0, $f($get($1.num, 0) + (~~($get($1.num, 1) / $1.base)))); //#10007\n $put($1.num, 1, $get($1.num, 1) % $1.base); //#10008\n } //#10008\n $k[$j++] = Infinity; //#10011\n $1.i = true; //#10011\n var _15 = $1.num; //#10011\n for (var _16 = 0, _17 = _15.length; _16 < _17; _16++) { //#10011\n var _18 = $get(_15, _16); //#10011\n $k[$j++] = _18; //#10011\n if ((_18 == 0) && $1.i) { //#10011\n $j--; //#10011\n } else { //#10011\n $1.i = false; //#10011\n } //#10011\n } //#10011\n $1.num = $a(); //#10011\n if ($1.num.length == 0) { //#10012\n $1.num = $a([0]); //#10012\n } //#10012\n $k[$j++] = $1.num; //#10013\n }; //#10014\n $1.bigadd = function() {\n var _1E = $k[--$j]; //#10017\n var _1F = $k[--$j]; //#10017\n $1.offset = Math.abs(_1E.length - _1F.length); //#10018\n if (_1E.length < _1F.length) { //#10019\n var _ = _1E; //#10019\n _1E = _1F; //#10019\n _1F = _; //#10019\n } //#10019\n $1.a = _1E; //#10020\n $1.b = _1F; //#10020\n for (var _1I = 0, _1H = $1.b.length - 1; _1I <= _1H; _1I += 1) { //#10023\n var _1J = $1.a; //#10022\n var _1K = $1.offset; //#10022\n $put(_1J, _1I + _1K, $f($get(_1J, _1I + _1K) + $get($1.b, _1I))); //#10022\n } //#10022\n $k[$j++] = $1.a; //#10024\n }; //#10025\n if ($1.barlen == 20) { //#10028\n $k[$j++] = $a([0]); //#10028\n } //#10028\n if ($1.barlen == 25) { //#10029\n $k[$j++] = $a([1]); //#10029\n } //#10029\n if ($1.barlen == 29) { //#10030\n $k[$j++] = $a([1, 0, 0, 0, 0, 1]); //#10030\n } //#10030\n if ($1.barlen == 31) { //#10031\n $k[$j++] = $a([1, 0, 0, 0, 1, 0, 0, 0, 0, 1]); //#10031\n } //#10031\n var _1X = $k[--$j]; //#10032\n $k[$j++] = 'binval'; //#10032\n $k[$j++] = _1X; //#10032\n $k[$j++] = Infinity; //#10032\n var _1a = $geti($1.barcode, 20, $1.barlen - 20); //#10032\n for (var _1b = 0, _1c = _1a.length; _1b < _1c; _1b++) { //#10032\n $k[$j++] = $f($get(_1a, _1b) - 48); //#10032\n } //#10032\n var _1e = $a(); //#10032\n $k[$j++] = _1e; //#10032\n $1.bigadd(); //#10032\n var _1f = $k[--$j]; //#10032\n $1[$k[--$j]] = _1f; //#10032\n $k[$j++] = Infinity; //#10033\n var _1h = $1.binval; //#10033\n for (var _1i = 0, _1j = _1h.length; _1i < _1j; _1i++) { //#10033\n $k[$j++] = $get(_1h, _1i); //#10033\n } //#10033\n $k[$j++] = $f($get($1.barcode, 0) - 48); //#10033\n $1.binval = $a(); //#10033\n $k[$j++] = Infinity; //#10034\n var _1o = $1.binval; //#10034\n for (var _1p = 0, _1q = _1o.length; _1p < _1q; _1p++) { //#10034\n $k[$j++] = $get(_1o, _1p) * 5; //#10034\n } //#10034\n var _1s = $a(); //#10034\n $k[$j++] = 'binval'; //#10034\n $k[$j++] = _1s; //#10034\n $k[$j++] = $a([$f($get($1.barcode, 1) - 48)]); //#10034\n $1.bigadd(); //#10034\n $k[$j++] = 10; //#10034\n $1.normalize(); //#10034\n var _1w = $k[--$j]; //#10034\n $1[$k[--$j]] = _1w; //#10034\n $k[$j++] = Infinity; //#10035\n var _1y = $1.binval; //#10035\n for (var _1z = 0, _20 = _1y.length; _1z < _20; _1z++) { //#10035\n $k[$j++] = $get(_1y, _1z); //#10035\n } //#10035\n var _23 = $geti($1.barcode, 2, 18); //#10035\n for (var _24 = 0, _25 = _23.length; _24 < _25; _24++) { //#10035\n $k[$j++] = $f($get(_23, _24) - 48); //#10035\n } //#10035\n $1.binval = $a(); //#10035\n $1.bytes = $a(13); //#10038\n $k[$j++] = Infinity; //#10039\n var _29 = $1.binval; //#10039\n for (var _2A = 0, _2B = _29.length; _2A < _2B; _2A++) { //#10039\n $k[$j++] = $get(_29, _2A); //#10039\n } //#10039\n $1.bintmp = $a(); //#10039\n for (var _2E = 12; _2E >= 0; _2E -= 1) { //#10049\n $1.i = _2E; //#10041\n for (var _2H = 0, _2G = $1.bintmp.length - 2; _2H <= _2G; _2H += 1) { //#10046\n $1.j = _2H; //#10043\n var _2I = $1.bintmp; //#10044\n var _2J = $1.j; //#10044\n $put(_2I, _2J + 1, $f($get(_2I, _2J + 1) + (($get($1.bintmp, $1.j) % 256) * 10))); //#10044\n $put($1.bintmp, $1.j, ~~($get($1.bintmp, $1.j) / 256)); //#10045\n } //#10045\n $put($1.bytes, $1.i, $get($1.bintmp, $1.bintmp.length - 1) % 256); //#10047\n var _2Y = $1.bintmp; //#10048\n var _2Z = $1.bintmp; //#10048\n $put(_2Y, _2Z.length - 1, ~~($get(_2Y, _2Z.length - 1) / 256)); //#10048\n } //#10048\n $1.fcs = 2047; //#10052\n $1.dat = $get($1.bytes, 0) << 5; //#10053\n for (var _2d = 0, _2e = 6; _2d < _2e; _2d++) { //#10062\n if ((($1.fcs ^ $1.dat) & 1024) != 0) { //#10058\n $1.fcs = ($1.fcs << 1) ^ 3893; //#10056\n } else { //#10058\n $1.fcs = $1.fcs << 1; //#10058\n } //#10058\n $1.fcs = $1.fcs & 2047; //#10060\n $1.dat = $1.dat << 1; //#10061\n } //#10061\n for (var _2l = 1; _2l <= 12; _2l += 1) { //#10074\n $1.dat = $get($1.bytes, _2l) << 3; //#10064\n for (var _2o = 0, _2p = 8; _2o < _2p; _2o++) { //#10073\n if ((($1.fcs ^ $1.dat) & 1024) != 0) { //#10069\n $1.fcs = ($1.fcs << 1) ^ 3893; //#10067\n } else { //#10069\n $1.fcs = $1.fcs << 1; //#10069\n } //#10069\n $1.fcs = $1.fcs & 2047; //#10071\n $1.dat = $1.dat << 1; //#10072\n } //#10072\n } //#10072\n $1.codewords = $a(10); //#10077\n for (var _2x = 9; _2x >= 0; _2x -= 1) { //#10092\n $1.i = _2x; //#10079\n if ($1.i == 9) { //#10083\n $1.b = 636; //#10081\n } else { //#10083\n $1.b = 1365; //#10083\n } //#10083\n for (var _31 = 0, _30 = $1.binval.length - 2; _31 <= _30; _31 += 1) { //#10089\n $1.j = _31; //#10086\n var _32 = $1.binval; //#10087\n var _33 = $1.j; //#10087\n $put(_32, _33 + 1, $f($get(_32, _33 + 1) + (($get($1.binval, $1.j) % $1.b) * 10))); //#10087\n $put($1.binval, $1.j, ~~($get($1.binval, $1.j) / $1.b)); //#10088\n } //#10088\n $put($1.codewords, $1.i, $get($1.binval, $1.binval.length - 1) % $1.b); //#10090\n var _3L = $1.binval; //#10091\n var _3M = $1.binval; //#10091\n $put(_3L, _3M.length - 1, ~~($get(_3L, _3M.length - 1) / $1.b)); //#10091\n } //#10091\n $put($1.codewords, 9, $get($1.codewords, 9) * 2); //#10095\n if (($1.fcs & 1024) != 0) { //#10098\n $put($1.codewords, 0, $f($get($1.codewords, 0) + 659)); //#10097\n } //#10097\n $1.tab513 = $a([31, 7936, 47, 7808, 55, 7552, 59, 7040, 61, 6016, 62, 3968, 79, 7744, 87, 7488, 91, 6976, 93, 5952, 94, 3904, 103, 7360, 107, 6848, 109, 5824, 110, 3776, 115, 6592, 117, 5568, 118, 3520, 121, 5056, 122, 3008, 124, 1984, 143, 7712, 151, 7456, 155, 6944, 157, 5920, 158, 3872, 167, 7328, 171, 6816, 173, 5792, 174, 3744, 179, 6560, 181, 5536, 182, 3488, 185, 5024, 186, 2976, 188, 1952, 199, 7264, 203, 6752, 205, 5728, 206, 3680, 211, 6496, 213, 5472, 214, 3424, 217, 4960, 218, 2912, 220, 1888, 227, 6368, 229, 5344, 230, 3296, 233, 4832, 234, 2784, 236, 1760, 241, 4576, 242, 2528, 244, 1504, 248, 992, 271, 7696, 279, 7440, 283, 6928, 285, 5904, 286, 3856, 295, 7312, 299, 6800, 301, 5776, 302, 3728, 307, 6544, 309, 5520, 310, 3472, 313, 5008, 314, 2960, 316, 1936, 327, 7248, 331, 6736, 333, 5712, 334, 3664, 339, 6480, 341, 5456, 342, 3408, 345, 4944, 346, 2896, 348, 1872, 355, 6352, 357, 5328, 358, 3280, 361, 4816, 362, 2768, 364, 1744, 369, 4560, 370, 2512, 372, 1488, 376, 976, 391, 7216, 395, 6704, 397, 5680, 398, 3632, 403, 6448, 405, 5424, 406, 3376, 409, 4912, 410, 2864, 412, 1840, 419, 6320, 421, 5296, 422, 3248, 425, 4784, 426, 2736, 428, 1712, 433, 4528, 434, 2480, 436, 1456, 440, 944, 451, 6256, 453, 5232, 454, 3184, 457, 4720, 458, 2672, 460, 1648, 465, 4464, 466, 2416, 468, 1392, 472, 880, 481, 4336, 482, 2288, 484, 1264, 488, 752, 527, 7688, 535, 7432, 539, 6920, 541, 5896, 542, 3848, 551, 7304, 555, 6792, 557, 5768, 558, 3720, 563, 6536, 565, 5512, 566, 3464, 569, 5000, 570, 2952, 572, 1928, 583, 7240, 587, 6728, 589, 5704, 590, 3656, 595, 6472, 597, 5448, 598, 3400, 601, 4936, 602, 2888, 604, 1864, 611, 6344, 613, 5320, 614, 3272, 617, 4808, 618, 2760, 620, 1736, 625, 4552, 626, 2504, 628, 1480, 632, 968, 647, 7208, 651, 6696, 653, 5672, 654, 3624, 659, 6440, 661, 5416, 662, 3368, 665, 4904, 666, 2856, 668, 1832, 675, 6312, 677, 5288, 678, 3240, 681, 4776, 682, 2728, 684, 1704, 689, 4520, 690, 2472, 692, 1448, 696, 936, 707, 6248, 709, 5224, 710, 3176, 713, 4712, 714, 2664, 716, 1640, 721, 4456, 722, 2408, 724, 1384, 728, 872, 737, 4328, 738, 2280, 740, 1256, 775, 7192, 779, 6680, 781, 5656, 782, 3608, 787, 6424, 789, 5400, 790, 3352, 793, 4888, 794, 2840, 796, 1816, 803, 6296, 805, 5272, 806, 3224, 809, 4760, 810, 2712, 812, 1688, 817, 4504, 818, 2456, 820, 1432, 824, 920, 835, 6232, 837, 5208, 838, 3160, 841, 4696, 842, 2648, 844, 1624, 849, 4440, 850, 2392, 852, 1368, 865, 4312, 866, 2264, 868, 1240, 899, 6200, 901, 5176, 902, 3128, 905, 4664, 906, 2616, 908, 1592, 913, 4408, 914, 2360, 916, 1336, 929, 4280, 930, 2232, 932, 1208, 961, 4216, 962, 2168, 964, 1144, 1039, 7684, 1047, 7428, 1051, 6916, 1053, 5892, 1054, 3844, 1063, 7300, 1067, 6788, 1069, 5764, 1070, 3716, 1075, 6532, 1077, 5508, 1078, 3460, 1081, 4996, 1082, 2948, 1084, 1924, 1095, 7236, 1099, 6724, 1101, 5700, 1102, 3652, 1107, 6468, 1109, 5444, 1110, 3396, 1113, 4932, 1114, 2884, 1116, 1860, 1123, 6340, 1125, 5316, 1126, 3268, 1129, 4804, 1130, 2756, 1132, 1732, 1137, 4548, 1138, 2500, 1140, 1476, 1159, 7204, 1163, 6692, 1165, 5668, 1166, 3620, 1171, 6436, 1173, 5412, 1174, 3364, 1177, 4900, 1178, 2852, 1180, 1828, 1187, 6308, 1189, 5284, 1190, 3236, 1193, 4772, 1194, 2724, 1196, 1700, 1201, 4516, 1202, 2468, 1204, 1444, 1219, 6244, 1221, 5220, 1222, 3172, 1225, 4708, 1226, 2660, 1228, 1636, 1233, 4452, 1234, 2404, 1236, 1380, 1249, 4324, 1250, 2276, 1287, 7188, 1291, 6676, 1293, 5652, 1294, 3604, 1299, 6420, 1301, 5396, 1302, 3348, 1305, 4884, 1306, 2836, 1308, 1812, 1315, 6292, 1317, 5268, 1318, 3220, 1321, 4756, 1322, 2708, 1324, 1684, 1329, 4500, 1330, 2452, 1332, 1428, 1347, 6228, 1349, 5204, 1350, 3156, 1353, 4692, 1354, 2644, 1356, 1620, 1361, 4436, 1362, 2388, 1377, 4308, 1378, 2260, 1411, 6196, 1413, 5172, 1414, 3124, 1417, 4660, 1418, 2612, 1420, 1588, 1425, 4404, 1426, 2356, 1441, 4276, 1442, 2228, 1473, 4212, 1474, 2164, 1543, 7180, 1547, 6668, 1549, 5644, 1550, 3596, 1555, 6412, 1557, 5388, 1558, 3340, 1561, 4876, 1562, 2828, 1564, 1804, 1571, 6284, 1573, 5260, 1574, 3212, 1577, 4748, 1578, 2700, 1580, 1676, 1585, 4492, 1586, 2444, 1603, 6220, 1605, 5196, 1606, 3148, 1609, 4684, 1610, 2636, 1617, 4428, 1618, 2380, 1633, 4300, 1634, 2252, 1667, 6188, 1669, 5164, 1670, 3116, 1673, 4652, 1674, 2604, 1681, 4396, 1682, 2348, 1697, 4268, 1698, 2220, 1729, 4204, 1730, 2156, 1795, 6172, 1797, 5148, 1798, 3100, 1801, 4636, 1802, 2588, 1809, 4380, 1810, 2332, 1825, 4252, 1826, 2204, 1857, 4188, 1858, 2140, 1921, 4156, 1922, 2108, 2063, 7682, 2071, 7426, 2075, 6914, 2077, 5890, 2078, 3842, 2087, 7298, 2091, 6786, 2093, 5762, 2094, 3714, 2099, 6530, 2101, 5506, 2102, 3458, 2105, 4994, 2106, 2946, 2119, 7234, 2123, 6722, 2125, 5698, 2126, 3650, 2131, 6466, 2133, 5442, 2134, 3394, 2137, 4930, 2138, 2882, 2147, 6338, 2149, 5314, 2150, 3266, 2153, 4802, 2154, 2754, 2161, 4546, 2162, 2498, 2183, 7202, 2187, 6690, 2189, 5666, 2190, 3618, 2195, 6434, 2197, 5410, 2198, 3362, 2201, 4898, 2202, 2850, 2211, 6306, 2213, 5282, 2214, 3234, 2217, 4770, 2218, 2722, 2225, 4514, 2226, 2466, 2243, 6242, 2245, 5218, 2246, 3170, 2249, 4706, 2250, 2658, 2257, 4450, 2258, 2402, 2273, 4322, 2311, 7186, 2315, 6674, 2317, 5650, 2318, 3602, 2323, 6418, 2325, 5394, 2326, 3346, 2329, 4882, 2330, 2834, 2339, 6290, 2341, 5266, 2342, 3218, 2345, 4754, 2346, 2706, 2353, 4498, 2354, 2450, 2371, 6226, 2373, 5202, 2374, 3154, 2377, 4690, 2378, 2642, 2385, 4434, 2401, 4306, 2435, 6194, 2437, 5170, 2438, 3122, 2441, 4658, 2442, 2610, 2449, 4402, 2465, 4274, 2497, 4210, 2567, 7178, 2571, 6666, 2573, 5642, 2574, 3594, 2579, 6410, 2581, 5386, 2582, 3338, 2585, 4874, 2586, 2826, 2595, 6282, 2597, 5258, 2598, 3210, 2601, 4746, 2602, 2698, 2609, 4490, 2627, 6218, 2629, 5194, 2630, 3146, 2633, 4682, 2641, 4426, 2657, 4298, 2691, 6186, 2693, 5162, 2694, 3114, 2697, 4650, 2705, 4394, 2721, 4266, 2753, 4202, 2819, 6170, 2821, 5146, 2822, 3098, 2825, 4634, 2833, 4378, 2849, 4250, 2881, 4186, 2945, 4154, 3079, 7174, 3083, 6662, 3085, 5638, 3086, 3590, 3091, 6406, 3093, 5382, 3094, 3334, 3097, 4870, 3107, 6278, 3109, 5254, 3110, 3206, 3113, 4742, 3121, 4486, 3139, 6214, 3141, 5190, 3145, 4678, 3153, 4422, 3169, 4294, 3203, 6182, 3205, 5158, 3209, 4646, 3217, 4390, 3233, 4262, 3265, 4198, 3331, 6166, 3333, 5142, 3337, 4630, 3345, 4374, 3361, 4246, 3393, 4182, 3457, 4150, 3587, 6158, 3589, 5134, 3593, 4622, 3601, 4366, 3617, 4238, 3649, 4174, 3713, 4142, 3841, 4126, 4111, 7681, 4119, 7425, 4123, 6913, 4125, 5889, 4135, 7297, 4139, 6785, 4141, 5761, 4147, 6529, 4149, 5505, 4153, 4993, 4167, 7233, 4171, 6721, 4173, 5697, 4179, 6465, 4181, 5441, 4185, 4929, 4195, 6337, 4197, 5313, 4201, 4801, 4209, 4545, 4231, 7201, 4235, 6689, 4237, 5665, 4243, 6433, 4245, 5409, 4249, 4897, 4259, 6305, 4261, 5281, 4265, 4769, 4273, 4513, 4291, 6241, 4293, 5217, 4297, 4705, 4305, 4449, 4359, 7185, 4363, 6673, 4365, 5649, 4371, 6417, 4373, 5393, 4377, 4881, 4387, 6289, 4389, 5265, 4393, 4753, 4401, 4497, 4419, 6225, 4421, 5201, 4425, 4689, 4483, 6193, 4485, 5169, 4489, 4657, 4615, 7177, 4619, 6665, 4621, 5641, 4627, 6409, 4629, 5385, 4633, 4873, 4643, 6281, 4645, 5257, 4649, 4745, 4675, 6217, 4677, 5193, 4739, 6185, 4741, 5161, 4867, 6169, 4869, 5145, 5127, 7173, 5131, 6661, 5133, 5637, 5139, 6405, 5141, 5381, 5155, 6277, 5157, 5253, 5187, 6213, 5251, 6181, 5379, 6165, 5635, 6157, 6151, 7171, 6155, 6659, 6163, 6403, 6179, 6275, 6211, 5189, 4681, 4433, 4321, 3142, 2634, 2386, 2274, 1612, 1364, 1252, 856, 744, 496]); //#10188\n $1.tab213 = $a([3, 6144, 5, 5120, 6, 3072, 9, 4608, 10, 2560, 12, 1536, 17, 4352, 18, 2304, 20, 1280, 24, 768, 33, 4224, 34, 2176, 36, 1152, 40, 640, 48, 384, 65, 4160, 66, 2112, 68, 1088, 72, 576, 80, 320, 96, 192, 129, 4128, 130, 2080, 132, 1056, 136, 544, 144, 288, 257, 4112, 258, 2064, 260, 1040, 264, 528, 513, 4104, 514, 2056, 516, 1032, 1025, 4100, 1026, 2052, 2049, 4098, 4097, 2050, 1028, 520, 272, 160]); //#10197\n $1.chars = $a(10); //#10199\n for (var _3Z = 0; _3Z <= 9; _3Z += 1) { //#10208\n $1.i = _3Z; //#10201\n var _3c = $get($1.codewords, $1.i); //#10202\n $k[$j++] = _3c; //#10206\n if (_3c <= 1286) { //#10205\n var _3f = $get($1.tab513, $k[--$j]); //#10203\n $k[$j++] = _3f; //#10203\n } else { //#10205\n var _3i = $get($1.tab213, $f($k[--$j] - 1287)); //#10205\n $k[$j++] = _3i; //#10205\n } //#10205\n $put($1.chars, $1.i, $k[--$j]); //#10207\n } //#10207\n for (var _3m = 9; _3m >= 0; _3m -= 1) { //#10215\n $1.i = _3m; //#10211\n if (((~~Math.pow(2, $1.i)) & $1.fcs) != 0) { //#10214\n $put($1.chars, $1.i, $get($1.chars, $1.i) ^ 8191); //#10213\n } //#10213\n } //#10213\n $1.barmap = $a([7, 2, 4, 3, 1, 10, 0, 0, 9, 12, 2, 8, 5, 5, 6, 11, 8, 9, 3, 1, 0, 1, 5, 12, 2, 5, 1, 8, 4, 4, 9, 11, 6, 3, 8, 10, 3, 9, 7, 6, 5, 11, 1, 4, 8, 5, 2, 12, 9, 10, 0, 2, 7, 1, 6, 7, 3, 6, 4, 9, 0, 3, 8, 6, 6, 4, 2, 7, 1, 1, 9, 9, 7, 10, 5, 2, 4, 0, 3, 8, 6, 2, 0, 4, 8, 11, 1, 0, 9, 8, 3, 12, 2, 6, 7, 7, 5, 1, 4, 10, 1, 12, 6, 9, 7, 3, 8, 0, 5, 8, 9, 7, 4, 6, 2, 10, 3, 4, 0, 5, 8, 4, 5, 7, 7, 11, 1, 9, 6, 0, 9, 6, 0, 6, 4, 8, 2, 1, 3, 2, 5, 9, 8, 12, 4, 11, 6, 1, 9, 5, 7, 4, 3, 3, 1, 2, 0, 7, 2, 0, 1, 3, 4, 1, 6, 10, 3, 5, 8, 7, 9, 4, 2, 11, 5, 6, 0, 8, 7, 12, 4, 2, 8, 1, 5, 10, 3, 0, 9, 3, 0, 9, 6, 5, 2, 4, 7, 8, 1, 7, 5, 0, 4, 5, 2, 3, 0, 10, 6, 12, 9, 2, 3, 11, 1, 6, 8, 8, 7, 9, 5, 4, 0, 11, 1, 5, 2, 2, 9, 1, 4, 12, 8, 3, 6, 6, 7, 0, 3, 7, 4, 7, 7, 5, 0, 12, 1, 11, 2, 9, 9, 0, 6, 8, 5, 3, 3, 10, 8, 2]); //#10232\n $1.bbs = $a(65); //#10234\n $1.bhs = $a(65); //#10235\n for (var _3x = 0; _3x <= 64; _3x += 1) { //#10256\n $1.i = _3x; //#10237\n $1.dec = ($get($1.chars, $get($1.barmap, $1.i * 4)) & (~~Math.pow(2, $get($1.barmap, ($1.i * 4) + 1)))) != 0; //#10238\n $1.asc = ($get($1.chars, $get($1.barmap, ($1.i * 4) + 2)) & (~~Math.pow(2, $get($1.barmap, ($1.i * 4) + 3)))) != 0; //#10239\n if ((!$1.dec) && (!$1.asc)) { //#10243\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#10241\n $put($1.bhs, $1.i, (2 * $1.height) / 8); //#10242\n } //#10242\n if ((!$1.dec) && $1.asc) { //#10247\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#10245\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#10246\n } //#10246\n if ($1.dec && (!$1.asc)) { //#10251\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#10249\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#10250\n } //#10250\n if ($1.dec && $1.asc) { //#10255\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#10253\n $put($1.bhs, $1.i, (8 * $1.height) / 8); //#10254\n } //#10254\n } //#10254\n $k[$j++] = Infinity; //#10269\n var _4k = $1.bbs; //#10261\n var _4l = $1.bhs; //#10262\n $k[$j++] = Infinity; //#10263\n for (var _4n = 0, _4o = $1.bhs.length - 1; _4n < _4o; _4n++) { //#10263\n $k[$j++] = 1.44; //#10263\n $k[$j++] = 1.872; //#10263\n } //#10263\n $k[$j++] = 1.44; //#10263\n var _4p = $a(); //#10263\n $k[$j++] = 'ren'; //#10269\n $k[$j++] = bwipp_renlinear; //#10269\n $k[$j++] = 'bbs'; //#10269\n $k[$j++] = _4k; //#10269\n $k[$j++] = 'bhs'; //#10269\n $k[$j++] = _4l; //#10269\n $k[$j++] = 'sbs'; //#10269\n $k[$j++] = _4p; //#10269\n $k[$j++] = 'txt'; //#10269\n $k[$j++] = $1.txt; //#10269\n $k[$j++] = 'textxalign'; //#10269\n $k[$j++] = \"left\"; //#10269\n $k[$j++] = 'textfont'; //#10269\n $k[$j++] = \"OCR-B\"; //#10269\n $k[$j++] = 'textyoffset'; //#10269\n $k[$j++] = 1; //#10269\n $k[$j++] = 'textxoffset'; //#10269\n $k[$j++] = -0.3; //#10269\n $k[$j++] = 'opt'; //#10269\n $k[$j++] = $1.options; //#10269\n var _4s = $d(); //#10269\n $k[$j++] = _4s; //#10272\n if (!$1.dontdraw) { //#10272\n bwipp_renlinear(); //#10272\n } //#10272\n}\n\nfunction bwipp_postnet() {\n var $1 = {}; //#10301\n $1.options = $k[--$j]; //#10303\n $1.barcode = $k[--$j]; //#10304\n $1.dontdraw = false; //#10306\n $1.includetext = false; //#10307\n $1.validatecheck = false; //#10308\n $1.includecheckintext = false; //#10309\n $1.textfont = \"OCR-B\"; //#10310\n $1.textsize = 10; //#10311\n $1.textyoffset = -8; //#10312\n $1.height = 0.125; //#10313\n $forall($1.options, function() { //#10324\n var _3 = $k[--$j]; //#10324\n $1[$k[--$j]] = _3; //#10324\n }); //#10324\n $1.textfont = \"\" + $1.textfont; //#10326\n $1.textsize = +$1.textsize; //#10327\n $1.textyoffset = +$1.textyoffset; //#10328\n $1.height = +$1.height; //#10329\n $k[$j++] = 'barlen'; //#10331\n $k[$j++] = $1.barcode.length; //#10331\n if ($1.validatecheck) { //#10331\n var _B = $k[--$j]; //#10331\n $k[$j++] = $f(_B - 1); //#10331\n } //#10331\n var _C = $k[--$j]; //#10331\n $1[$k[--$j]] = _C; //#10331\n if ((($1.barlen != 5) && ($1.barlen != 9)) && ($1.barlen != 11)) { //#10336\n $k[$j++] = 'bwipp.postnetBadLength'; //#10335\n $k[$j++] = \"USPS POSTNET must be 5, 9 or 11 digits excluding check digit\"; //#10335\n bwipp_raiseerror(); //#10335\n } //#10335\n $forall($1.barcode, function() { //#10341\n var _I = $k[--$j]; //#10338\n if ((_I < 48) || (_I > 57)) { //#10340\n $k[$j++] = 'bwipp.postnetBadCharacter'; //#10339\n $k[$j++] = \"USPS POSTNET must contain only digits\"; //#10339\n bwipp_raiseerror(); //#10339\n } //#10339\n }); //#10339\n $1.barchars = \"0123456789\"; //#10344\n $1.checksum = 0; //#10346\n for (var _L = 0, _K = $f($1.barlen - 1); _L <= _K; _L += 1) { //#10350\n $1.i = _L; //#10348\n $1.checksum = $f($1.checksum + $f($get($1.barcode, $1.i) - 48)); //#10349\n } //#10349\n $1.checksum = ($f(10 - ($1.checksum % 10))) % 10; //#10351\n if ($1.validatecheck) { //#10357\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#10355\n $k[$j++] = 'bwipp.postnetBadCheckDigit'; //#10354\n $k[$j++] = \"Incorrect USPS POSTNET check digit provided\"; //#10354\n bwipp_raiseerror(); //#10354\n } //#10354\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#10356\n } //#10356\n $1.encs = $a([\"55222\", \"22255\", \"22525\", \"22552\", \"25225\", \"25252\", \"25522\", \"52225\", \"52252\", \"52522\", \"5\", \"5\"]); //#10364\n $1.bhs = $a($f(($1.barlen * 5) + 7)); //#10366\n $1.txt = $a($f($1.barlen + 1)); //#10367\n $1.enc = $get($1.encs, 10); //#10370\n $1.heights = $a($1.enc.length); //#10371\n for (var _m = 0, _l = $1.enc.length - 1; _m <= _l; _m += 1) { //#10375\n $1.j = _m; //#10373\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10374\n } //#10374\n $puti($1.bhs, 0, $1.heights); //#10376\n for (var _x = 0, _w = $f($1.barlen - 1); _x <= _w; _x += 1) { //#10388\n $1.i = _x; //#10379\n $1.enc = $get($1.encs, $f($get($1.barcode, $1.i) - 48)); //#10380\n $1.heights = $a($1.enc.length); //#10381\n for (var _17 = 0, _16 = $1.enc.length - 1; _17 <= _16; _17 += 1) { //#10385\n $1.j = _17; //#10383\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10384\n } //#10384\n $puti($1.bhs, ($1.i * 5) + 1, $1.heights); //#10386\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.i * 5) + 1) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10387\n } //#10387\n $1.enc = $get($1.encs, $1.checksum); //#10391\n $1.heights = $a($1.enc.length); //#10392\n for (var _1Y = 0, _1X = $1.enc.length - 1; _1Y <= _1X; _1Y += 1) { //#10396\n $1.j = _1Y; //#10394\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10395\n } //#10395\n $puti($1.bhs, $f(($1.barlen * 5) + 1), $1.heights); //#10397\n if ($1.includecheckintext) { //#10402\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum, 1), ($f(($1.barlen * 5) + 1)) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10400\n } else { //#10402\n $put($1.txt, $1.barlen, $a([\" \", (($f(($1.barlen * 5) + 1)) * 72) / 25, $1.textyoffset, $1.textfont, $1.textsize])); //#10402\n } //#10402\n $1.enc = $get($1.encs, 11); //#10406\n $1.heights = $a($1.enc.length); //#10407\n for (var _26 = 0, _25 = $1.enc.length - 1; _26 <= _25; _26 += 1) { //#10411\n $1.j = _26; //#10409\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10410\n } //#10410\n $puti($1.bhs, $f(($1.barlen * 5) + 6), $1.heights); //#10412\n $k[$j++] = Infinity; //#10423\n var _2G = $1.bhs; //#10417\n $k[$j++] = Infinity; //#10418\n for (var _2I = 0, _2J = $1.bhs.length; _2I < _2J; _2I++) { //#10418\n $k[$j++] = 0; //#10418\n } //#10418\n var _2K = $a(); //#10418\n $k[$j++] = Infinity; //#10419\n for (var _2M = 0, _2N = $1.bhs.length - 1; _2M < _2N; _2M++) { //#10419\n $k[$j++] = 1.44; //#10419\n $k[$j++] = 1.872; //#10419\n } //#10419\n $k[$j++] = 1.44; //#10419\n var _2O = $a(); //#10419\n $k[$j++] = 'ren'; //#10422\n $k[$j++] = bwipp_renlinear; //#10422\n $k[$j++] = 'bhs'; //#10422\n $k[$j++] = _2G; //#10422\n $k[$j++] = 'bbs'; //#10422\n $k[$j++] = _2K; //#10422\n $k[$j++] = 'sbs'; //#10422\n $k[$j++] = _2O; //#10422\n if ($1.includetext) { //#10422\n $k[$j++] = 'txt'; //#10421\n $k[$j++] = $1.txt; //#10421\n } //#10421\n $k[$j++] = 'opt'; //#10423\n $k[$j++] = $1.options; //#10423\n var _2S = $d(); //#10423\n $k[$j++] = _2S; //#10426\n if (!$1.dontdraw) { //#10426\n bwipp_renlinear(); //#10426\n } //#10426\n}\n\nfunction bwipp_planet() {\n var $1 = {}; //#10455\n $1.options = $k[--$j]; //#10457\n $1.barcode = $k[--$j]; //#10458\n $1.dontdraw = false; //#10460\n $1.includetext = false; //#10461\n $1.validatecheck = false; //#10462\n $1.includecheckintext = false; //#10463\n $1.textfont = \"OCR-B\"; //#10464\n $1.textsize = 10; //#10465\n $1.textyoffset = -8; //#10466\n $1.height = 0.125; //#10467\n $forall($1.options, function() { //#10478\n var _3 = $k[--$j]; //#10478\n $1[$k[--$j]] = _3; //#10478\n }); //#10478\n $1.textfont = \"\" + $1.textfont; //#10480\n $1.textsize = +$1.textsize; //#10481\n $1.textyoffset = +$1.textyoffset; //#10482\n $1.height = +$1.height; //#10483\n $k[$j++] = 'barlen'; //#10485\n $k[$j++] = $1.barcode.length; //#10485\n if ($1.validatecheck) { //#10485\n var _B = $k[--$j]; //#10485\n $k[$j++] = $f(_B - 1); //#10485\n } //#10485\n var _C = $k[--$j]; //#10485\n $1[$k[--$j]] = _C; //#10485\n if (($1.barlen != 11) && ($1.barlen != 13)) { //#10490\n $k[$j++] = 'bwipp.planetBadLength'; //#10489\n $k[$j++] = \"USPS PLANET must be 11 or 13 digits excluding check digit\"; //#10489\n bwipp_raiseerror(); //#10489\n } //#10489\n $forall($1.barcode, function() { //#10495\n var _H = $k[--$j]; //#10492\n if ((_H < 48) || (_H > 57)) { //#10494\n $k[$j++] = 'bwipp.planetBadCharacter'; //#10493\n $k[$j++] = \"USPS PLANET must contain only digits\"; //#10493\n bwipp_raiseerror(); //#10493\n } //#10493\n }); //#10493\n $1.barchars = \"0123456789\"; //#10498\n $1.checksum = 0; //#10501\n for (var _K = 0, _J = $f($1.barlen - 1); _K <= _J; _K += 1) { //#10505\n $1.i = _K; //#10503\n $1.checksum = $f($1.checksum + $f($get($1.barcode, $1.i) - 48)); //#10504\n } //#10504\n $1.checksum = ($f(10 - ($1.checksum % 10))) % 10; //#10506\n if ($1.validatecheck) { //#10512\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#10510\n $k[$j++] = 'bwipp.planetBadCheckDigit'; //#10509\n $k[$j++] = \"Incorrect USPS PLANET check digit provided\"; //#10509\n bwipp_raiseerror(); //#10509\n } //#10509\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#10511\n } //#10511\n $1.encs = $a([\"22555\", \"55522\", \"55252\", \"55225\", \"52552\", \"52525\", \"52255\", \"25552\", \"25525\", \"25255\", \"5\", \"5\"]); //#10519\n $1.bhs = $a($f(($1.barlen * 5) + 7)); //#10521\n $1.txt = $a($f($1.barlen + 1)); //#10522\n $1.enc = $get($1.encs, 10); //#10525\n $1.heights = $a($1.enc.length); //#10526\n for (var _l = 0, _k = $1.enc.length - 1; _l <= _k; _l += 1) { //#10530\n $1.j = _l; //#10528\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10529\n } //#10529\n $puti($1.bhs, 0, $1.heights); //#10531\n for (var _w = 0, _v = $f($1.barlen - 1); _w <= _v; _w += 1) { //#10543\n $1.i = _w; //#10534\n $1.enc = $get($1.encs, $f($get($1.barcode, $1.i) - 48)); //#10535\n $1.heights = $a($1.enc.length); //#10536\n for (var _16 = 0, _15 = $1.enc.length - 1; _16 <= _15; _16 += 1) { //#10540\n $1.j = _16; //#10538\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10539\n } //#10539\n $puti($1.bhs, ($1.i * 5) + 1, $1.heights); //#10541\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.i * 5) + 1) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10542\n } //#10542\n $1.enc = $get($1.encs, $1.checksum); //#10546\n $1.heights = $a($1.enc.length); //#10547\n for (var _1X = 0, _1W = $1.enc.length - 1; _1X <= _1W; _1X += 1) { //#10551\n $1.j = _1X; //#10549\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10550\n } //#10550\n $puti($1.bhs, $f(($1.barlen * 5) + 1), $1.heights); //#10552\n if ($1.includecheckintext) { //#10557\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum, 1), ($f(($1.barlen * 5) + 1)) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10555\n } else { //#10557\n $put($1.txt, $1.barlen, $a([\" \", (($f(($1.barlen * 5) + 1)) * 72) / 25, $1.textyoffset, $1.textfont, $1.textsize])); //#10557\n } //#10557\n $1.enc = $get($1.encs, 11); //#10561\n $1.heights = $a($1.enc.length); //#10562\n for (var _25 = 0, _24 = $1.enc.length - 1; _25 <= _24; _25 += 1) { //#10566\n $1.j = _25; //#10564\n $put($1.heights, $1.j, ((~~$z($geti($1.enc, $1.j, 1))) * $1.height) / 5); //#10565\n } //#10565\n $puti($1.bhs, $f(($1.barlen * 5) + 6), $1.heights); //#10567\n $k[$j++] = Infinity; //#10578\n var _2F = $1.bhs; //#10572\n $k[$j++] = Infinity; //#10573\n for (var _2H = 0, _2I = $1.bhs.length; _2H < _2I; _2H++) { //#10573\n $k[$j++] = 0; //#10573\n } //#10573\n var _2J = $a(); //#10573\n $k[$j++] = Infinity; //#10574\n for (var _2L = 0, _2M = $1.bhs.length - 1; _2L < _2M; _2L++) { //#10574\n $k[$j++] = 1.44; //#10574\n $k[$j++] = 1.872; //#10574\n } //#10574\n $k[$j++] = 1.44; //#10574\n var _2N = $a(); //#10574\n $k[$j++] = 'ren'; //#10577\n $k[$j++] = bwipp_renlinear; //#10577\n $k[$j++] = 'bhs'; //#10577\n $k[$j++] = _2F; //#10577\n $k[$j++] = 'bbs'; //#10577\n $k[$j++] = _2J; //#10577\n $k[$j++] = 'sbs'; //#10577\n $k[$j++] = _2N; //#10577\n if ($1.includetext) { //#10577\n $k[$j++] = 'txt'; //#10576\n $k[$j++] = $1.txt; //#10576\n } //#10576\n $k[$j++] = 'opt'; //#10578\n $k[$j++] = $1.options; //#10578\n var _2R = $d(); //#10578\n $k[$j++] = _2R; //#10581\n if (!$1.dontdraw) { //#10581\n bwipp_renlinear(); //#10581\n } //#10581\n}\n\nfunction bwipp_royalmail() {\n var $1 = {}; //#10610\n $1.options = $k[--$j]; //#10612\n $1.barcode = $k[--$j]; //#10613\n $1.dontdraw = false; //#10615\n $1.includetext = false; //#10616\n $1.validatecheck = false; //#10617\n $1.includecheckintext = false; //#10618\n $1.textfont = \"OCR-B\"; //#10619\n $1.textsize = 10; //#10620\n $1.textyoffset = -8; //#10621\n $1.height = 0.175; //#10622\n $forall($1.options, function() { //#10633\n var _3 = $k[--$j]; //#10633\n $1[$k[--$j]] = _3; //#10633\n }); //#10633\n $1.textfont = \"\" + $1.textfont; //#10635\n $1.textsize = +$1.textsize; //#10636\n $1.textyoffset = +$1.textyoffset; //#10637\n $1.height = +$1.height; //#10638\n $1.barchars = \"ZUVWXY501234B6789AHCDEFGNIJKLMTOPQRS\"; //#10641\n $1.charvals = new Map; //#10642\n for (var _9 = 0; _9 <= 35; _9 += 1) { //#10643\n $put($1.charvals, $geti($1.barchars, _9, 1), _9); //#10643\n } //#10643\n for (var _F = 0, _E = $1.barcode.length - 1; _F <= _E; _F += 1) { //#10650\n var _J = $get($1.charvals, $geti($1.barcode, _F, 1)) !== undefined; //#10647\n if (!_J) { //#10649\n $k[$j++] = 'bwipp.royalmailBadCharacter'; //#10648\n $k[$j++] = \"RM4SCC must contain only capital letters and digits\"; //#10648\n bwipp_raiseerror(); //#10648\n } //#10648\n } //#10648\n $k[$j++] = 'barlen'; //#10652\n $k[$j++] = $1.barcode.length; //#10652\n if ($1.validatecheck) { //#10652\n var _M = $k[--$j]; //#10652\n $k[$j++] = $f(_M - 1); //#10652\n } //#10652\n var _N = $k[--$j]; //#10652\n $1[$k[--$j]] = _N; //#10652\n $1.checksumrow = 0; //#10654\n $1.checksumcol = 0; //#10655\n for (var _R = 0, _Q = $f($1.barlen - 1); _R <= _Q; _R += 1) { //#10661\n $1.i = _R; //#10657\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#10658\n $1.checksumrow = $1.checksumrow + (~~($1.indx / 6)); //#10659\n $1.checksumcol = $f($1.checksumcol + ($1.indx % 6)); //#10660\n } //#10660\n $1.checksum = $f((($1.checksumrow % 6) * 6) + ($1.checksumcol % 6)); //#10662\n if ($1.validatecheck) { //#10668\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#10666\n $k[$j++] = 'bwipp.royalmailBadCheckDigit'; //#10665\n $k[$j++] = \"Incorrect RM4SCC check digit provided\"; //#10665\n bwipp_raiseerror(); //#10665\n } //#10665\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#10667\n } //#10667\n $1.encs = $a([\"3300\", \"2211\", \"2301\", \"2310\", \"3201\", \"3210\", \"1122\", \"0033\", \"0123\", \"0132\", \"1023\", \"1032\", \"1302\", \"0213\", \"0303\", \"0312\", \"1203\", \"1212\", \"1320\", \"0231\", \"0321\", \"0330\", \"1221\", \"1230\", \"3102\", \"2013\", \"2103\", \"2112\", \"3003\", \"3012\", \"3120\", \"2031\", \"2121\", \"2130\", \"3021\", \"3030\", \"2\", \"3\"]); //#10679\n $1.encstr = $s($f(($1.barlen * 4) + 6)); //#10681\n $1.txt = $a($f($1.barlen + 1)); //#10682\n $puti($1.encstr, 0, $get($1.encs, 36)); //#10685\n for (var _x = 0, _w = $f($1.barlen - 1); _x <= _w; _x += 1) { //#10692\n $1.i = _x; //#10688\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#10689\n $puti($1.encstr, ($1.i * 4) + 1, $get($1.encs, $1.indx)); //#10690\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.i * 4) + 1) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10691\n } //#10691\n $puti($1.encstr, $f(($1.barlen * 4) + 1), $get($1.encs, $1.checksum)); //#10695\n if ($1.includecheckintext) { //#10699\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum, 1), ($f(($1.barlen * 4) + 1)) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10697\n } else { //#10699\n $put($1.txt, $1.barlen, $a([\" \", ($f(($1.barlen * 4) + 1)) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10699\n } //#10699\n $puti($1.encstr, $f(($1.barlen * 4) + 5), $get($1.encs, 37)); //#10703\n $1.bbs = $a($1.encstr.length); //#10705\n $1.bhs = $a($1.encstr.length); //#10706\n for (var _1p = 0, _1o = $1.encstr.length - 1; _1p <= _1o; _1p += 1) { //#10726\n $1.i = _1p; //#10708\n $1.enc = $geti($1.encstr, $1.i, 1); //#10709\n if ($eq($1.enc, \"0\")) { //#10713\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#10711\n $put($1.bhs, $1.i, (2 * $1.height) / 8); //#10712\n } //#10712\n if ($eq($1.enc, \"1\")) { //#10717\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#10715\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#10716\n } //#10716\n if ($eq($1.enc, \"2\")) { //#10721\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#10719\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#10720\n } //#10720\n if ($eq($1.enc, \"3\")) { //#10725\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#10723\n $put($1.bhs, $1.i, (8 * $1.height) / 8); //#10724\n } //#10724\n } //#10724\n $k[$j++] = Infinity; //#10737\n var _2L = $1.bbs; //#10731\n var _2M = $1.bhs; //#10732\n $k[$j++] = Infinity; //#10733\n for (var _2O = 0, _2P = $1.bhs.length - 1; _2O < _2P; _2O++) { //#10733\n $k[$j++] = 1.44; //#10733\n $k[$j++] = 1.872; //#10733\n } //#10733\n $k[$j++] = 1.44; //#10733\n var _2Q = $a(); //#10733\n $k[$j++] = 'ren'; //#10736\n $k[$j++] = bwipp_renlinear; //#10736\n $k[$j++] = 'bbs'; //#10736\n $k[$j++] = _2L; //#10736\n $k[$j++] = 'bhs'; //#10736\n $k[$j++] = _2M; //#10736\n $k[$j++] = 'sbs'; //#10736\n $k[$j++] = _2Q; //#10736\n if ($1.includetext) { //#10736\n $k[$j++] = 'txt'; //#10735\n $k[$j++] = $1.txt; //#10735\n } //#10735\n $k[$j++] = 'opt'; //#10737\n $k[$j++] = $1.options; //#10737\n var _2U = $d(); //#10737\n $k[$j++] = _2U; //#10740\n if (!$1.dontdraw) { //#10740\n bwipp_renlinear(); //#10740\n } //#10740\n}\n\nfunction bwipp_auspost() {\n var $1 = {}; //#10769\n $1.options = $k[--$j]; //#10771\n $1.barcode = $k[--$j]; //#10772\n $1.dontdraw = false; //#10774\n $1.includetext = false; //#10775\n $1.textfont = \"OCR-B\"; //#10776\n $1.textsize = 10; //#10777\n $1.textyoffset = -8; //#10778\n $1.height = 0.175; //#10779\n $1.custinfoenc = \"character\"; //#10780\n $forall($1.options, function() { //#10791\n var _3 = $k[--$j]; //#10791\n $1[$k[--$j]] = _3; //#10791\n }); //#10791\n $1.textfont = \"\" + $1.textfont; //#10793\n $1.textsize = +$1.textsize; //#10794\n $1.textyoffset = +$1.textyoffset; //#10795\n $1.height = +$1.height; //#10796\n $1.encs = $a([\"000\", \"001\", \"002\", \"010\", \"011\", \"012\", \"020\", \"021\", \"022\", \"100\", \"101\", \"102\", \"110\", \"111\", \"112\", \"120\", \"121\", \"122\", \"200\", \"201\", \"202\", \"210\", \"211\", \"212\", \"220\", \"221\", \"222\", \"300\", \"301\", \"302\", \"310\", \"311\", \"312\", \"320\", \"321\", \"322\", \"023\", \"030\", \"031\", \"032\", \"033\", \"103\", \"113\", \"123\", \"130\", \"131\", \"132\", \"133\", \"203\", \"213\", \"223\", \"230\", \"231\", \"232\", \"233\", \"303\", \"313\", \"323\", \"330\", \"331\", \"332\", \"333\", \"003\", \"013\", \"00\", \"01\", \"02\", \"10\", \"11\", \"12\", \"20\", \"21\", \"22\", \"30\", \"13\", \"3\"]); //#10810\n $1.barchars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz #\"; //#10813\n $1.barlen = $1.barcode.length; //#10815\n if ($eq($geti($1.barcode, 0, 2), \"11\")) { //#10816\n $k[$j++] = 37; //#10816\n } //#10816\n if ($eq($geti($1.barcode, 0, 2), \"45\")) { //#10817\n $k[$j++] = 37; //#10817\n } //#10817\n if ($eq($geti($1.barcode, 0, 2), \"59\")) { //#10818\n $k[$j++] = 52; //#10818\n } //#10818\n if ($eq($geti($1.barcode, 0, 2), \"62\")) { //#10819\n $k[$j++] = 67; //#10819\n } //#10819\n $1.encstr = $s($k[--$j]); //#10820\n $1.txt = $a($1.barlen - 2); //#10821\n $puti($1.encstr, 0, $get($1.encs, 74)); //#10824\n for (var _Q = 0; _Q <= 1; _Q += 1) { //#10831\n $1.i = _Q; //#10828\n $puti($1.encstr, ($1.i * 2) + 2, $get($1.encs, (~~$z($geti($1.barcode, $1.i, 1))) + 64)); //#10830\n } //#10830\n for (var _Y = 2; _Y <= 9; _Y += 1) { //#10839\n $1.i = _Y; //#10835\n $puti($1.encstr, ($1.i * 2) + 2, $get($1.encs, (~~$z($geti($1.barcode, $1.i, 1))) + 64)); //#10837\n $put($1.txt, $1.i - 2, $a([$geti($1.barcode, $1.i, 1), ((($1.i - 2) * 2) + 6) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10838\n } //#10838\n if ($eq($1.custinfoenc, \"numeric\")) { //#10861\n for (var _t = 0, _s = $1.barlen - 11; _t <= _s; _t += 1) { //#10848\n $1.i = _t; //#10844\n $puti($1.encstr, ($1.i * 2) + 22, $get($1.encs, (~~$z($geti($1.barcode, $1.i + 10, 1))) + 64)); //#10846\n $put($1.txt, $1.i + 8, $a([$geti($1.barcode, $1.i + 10, 1), (($1.i * 2) + 22) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10847\n } //#10847\n $1.ciflen = ($1.barlen - 10) * 2; //#10849\n } else { //#10861\n for (var _1E = 0, _1D = $1.barlen - 11; _1E <= _1D; _1E += 1) { //#10860\n $1.i = _1E; //#10852\n $search($1.barchars, $geti($1.barcode, $1.i + 10, 1)); //#10853\n $j--; //#10854\n $1.indx = $k[--$j].length; //#10855\n $j -= 2; //#10856\n $1.enc = $get($1.encs, $1.indx); //#10857\n $puti($1.encstr, ($1.i * 3) + 22, $1.enc); //#10858\n $put($1.txt, $1.i + 8, $a([$geti($1.barcode, $1.i + 10, 1), (($1.i * 3) + 22) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#10859\n } //#10859\n $1.ciflen = ($1.barlen - 10) * 3; //#10861\n } //#10861\n for (var _1e = 22 + $1.ciflen, _1d = $1.encstr.length - 14; _1e <= _1d; _1e += 1) { //#10867\n $puti($1.encstr, _1e, $get($1.encs, 75)); //#10866\n } //#10866\n $1.rstable = $a(64 * 64); //#10870\n $k[$j++] = $1.rstable; //#10871\n $k[$j++] = 0; //#10871\n $k[$j++] = Infinity; //#10871\n for (var _1k = 0, _1l = 64; _1k < _1l; _1k++) { //#10871\n $k[$j++] = 0; //#10871\n } //#10871\n var _1m = $a(); //#10871\n var _1n = $k[--$j]; //#10871\n $puti($k[--$j], _1n, _1m); //#10871\n $k[$j++] = $1.rstable; //#10872\n $k[$j++] = 64; //#10872\n $k[$j++] = Infinity; //#10872\n for (var _1q = 0; _1q <= 63; _1q += 1) { //#10872\n $k[$j++] = _1q; //#10872\n } //#10872\n var _1r = $a(); //#10872\n var _1s = $k[--$j]; //#10872\n $puti($k[--$j], _1s, _1r); //#10872\n $1.prev = 1; //#10873\n for (var _1u = 0, _1v = 64; _1u < _1v; _1u++) { //#10888\n $1.next = $1.prev << 1; //#10875\n if (($1.next & 64) != 0) { //#10878\n $1.next = $1.next ^ 67; //#10877\n } //#10877\n for (var _1z = 0; _1z <= 63; _1z += 1) { //#10886\n $1.j = _1z; //#10880\n $1.nextcell = function() {\n $k[$j++] = $1.rstable; //#10881\n $k[$j++] = (64 * $1.next) + $1.j; //#10881\n }; //#10881\n $1.nextcell(); //#10882\n var _27 = $k[--$j]; //#10882\n $put($k[--$j], _27, $get($1.rstable, (64 * $1.prev) + $1.j) << 1); //#10882\n $1.nextcell(); //#10883\n var _29 = $k[--$j]; //#10883\n if (($get($k[--$j], _29) & 64) != 0) { //#10885\n $1.nextcell(); //#10884\n $1.nextcell(); //#10884\n var _2C = $k[--$j]; //#10884\n var _2E = $get($k[--$j], _2C); //#10884\n var _2F = $k[--$j]; //#10884\n $put($k[--$j], _2F, _2E ^ 67); //#10884\n } //#10884\n } //#10884\n $1.prev = $1.next; //#10887\n } //#10887\n $1.rscodes = $a((~~(($1.encstr.length - 16) / 3)) + 4); //#10891\n $k[$j++] = $1.rscodes; //#10892\n $k[$j++] = 0; //#10892\n $k[$j++] = Infinity; //#10892\n for (var _2L = 0, _2M = 4; _2L < _2M; _2L++) { //#10892\n $k[$j++] = 0; //#10892\n } //#10892\n var _2N = $a(); //#10892\n var _2O = $k[--$j]; //#10892\n $puti($k[--$j], _2O, _2N); //#10892\n for (var _2S = 2, _2R = $1.encstr.length - 16; _2S <= _2R; _2S += 3) { //#10900\n $1.i = _2S; //#10894\n $put($1.rscodes, ($1.rscodes.length - (~~(($1.i - 2) / 3))) - 1, (((~~$z($geti($1.encstr, $1.i, 1))) * 16) + ((~~$z($geti($1.encstr, $1.i + 1, 1))) * 4)) + (~~$z($geti($1.encstr, $1.i + 2, 1)))); //#10899\n } //#10899\n for (var _2g = $1.rscodes.length - 5; _2g >= 0; _2g -= 1) { //#10909\n $1.i = _2g; //#10902\n for (var _2h = 0; _2h <= 4; _2h += 1) { //#10908\n $1.j = _2h; //#10904\n $put($1.rscodes, $1.i + $1.j, $xo($get($1.rscodes, $1.i + $1.j), $get($1.rstable, $f((64 * $get($a([48, 17, 29, 30, 1]), $1.j)) + $get($1.rscodes, $1.i + 4))))); //#10907\n } //#10907\n } //#10907\n $1.checkcode = $strcpy($s(12), \"000000000000\"); //#10910\n for (var _2z = 0; _2z <= 3; _2z += 1) { //#10915\n $1.i = _2z; //#10912\n $1.enc = $cvrs($s(3), $get($1.rscodes, 3 - $1.i), 4); //#10913\n $puti($1.checkcode, ($1.i * 3) + (3 - $1.enc.length), $1.enc); //#10914\n } //#10914\n $puti($1.encstr, $1.encstr.length - 14, $1.checkcode); //#10918\n $puti($1.encstr, $1.encstr.length - 2, $get($1.encs, 74)); //#10919\n $1.bbs = $a($1.encstr.length); //#10921\n $1.bhs = $a($1.encstr.length); //#10922\n for (var _3M = 0, _3L = $1.encstr.length - 1; _3M <= _3L; _3M += 1) { //#10942\n $1.i = _3M; //#10924\n $1.enc = $geti($1.encstr, $1.i, 1); //#10925\n if ($eq($1.enc, \"0\")) { //#10929\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#10927\n $put($1.bhs, $1.i, (8 * $1.height) / 8); //#10928\n } //#10928\n if ($eq($1.enc, \"1\")) { //#10933\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#10931\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#10932\n } //#10932\n if ($eq($1.enc, \"2\")) { //#10937\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#10935\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#10936\n } //#10936\n if ($eq($1.enc, \"3\")) { //#10941\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#10939\n $put($1.bhs, $1.i, (2 * $1.height) / 8); //#10940\n } //#10940\n } //#10940\n $k[$j++] = Infinity; //#10953\n var _3s = $1.bbs; //#10947\n var _3t = $1.bhs; //#10948\n $k[$j++] = Infinity; //#10949\n for (var _3v = 0, _3w = $1.bhs.length - 1; _3v < _3w; _3v++) { //#10949\n $k[$j++] = 1.44; //#10949\n $k[$j++] = 1.872; //#10949\n } //#10949\n $k[$j++] = 1.44; //#10949\n var _3x = $a(); //#10949\n $k[$j++] = 'ren'; //#10952\n $k[$j++] = bwipp_renlinear; //#10952\n $k[$j++] = 'bbs'; //#10952\n $k[$j++] = _3s; //#10952\n $k[$j++] = 'bhs'; //#10952\n $k[$j++] = _3t; //#10952\n $k[$j++] = 'sbs'; //#10952\n $k[$j++] = _3x; //#10952\n if ($1.includetext) { //#10952\n $k[$j++] = 'txt'; //#10951\n $k[$j++] = $1.txt; //#10951\n } //#10951\n $k[$j++] = 'opt'; //#10953\n $k[$j++] = $1.options; //#10953\n var _41 = $d(); //#10953\n $k[$j++] = _41; //#10956\n if (!$1.dontdraw) { //#10956\n bwipp_renlinear(); //#10956\n } //#10956\n}\n\nfunction bwipp_kix() {\n var $1 = {}; //#10985\n $1.options = $k[--$j]; //#10987\n $1.barcode = $k[--$j]; //#10988\n $1.dontdraw = false; //#10990\n $1.includetext = false; //#10991\n $1.textfont = \"OCR-B\"; //#10992\n $1.textsize = 10; //#10993\n $1.textyoffset = -8; //#10994\n $1.height = 0.175; //#10995\n $forall($1.options, function() { //#11006\n var _3 = $k[--$j]; //#11006\n $1[$k[--$j]] = _3; //#11006\n }); //#11006\n $1.textfont = \"\" + $1.textfont; //#11008\n $1.textsize = +$1.textsize; //#11009\n $1.textyoffset = +$1.textyoffset; //#11010\n $1.height = +$1.height; //#11011\n $1.encs = $a([\"0033\", \"0123\", \"0132\", \"1023\", \"1032\", \"1122\", \"0213\", \"0303\", \"0312\", \"1203\", \"1212\", \"1302\", \"0231\", \"0321\", \"0330\", \"1221\", \"1230\", \"1320\", \"2013\", \"2103\", \"2112\", \"3003\", \"3012\", \"3102\", \"2031\", \"2121\", \"2130\", \"3021\", \"3030\", \"3120\", \"2211\", \"2301\", \"2310\", \"3201\", \"3210\", \"3300\"]); //#11021\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"; //#11024\n $1.charvals = new Map; //#11025\n for (var _A = 0; _A <= 35; _A += 1) { //#11026\n $put($1.charvals, $geti($1.barchars, _A, 1), _A); //#11026\n } //#11026\n for (var _G = 0, _F = $1.barcode.length - 1; _G <= _F; _G += 1) { //#11033\n var _K = $get($1.charvals, $geti($1.barcode, _G, 1)) !== undefined; //#11030\n if (!_K) { //#11032\n $k[$j++] = 'bwipp.kixBadCharacter'; //#11031\n $k[$j++] = \"KIX must contain only capital letters and digits\"; //#11031\n bwipp_raiseerror(); //#11031\n } //#11031\n } //#11031\n $1.barlen = $1.barcode.length; //#11035\n $1.encstr = $s($1.barlen * 4); //#11036\n $1.txt = $a($1.barlen); //#11037\n for (var _S = 0, _R = $1.barlen - 1; _S <= _R; _S += 1) { //#11044\n $1.i = _S; //#11040\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#11041\n $puti($1.encstr, $1.i * 4, $get($1.encs, $1.indx)); //#11042\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ($1.i * 4) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#11043\n } //#11043\n $1.bbs = $a($1.encstr.length); //#11046\n $1.bhs = $a($1.encstr.length); //#11047\n for (var _t = 0, _s = $1.encstr.length - 1; _t <= _s; _t += 1) { //#11067\n $1.i = _t; //#11049\n $1.enc = $geti($1.encstr, $1.i, 1); //#11050\n if ($eq($1.enc, \"0\")) { //#11054\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#11052\n $put($1.bhs, $1.i, (2 * $1.height) / 8); //#11053\n } //#11053\n if ($eq($1.enc, \"1\")) { //#11058\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#11056\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#11057\n } //#11057\n if ($eq($1.enc, \"2\")) { //#11062\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#11060\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#11061\n } //#11061\n if ($eq($1.enc, \"3\")) { //#11066\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#11064\n $put($1.bhs, $1.i, (8 * $1.height) / 8); //#11065\n } //#11065\n } //#11065\n $k[$j++] = Infinity; //#11078\n var _1P = $1.bbs; //#11072\n var _1Q = $1.bhs; //#11073\n $k[$j++] = Infinity; //#11074\n for (var _1S = 0, _1T = $1.bhs.length - 1; _1S < _1T; _1S++) { //#11074\n $k[$j++] = 1.44; //#11074\n $k[$j++] = 1.872; //#11074\n } //#11074\n $k[$j++] = 1.44; //#11074\n var _1U = $a(); //#11074\n $k[$j++] = 'ren'; //#11077\n $k[$j++] = bwipp_renlinear; //#11077\n $k[$j++] = 'bbs'; //#11077\n $k[$j++] = _1P; //#11077\n $k[$j++] = 'bhs'; //#11077\n $k[$j++] = _1Q; //#11077\n $k[$j++] = 'sbs'; //#11077\n $k[$j++] = _1U; //#11077\n if ($1.includetext) { //#11077\n $k[$j++] = 'txt'; //#11076\n $k[$j++] = $1.txt; //#11076\n } //#11076\n $k[$j++] = 'opt'; //#11078\n $k[$j++] = $1.options; //#11078\n var _1Y = $d(); //#11078\n $k[$j++] = _1Y; //#11081\n if (!$1.dontdraw) { //#11081\n bwipp_renlinear(); //#11081\n } //#11081\n}\n\nfunction bwipp_japanpost() {\n var $1 = {}; //#11110\n $1.options = $k[--$j]; //#11112\n $1.barcode = $k[--$j]; //#11113\n $1.dontdraw = false; //#11115\n $1.includetext = false; //#11116\n $1.includecheckintext = false; //#11117\n $1.textfont = \"OCR-B\"; //#11118\n $1.textsize = 10; //#11119\n $1.textyoffset = -8; //#11120\n $1.height = 0.175; //#11121\n $forall($1.options, function() { //#11132\n var _3 = $k[--$j]; //#11132\n $1[$k[--$j]] = _3; //#11132\n }); //#11132\n $1.textfont = \"\" + $1.textfont; //#11134\n $1.textsize = +$1.textsize; //#11135\n $1.textyoffset = +$1.textyoffset; //#11136\n $1.height = +$1.height; //#11137\n $1.encs = $a([\"300\", \"330\", \"312\", \"132\", \"321\", \"303\", \"123\", \"231\", \"213\", \"033\", \"030\", \"120\", \"102\", \"210\", \"012\", \"201\", \"021\", \"003\", \"333\", \"31\", \"13\"]); //#11145\n $1.barchars = \"0123456789-ABCDEFGHIJKLMNOPQRSTUVWXYZ\"; //#11148\n $1.barlen = $1.barcode.length; //#11149\n $1.encstr = $s(((20 + 1) * 3) + 4); //#11151\n $1.digits = $a(20); //#11152\n $1.txt = $a($1.barlen + 1); //#11153\n $puti($1.encstr, 0, $get($1.encs, 19)); //#11156\n $1.checksum = 0; //#11158\n $1.j = 0; //#11159\n $1.i = 0; //#11159\n for (var _K = 0, _J = $1.barlen - 1; _K <= _J; _K += 1) { //#11193\n $1.i = _K; //#11161\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#11162\n $j--; //#11163\n $1.indx = $k[--$j].length; //#11164\n $j -= 2; //#11165\n if (($1.indx >= 11) && ($1.indx < 37)) { //#11176\n if ($1.j > 18) { //#11167\n break; //#11167\n } //#11167\n $1.digit = (~~(($1.indx - 1) / 10)) + 10; //#11171\n $puti($1.encstr, ($1.j * 3) + 2, $get($1.encs, $1.digit)); //#11172\n $1.checksum = $1.checksum + $1.digit; //#11173\n $put($1.digits, $1.j, $1.digit); //#11174\n $1.j = $1.j + 1; //#11175\n } //#11175\n if ($1.j > 19) { //#11177\n break; //#11177\n } //#11177\n $1.digit = 0; //#11178\n if ($1.indx == 37) { //#11181\n $1.digit = 14; //#11180\n } //#11180\n if (($1.indx >= 11) && ($1.indx < 37)) { //#11184\n $1.digit = ($1.indx - 1) % 10; //#11183\n } //#11183\n if ($1.indx < 11) { //#11187\n $1.digit = $1.indx; //#11186\n } //#11186\n $puti($1.encstr, ($1.j * 3) + 2, $get($1.encs, $1.digit)); //#11188\n $1.checksum = $1.checksum + $1.digit; //#11189\n $put($1.digits, $1.j, $1.digit); //#11190\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.j * 3) + 2) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#11191\n $1.j = $1.j + 1; //#11192\n } //#11192\n for (var _19 = $1.j, _18 = 20 - 1; _19 <= _18; _19 += 1) { //#11201\n $1.k = _19; //#11197\n $puti($1.encstr, ($1.k * 3) + 2, $get($1.encs, 14)); //#11198\n $1.checksum = $1.checksum + 14; //#11199\n $put($1.digits, $1.k, 14); //#11200\n } //#11200\n $1.checksum = 19 - ($1.checksum % 19); //#11204\n $puti($1.encstr, 2 + (20 * 3), $get($1.encs, $1.checksum)); //#11205\n $puti($1.encstr, 2 + (21 * 3), $get($1.encs, 20)); //#11208\n $1.checkdigit = \" \"; //#11209\n if ($1.includecheckintext) { //#11212\n $1.checkdigit = $geti($1.barchars, $1.checksum, 1); //#11211\n } //#11211\n $put($1.txt, $1.i + 1, $a([$1.checkdigit, ((20 * 3) + 2) * 3.312, $1.textyoffset, $1.textfont, $1.textsize])); //#11213\n $puti($1.encstr, ((20 + 1) * 3) + 2, $get($1.encs, 20)); //#11216\n $1.bbs = $a((21 * 3) + 4); //#11218\n $1.bhs = $a($1.bbs.length); //#11219\n for (var _1i = 0, _1h = $1.bbs.length - 1; _1i <= _1h; _1i += 1) { //#11243\n $1.i = _1i; //#11221\n $1.enc = $geti($1.encstr, $1.i, 1); //#11222\n $1.bunit = 0; //#11223\n $1.hunit = 0; //#11224\n if ($eq($1.enc, \"0\")) { //#11228\n $1.bunit = 3; //#11226\n $1.hunit = 2; //#11227\n } //#11227\n if ($eq($1.enc, \"1\")) { //#11232\n $1.bunit = 0; //#11230\n $1.hunit = 5; //#11231\n } //#11231\n if ($eq($1.enc, \"2\")) { //#11236\n $1.bunit = 3; //#11234\n $1.hunit = 5; //#11235\n } //#11235\n if ($eq($1.enc, \"3\")) { //#11240\n $1.bunit = 0; //#11238\n $1.hunit = 8; //#11239\n } //#11239\n $put($1.bbs, $1.i, ($1.bunit * $1.height) / 8); //#11241\n $put($1.bhs, $1.i, ($1.hunit * $1.height) / 8); //#11242\n } //#11242\n $k[$j++] = Infinity; //#11254\n var _1y = $1.bbs; //#11248\n var _1z = $1.bhs; //#11249\n $k[$j++] = Infinity; //#11250\n for (var _21 = 0, _22 = $1.bhs.length - 1; _21 < _22; _21++) { //#11250\n $k[$j++] = 1.44; //#11250\n $k[$j++] = 1.872; //#11250\n } //#11250\n $k[$j++] = 1.44; //#11250\n var _23 = $a(); //#11250\n $k[$j++] = 'ren'; //#11253\n $k[$j++] = bwipp_renlinear; //#11253\n $k[$j++] = 'bbs'; //#11253\n $k[$j++] = _1y; //#11253\n $k[$j++] = 'bhs'; //#11253\n $k[$j++] = _1z; //#11253\n $k[$j++] = 'sbs'; //#11253\n $k[$j++] = _23; //#11253\n if ($1.includetext) { //#11253\n $k[$j++] = 'txt'; //#11252\n $k[$j++] = $1.txt; //#11252\n } //#11252\n $k[$j++] = 'opt'; //#11254\n $k[$j++] = $1.options; //#11254\n var _27 = $d(); //#11254\n $k[$j++] = _27; //#11257\n if (!$1.dontdraw) { //#11257\n bwipp_renlinear(); //#11257\n } //#11257\n}\n\nfunction bwipp_msi() {\n var $1 = {}; //#11286\n $1.options = $k[--$j]; //#11288\n $1.barcode = $k[--$j]; //#11289\n $1.dontdraw = false; //#11291\n $1.includecheck = false; //#11292\n $1.includetext = false; //#11293\n $1.includecheckintext = false; //#11294\n $1.checktype = \"mod10\"; //#11295\n $1.badmod11 = false; //#11296\n $1.textfont = \"OCR-B\"; //#11297\n $1.textsize = 10; //#11298\n $1.textyoffset = -8; //#11299\n $1.height = 1; //#11300\n $forall($1.options, function() { //#11311\n var _3 = $k[--$j]; //#11311\n $1[$k[--$j]] = _3; //#11311\n }); //#11311\n $1.textfont = \"\" + $1.textfont; //#11313\n $1.textsize = +$1.textsize; //#11314\n $1.textyoffset = +$1.textyoffset; //#11315\n $1.height = +$1.height; //#11316\n $1.encs = $a([\"12121212\", \"12121221\", \"12122112\", \"12122121\", \"12211212\", \"12211221\", \"12212112\", \"12212121\", \"21121212\", \"21121221\", \"21\", \"121\"]); //#11323\n $1.barchars = \"0123456789\"; //#11326\n $1.barlen = $1.barcode.length; //#11328\n $1.txtlen = $1.barlen; //#11329\n $1.mod10 = function() {\n $1.code = $k[--$j]; //#11332\n $k[$j++] = 0; //#11333\n $k[$j++] = 0; //#11333\n $forall($1.code, function() { //#11333\n var _E = $k[--$j]; //#11333\n var _F = $k[--$j]; //#11333\n var _G = $k[--$j]; //#11333\n $k[$j++] = $f($f(_E - 48) + (_F * 10)); //#11333\n $k[$j++] = _G; //#11333\n }); //#11333\n $j--; //#11333\n var _H = $k[--$j]; //#11333\n $k[$j++] = _H * 2; //#11334\n $k[$j++] = 0; //#11334\n for (;;) { //#11334\n var _I = $k[--$j]; //#11334\n var _J = $k[--$j]; //#11334\n var _K = ~~(_J / 10); //#11334\n $k[$j++] = $f(_I + (_J % 10)); //#11334\n $k[$j++] = _K; //#11334\n if (_K == 0) { //#11334\n $j--; //#11334\n break; //#11334\n } //#11334\n var _L = $k[--$j]; //#11334\n var _M = $k[--$j]; //#11334\n $k[$j++] = _L; //#11334\n $k[$j++] = _M; //#11334\n } //#11334\n $k[$j++] = 0; //#11335\n $k[$j++] = 0; //#11335\n $forall($1.code, function() { //#11335\n var _O = $k[--$j]; //#11335\n var _P = $k[--$j]; //#11335\n var _Q = $k[--$j]; //#11335\n $k[$j++] = $f(_P + $f(_O - 48)); //#11335\n $k[$j++] = _Q; //#11335\n }); //#11335\n var _R = $k[--$j]; //#11335\n var _S = $k[--$j]; //#11335\n $k[$j++] = _R; //#11335\n $k[$j++] = _S; //#11335\n $j--; //#11335\n var _T = $k[--$j]; //#11335\n var _W = $s($1.code.length + 1); //#11337\n $puti(_W, 0, $1.code); //#11337\n $put(_W, $1.code.length, $f((($f(10 - ($f($k[--$j] + _T) % 10))) % 10) + 48)); //#11337\n $k[$j++] = _W; //#11337\n }; //#11338\n $1.mod11 = function() {\n $1.code = $k[--$j]; //#11341\n $k[$j++] = $1.code.length - 1; //#11342\n $forall($1.code, function() { //#11342\n var _c = $k[--$j]; //#11342\n var _d = $k[--$j]; //#11342\n $k[$j++] = $f(_c - 48); //#11342\n $k[$j++] = $f((_d % 6) + 2); //#11342\n $k[$j++] = $f(_d - 1); //#11342\n }); //#11342\n $j--; //#11342\n $k[$j++] = 0; //#11343\n for (var _f = 0, _g = $1.code.length; _f < _g; _f++) { //#11343\n var _h = $k[--$j]; //#11343\n var _i = $k[--$j]; //#11343\n var _j = $k[--$j]; //#11343\n $k[$j++] = $f(_h + (_j * _i)); //#11343\n } //#11343\n var _l = ($f(11 - ($k[--$j] % 11))) % 11; //#11345\n $k[$j++] = _l; //#11349\n if ((_l == 10) && $1.badmod11) { //#11348\n $j--; //#11346\n var _o = $s($1.code.length + 2); //#11346\n $puti(_o, 0, $1.code); //#11346\n $puti(_o, $1.code.length, \"10\"); //#11346\n $k[$j++] = _o; //#11346\n } else { //#11348\n var _s = $s($1.code.length + 1); //#11348\n $puti(_s, 0, $1.code); //#11348\n $put(_s, $1.code.length, $f($k[--$j] + 48)); //#11348\n $k[$j++] = _s; //#11348\n } //#11348\n }; //#11350\n $1.ncrmod11 = function() {\n $1.code = $k[--$j]; //#11353\n $k[$j++] = $1.code.length - 1; //#11354\n $forall($1.code, function() { //#11354\n var _z = $k[--$j]; //#11354\n var _10 = $k[--$j]; //#11354\n $k[$j++] = $f(_z - 48); //#11354\n $k[$j++] = $f((_10 % 8) + 2); //#11354\n $k[$j++] = $f(_10 - 1); //#11354\n }); //#11354\n $j--; //#11354\n $k[$j++] = 0; //#11355\n for (var _12 = 0, _13 = $1.code.length; _12 < _13; _12++) { //#11355\n var _14 = $k[--$j]; //#11355\n var _15 = $k[--$j]; //#11355\n var _16 = $k[--$j]; //#11355\n $k[$j++] = $f(_14 + (_16 * _15)); //#11355\n } //#11355\n var _18 = ($f(11 - ($k[--$j] % 11))) % 11; //#11357\n $k[$j++] = _18; //#11361\n if ((_18 == 10) && $1.badmod11) { //#11360\n $j--; //#11358\n var _1B = $s($1.code.length + 2); //#11358\n $puti(_1B, 0, $1.code); //#11358\n $puti(_1B, $1.code.length, \"10\"); //#11358\n $k[$j++] = _1B; //#11358\n } else { //#11360\n var _1F = $s($1.code.length + 1); //#11360\n $puti(_1F, 0, $1.code); //#11360\n $put(_1F, $1.code.length, $f($k[--$j] + 48)); //#11360\n $k[$j++] = _1F; //#11360\n } //#11360\n }; //#11362\n if ($1.includecheck) { //#11375\n if ($eq($1.checktype, \"mod10\")) { //#11366\n $k[$j++] = $1.barcode; //#11366\n $1.mod10(); //#11366\n } //#11366\n if ($eq($1.checktype, \"mod1010\")) { //#11367\n $k[$j++] = $1.barcode; //#11367\n $1.mod10(); //#11367\n $1.mod10(); //#11367\n } //#11367\n if ($eq($1.checktype, \"mod11\")) { //#11368\n $k[$j++] = $1.barcode; //#11368\n $1.mod11(); //#11368\n } //#11368\n if ($eq($1.checktype, \"ncrmod11\")) { //#11369\n $k[$j++] = $1.barcode; //#11369\n $1.ncrmod11(); //#11369\n } //#11369\n if ($eq($1.checktype, \"mod1110\")) { //#11370\n $k[$j++] = $1.barcode; //#11370\n $1.mod11(); //#11370\n $1.mod10(); //#11370\n } //#11370\n if ($eq($1.checktype, \"ncrmod1110\")) { //#11371\n $k[$j++] = $1.barcode; //#11371\n $1.ncrmod11(); //#11371\n $1.mod10(); //#11371\n } //#11371\n $1.barcode = $k[--$j]; //#11372\n $1.barlen = $1.barcode.length; //#11373\n if ($1.includecheckintext) { //#11374\n $1.txtlen = $1.barlen; //#11374\n } //#11374\n } //#11374\n $1.sbs = $s(($1.barlen * 8) + 5); //#11377\n $1.txt = $a($1.barlen); //#11378\n $puti($1.sbs, 0, $get($1.encs, 10)); //#11381\n for (var _1j = 0, _1i = $1.barlen - 1; _1j <= _1i; _1j += 1) { //#11393\n $1.i = _1j; //#11384\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#11386\n $j--; //#11387\n $1.indx = $k[--$j].length; //#11388\n $j -= 2; //#11389\n $1.enc = $get($1.encs, $1.indx); //#11390\n $puti($1.sbs, ($1.i * 8) + 2, $1.enc); //#11391\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ($1.i * 12) + 3, $1.textyoffset, $1.textfont, $1.textsize])); //#11392\n } //#11392\n $puti($1.sbs, ($1.barlen * 8) + 2, $get($1.encs, 11)); //#11396\n $k[$j++] = Infinity; //#11407\n $k[$j++] = Infinity; //#11401\n var _29 = $1.sbs; //#11401\n for (var _2A = 0, _2B = _29.length; _2A < _2B; _2A++) { //#11401\n $k[$j++] = $get(_29, _2A) - 48; //#11401\n } //#11401\n var _2D = $a(); //#11401\n $k[$j++] = Infinity; //#11402\n for (var _2F = 0, _2G = ~~(($1.sbs.length + 1) / 2); _2F < _2G; _2F++) { //#11402\n $k[$j++] = $1.height; //#11402\n } //#11402\n var _2I = $a(); //#11402\n $k[$j++] = Infinity; //#11403\n for (var _2K = 0, _2L = ~~(($1.sbs.length + 1) / 2); _2K < _2L; _2K++) { //#11403\n $k[$j++] = 0; //#11403\n } //#11403\n var _2M = $a(); //#11403\n $k[$j++] = 'ren'; //#11406\n $k[$j++] = bwipp_renlinear; //#11406\n $k[$j++] = 'sbs'; //#11406\n $k[$j++] = _2D; //#11406\n $k[$j++] = 'bhs'; //#11406\n $k[$j++] = _2I; //#11406\n $k[$j++] = 'bbs'; //#11406\n $k[$j++] = _2M; //#11406\n if ($1.includetext) { //#11406\n $k[$j++] = 'txt'; //#11405\n $k[$j++] = $geti($1.txt, 0, $1.txtlen); //#11405\n } //#11405\n $k[$j++] = 'opt'; //#11407\n $k[$j++] = $1.options; //#11407\n var _2S = $d(); //#11407\n $k[$j++] = _2S; //#11410\n if (!$1.dontdraw) { //#11410\n bwipp_renlinear(); //#11410\n } //#11410\n}\n\nfunction bwipp_plessey() {\n var $1 = {}; //#11439\n $1.options = $k[--$j]; //#11441\n $1.barcode = $k[--$j]; //#11442\n $1.dontdraw = false; //#11444\n $1.includetext = false; //#11445\n $1.validatecheck = false; //#11446\n $1.includecheckintext = false; //#11447\n $1.unidirectional = false; //#11448\n $1.textfont = \"OCR-B\"; //#11449\n $1.textsize = 10; //#11450\n $1.textyoffset = -8; //#11451\n $1.height = 1; //#11452\n $forall($1.options, function() { //#11463\n var _3 = $k[--$j]; //#11463\n $1[$k[--$j]] = _3; //#11463\n }); //#11463\n $1.textfont = \"\" + $1.textfont; //#11465\n $1.textsize = +$1.textsize; //#11466\n $1.textyoffset = +$1.textyoffset; //#11467\n $1.height = +$1.height; //#11468\n $1.barchars = \"0123456789ABCDEF\"; //#11471\n $1.charvals = new Map; //#11472\n for (var _9 = 0; _9 <= 15; _9 += 1) { //#11473\n $put($1.charvals, $geti($1.barchars, _9, 1), _9); //#11473\n } //#11473\n for (var _F = 0, _E = $1.barcode.length - 1; _F <= _E; _F += 1) { //#11480\n var _J = $get($1.charvals, $geti($1.barcode, _F, 1)) !== undefined; //#11477\n if (!_J) { //#11479\n $k[$j++] = 'bwipp.plesseyBadCharacter'; //#11478\n $k[$j++] = \"Plessey must contain only digits and letters A B C D E F\"; //#11478\n bwipp_raiseerror(); //#11478\n } //#11478\n } //#11478\n $k[$j++] = 'barlen'; //#11482\n $k[$j++] = $1.barcode.length; //#11482\n if ($1.validatecheck) { //#11482\n var _M = $k[--$j]; //#11482\n $k[$j++] = $f(_M - 2); //#11482\n } //#11482\n var _N = $k[--$j]; //#11482\n $1[$k[--$j]] = _N; //#11482\n $1.checkbits = $a($f(($1.barlen * 4) + 8)); //#11485\n $puti($1.checkbits, $1.barlen * 4, $a([0, 0, 0, 0, 0, 0, 0, 0])); //#11486\n for (var _W = 0, _V = $f($1.barlen - 1); _W <= _V; _W += 1) { //#11496\n $1.i = _W; //#11488\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#11489\n $puti($1.checkbits, $1.i * 4, $a([$1.indx & 1, ($1.indx >>> 1) & 1, ($1.indx >>> 2) & 1, $1.indx >>> 3])); //#11495\n } //#11495\n $1.checksalt = $a([1, 1, 1, 1, 0, 1, 0, 0, 1]); //#11497\n for (var _m = 0, _l = $f(($1.barlen * 4) - 1); _m <= _l; _m += 1) { //#11506\n $1.i = _m; //#11499\n if ($get($1.checkbits, $1.i) == 1) { //#11505\n for (var _q = 0; _q <= 8; _q += 1) { //#11504\n $1.j = _q; //#11502\n $put($1.checkbits, $1.i + $1.j, $xo($get($1.checkbits, $1.i + $1.j), $get($1.checksalt, $1.j))); //#11503\n } //#11503\n } //#11503\n } //#11503\n $1.checkval = 0; //#11507\n for (var _11 = 0; _11 <= 7; _11 += 1) { //#11511\n $1.i = _11; //#11509\n $1.checkval = $f($1.checkval + ((~~Math.pow(2, $1.i)) * $get($1.checkbits, $f(($1.barlen * 4) + $1.i)))); //#11510\n } //#11510\n $1.checksum1 = $1.checkval & 15; //#11512\n $1.checksum2 = $1.checkval >>> 4; //#11513\n if ($1.validatecheck) { //#11520\n if (($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum1)) || ($get($1.barcode, $f($1.barlen + 1)) != $get($1.barchars, $1.checksum2))) { //#11518\n $k[$j++] = 'bwipp.plesseyBadCheckDigits'; //#11517\n $k[$j++] = \"Incorrect Plessey check digits provided\"; //#11517\n bwipp_raiseerror(); //#11517\n } //#11517\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#11519\n } //#11519\n $1.encs = $a([\"14141414\", \"32141414\", \"14321414\", \"32321414\", \"14143214\", \"32143214\", \"14323214\", \"32323214\", \"14141432\", \"32141432\", \"14321432\", \"32321432\", \"14143232\", \"32143232\", \"14323232\", \"32323232\", \"32321432\", \"541412323\", \"323\"]); //#11529\n var _1T = $1.unidirectional ? 27 : 33; //#11531\n $1.sbs = $s($f(($1.barlen * 8) + _1T)); //#11531\n $1.txt = $a($f($1.barlen + 2)); //#11532\n $puti($1.sbs, 0, $get($1.encs, 16)); //#11535\n for (var _1c = 0, _1b = $f($1.barlen - 1); _1c <= _1b; _1c += 1) { //#11542\n $1.i = _1c; //#11538\n $1.indx = $get($1.charvals, $geti($1.barcode, $1.i, 1)); //#11539\n $puti($1.sbs, ($1.i * 8) + 8, $get($1.encs, $1.indx)); //#11540\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ($1.i * 20) + 20, $1.textyoffset, $1.textfont, $1.textsize])); //#11541\n } //#11541\n $puti($1.sbs, $f(($1.barlen * 8) + 8), $get($1.encs, $1.checksum1)); //#11545\n $puti($1.sbs, $f(($1.barlen * 8) + 16), $get($1.encs, $1.checksum2)); //#11546\n if ($1.includecheckintext) { //#11552\n $put($1.txt, $1.barlen, $a([$geti($1.barchars, $1.checksum1, 1), $f(($1.barlen * 20) + 20), $1.textyoffset, $1.textfont, $1.textsize])); //#11548\n $put($1.txt, $f($1.barlen + 1), $a([$geti($1.barchars, $1.checksum2, 1), $f(($f($1.barlen + 1) * 20) + 20), $1.textyoffset, $1.textfont, $1.textsize])); //#11549\n } else { //#11552\n $put($1.txt, $1.barlen, $a([\" \", $f(($1.barlen * 20) + 20), $1.textyoffset, $1.textfont, $1.textsize])); //#11551\n $put($1.txt, $f($1.barlen + 1), $a([\" \", $f(($f($1.barlen + 1) * 20) + 20), $1.textyoffset, $1.textfont, $1.textsize])); //#11552\n } //#11552\n var _2k = $1.unidirectional ? 18 : 17; //#11556\n $puti($1.sbs, $f(($1.barlen * 8) + 24), $get($1.encs, _2k)); //#11556\n $k[$j++] = Infinity; //#11567\n $k[$j++] = Infinity; //#11561\n var _2m = $1.sbs; //#11561\n for (var _2n = 0, _2o = _2m.length; _2n < _2o; _2n++) { //#11561\n $k[$j++] = $get(_2m, _2n) - 48; //#11561\n } //#11561\n var _2q = $a(); //#11561\n $k[$j++] = Infinity; //#11562\n for (var _2s = 0, _2t = ~~(($1.sbs.length + 1) / 2); _2s < _2t; _2s++) { //#11562\n $k[$j++] = $1.height; //#11562\n } //#11562\n var _2v = $a(); //#11562\n $k[$j++] = Infinity; //#11563\n for (var _2x = 0, _2y = ~~(($1.sbs.length + 1) / 2); _2x < _2y; _2x++) { //#11563\n $k[$j++] = 0; //#11563\n } //#11563\n var _2z = $a(); //#11563\n $k[$j++] = 'ren'; //#11566\n $k[$j++] = bwipp_renlinear; //#11566\n $k[$j++] = 'sbs'; //#11566\n $k[$j++] = _2q; //#11566\n $k[$j++] = 'bhs'; //#11566\n $k[$j++] = _2v; //#11566\n $k[$j++] = 'bbs'; //#11566\n $k[$j++] = _2z; //#11566\n if ($1.includetext) { //#11566\n $k[$j++] = 'txt'; //#11565\n $k[$j++] = $1.txt; //#11565\n } //#11565\n $k[$j++] = 'opt'; //#11567\n $k[$j++] = $1.options; //#11567\n var _33 = $d(); //#11567\n $k[$j++] = _33; //#11570\n if (!$1.dontdraw) { //#11570\n bwipp_renlinear(); //#11570\n } //#11570\n}\n\nfunction bwipp_telepen() {\n var $1 = {}; //#11600\n $1.options = $k[--$j]; //#11602\n $1.barcode = $k[--$j]; //#11603\n $1.numeric = false; //#11605\n $1.dontdraw = false; //#11606\n $1.includetext = false; //#11607\n $1.textfont = \"OCR-B\"; //#11608\n $1.textsize = 10; //#11609\n $1.textyoffset = -8; //#11610\n $1.height = 1; //#11611\n $1.parse = false; //#11612\n $forall($1.options, function() { //#11623\n var _3 = $k[--$j]; //#11623\n $1[$k[--$j]] = _3; //#11623\n }); //#11623\n $1.textfont = \"\" + $1.textfont; //#11625\n $1.textsize = +$1.textsize; //#11626\n $1.textyoffset = +$1.textyoffset; //#11627\n $1.height = +$1.height; //#11628\n var _A = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#11634\n $1.fncvals = _A; //#11635\n $k[$j++] = 'barcode'; //#11636\n $k[$j++] = $1.barcode; //#11636\n $k[$j++] = $1.fncvals; //#11636\n bwipp_parseinput(); //#11636\n var _D = $k[--$j]; //#11636\n $1[$k[--$j]] = _D; //#11636\n $1.barlen = $1.barcode.length; //#11637\n delete $1.options[\"parse\"]; //#11638\n $1.encs = $a([\"31313131\", \"1131313111\", \"33313111\", \"1111313131\", \"3111313111\", \"11333131\", \"13133131\", \"111111313111\", \"31333111\", \"1131113131\", \"33113131\", \"1111333111\", \"3111113131\", \"1113133111\", \"1311133111\", \"111111113131\", \"3131113111\", \"11313331\", \"333331\", \"111131113111\", \"31113331\", \"1133113111\", \"1313113111\", \"1111113331\", \"31131331\", \"113111113111\", \"3311113111\", \"1111131331\", \"311111113111\", \"1113111331\", \"1311111331\", \"11111111113111\", \"31313311\", \"1131311131\", \"33311131\", \"1111313311\", \"3111311131\", \"11333311\", \"13133311\", \"111111311131\", \"31331131\", \"1131113311\", \"33113311\", \"1111331131\", \"3111113311\", \"1113131131\", \"1311131131\", \"111111113311\", \"3131111131\", \"1131131311\", \"33131311\", \"111131111131\", \"3111131311\", \"1133111131\", \"1313111131\", \"111111131311\", \"3113111311\", \"113111111131\", \"3311111131\", \"111113111311\", \"311111111131\", \"111311111311\", \"131111111311\", \"11111111111131\", \"3131311111\", \"11313133\", \"333133\", \"111131311111\", \"31113133\", \"1133311111\", \"1313311111\", \"1111113133\", \"313333\", \"113111311111\", \"3311311111\", \"11113333\", \"311111311111\", \"11131333\", \"13111333\", \"11111111311111\", \"31311133\", \"1131331111\", \"33331111\", \"1111311133\", \"3111331111\", \"11331133\", \"13131133\", \"111111331111\", \"3113131111\", \"1131111133\", \"33111133\", \"111113131111\", \"3111111133\", \"111311131111\", \"131111131111\", \"111111111133\", \"31311313\", \"113131111111\", \"3331111111\", \"1111311313\", \"311131111111\", \"11331313\", \"13131313\", \"11111131111111\", \"3133111111\", \"1131111313\", \"33111313\", \"111133111111\", \"3111111313\", \"111313111111\", \"131113111111\", \"111111111313\", \"313111111111\", \"1131131113\", \"33131113\", \"11113111111111\", \"3111131113\", \"113311111111\", \"131311111111\", \"111111131113\", \"3113111113\", \"11311111111111\", \"331111111111\", \"111113111113\", \"31111111111111\", \"111311111113\", \"131111111113\", \"1111111111111111\"]); //#11674\n $1.barlen = $1.barcode.length; //#11676\n $1.sbs = $s(($1.barlen * 16) + 48); //#11677\n $1.txt = $a($1.barlen); //#11678\n $1.enc = $get($1.encs, 95); //#11681\n $puti($1.sbs, 0, $1.enc); //#11682\n $1.l = $1.enc.length; //#11683\n $1.checksum = 0; //#11685\n $1.i = 0; //#11686\n $1.j = 0; //#11686\n for (;;) { //#11718\n if ($1.i == $1.barlen) { //#11688\n break; //#11688\n } //#11688\n if ($1.numeric) { //#11711\n if ($get($1.barcode, $1.i) > 16) { //#11702\n $1.np = $geti($1.barcode, $1.i, 2); //#11691\n if ($eq($geti($1.np, 1, 1), \"X\")) { //#11695\n $1.indx = (~~$z($geti($1.np, 0, 1))) + 17; //#11693\n } else { //#11695\n $1.indx = (~~$z($1.np)) + 27; //#11695\n } //#11695\n $put($1.txt, $1.j, $a([$1.np, ($1.j * 16) + 16, $1.textyoffset, $1.textfont, $1.textsize])); //#11697\n $1.i = $1.i + 2; //#11698\n } else { //#11702\n $1.indx = $get($1.barcode, $1.i); //#11700\n $put($1.txt, $1.j, $a([\" \", ($1.j * 16) + 16, $1.textyoffset, $1.textfont, $1.textsize])); //#11701\n $1.i = $1.i + 1; //#11702\n } //#11702\n } else { //#11711\n $1.indx = $get($1.barcode, $1.i); //#11705\n if (($1.indx >= 32) && ($1.indx <= 126)) { //#11709\n $put($1.txt, $1.j, $a([$geti($1.barcode, $1.i, 1), ($1.j * 16) + 16, $1.textyoffset, $1.textfont, $1.textsize])); //#11707\n } else { //#11709\n $put($1.txt, $1.j, $a([\" \", ($1.j * 16) + 16, $1.textyoffset, $1.textfont, $1.textsize])); //#11709\n } //#11709\n $1.i = $1.i + 1; //#11711\n } //#11711\n $1.checksum = $f($1.checksum + $1.indx); //#11713\n $1.enc = $get($1.encs, $1.indx); //#11714\n $puti($1.sbs, $1.l, $1.enc); //#11715\n $1.l = $1.l + $1.enc.length; //#11716\n $1.j = $1.j + 1; //#11717\n } //#11717\n $1.checksum = ($f(127 - ($1.checksum % 127))) % 127; //#11721\n $1.enc = $get($1.encs, $1.checksum); //#11722\n $puti($1.sbs, $1.l, $1.enc); //#11723\n $1.l = $1.l + $1.enc.length; //#11724\n $1.enc = $get($1.encs, 122); //#11727\n $puti($1.sbs, $1.l, $1.enc); //#11728\n $1.l = $1.l + $1.enc.length; //#11729\n $1.sbs = $geti($1.sbs, 0, $1.l); //#11732\n $1.txt = $geti($1.txt, 0, $1.j); //#11733\n $k[$j++] = Infinity; //#11744\n $k[$j++] = Infinity; //#11738\n var _1u = $1.sbs; //#11738\n for (var _1v = 0, _1w = _1u.length; _1v < _1w; _1v++) { //#11738\n $k[$j++] = $f($get(_1u, _1v) - 48); //#11738\n } //#11738\n var _1y = $a(); //#11738\n $k[$j++] = Infinity; //#11739\n for (var _20 = 0, _21 = ~~(($1.sbs.length + 1) / 2); _20 < _21; _20++) { //#11739\n $k[$j++] = $1.height; //#11739\n } //#11739\n var _23 = $a(); //#11739\n $k[$j++] = Infinity; //#11740\n for (var _25 = 0, _26 = ~~(($1.sbs.length + 1) / 2); _25 < _26; _25++) { //#11740\n $k[$j++] = 0; //#11740\n } //#11740\n var _27 = $a(); //#11740\n $k[$j++] = 'ren'; //#11743\n $k[$j++] = bwipp_renlinear; //#11743\n $k[$j++] = 'sbs'; //#11743\n $k[$j++] = _1y; //#11743\n $k[$j++] = 'bhs'; //#11743\n $k[$j++] = _23; //#11743\n $k[$j++] = 'bbs'; //#11743\n $k[$j++] = _27; //#11743\n if ($1.includetext) { //#11743\n $k[$j++] = 'txt'; //#11742\n $k[$j++] = $1.txt; //#11742\n } //#11742\n $k[$j++] = 'opt'; //#11744\n $k[$j++] = $1.options; //#11744\n var _2B = $d(); //#11744\n $k[$j++] = _2B; //#11747\n if (!$1.dontdraw) { //#11747\n bwipp_renlinear(); //#11747\n } //#11747\n}\n\nfunction bwipp_telepennumeric() {\n var $1 = {}; //#11777\n $1.options = $k[--$j]; //#11779\n $1.barcode = $k[--$j]; //#11780\n $1.dontdraw = false; //#11782\n $1.includetext = false; //#11783\n $1.textfont = \"OCR-B\"; //#11784\n $1.textsize = 10; //#11785\n $1.textxoffset = 0; //#11786\n $1.textyoffset = -8; //#11787\n $1.height = 1; //#11788\n $forall($1.options, function() { //#11799\n var _3 = $k[--$j]; //#11799\n $1[$k[--$j]] = _3; //#11799\n }); //#11799\n $1.textfont = \"\" + $1.textfont; //#11801\n $1.textsize = +$1.textsize; //#11802\n $1.textxoffset = +$1.textxoffset; //#11803\n $1.textyoffset = +$1.textyoffset; //#11804\n $1.height = +$1.height; //#11805\n $put($1.options, \"dontdraw\", true); //#11808\n $put($1.options, \"numeric\", true); //#11809\n $k[$j++] = 'args'; //#11811\n $k[$j++] = $1.barcode; //#11811\n $k[$j++] = $1.options; //#11811\n bwipp_telepen(); //#11811\n var _E = $k[--$j]; //#11811\n $1[$k[--$j]] = _E; //#11811\n $put($1.args, \"opt\", $1.options); //#11813\n $k[$j++] = $1.args; //#11816\n if (!$1.dontdraw) { //#11816\n bwipp_renlinear(); //#11816\n } //#11816\n}\n\nfunction bwipp_posicode() {\n var $1 = {}; //#11846\n $1.options = $k[--$j]; //#11848\n $1.barcode = $k[--$j]; //#11849\n $1.dontdraw = false; //#11851\n $1.includetext = false; //#11852\n $1.textfont = \"OCR-B\"; //#11853\n $1.textsize = 10; //#11854\n $1.textxoffset = 0; //#11855\n $1.textyoffset = -8; //#11856\n $1.height = 1; //#11857\n $1.encoding = \"auto\"; //#11858\n $1.version = \"a\"; //#11859\n $1.checkoffset = 0; //#11860\n $1.raw = false; //#11861\n $1.parse = false; //#11862\n $1.parsefnc = false; //#11863\n $forall($1.options, function() { //#11874\n var _3 = $k[--$j]; //#11874\n $1[$k[--$j]] = _3; //#11874\n }); //#11874\n $1.textfont = \"\" + $1.textfont; //#11876\n $1.textsize = +$1.textsize; //#11877\n $1.textxoffset = +$1.textxoffset; //#11878\n $1.textyoffset = +$1.textyoffset; //#11879\n $1.encoding = \"\" + $1.encoding; //#11880\n $1.version = \"\" + $1.version; //#11881\n $1.checkoffset = ~~$1.checkoffset; //#11882\n $1.height = +$1.height; //#11883\n $1.la0 = -1; //#11886\n $1.la1 = -2; //#11886\n $1.la2 = -3; //#11886\n $1.sf0 = -4; //#11887\n $1.sf1 = -5; //#11887\n $1.sf2 = -6; //#11887\n $1.fn1 = -7; //#11888\n $1.fn2 = -8; //#11888\n $1.fn3 = -9; //#11888\n $1.fn4 = -10; //#11888\n var _1l = new Map([\n [\"normal\", $a([$a([\"0\", \"^\", \"'\"]), $a([\"1\", \";\", 27]), $a([\"2\", \"<\", 28]), $a([\"3\", \"=\", 29]), $a([\"4\", \">\", 30]), $a([\"5\", \"?\", 31]), $a([\"6\", \"@\", \"!\"]), $a([\"7\", \"[\", \"\\\"\"]), $a([\"8\", 92, \"#\"]), $a([\"9\", \"]\", \"&\"]), $a([\"A\", \"a\", 1]), $a([\"B\", \"b\", 2]), $a([\"C\", \"c\", 3]), $a([\"D\", \"d\", 4]), $a([\"E\", \"e\", 5]), $a([\"F\", \"f\", 6]), $a([\"G\", \"g\", 7]), $a([\"H\", \"h\", 8]), $a([\"I\", \"i\", 9]), $a([\"J\", \"j\", 10]), $a([\"K\", \"k\", 11]), $a([\"L\", \"l\", 12]), $a([\"M\", \"m\", 13]), $a([\"N\", \"n\", 14]), $a([\"O\", \"o\", 15]), $a([\"P\", \"p\", 16]), $a([\"Q\", \"q\", 17]), $a([\"R\", \"r\", 18]), $a([\"S\", \"s\", 19]), $a([\"T\", \"t\", 20]), $a([\"U\", \"u\", 21]), $a([\"V\", \"v\", 22]), $a([\"W\", \"w\", 23]), $a([\"X\", \"x\", 24]), $a([\"Y\", \"y\", 25]), $a([\"Z\", \"z\", 26]), $a([\"-\", \"_\", 40]), $a([\".\", \"`\", 41]), $a([\" \", 127, 0]), $a([\"$\", \"{\", \"*\"]), $a([\"/\", \"|\", \",\"]), $a([\"+\", \"}\", \":\"]), $a([\"%\", \"~\", $1.fn1]), $a([$1.la1, $1.la0, $1.fn2]), $a([$1.sf1, $1.sf0, $1.fn3]), $a([$1.sf2, $1.sf2, $1.fn4])])],\n [\"limited\", $a([$a([\"0\", -98, -98]), $a([\"1\", -98, -98]), $a([\"2\", -98, -98]), $a([\"3\", -98, -98]), $a([\"4\", -98, -98]), $a([\"5\", -98, -98]), $a([\"6\", -98, -98]), $a([\"7\", -98, -98]), $a([\"8\", -98, -98]), $a([\"9\", -98, -98]), $a([\"A\", -98, -98]), $a([\"B\", -98, -98]), $a([\"C\", -98, -98]), $a([\"D\", -98, -98]), $a([\"E\", -98, -98]), $a([\"F\", -98, -98]), $a([\"G\", -98, -98]), $a([\"H\", -98, -98]), $a([\"I\", -98, -98]), $a([\"J\", -98, -98]), $a([\"K\", -98, -98]), $a([\"L\", -98, -98]), $a([\"M\", -98, -98]), $a([\"N\", -98, -98]), $a([\"O\", -98, -98]), $a([\"P\", -98, -98]), $a([\"Q\", -98, -98]), $a([\"R\", -98, -98]), $a([\"S\", -98, -98]), $a([\"T\", -98, -98]), $a([\"U\", -98, -98]), $a([\"V\", -98, -98]), $a([\"W\", -98, -98]), $a([\"X\", -98, -98]), $a([\"Y\", -98, -98]), $a([\"Z\", -98, -98]), $a([\"-\", -98, -98]), $a([\".\", -98, -98])])]\n ]); //#11926\n $k[$j++] = _1l; //#11929\n if ($eq($1.version, \"a\") || $eq($1.version, \"b\")) { //#11929\n $k[$j++] = 'normal'; //#11929\n } else { //#11929\n $k[$j++] = 'limited'; //#11929\n } //#11929\n var _1o = $k[--$j]; //#11929\n $1.charmaps = $get($k[--$j], _1o); //#11930\n var _1r = $1.charmaps; //#11934\n var _1s = $1.charmaps; //#11934\n var _1t = $1.charmaps; //#11934\n $1.charvals = $a([new Map, new Map, new Map]); //#11935\n for (var _1x = 0, _1w = $1.charmaps.length - 1; _1x <= _1w; _1x += 1) { //#11944\n $1.i = _1x; //#11937\n $1.encs = $get($1.charmaps, $1.i); //#11938\n for (var _21 = 0; _21 <= 2; _21 += 1) { //#11943\n $1.j = _21; //#11940\n var _24 = $get($1.encs, $1.j); //#11941\n $k[$j++] = _24; //#11941\n if ($eq($type(_24), 'stringtype')) { //#11941\n var _27 = $get($k[--$j], 0); //#11941\n $k[$j++] = _27; //#11941\n } //#11941\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#11942\n } //#11942\n } //#11942\n $1.set0 = $get($1.charvals, 0); //#11945\n $1.set1 = $get($1.charvals, 1); //#11946\n $1.set2 = $get($1.charvals, 2); //#11947\n if ($1.raw) { //#11949\n $1.encoding = \"raw\"; //#11949\n } //#11949\n if ($eq($1.encoding, \"raw\")) { //#11963\n $1.cws = $a($1.barcode.length); //#11952\n $1.i = 0; //#11953\n $1.j = 0; //#11953\n for (;;) { //#11960\n if ($1.i == $1.barcode.length) { //#11955\n break; //#11955\n } //#11955\n $1.cw = ~~$z($geti($1.barcode, $1.i + 1, 3)); //#11956\n $put($1.cws, $1.j, $1.cw); //#11957\n $1.i = $1.i + 4; //#11958\n $1.j = $1.j + 1; //#11959\n } //#11959\n $1.cws = $geti($1.cws, 0, $1.j); //#11961\n $1.text = \"\"; //#11962\n } //#11962\n if ($eq($1.encoding, \"auto\")) { //#12078\n var _2g = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"FNC1\", $1.fn1],\n [\"FNC2\", $1.fn2],\n [\"FNC3\", $1.fn3]\n ]); //#11973\n $1.fncvals = _2g; //#11975\n $k[$j++] = 'msg'; //#11976\n $k[$j++] = $1.barcode; //#11976\n $k[$j++] = $1.fncvals; //#11976\n bwipp_parseinput(); //#11976\n var _2j = $k[--$j]; //#11976\n $1[$k[--$j]] = _2j; //#11976\n $1.msglen = $1.msg.length; //#11977\n $1.text = $s($1.msglen); //#11979\n for (var _2q = 0, _2p = $1.msglen - 1; _2q <= _2p; _2q += 1) { //#11983\n $1.i = _2q; //#11981\n var _2v = $get($1.msg, $1.i); //#11982\n $k[$j++] = $1.text; //#11982\n $k[$j++] = $1.i; //#11982\n $k[$j++] = _2v; //#11982\n if (_2v < 0) { //#11982\n $j--; //#11982\n $k[$j++] = 32; //#11982\n } //#11982\n var _2w = $k[--$j]; //#11982\n var _2x = $k[--$j]; //#11982\n $put($k[--$j], _2x, _2w); //#11982\n } //#11982\n $k[$j++] = Infinity; //#11986\n for (var _30 = 0, _31 = $1.msglen; _30 < _31; _30++) { //#11986\n $k[$j++] = 0; //#11986\n } //#11986\n $k[$j++] = 0; //#11986\n $1.numSA = $a(); //#11986\n $k[$j++] = Infinity; //#11987\n for (var _34 = 0, _35 = $1.msglen; _34 < _35; _34++) { //#11987\n $k[$j++] = 0; //#11987\n } //#11987\n $k[$j++] = 0; //#11987\n $1.numEA = $a(); //#11987\n for (var _38 = $1.msglen - 1; _38 >= 0; _38 -= 1) { //#11997\n $1.i = _38; //#11989\n if ($get($1.msg, $1.i) >= 0) { //#11996\n if ($get($1.msg, $1.i) >= 128) { //#11994\n $put($1.numEA, $1.i, $f($get($1.numEA, $1.i + 1) + 1)); //#11992\n } else { //#11994\n $put($1.numSA, $1.i, $f($get($1.numSA, $1.i + 1) + 1)); //#11994\n } //#11994\n } //#11994\n } //#11994\n $1.ea = false; //#12000\n $1.msgtmp = $a([]); //#12000\n for (var _3S = 0, _3R = $1.msglen - 1; _3S <= _3R; _3S += 1) { //#12015\n $1.i = _3S; //#12002\n $1.c = $get($1.msg, $1.i); //#12003\n if ((!$xo($1.ea, $1.c < 128)) && ($1.c >= 0)) { //#12013\n if ($1.ea) { //#12005\n $k[$j++] = $1.numSA; //#12005\n } else { //#12005\n $k[$j++] = $1.numEA; //#12005\n } //#12005\n var _3e = $get($k[--$j], $1.i); //#12005\n var _3h = ($f(_3e + $1.i) == $1.msglen) ? 3 : 5; //#12006\n if (_3e < _3h) { //#12011\n $k[$j++] = Infinity; //#12008\n $aload($1.msgtmp); //#12008\n $k[$j++] = $1.fn4; //#12008\n $1.msgtmp = $a(); //#12008\n } else { //#12011\n $k[$j++] = Infinity; //#12010\n $aload($1.msgtmp); //#12010\n $k[$j++] = $1.fn4; //#12010\n $k[$j++] = $1.fn4; //#12010\n $1.msgtmp = $a(); //#12010\n $1.ea = !$1.ea; //#12011\n } //#12011\n } //#12011\n $k[$j++] = Infinity; //#12014\n $aload($1.msgtmp); //#12014\n if ($1.c >= 0) { //#12014\n $k[$j++] = $1.c & 127; //#12014\n } else { //#12014\n $k[$j++] = $1.c; //#12014\n } //#12014\n $1.msgtmp = $a(); //#12014\n } //#12014\n $1.msg = $1.msgtmp; //#12016\n $1.msglen = $1.msg.length; //#12017\n $1.enc = function() {\n var _3x = $k[--$j]; //#12021\n $put($1.cws, $1.j, $get(_3x, $k[--$j])); //#12021\n $1.j = $1.j + 1; //#12022\n }; //#12023\n $1.cws = $a($1.msglen * 2); //#12025\n $1.i = 0; //#12026\n $1.j = 0; //#12026\n $1.cset = \"set0\"; //#12026\n for (;;) { //#12076\n if ($1.i == $1.msglen) { //#12028\n break; //#12028\n } //#12028\n for (;;) { //#12074\n $1.char1 = $get($1.msg, $1.i); //#12033\n $k[$j++] = 'char2'; //#12034\n if (($1.i + 1) < $1.msglen) { //#12034\n $k[$j++] = $get($1.msg, $1.i + 1); //#12034\n } else { //#12034\n $k[$j++] = -99; //#12034\n } //#12034\n var _4F = $k[--$j]; //#12034\n $1[$k[--$j]] = _4F; //#12034\n var _4K = $get($1[$1.cset], $1.char1) !== undefined; //#12037\n if (_4K) { //#12041\n $k[$j++] = $1.char1; //#12038\n $k[$j++] = $1[$1.cset]; //#12038\n $1.enc(); //#12038\n $1.i = $1.i + 1; //#12039\n break; //#12040\n } //#12040\n var _4R = $get($1.set2, $1.char1) !== undefined; //#12044\n if (_4R) { //#12049\n $k[$j++] = $1.sf2; //#12045\n $k[$j++] = $1[$1.cset]; //#12045\n $1.enc(); //#12045\n $k[$j++] = $1.char1; //#12046\n $k[$j++] = $1.set2; //#12046\n $1.enc(); //#12046\n $1.i = $1.i + 1; //#12047\n break; //#12048\n } //#12048\n var _4b = $get($1[$1.cset], $1.char2) !== undefined; //#12052\n if (!_4b) { //#12070\n if ($eq($1.cset, \"set0\")) { //#12058\n $k[$j++] = $1.la1; //#12054\n $k[$j++] = $1[$1.cset]; //#12054\n $1.enc(); //#12054\n $1.cset = \"set1\"; //#12055\n } else { //#12058\n $k[$j++] = $1.la0; //#12057\n $k[$j++] = $1[$1.cset]; //#12057\n $1.enc(); //#12057\n $1.cset = \"set0\"; //#12058\n } //#12058\n break; //#12060\n } else { //#12070\n if ($eq($1.cset, \"set0\")) { //#12067\n $k[$j++] = $1.sf1; //#12063\n $k[$j++] = $1[$1.cset]; //#12063\n $1.enc(); //#12063\n $k[$j++] = $1.char1; //#12064\n $k[$j++] = $1.set1; //#12064\n $1.enc(); //#12064\n } else { //#12067\n $k[$j++] = $1.sf0; //#12066\n $k[$j++] = $1[$1.cset]; //#12066\n $1.enc(); //#12066\n $k[$j++] = $1.char1; //#12067\n $k[$j++] = $1.set0; //#12067\n $1.enc(); //#12067\n } //#12067\n $1.i = $1.i + 1; //#12069\n break; //#12070\n } //#12070\n break; //#12073\n } //#12073\n } //#12073\n $1.cws = $geti($1.cws, 0, $1.j); //#12077\n } //#12077\n var _52 = new Map([\n [\"a\", $a([\"141112\", \"131212\", \"121312\", \"111412\", \"131113\", \"121213\", \"111313\", \"121114\", \"111214\", \"111115\", \"181111\", \"171211\", \"161311\", \"151411\", \"141511\", \"131611\", \"121711\", \"111811\", \"171112\", \"161212\", \"151312\", \"141412\", \"131512\", \"121612\", \"111712\", \"161113\", \"151213\", \"141313\", \"131413\", \"121513\", \"111613\", \"151114\", \"141214\", \"131314\", \"121414\", \"111514\", \"141115\", \"131215\", \"121315\", \"111415\", \"131116\", \"121216\", \"111316\", \"121117\", \"111217\", \"111118\", \"1<111112\", \"111111111;1\"])],\n [\"b\", $a([\"151213\", \"141313\", \"131413\", \"121513\", \"141214\", \"131314\", \"121414\", \"131215\", \"121315\", \"121216\", \"191212\", \"181312\", \"171412\", \"161512\", \"151612\", \"141712\", \"131812\", \"121912\", \"181213\", \"171313\", \"161413\", \"151513\", \"141613\", \"131713\", \"121813\", \"171214\", \"161314\", \"151414\", \"141514\", \"131614\", \"121714\", \"161215\", \"151315\", \"141415\", \"131515\", \"121615\", \"151216\", \"141316\", \"131416\", \"121516\", \"141217\", \"131317\", \"121417\", \"131218\", \"121318\", \"121219\", \"1<121312\", \"121212121<1\"])],\n [\"limiteda\", $a([\"111411\", \"111312\", \"111213\", \"111114\", \"121311\", \"121212\", \"121113\", \"141111\", \"131211\", \"131112\", \"171111\", \"161211\", \"151311\", \"141411\", \"131511\", \"121611\", \"111711\", \"161112\", \"151212\", \"141312\", \"131412\", \"121512\", \"111612\", \"151113\", \"141213\", \"131313\", \"121413\", \"111513\", \"141114\", \"131214\", \"121314\", \"111414\", \"131115\", \"121215\", \"111315\", \"121116\", \"111216\", \"111117\", \"151111\", \"1\"])],\n [\"limitedb\", $a([\"121512\", \"121413\", \"121314\", \"121215\", \"131412\", \"131313\", \"131214\", \"151212\", \"141312\", \"141213\", \"181212\", \"171312\", \"161412\", \"151512\", \"141612\", \"131712\", \"121812\", \"171213\", \"161313\", \"151413\", \"141513\", \"131613\", \"121713\", \"161214\", \"151314\", \"141414\", \"131514\", \"121614\", \"151215\", \"141315\", \"131415\", \"121515\", \"141216\", \"131316\", \"121416\", \"131217\", \"121317\", \"121218\", \"141212\", \"1\"])]\n ]); //#12124\n $1.encs = $get(_52, $1.version); //#12127\n $1.c2w = $a([$a([495, 330, 210, 126, 70, 35, 15, 5]), $a([165, 120, 84, 56, 35, 20, 10, 4]), $a([45, 36, 28, 21, 15, 10, 6, 3]), $a([9, 8, 7, 6, 5, 4, 3, 2]), $a([1, 1, 1, 1, 1, 1, 1, 1])]); //#12135\n $1.v = 0; //#12136\n var _5B = $1.cws; //#12137\n for (var _5C = 0, _5D = _5B.length; _5C < _5D; _5C++) { //#12146\n $1.cw = $get(_5B, _5C); //#12138\n for (var _5F = 0, _5G = 6; _5F < _5G; _5F++) { //#12145\n if ((($1.cw ^ $1.v) & 1) != 0) { //#12142\n $1.v = $1.v ^ 7682; //#12141\n } //#12141\n $1.v = $1.v >>> 1; //#12143\n $1.cw = $1.cw >>> 1; //#12144\n } //#12144\n } //#12144\n $1.v = $1.v + $1.checkoffset; //#12147\n if ($eq($1.version, \"limiteda\") || $eq($1.version, \"limitedb\")) { //#12155\n $1.v = $1.v & 1023; //#12150\n if (($1.v > 824) && ($1.v < 853)) { //#12153\n $1.v = $1.v + 292; //#12152\n } //#12152\n } else { //#12155\n $1.v = ($1.v & 1023) + 45; //#12155\n } //#12155\n $1.d = $a([2, 2, 2, 2, 2, 2]); //#12158\n $1.r = 0; //#12159\n $1.c = 0; //#12159\n $1.w = 0; //#12159\n $1.sum = 0; //#12159\n for (;;) { //#12178\n if ($1.sum == $1.v) { //#12161\n break; //#12161\n } //#12161\n $1.t = $f($1.sum + $get($get($1.c2w, $1.r), $1.c)); //#12162\n if ($1.t == $1.v) { //#12167\n $1.w = $1.w + 1; //#12164\n $put($1.d, $1.r, $1.w + 2); //#12165\n $1.sum = $1.t; //#12166\n } //#12166\n if ($1.t > $1.v) { //#12172\n $put($1.d, $1.r, $1.w + 2); //#12169\n $1.r = $1.r + 1; //#12170\n $1.w = 0; //#12171\n } //#12171\n if ($1.t < $1.v) { //#12177\n $1.c = $1.c + 1; //#12174\n $1.w = $1.w + 1; //#12175\n $1.sum = $1.t; //#12176\n } //#12176\n } //#12176\n $k[$j++] = 20; //#12179\n for (var _5w = 0; _5w <= 4; _5w += 1) { //#12179\n var _5z = $k[--$j]; //#12179\n $k[$j++] = $f(_5z - $get($1.d, _5w)); //#12179\n } //#12179\n $put($1.d, 5, $k[--$j]); //#12180\n if ($eq($1.version, \"b\") || $eq($1.version, \"limitedb\")) { //#12183\n $k[$j++] = Infinity; //#12182\n var _64 = $1.d; //#12182\n for (var _65 = 0, _66 = _64.length; _65 < _66; _65++) { //#12182\n $k[$j++] = $f($get(_64, _65) + 1); //#12182\n } //#12182\n $1.d = $a(); //#12182\n } //#12182\n $1.cbs = $strcpy($s(12), \"111111111111\"); //#12184\n for (var _6B = 5; _6B >= 0; _6B -= 1) { //#12188\n $1.i = _6B; //#12186\n $put($1.cbs, ((5 - $1.i) * 2) + 1, $f($get($1.d, $1.i) + 47)); //#12187\n } //#12187\n $1.sbs = $s(($1.cws.length * 6) + 31); //#12191\n var _6L = $get($1.encs, $1.encs.length - 2); //#12192\n $puti($1.sbs, 0, _6L); //#12193\n $1.j = _6L.length; //#12194\n for (var _6P = 0, _6O = $1.cws.length - 1; _6P <= _6O; _6P += 1) { //#12199\n $1.i = _6P; //#12196\n $puti($1.sbs, $1.j, $get($1.encs, $get($1.cws, $1.i))); //#12197\n $1.j = $1.j + 6; //#12198\n } //#12198\n $puti($1.sbs, $1.j, $1.cbs); //#12200\n $1.j = $1.j + 12; //#12201\n var _6e = $get($1.encs, $1.encs.length - 1); //#12202\n $puti($1.sbs, $1.j, _6e); //#12203\n $1.j = _6e.length + $1.j; //#12204\n $1.sbs = $geti($1.sbs, 0, $1.j); //#12205\n $k[$j++] = Infinity; //#12215\n $k[$j++] = Infinity; //#12210\n var _6l = $1.sbs; //#12210\n for (var _6m = 0, _6n = _6l.length; _6m < _6n; _6m++) { //#12210\n $k[$j++] = $f($get(_6l, _6m) - 48); //#12210\n } //#12210\n var _6p = $a(); //#12210\n $k[$j++] = Infinity; //#12211\n for (var _6r = 0, _6s = ~~(($1.sbs.length + 1) / 2); _6r < _6s; _6r++) { //#12211\n $k[$j++] = $1.height; //#12211\n } //#12211\n var _6u = $a(); //#12211\n $k[$j++] = Infinity; //#12212\n for (var _6w = 0, _6x = ~~(($1.sbs.length + 1) / 2); _6w < _6x; _6w++) { //#12212\n $k[$j++] = 0; //#12212\n } //#12212\n var _6y = $a(); //#12212\n $k[$j++] = 'ren'; //#12215\n $k[$j++] = bwipp_renlinear; //#12215\n $k[$j++] = 'sbs'; //#12215\n $k[$j++] = _6p; //#12215\n $k[$j++] = 'bhs'; //#12215\n $k[$j++] = _6u; //#12215\n $k[$j++] = 'bbs'; //#12215\n $k[$j++] = _6y; //#12215\n $k[$j++] = 'txt'; //#12215\n $k[$j++] = $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])]); //#12215\n $k[$j++] = 'textxalign'; //#12215\n $k[$j++] = \"center\"; //#12215\n $k[$j++] = 'opt'; //#12215\n $k[$j++] = $1.options; //#12215\n var _77 = $d(); //#12215\n $k[$j++] = _77; //#12218\n if (!$1.dontdraw) { //#12218\n bwipp_renlinear(); //#12218\n } //#12218\n}\n\nfunction bwipp_codablockf() {\n var $1 = {}; //#12248\n $1.options = $k[--$j]; //#12250\n $1.barcode = $k[--$j]; //#12251\n $1.dontdraw = false; //#12253\n $1.rows = -1; //#12254\n $1.columns = 8; //#12255\n $1.rowheight = 10; //#12256\n $1.sepheight = 1; //#12257\n $1.parse = false; //#12258\n $1.parsefnc = false; //#12259\n $forall($1.options, function() { //#12270\n var _3 = $k[--$j]; //#12270\n $1[$k[--$j]] = _3; //#12270\n }); //#12270\n $1.rows = ~~$1.rows; //#12272\n $1.columns = ~~$1.columns; //#12273\n $1.rowheight = ~~$1.rowheight; //#12274\n $1.sepheight = ~~$1.sepheight; //#12275\n $k[$j++] = 'c'; //#12277\n if (($1.columns >= 4) && ($1.columns <= 62)) { //#12277\n $k[$j++] = $1.columns; //#12277\n } else { //#12277\n $k[$j++] = 8; //#12277\n } //#12277\n var _C = $k[--$j]; //#12277\n $1[$k[--$j]] = _C; //#12277\n $k[$j++] = 'rows'; //#12278\n if (($1.rows >= 2) && ($1.rows <= 44)) { //#12278\n $k[$j++] = $1.rows; //#12278\n } else { //#12278\n $k[$j++] = -1; //#12278\n } //#12278\n var _H = $k[--$j]; //#12278\n $1[$k[--$j]] = _H; //#12278\n $1.swa = -1; //#12281\n $1.swb = -2; //#12281\n $1.swc = -3; //#12281\n $1.sft = -4; //#12281\n $1.fn1 = -5; //#12282\n $1.fn2 = -6; //#12282\n $1.fn3 = -7; //#12282\n $1.fn4 = -8; //#12282\n $1.sta = -9; //#12283\n $1.stp = -10; //#12283\n var _N = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"FNC1\", $1.fn1],\n [\"FNC3\", $1.fn3]\n ]); //#12291\n $1.fncvals = _N; //#12293\n $k[$j++] = 'msg'; //#12294\n $k[$j++] = $1.barcode; //#12294\n $k[$j++] = $1.fncvals; //#12294\n bwipp_parseinput(); //#12294\n var _Q = $k[--$j]; //#12294\n $1[$k[--$j]] = _Q; //#12294\n $1.msglen = $1.msg.length; //#12295\n $1.msgtmp = $a([]); //#12298\n var _U = $1.msg; //#12299\n for (var _V = 0, _W = _U.length; _V < _W; _V++) { //#12302\n $1.char = $get(_U, _V); //#12300\n $k[$j++] = Infinity; //#12301\n $aload($1.msgtmp); //#12301\n if ($1.char < 128) { //#12301\n $k[$j++] = $1.char; //#12301\n } else { //#12301\n $k[$j++] = $1.fn4; //#12301\n $k[$j++] = $1.char & 127; //#12301\n } //#12301\n $1.msgtmp = $a(); //#12301\n } //#12301\n $1.msg = $1.msgtmp; //#12303\n $1.msglen = $1.msg.length; //#12304\n $1.charmaps = $a([$a([32, 32, \"00\"]), $a([\"!\", \"!\", \"01\"]), $a([\"\\\"\", \"\\\"\", \"02\"]), $a([\"#\", \"#\", \"03\"]), $a([\"$\", \"$\", \"04\"]), $a([\"%\", \"%\", \"05\"]), $a([\"&\", \"&\", \"06\"]), $a([\"'\", \"'\", \"07\"]), $a([40, 40, \"08\"]), $a([41, 41, \"09\"]), $a([\"*\", \"*\", \"10\"]), $a([\"+\", \"+\", \"11\"]), $a([\",\", \",\", \"12\"]), $a([\"-\", \"-\", \"13\"]), $a([\".\", \".\", \"14\"]), $a([\"/\", \"/\", \"15\"]), $a([\"0\", \"0\", \"16\"]), $a([\"1\", \"1\", \"17\"]), $a([\"2\", \"2\", \"18\"]), $a([\"3\", \"3\", \"19\"]), $a([\"4\", \"4\", \"20\"]), $a([\"5\", \"5\", \"21\"]), $a([\"6\", \"6\", \"22\"]), $a([\"7\", \"7\", \"23\"]), $a([\"8\", \"8\", \"24\"]), $a([\"9\", \"9\", \"25\"]), $a([\":\", \":\", \"26\"]), $a([\";\", \";\", \"27\"]), $a([\"<\", \"<\", \"28\"]), $a([\"=\", \"=\", \"29\"]), $a([\">\", \">\", \"30\"]), $a([\"?\", \"?\", \"31\"]), $a([\"@\", \"@\", \"32\"]), $a([\"A\", \"A\", \"33\"]), $a([\"B\", \"B\", \"34\"]), $a([\"C\", \"C\", \"35\"]), $a([\"D\", \"D\", \"36\"]), $a([\"E\", \"E\", \"37\"]), $a([\"F\", \"F\", \"38\"]), $a([\"G\", \"G\", \"39\"]), $a([\"H\", \"H\", \"40\"]), $a([\"I\", \"I\", \"41\"]), $a([\"J\", \"J\", \"42\"]), $a([\"K\", \"K\", \"43\"]), $a([\"L\", \"L\", \"44\"]), $a([\"M\", \"M\", \"45\"]), $a([\"N\", \"N\", \"46\"]), $a([\"O\", \"O\", \"47\"]), $a([\"P\", \"P\", \"48\"]), $a([\"Q\", \"Q\", \"49\"]), $a([\"R\", \"R\", \"50\"]), $a([\"S\", \"S\", \"51\"]), $a([\"T\", \"T\", \"52\"]), $a([\"U\", \"U\", \"53\"]), $a([\"V\", \"V\", \"54\"]), $a([\"W\", \"W\", \"55\"]), $a([\"X\", \"X\", \"56\"]), $a([\"Y\", \"Y\", \"57\"]), $a([\"Z\", \"Z\", \"58\"]), $a([\"[\", \"[\", \"59\"]), $a([92, 92, \"60\"]), $a([\"]\", \"]\", \"61\"]), $a([\"^\", \"^\", \"62\"]), $a([\"_\", \"_\", \"63\"]), $a([0, \"`\", \"64\"]), $a([1, \"a\", \"65\"]), $a([2, \"b\", \"66\"]), $a([3, \"c\", \"67\"]), $a([4, \"d\", \"68\"]), $a([5, \"e\", \"69\"]), $a([6, \"f\", \"70\"]), $a([7, \"g\", \"71\"]), $a([8, \"h\", \"72\"]), $a([9, \"i\", \"73\"]), $a([10, \"j\", \"74\"]), $a([11, \"k\", \"75\"]), $a([12, \"l\", \"76\"]), $a([13, \"m\", \"77\"]), $a([14, \"n\", \"78\"]), $a([15, \"o\", \"79\"]), $a([16, \"p\", \"80\"]), $a([17, \"q\", \"81\"]), $a([18, \"r\", \"82\"]), $a([19, \"s\", \"83\"]), $a([20, \"t\", \"84\"]), $a([21, \"u\", \"85\"]), $a([22, \"v\", \"86\"]), $a([23, \"w\", \"87\"]), $a([24, \"x\", \"88\"]), $a([25, \"y\", \"89\"]), $a([26, \"z\", \"90\"]), $a([27, \"{\", \"91\"]), $a([28, \"|\", \"92\"]), $a([29, \"}\", \"93\"]), $a([30, \"~\", \"94\"]), $a([31, 127, \"95\"]), $a([$1.fn3, $1.fn3, \"96\"]), $a([$1.fn2, $1.fn2, \"97\"]), $a([$1.sft, $1.sft, \"98\"]), $a([$1.swc, $1.swc, \"99\"]), $a([$1.swb, $1.fn4, $1.swb]), $a([$1.fn4, $1.swa, $1.swa]), $a([$1.fn1, $1.fn1, $1.fn1]), $a([$1.sta, $1.sta, $1.sta]), $a([$1.stp, $1.stp, $1.stp])]); //#12344\n $1.charvals = $a([new Map, new Map, new Map]); //#12347\n for (var _2o = 0, _2n = $1.charmaps.length - 1; _2o <= _2n; _2o += 1) { //#12356\n $1.i = _2o; //#12349\n $1.encs = $get($1.charmaps, $1.i); //#12350\n for (var _2s = 0; _2s <= 2; _2s += 1) { //#12355\n $1.j = _2s; //#12352\n var _2v = $get($1.encs, $1.j); //#12353\n $k[$j++] = _2v; //#12353\n if ($eq($type(_2v), 'stringtype')) { //#12353\n var _2y = $get($k[--$j], 0); //#12353\n $k[$j++] = _2y; //#12353\n } //#12353\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#12354\n } //#12354\n } //#12354\n $1.seta = $get($1.charvals, 0); //#12357\n $1.setb = $get($1.charvals, 1); //#12358\n $1.setc = $get($1.charvals, 2); //#12359\n $1.numsscr = function() {\n $1.n = 0; //#12363\n $1.s = 0; //#12363\n $1.p = $k[--$j]; //#12364\n for (;;) { //#12375\n if ($1.p >= $1.msglen) { //#12365\n break; //#12365\n } //#12365\n var _3F = $get($1.msg, $1.p); //#12366\n var _3H = $get($1.setc, _3F) !== undefined; //#12367\n $k[$j++] = _3F; //#12367\n if (!_3H) { //#12367\n $j--; //#12367\n break; //#12367\n } //#12367\n if ($k[--$j] == $1.fn1) { //#12371\n if (($1.s % 2) == 0) { //#12370\n $1.s = $1.s + 1; //#12370\n } else { //#12370\n break; //#12370\n } //#12370\n } //#12370\n $1.n = $1.n + 1; //#12372\n $1.s = $1.s + 1; //#12373\n $1.p = $f($1.p + 1); //#12374\n } //#12374\n $k[$j++] = $1.n; //#12376\n $k[$j++] = $1.s; //#12376\n }; //#12377\n $1.enca = function() {\n $put($1.cws, $1.j, $get($1.seta, $k[--$j])); //#12381\n $1.j = $1.j + 1; //#12382\n }; //#12383\n $1.encb = function() {\n $put($1.cws, $1.j, $get($1.setb, $k[--$j])); //#12385\n $1.j = $1.j + 1; //#12386\n }; //#12387\n $1.encc = function() {\n var _3d = $k[--$j]; //#12389\n $k[$j++] = _3d; //#12393\n if ($ne($type(_3d), 'arraytype')) { //#12392\n var _3h = $get($1.setc, $k[--$j]); //#12390\n $k[$j++] = _3h; //#12390\n } else { //#12392\n $aload($k[--$j]); //#12392\n var _3j = $k[--$j]; //#12392\n var _3k = $k[--$j]; //#12392\n $k[$j++] = $f($f(_3j - 48) + ($f(_3k - 48) * 10)); //#12392\n } //#12392\n $put($1.cws, $1.j, $k[--$j]); //#12394\n $1.j = $1.j + 1; //#12395\n }; //#12396\n $1.anotb = function() {\n var _3p = $k[--$j]; //#12399\n var _3r = $get($1.seta, _3p) !== undefined; //#12399\n var _3t = $get($1.setb, _3p) !== undefined; //#12399\n $k[$j++] = _3r && (!_3t); //#12399\n }; //#12399\n $1.bnota = function() {\n var _3u = $k[--$j]; //#12400\n var _3w = $get($1.setb, _3u) !== undefined; //#12400\n var _3y = $get($1.seta, _3u) !== undefined; //#12400\n $k[$j++] = _3w && (!_3y); //#12400\n }; //#12400\n $k[$j++] = Infinity; //#12403\n for (var _40 = 0, _41 = $1.msg.length; _40 < _41; _40++) { //#12403\n $k[$j++] = 0; //#12403\n } //#12403\n $k[$j++] = 9999; //#12403\n $1.nextanotb = $a(); //#12403\n $k[$j++] = Infinity; //#12404\n for (var _44 = 0, _45 = $1.msg.length; _44 < _45; _44++) { //#12404\n $k[$j++] = 0; //#12404\n } //#12404\n $k[$j++] = 9999; //#12404\n $1.nextbnota = $a(); //#12404\n for (var _48 = $1.msg.length - 1; _48 >= 0; _48 -= 1) { //#12417\n $1.i = _48; //#12406\n $k[$j++] = $get($1.msg, $1.i); //#12407\n $1.anotb(); //#12407\n if ($k[--$j]) { //#12410\n $put($1.nextanotb, $1.i, 0); //#12408\n } else { //#12410\n $put($1.nextanotb, $1.i, $f($get($1.nextanotb, $1.i + 1) + 1)); //#12410\n } //#12410\n $k[$j++] = $get($1.msg, $1.i); //#12412\n $1.bnota(); //#12412\n if ($k[--$j]) { //#12415\n $put($1.nextbnota, $1.i, 0); //#12413\n } else { //#12415\n $put($1.nextbnota, $1.i, $f($get($1.nextbnota, $1.i + 1) + 1)); //#12415\n } //#12415\n } //#12415\n $1.abeforeb = function() {\n var _4V = $k[--$j]; //#12420\n $k[$j++] = $lt($get($1.nextanotb, _4V), $get($1.nextbnota, _4V)); //#12420\n }; //#12420\n $1.bbeforea = function() {\n var _4a = $k[--$j]; //#12421\n $k[$j++] = $lt($get($1.nextbnota, _4a), $get($1.nextanotb, _4a)); //#12421\n }; //#12421\n $1.padrow = function() {\n for (var _4g = 0, _4h = $k[--$j]; _4g < _4h; _4g++) { //#12431\n for (;;) { //#12430\n if ($eq($1.cset, \"seta\")) { //#12427\n $k[$j++] = $1.swc; //#12427\n $1.enca(); //#12427\n $1.cset = \"setc\"; //#12427\n break; //#12427\n } //#12427\n if ($eq($1.cset, \"setb\")) { //#12428\n $k[$j++] = $1.swc; //#12428\n $1.encb(); //#12428\n $1.cset = \"setc\"; //#12428\n break; //#12428\n } //#12428\n if ($eq($1.cset, \"setc\")) { //#12429\n $k[$j++] = $1.swb; //#12429\n $1.encc(); //#12429\n $1.cset = \"setb\"; //#12429\n break; //#12429\n } //#12429\n } //#12429\n } //#12429\n }; //#12432\n $1.cws = $a($f($1.c + 5) * 44); //#12435\n $1.i = 0; //#12437\n $1.j = 0; //#12437\n $1.r = 1; //#12437\n $1.lastrow = false; //#12438\n for (;;) { //#12607\n if ($1.lastrow) { //#12440\n break; //#12440\n } //#12440\n $k[$j++] = $1.sta; //#12443\n $1.enca(); //#12443\n if ($1.i < $1.msglen) { //#12444\n $k[$j++] = $1.i; //#12444\n $1.numsscr(); //#12444\n } else { //#12444\n $k[$j++] = -1; //#12444\n $k[$j++] = -1; //#12444\n } //#12444\n $1.nums = $k[--$j]; //#12444\n $1.nchars = $k[--$j]; //#12444\n for (;;) { //#12464\n if ($1.msglen == 0) { //#12450\n $k[$j++] = $1.swb; //#12447\n $1.enca(); //#12447\n $1.cset = \"setb\"; //#12448\n break; //#12449\n } //#12449\n if ($1.nums >= 2) { //#12455\n $k[$j++] = $1.swc; //#12452\n $1.enca(); //#12452\n $1.cset = \"setc\"; //#12453\n break; //#12454\n } //#12454\n $k[$j++] = $1.i; //#12456\n $1.abeforeb(); //#12456\n if ($k[--$j]) { //#12460\n $k[$j++] = $1.sft; //#12457\n $1.enca(); //#12457\n $1.cset = \"seta\"; //#12458\n break; //#12459\n } //#12459\n $k[$j++] = $1.swb; //#12461\n $1.enca(); //#12461\n $1.cset = \"setb\"; //#12462\n break; //#12463\n } //#12463\n $1.j = $1.j + 1; //#12465\n $1.endofrow = false; //#12468\n for (;;) { //#12592\n $1.rem = $f($f($1.c + 3) - ($1.j % $f($1.c + 5))); //#12469\n if (($1.i == $1.msglen) || $1.endofrow) { //#12471\n break; //#12471\n } //#12471\n $k[$j++] = $1.i; //#12473\n $1.numsscr(); //#12473\n $1.nums = $k[--$j]; //#12473\n $1.nchars = $k[--$j]; //#12473\n $k[$j++] = 'remnums'; //#12474\n if ($1.nums > ($1.rem * 2)) { //#12474\n $k[$j++] = $1.rem * 2; //#12474\n } else { //#12474\n $k[$j++] = $1.nums; //#12474\n } //#12474\n var _5J = $k[--$j]; //#12474\n $1[$k[--$j]] = _5J; //#12474\n for (;;) { //#12590\n if ((($eq($1.cset, \"seta\") || $eq($1.cset, \"setb\")) && ($1.remnums >= 4)) && ($get($1.msg, $1.i) != $1.fn1)) { //#12512\n if ((($1.remnums % 2) == 0) && ($1.rem >= 3)) { //#12494\n $k[$j++] = $1.swc; //#12482\n if ($eq($1.cset, \"seta\")) { //#12482\n $1.enca(); //#12482\n } else { //#12482\n $1.encb(); //#12482\n } //#12482\n $1.cset = \"setc\"; //#12483\n for (var _5W = 0, _5X = 2; _5W < _5X; _5W++) { //#12492\n if ($get($1.msg, $1.i) == $1.fn1) { //#12490\n $k[$j++] = $1.fn1; //#12486\n $1.encc(); //#12486\n $1.i = $1.i + 1; //#12487\n } else { //#12490\n $k[$j++] = $geti($1.msg, $1.i, 2); //#12489\n $1.encc(); //#12489\n $1.i = $1.i + 2; //#12490\n } //#12490\n } //#12490\n break; //#12493\n } //#12493\n if ((($1.remnums % 2) != 0) && ($1.rem >= 4)) { //#12511\n $k[$j++] = $get($1.msg, $1.i); //#12497\n if ($eq($1.cset, \"seta\")) { //#12497\n $1.enca(); //#12497\n } else { //#12497\n $1.encb(); //#12497\n } //#12497\n $1.i = $1.i + 1; //#12498\n $k[$j++] = $1.swc; //#12499\n if ($eq($1.cset, \"seta\")) { //#12499\n $1.enca(); //#12499\n } else { //#12499\n $1.encb(); //#12499\n } //#12499\n $1.cset = \"setc\"; //#12500\n for (var _5r = 0, _5s = 2; _5r < _5s; _5r++) { //#12509\n if ($get($1.msg, $1.i) == $1.fn1) { //#12507\n $k[$j++] = $1.fn1; //#12503\n $1.encc(); //#12503\n $1.i = $1.i + 1; //#12504\n } else { //#12507\n $k[$j++] = $geti($1.msg, $1.i, 2); //#12506\n $1.encc(); //#12506\n $1.i = $1.i + 2; //#12507\n } //#12507\n } //#12507\n break; //#12510\n } //#12510\n } //#12510\n $k[$j++] = $eq($1.cset, \"setb\"); //#12513\n $k[$j++] = $get($1.msg, $1.i); //#12513\n $1.anotb(); //#12513\n var _67 = $k[--$j]; //#12513\n var _68 = $k[--$j]; //#12513\n if ((_68 && _67) && ($1.rem >= 2)) { //#12528\n if ($1.i < ($1.msglen - 1)) { //#12522\n $k[$j++] = $1.i + 1; //#12516\n $1.bbeforea(); //#12516\n if ($k[--$j]) { //#12521\n $k[$j++] = $1.sft; //#12517\n $1.encb(); //#12517\n $k[$j++] = $get($1.msg, $1.i); //#12518\n $1.enca(); //#12518\n $1.i = $1.i + 1; //#12519\n break; //#12520\n } //#12520\n } //#12520\n $k[$j++] = $1.swa; //#12523\n $1.encb(); //#12523\n $1.cset = \"seta\"; //#12524\n $k[$j++] = $get($1.msg, $1.i); //#12525\n $1.enca(); //#12525\n $1.i = $1.i + 1; //#12526\n break; //#12527\n } //#12527\n $k[$j++] = $eq($1.cset, \"seta\"); //#12529\n $k[$j++] = $get($1.msg, $1.i); //#12529\n $1.bnota(); //#12529\n var _6S = $k[--$j]; //#12529\n var _6T = $k[--$j]; //#12529\n if ((_6T && _6S) && ($1.rem >= 2)) { //#12544\n if ($1.i < ($1.msglen - 1)) { //#12538\n $k[$j++] = $1.i + 1; //#12532\n $1.abeforeb(); //#12532\n if ($k[--$j]) { //#12537\n $k[$j++] = $1.sft; //#12533\n $1.enca(); //#12533\n $k[$j++] = $get($1.msg, $1.i); //#12534\n $1.encb(); //#12534\n $1.i = $1.i + 1; //#12535\n break; //#12536\n } //#12536\n } //#12536\n $k[$j++] = $1.swb; //#12539\n $1.enca(); //#12539\n $1.cset = \"setb\"; //#12540\n $k[$j++] = $get($1.msg, $1.i); //#12541\n $1.encb(); //#12541\n $1.i = $1.i + 1; //#12542\n break; //#12543\n } //#12543\n if (($eq($1.cset, \"setc\") && ($1.remnums < 2)) && ($1.rem >= 2)) { //#12559\n $k[$j++] = $1.i; //#12547\n $1.abeforeb(); //#12547\n if ($k[--$j]) { //#12553\n $k[$j++] = $1.swa; //#12548\n $1.encc(); //#12548\n $1.cset = \"seta\"; //#12549\n $k[$j++] = $get($1.msg, $1.i); //#12550\n $1.enca(); //#12550\n $1.i = $1.i + 1; //#12551\n break; //#12552\n } //#12552\n $k[$j++] = $1.swb; //#12554\n $1.encc(); //#12554\n $1.cset = \"setb\"; //#12555\n $k[$j++] = $get($1.msg, $1.i); //#12556\n $1.encb(); //#12556\n $1.i = $1.i + 1; //#12557\n break; //#12558\n } //#12558\n var _73 = $get($1.seta, $get($1.msg, $1.i)) !== undefined; //#12562\n if (($eq($1.cset, \"seta\") && _73) && ($1.rem >= 1)) { //#12567\n $k[$j++] = $get($1.msg, $1.i); //#12564\n $1.enca(); //#12564\n $1.i = $1.i + 1; //#12565\n break; //#12566\n } //#12566\n var _7E = $get($1.setb, $get($1.msg, $1.i)) !== undefined; //#12568\n if (($eq($1.cset, \"setb\") && _7E) && ($1.rem >= 1)) { //#12573\n $k[$j++] = $get($1.msg, $1.i); //#12570\n $1.encb(); //#12570\n $1.i = $1.i + 1; //#12571\n break; //#12572\n } //#12572\n if (($eq($1.cset, \"setc\") && ($1.remnums >= 2)) && ($1.rem >= 1)) { //#12584\n if ($get($1.msg, $1.i) == $1.fn1) { //#12581\n $k[$j++] = $1.fn1; //#12577\n $1.encc(); //#12577\n $1.i = $1.i + 1; //#12578\n } else { //#12581\n $k[$j++] = $geti($1.msg, $1.i, 2); //#12580\n $1.encc(); //#12580\n $1.i = $1.i + 2; //#12581\n } //#12581\n break; //#12583\n } //#12583\n $1.endofrow = true; //#12587\n break; //#12588\n } //#12588\n } //#12588\n if ((((($1.r >= $1.rows) || ($1.rows == -1)) && ($1.r > 1)) && ($1.i == $1.msglen)) && ($1.rem >= 2)) { //#12604\n $k[$j++] = $f($1.rem - 2); //#12596\n $1.padrow(); //#12596\n $1.j = $1.j + 3; //#12597\n $k[$j++] = $1.stp; //#12598\n $1.enca(); //#12598\n $1.lastrow = true; //#12599\n } else { //#12604\n $k[$j++] = $1.rem; //#12601\n $1.padrow(); //#12601\n $1.j = $1.j + 1; //#12602\n $k[$j++] = $1.stp; //#12603\n $1.enca(); //#12603\n $1.r = $1.r + 1; //#12604\n } //#12604\n } //#12604\n $1.cws = $geti($1.cws, 0, $1.j); //#12608\n $k[$j++] = Infinity; //#12614\n for (var _7o = 64; _7o <= 95; _7o += 1) { //#12612\n $k[$j++] = _7o; //#12612\n } //#12612\n for (var _7p = 0; _7p <= 15; _7p += 1) { //#12613\n $k[$j++] = _7p; //#12613\n } //#12613\n for (var _7q = 26; _7q <= 63; _7q += 1) { //#12614\n $k[$j++] = _7q; //#12614\n } //#12614\n $1.abmap = $a(); //#12614\n $k[$j++] = Infinity; //#12616\n for (var _7s = 0; _7s <= 85; _7s += 1) { //#12616\n $k[$j++] = _7s; //#12616\n } //#12616\n $1.cmap = $a(); //#12616\n $1.chkmsg = $a($1.msglen); //#12619\n $1.j = 0; //#12620\n for (var _7y = 0, _7x = $1.msglen - 1; _7y <= _7x; _7y += 1) { //#12626\n $1.i = _7y; //#12622\n $1.char = $get($1.msg, $1.i); //#12623\n if ($1.char >= 0) { //#12624\n $put($1.chkmsg, $1.j, $1.char); //#12624\n $1.j = $1.j + 1; //#12624\n } //#12624\n if (($1.char == $1.fn1) && ($1.i != 0)) { //#12625\n $put($1.chkmsg, $1.j, 29); //#12625\n $1.j = $1.j + 1; //#12625\n } //#12625\n } //#12625\n $1.t1 = 0; //#12627\n $1.t2 = 0; //#12627\n $1.k1 = 0; //#12627\n $1.k2 = 0; //#12627\n for (var _8F = 0, _8E = $1.j - 1; _8F <= _8E; _8F += 1) { //#12634\n $1.i = _8F; //#12629\n $1.t1 = ($get($1.chkmsg, $1.i) * $1.i) % 86; //#12630\n $1.t2 = $f($1.t1 + $get($1.chkmsg, $1.i)) % 86; //#12631\n $1.k1 = $f($1.k1 + $1.t2) % 86; //#12632\n $1.k2 = $f($1.k2 + $1.t1) % 86; //#12633\n } //#12633\n $k[$j++] = $1.cws; //#12635\n $k[$j++] = $1.cws.length - 4; //#12635\n if ($ne($1.cset, \"setc\")) { //#12635\n $k[$j++] = $1.abmap; //#12635\n } else { //#12635\n $k[$j++] = $1.cmap; //#12635\n } //#12635\n var _8Z = $get($k[--$j], $1.k1); //#12635\n var _8a = $k[--$j]; //#12635\n $put($k[--$j], _8a, _8Z); //#12635\n $k[$j++] = $1.cws; //#12636\n $k[$j++] = $1.cws.length - 3; //#12636\n if ($ne($1.cset, \"setc\")) { //#12636\n $k[$j++] = $1.abmap; //#12636\n } else { //#12636\n $k[$j++] = $1.cmap; //#12636\n } //#12636\n var _8j = $get($k[--$j], $1.k2); //#12636\n var _8k = $k[--$j]; //#12636\n $put($k[--$j], _8k, _8j); //#12636\n var _8m = $1.cws; //#12639\n $k[$j++] = _8m; //#12639\n $k[$j++] = 2; //#12639\n if ($get(_8m, 2 - 1) != 99) { //#12639\n $k[$j++] = $1.abmap; //#12639\n } else { //#12639\n $k[$j++] = $1.cmap; //#12639\n } //#12639\n var _8s = $get($k[--$j], $1.r - 2); //#12639\n var _8t = $k[--$j]; //#12639\n $put($k[--$j], _8t, _8s); //#12639\n for (var _8x = 1, _8w = $1.r - 1; _8x <= _8w; _8x += 1) { //#12643\n $1.i = _8x; //#12641\n var _8y = $1.cws; //#12642\n var _8z = $1.i; //#12642\n var _90 = $1.c; //#12642\n $k[$j++] = _8y; //#12642\n $k[$j++] = $f((_8z * $f(_90 + 5)) + 2); //#12642\n if ($get(_8y, $f(($f((_8z * $f(_90 + 5)) + 2)) - 1)) != 99) { //#12642\n $k[$j++] = $1.abmap; //#12642\n } else { //#12642\n $k[$j++] = $1.cmap; //#12642\n } //#12642\n var _96 = $get($k[--$j], $1.i + 42); //#12642\n var _97 = $k[--$j]; //#12642\n $put($k[--$j], _97, _96); //#12642\n } //#12642\n for (var _9B = 0, _9A = $1.r - 1; _9B <= _9A; _9B += 1) { //#12654\n $1.rcws = $geti($1.cws, _9B * $f($1.c + 5), $f($1.c + 4)); //#12647\n $1.csum = $get($1.rcws, 0); //#12648\n for (var _9K = 1, _9J = $1.rcws.length - 2; _9K <= _9J; _9K += 1) { //#12652\n $1.i = _9K; //#12650\n $1.csum = $f($1.csum + ($get($1.rcws, $1.i) * $1.i)); //#12651\n } //#12651\n $put($1.rcws, $1.rcws.length - 1, $1.csum % 103); //#12653\n } //#12653\n $1.encs = $a([\"212222\", \"222122\", \"222221\", \"121223\", \"121322\", \"131222\", \"122213\", \"122312\", \"132212\", \"221213\", \"221312\", \"231212\", \"112232\", \"122132\", \"122231\", \"113222\", \"123122\", \"123221\", \"223211\", \"221132\", \"221231\", \"213212\", \"223112\", \"312131\", \"311222\", \"321122\", \"321221\", \"312212\", \"322112\", \"322211\", \"212123\", \"212321\", \"232121\", \"111323\", \"131123\", \"131321\", \"112313\", \"132113\", \"132311\", \"211313\", \"231113\", \"231311\", \"112133\", \"112331\", \"132131\", \"113123\", \"113321\", \"133121\", \"313121\", \"211331\", \"231131\", \"213113\", \"213311\", \"213131\", \"311123\", \"311321\", \"331121\", \"312113\", \"312311\", \"332111\", \"314111\", \"221411\", \"431111\", \"111224\", \"111422\", \"121124\", \"121421\", \"141122\", \"141221\", \"112214\", \"112412\", \"122114\", \"122411\", \"142112\", \"142211\", \"241211\", \"221114\", \"413111\", \"241112\", \"134111\", \"111242\", \"121142\", \"121241\", \"114212\", \"124112\", \"124211\", \"411212\", \"421112\", \"421211\", \"212141\", \"214121\", \"412121\", \"111143\", \"111341\", \"131141\", \"114113\", \"114311\", \"411113\", \"411311\", \"113141\", \"114131\", \"311141\", \"411131\", \"211412\", \"2331112\"]); //#12673\n $1.rowbits = $a($1.r); //#12676\n for (var _9Y = 0, _9X = $1.r - 1; _9Y <= _9X; _9Y += 1) { //#12688\n $1.i = _9Y; //#12678\n $k[$j++] = Infinity; //#12681\n var _9d = $geti($1.cws, $1.i * $f($1.c + 5), $f($1.c + 5)); //#12680\n for (var _9e = 0, _9f = _9d.length; _9e < _9f; _9e++) { //#12682\n $forall($get($1.encs, $get(_9d, _9e)), function() { //#12681\n var _9j = $k[--$j]; //#12681\n $k[$j++] = $f(_9j - 48); //#12681\n }); //#12681\n } //#12681\n $1.sbs = $a(); //#12681\n $k[$j++] = Infinity; //#12684\n var _9l = $1.sbs; //#12685\n $k[$j++] = 0; //#12685\n for (var _9m = 0, _9n = _9l.length; _9m < _9n; _9m++) { //#12685\n var _9p = $k[--$j]; //#12685\n var _9q = (_9p == 1) ? 0 : 1; //#12685\n $k[$j++] = _9p; //#12685\n for (var _9r = 0, _9s = $get(_9l, _9m); _9r < _9s; _9r++) { //#12685\n $k[$j++] = _9q //#12685\n } //#12685\n } //#12685\n $astore($a($counttomark() - 1)); //#12686\n var _9v = $k[--$j]; //#12686\n var _9w = $k[--$j]; //#12686\n $k[$j++] = _9v; //#12686\n $k[$j++] = _9w; //#12686\n $j--; //#12686\n var _9x = $k[--$j]; //#12686\n var _9y = $k[--$j]; //#12686\n $k[$j++] = _9x; //#12686\n $k[$j++] = _9y; //#12686\n $j--; //#12686\n $put($1.rowbits, $1.i, $k[--$j]); //#12687\n } //#12687\n $1.symwid = $f(($1.c * 11) + 57); //#12691\n $k[$j++] = Infinity; //#12704\n for (var _A5 = 0, _A6 = $1.symwid * $1.sepheight; _A5 < _A6; _A5++) { //#12693\n $k[$j++] = 1; //#12693\n } //#12693\n for (var _A9 = 0, _A8 = $1.r - 2; _A9 <= _A8; _A9 += 1) { //#12702\n $1.i = _A9; //#12695\n for (var _AB = 0, _AC = $1.rowheight; _AB < _AC; _AB++) { //#12696\n $aload($get($1.rowbits, $1.i)); //#12696\n } //#12696\n for (var _AH = 0, _AI = $1.sepheight; _AH < _AI; _AH++) { //#12701\n $k[$j++] = 1; //#12699\n $k[$j++] = 1; //#12699\n $k[$j++] = 0; //#12699\n $k[$j++] = 1; //#12699\n $k[$j++] = 0; //#12699\n $k[$j++] = 0; //#12699\n $k[$j++] = 0; //#12699\n $k[$j++] = 0; //#12699\n $k[$j++] = 1; //#12699\n $k[$j++] = 0; //#12699\n $k[$j++] = 0; //#12699\n for (var _AK = 0, _AL = $f($1.symwid - 24); _AK < _AL; _AK++) { //#12699\n $k[$j++] = 1; //#12699\n } //#12699\n $k[$j++] = 1; //#12700\n $k[$j++] = 1; //#12700\n $k[$j++] = 0; //#12700\n $k[$j++] = 0; //#12700\n $k[$j++] = 0; //#12700\n $k[$j++] = 1; //#12700\n $k[$j++] = 1; //#12700\n $k[$j++] = 1; //#12700\n $k[$j++] = 0; //#12700\n $k[$j++] = 1; //#12700\n $k[$j++] = 0; //#12700\n $k[$j++] = 1; //#12700\n $k[$j++] = 1; //#12700\n } //#12700\n } //#12700\n for (var _AN = 0, _AO = $1.rowheight; _AN < _AO; _AN++) { //#12703\n $aload($get($1.rowbits, $1.r - 1)); //#12703\n } //#12703\n for (var _AU = 0, _AV = $1.symwid * $1.sepheight; _AU < _AV; _AU++) { //#12704\n $k[$j++] = 1; //#12704\n } //#12704\n $1.pixs = $a(); //#12704\n var _Af = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.symwid],\n [\"pixy\", ~~($1.pixs.length / $1.symwid)],\n [\"height\", (~~($1.pixs.length / $1.symwid)) / 72],\n [\"width\", $1.symwid / 72],\n [\"opt\", $1.options]\n ]); //#12715\n $k[$j++] = _Af; //#12718\n if (!$1.dontdraw) { //#12718\n bwipp_renmatrix(); //#12718\n } //#12718\n}\n\nfunction bwipp_code16k() {\n var $1 = {}; //#12748\n $1.options = $k[--$j]; //#12750\n $1.barcode = $k[--$j]; //#12751\n $1.dontdraw = false; //#12753\n $1.mode = -1; //#12754\n $1.pos = -1; //#12755\n $1.rows = 0; //#12756\n $1.rowheight = 8; //#12757\n $1.sepheight = 1; //#12758\n $1.encoding = \"auto\"; //#12759\n $1.raw = false; //#12760\n $1.parse = false; //#12761\n $1.parsefnc = false; //#12762\n $forall($1.options, function() { //#12773\n var _3 = $k[--$j]; //#12773\n $1[$k[--$j]] = _3; //#12773\n }); //#12773\n $1.mode = ~~$1.mode; //#12775\n $1.pos = ~~$1.pos; //#12776\n $1.rows = ~~$1.rows; //#12777\n $1.rowheight = ~~$1.rowheight; //#12778\n $1.sepheight = ~~$1.sepheight; //#12779\n if ($1.pos != -1) { //#12781\n $1.rows = 16; //#12781\n } //#12781\n $1.swa = -1; //#12784\n $1.swb = -2; //#12784\n $1.swc = -3; //#12784\n $1.sa1 = -4; //#12785\n $1.sb1 = -5; //#12785\n $1.sc1 = -6; //#12785\n $1.sa2 = -7; //#12786\n $1.sb2 = -8; //#12786\n $1.sc2 = -9; //#12786\n $1.pad = -10; //#12787\n $1.sb3 = -11; //#12787\n $1.sc3 = -12; //#12787\n $1.fn1 = -13; //#12788\n $1.fn2 = -14; //#12788\n $1.fn3 = -15; //#12788\n $1.fn4 = -16; //#12788\n $1.charmaps = $a([$a([32, 32, \"00\"]), $a([\"!\", \"!\", \"01\"]), $a([\"\\\"\", \"\\\"\", \"02\"]), $a([\"#\", \"#\", \"03\"]), $a([\"$\", \"$\", \"04\"]), $a([\"%\", \"%\", \"05\"]), $a([\"&\", \"&\", \"06\"]), $a([\"'\", \"'\", \"07\"]), $a([40, 40, \"08\"]), $a([41, 41, \"09\"]), $a([\"*\", \"*\", \"10\"]), $a([\"+\", \"+\", \"11\"]), $a([\",\", \",\", \"12\"]), $a([\"-\", \"-\", \"13\"]), $a([\".\", \".\", \"14\"]), $a([\"/\", \"/\", \"15\"]), $a([\"0\", \"0\", \"16\"]), $a([\"1\", \"1\", \"17\"]), $a([\"2\", \"2\", \"18\"]), $a([\"3\", \"3\", \"19\"]), $a([\"4\", \"4\", \"20\"]), $a([\"5\", \"5\", \"21\"]), $a([\"6\", \"6\", \"22\"]), $a([\"7\", \"7\", \"23\"]), $a([\"8\", \"8\", \"24\"]), $a([\"9\", \"9\", \"25\"]), $a([\":\", \":\", \"26\"]), $a([\";\", \";\", \"27\"]), $a([\"<\", \"<\", \"28\"]), $a([\"=\", \"=\", \"29\"]), $a([\">\", \">\", \"30\"]), $a([\"?\", \"?\", \"31\"]), $a([\"@\", \"@\", \"32\"]), $a([\"A\", \"A\", \"33\"]), $a([\"B\", \"B\", \"34\"]), $a([\"C\", \"C\", \"35\"]), $a([\"D\", \"D\", \"36\"]), $a([\"E\", \"E\", \"37\"]), $a([\"F\", \"F\", \"38\"]), $a([\"G\", \"G\", \"39\"]), $a([\"H\", \"H\", \"40\"]), $a([\"I\", \"I\", \"41\"]), $a([\"J\", \"J\", \"42\"]), $a([\"K\", \"K\", \"43\"]), $a([\"L\", \"L\", \"44\"]), $a([\"M\", \"M\", \"45\"]), $a([\"N\", \"N\", \"46\"]), $a([\"O\", \"O\", \"47\"]), $a([\"P\", \"P\", \"48\"]), $a([\"Q\", \"Q\", \"49\"]), $a([\"R\", \"R\", \"50\"]), $a([\"S\", \"S\", \"51\"]), $a([\"T\", \"T\", \"52\"]), $a([\"U\", \"U\", \"53\"]), $a([\"V\", \"V\", \"54\"]), $a([\"W\", \"W\", \"55\"]), $a([\"X\", \"X\", \"56\"]), $a([\"Y\", \"Y\", \"57\"]), $a([\"Z\", \"Z\", \"58\"]), $a([\"[\", \"[\", \"59\"]), $a([92, 92, \"60\"]), $a([\"]\", \"]\", \"61\"]), $a([\"^\", \"^\", \"62\"]), $a([\"_\", \"_\", \"63\"]), $a([0, \"`\", \"64\"]), $a([1, \"a\", \"65\"]), $a([2, \"b\", \"66\"]), $a([3, \"c\", \"67\"]), $a([4, \"d\", \"68\"]), $a([5, \"e\", \"69\"]), $a([6, \"f\", \"70\"]), $a([7, \"g\", \"71\"]), $a([8, \"h\", \"72\"]), $a([9, \"i\", \"73\"]), $a([10, \"j\", \"74\"]), $a([11, \"k\", \"75\"]), $a([12, \"l\", \"76\"]), $a([13, \"m\", \"77\"]), $a([14, \"n\", \"78\"]), $a([15, \"o\", \"79\"]), $a([16, \"p\", \"80\"]), $a([17, \"q\", \"81\"]), $a([18, \"r\", \"82\"]), $a([19, \"s\", \"83\"]), $a([20, \"t\", \"84\"]), $a([21, \"u\", \"85\"]), $a([22, \"v\", \"86\"]), $a([23, \"w\", \"87\"]), $a([24, \"x\", \"88\"]), $a([25, \"y\", \"89\"]), $a([26, \"z\", \"90\"]), $a([27, \"{\", \"91\"]), $a([28, \"|\", \"92\"]), $a([29, \"}\", \"93\"]), $a([30, \"~\", \"94\"]), $a([31, 127, \"95\"]), $a([$1.fn3, $1.fn3, \"96\"]), $a([$1.fn2, $1.fn2, \"97\"]), $a([$1.sb1, $1.sa1, \"98\"]), $a([$1.swc, $1.swc, \"99\"]), $a([$1.swb, $1.fn4, $1.swb]), $a([$1.fn4, $1.swa, $1.swa]), $a([$1.fn1, $1.fn1, $1.fn1]), $a([$1.pad, $1.pad, $1.pad]), $a([$1.sb2, $1.sa2, $1.sb1]), $a([$1.sc2, $1.sc2, $1.sb2]), $a([$1.sc3, $1.sc3, $1.sb3])]); //#12829\n $1.charvals = $a([new Map, new Map, new Map]); //#12832\n for (var _2R = 0, _2Q = $1.charmaps.length - 1; _2R <= _2Q; _2R += 1) { //#12841\n $1.i = _2R; //#12834\n $1.encs = $get($1.charmaps, $1.i); //#12835\n for (var _2V = 0; _2V <= 2; _2V += 1) { //#12840\n $1.j = _2V; //#12837\n var _2Y = $get($1.encs, $1.j); //#12838\n $k[$j++] = _2Y; //#12838\n if ($eq($type(_2Y), 'stringtype')) { //#12838\n var _2b = $get($k[--$j], 0); //#12838\n $k[$j++] = _2b; //#12838\n } //#12838\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#12839\n } //#12839\n } //#12839\n $1.seta = $get($1.charvals, 0); //#12842\n $1.setb = $get($1.charvals, 1); //#12843\n $1.setc = $get($1.charvals, 2); //#12844\n if ($1.raw) { //#12846\n $1.encoding = \"raw\"; //#12846\n } //#12846\n if ($eq($1.encoding, \"raw\")) { //#12859\n $1.cws = $a($1.barcode.length); //#12849\n $1.i = 0; //#12850\n $1.j = 0; //#12850\n for (;;) { //#12857\n if ($1.i == $1.barcode.length) { //#12852\n break; //#12852\n } //#12852\n $1.cw = ~~$z($geti($1.barcode, $1.i + 1, 3)); //#12853\n $put($1.cws, $1.j, $1.cw); //#12854\n $1.i = $1.i + 4; //#12855\n $1.j = $1.j + 1; //#12856\n } //#12856\n $1.cws = $geti($1.cws, 0, $1.j); //#12858\n } //#12858\n if ($eq($1.encoding, \"auto\")) { //#13310\n var _3A = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true],\n [\"FNC1\", $1.fn1],\n [\"FNC2\", $1.fn2],\n [\"FNC3\", $1.fn3]\n ]); //#12870\n $1.fncvals = _3A; //#12872\n $k[$j++] = 'msg'; //#12873\n $k[$j++] = $1.barcode; //#12873\n $k[$j++] = $1.fncvals; //#12873\n bwipp_parseinput(); //#12873\n var _3D = $k[--$j]; //#12873\n $1[$k[--$j]] = _3D; //#12873\n $1.msglen = $1.msg.length; //#12874\n $k[$j++] = Infinity; //#12877\n for (var _3H = 0, _3I = $1.msglen; _3H < _3I; _3H++) { //#12877\n $k[$j++] = 0; //#12877\n } //#12877\n $k[$j++] = 0; //#12877\n $1.numSA = $a(); //#12877\n $k[$j++] = Infinity; //#12878\n for (var _3L = 0, _3M = $1.msglen; _3L < _3M; _3L++) { //#12878\n $k[$j++] = 0; //#12878\n } //#12878\n $k[$j++] = 0; //#12878\n $1.numEA = $a(); //#12878\n for (var _3P = $1.msglen - 1; _3P >= 0; _3P -= 1) { //#12888\n $1.i = _3P; //#12880\n if ($get($1.msg, $1.i) >= 0) { //#12887\n if ($get($1.msg, $1.i) >= 128) { //#12885\n $put($1.numEA, $1.i, $f($get($1.numEA, $1.i + 1) + 1)); //#12883\n } else { //#12885\n $put($1.numSA, $1.i, $f($get($1.numSA, $1.i + 1) + 1)); //#12885\n } //#12885\n } //#12885\n } //#12885\n $1.ea = false; //#12891\n $1.msgtmp = $a([]); //#12891\n for (var _3j = 0, _3i = $1.msglen - 1; _3j <= _3i; _3j += 1) { //#12906\n $1.i = _3j; //#12893\n $1.c = $get($1.msg, $1.i); //#12894\n if ((!$xo($1.ea, $1.c < 128)) && ($1.c >= 0)) { //#12904\n if ($1.ea) { //#12896\n $k[$j++] = $1.numSA; //#12896\n } else { //#12896\n $k[$j++] = $1.numEA; //#12896\n } //#12896\n var _3v = $get($k[--$j], $1.i); //#12896\n var _3y = ($f(_3v + $1.i) == $1.msglen) ? 3 : 5; //#12897\n if (_3v < _3y) { //#12902\n $k[$j++] = Infinity; //#12899\n $aload($1.msgtmp); //#12899\n $k[$j++] = $1.fn4; //#12899\n $1.msgtmp = $a(); //#12899\n } else { //#12902\n $k[$j++] = Infinity; //#12901\n $aload($1.msgtmp); //#12901\n $k[$j++] = $1.fn4; //#12901\n $k[$j++] = $1.fn4; //#12901\n $1.msgtmp = $a(); //#12901\n $1.ea = !$1.ea; //#12902\n } //#12902\n } //#12902\n $k[$j++] = Infinity; //#12905\n $aload($1.msgtmp); //#12905\n if ($1.c >= 0) { //#12905\n $k[$j++] = $1.c & 127; //#12905\n } else { //#12905\n $k[$j++] = $1.c; //#12905\n } //#12905\n $1.msgtmp = $a(); //#12905\n } //#12905\n $1.msg = $1.msgtmp; //#12907\n $1.msglen = $1.msg.length; //#12908\n $1.numsscr = function() {\n $1.n = 0; //#12912\n $1.s = 0; //#12912\n $1.p = $k[--$j]; //#12913\n for (;;) { //#12924\n if ($1.p >= $1.msglen) { //#12914\n break; //#12914\n } //#12914\n var _4J = $get($1.msg, $1.p); //#12915\n var _4L = $get($1.setc, _4J) !== undefined; //#12916\n $k[$j++] = _4J; //#12916\n if (!_4L) { //#12916\n $j--; //#12916\n break; //#12916\n } //#12916\n if ($k[--$j] == $1.fn1) { //#12920\n if (($1.s % 2) == 0) { //#12919\n $1.s = $1.s + 1; //#12919\n } else { //#12919\n break; //#12919\n } //#12919\n } //#12919\n $1.n = $1.n + 1; //#12921\n $1.s = $1.s + 1; //#12922\n $1.p = $f($1.p + 1); //#12923\n } //#12923\n $k[$j++] = $1.n; //#12925\n $k[$j++] = $1.s; //#12925\n }; //#12926\n $1.enca = function() {\n $put($1.cws, $1.j, $get($1.seta, $k[--$j])); //#12930\n $1.j = $1.j + 1; //#12931\n }; //#12932\n $1.encb = function() {\n $put($1.cws, $1.j, $get($1.setb, $k[--$j])); //#12934\n $1.j = $1.j + 1; //#12935\n }; //#12936\n $1.encc = function() {\n var _4h = $k[--$j]; //#12938\n $k[$j++] = _4h; //#12942\n if ($ne($type(_4h), 'arraytype')) { //#12941\n var _4l = $get($1.setc, $k[--$j]); //#12939\n $k[$j++] = _4l; //#12939\n } else { //#12941\n $aload($k[--$j]); //#12941\n var _4n = $k[--$j]; //#12941\n var _4o = $k[--$j]; //#12941\n $k[$j++] = $f($f(_4n - 48) + ($f(_4o - 48) * 10)); //#12941\n } //#12941\n $put($1.cws, $1.j, $k[--$j]); //#12943\n $1.j = $1.j + 1; //#12944\n }; //#12945\n $1.anotb = function() {\n var _4t = $k[--$j]; //#12948\n var _4v = $get($1.seta, _4t) !== undefined; //#12948\n var _4x = $get($1.setb, _4t) !== undefined; //#12948\n $k[$j++] = _4v && (!_4x); //#12948\n }; //#12948\n $1.bnota = function() {\n var _4y = $k[--$j]; //#12949\n var _50 = $get($1.setb, _4y) !== undefined; //#12949\n var _52 = $get($1.seta, _4y) !== undefined; //#12949\n $k[$j++] = _50 && (!_52); //#12949\n }; //#12949\n $k[$j++] = Infinity; //#12952\n for (var _54 = 0, _55 = $1.msg.length; _54 < _55; _54++) { //#12952\n $k[$j++] = 0; //#12952\n } //#12952\n $k[$j++] = 9999; //#12952\n $1.nextanotb = $a(); //#12952\n $k[$j++] = Infinity; //#12953\n for (var _58 = 0, _59 = $1.msg.length; _58 < _59; _58++) { //#12953\n $k[$j++] = 0; //#12953\n } //#12953\n $k[$j++] = 9999; //#12953\n $1.nextbnota = $a(); //#12953\n for (var _5C = $1.msg.length - 1; _5C >= 0; _5C -= 1) { //#12966\n $1.i = _5C; //#12955\n $k[$j++] = $get($1.msg, $1.i); //#12956\n $1.anotb(); //#12956\n if ($k[--$j]) { //#12959\n $put($1.nextanotb, $1.i, 0); //#12957\n } else { //#12959\n $put($1.nextanotb, $1.i, $f($get($1.nextanotb, $1.i + 1) + 1)); //#12959\n } //#12959\n $k[$j++] = $get($1.msg, $1.i); //#12961\n $1.bnota(); //#12961\n if ($k[--$j]) { //#12964\n $put($1.nextbnota, $1.i, 0); //#12962\n } else { //#12964\n $put($1.nextbnota, $1.i, $f($get($1.nextbnota, $1.i + 1) + 1)); //#12964\n } //#12964\n } //#12964\n $1.abeforeb = function() {\n var _5Z = $k[--$j]; //#12969\n $k[$j++] = $lt($get($1.nextanotb, _5Z), $get($1.nextbnota, _5Z)); //#12969\n }; //#12969\n $1.bbeforea = function() {\n var _5e = $k[--$j]; //#12970\n $k[$j++] = $lt($get($1.nextbnota, _5e), $get($1.nextanotb, _5e)); //#12970\n }; //#12970\n $1.cws = $a(($1.barcode.length * 2) + 3); //#12972\n $1.i = 0; //#12975\n $1.j = 0; //#12975\n for (;;) { //#13065\n if ($1.pos != -1) { //#12986\n $put($1.cws, 0, (~~($1.pos / 10)) - 1); //#12980\n $put($1.cws, 1, ($1.pos % 10) - 1); //#12981\n $1.j = 2; //#12982\n $1.cset = \"setb\"; //#12983\n $1.mode = 7; //#12984\n break; //#12985\n } //#12985\n if ($1.msglen == 0) { //#12992\n $1.cset = \"setb\"; //#12989\n $1.mode = 1; //#12990\n break; //#12991\n } //#12991\n if ($1.msglen >= 2) { //#13001\n $k[$j++] = $get($1.msg, 0) == $1.fn1; //#12995\n $k[$j++] = 1; //#12995\n $1.numsscr(); //#12995\n var _5v = $k[--$j]; //#12995\n var _5w = $k[--$j]; //#12995\n $k[$j++] = _5v; //#12995\n $k[$j++] = _5w; //#12995\n $j--; //#12995\n var _5x = $k[--$j]; //#12995\n var _5y = $k[--$j]; //#12995\n if (_5y && (_5x >= 2)) { //#13000\n $1.cset = \"setc\"; //#12996\n $1.mode = 4; //#12997\n $1.i = 1; //#12998\n break; //#12999\n } //#12999\n } //#12999\n if ($get($1.msg, 0) == $1.fn1) { //#13008\n $1.cset = \"setb\"; //#13004\n $1.mode = 3; //#13005\n $1.i = 1; //#13006\n break; //#13007\n } //#13007\n if ($1.msglen >= 2) { //#13054\n $k[$j++] = 0; //#13011\n $1.numsscr(); //#13011\n var _63 = $k[--$j]; //#13011\n var _64 = $k[--$j]; //#13011\n $k[$j++] = _63; //#13011\n $k[$j++] = _64; //#13011\n $j--; //#13011\n var _65 = $k[--$j]; //#13011\n if ((_65 >= 2) && ((_65 % 2) == 0)) { //#13015\n $1.cset = \"setc\"; //#13012\n $1.mode = 2; //#13013\n break; //#13014\n } //#13014\n $k[$j++] = 0; //#13017\n $1.numsscr(); //#13017\n var _66 = $k[--$j]; //#13017\n var _67 = $k[--$j]; //#13017\n $k[$j++] = _66; //#13017\n $k[$j++] = _67; //#13017\n $j--; //#13017\n var _68 = $k[--$j]; //#13017\n if ((_68 >= 3) && ((_68 % 2) == 1)) { //#13023\n $k[$j++] = $get($1.msg, 0); //#13018\n $1.encb(); //#13018\n $1.cset = \"setc\"; //#13019\n $1.mode = 5; //#13020\n $1.i = 1; //#13021\n break; //#13022\n } //#13022\n var _6E = $get($1.setb, $get($1.msg, 0)) !== undefined; //#13025\n $k[$j++] = _6E; //#13026\n $k[$j++] = 1; //#13026\n $1.numsscr(); //#13026\n var _6F = $k[--$j]; //#13026\n var _6G = $k[--$j]; //#13026\n $k[$j++] = _6F; //#13026\n $k[$j++] = _6G; //#13026\n $j--; //#13026\n var _6H = $k[--$j]; //#13026\n var _6I = $k[--$j]; //#13026\n if (_6I && ((_6H >= 2) && ((_6H % 2) == 0))) { //#13032\n $k[$j++] = $get($1.msg, 0); //#13027\n $1.encb(); //#13027\n $1.cset = \"setc\"; //#13028\n $1.mode = 5; //#13029\n $1.i = 1; //#13030\n break; //#13031\n } //#13031\n var _6O = $get($1.setb, $get($1.msg, 0)) !== undefined; //#13034\n $k[$j++] = _6O; //#13035\n $k[$j++] = 1; //#13035\n $1.numsscr(); //#13035\n var _6P = $k[--$j]; //#13035\n var _6Q = $k[--$j]; //#13035\n $k[$j++] = _6P; //#13035\n $k[$j++] = _6Q; //#13035\n $j--; //#13035\n var _6R = $k[--$j]; //#13035\n var _6S = $k[--$j]; //#13035\n if (_6S && ((_6R >= 3) && ((_6R % 2) == 1))) { //#13042\n $k[$j++] = $get($1.msg, 0); //#13036\n $1.encb(); //#13036\n $k[$j++] = $get($1.msg, 1); //#13037\n $1.encb(); //#13037\n $1.cset = \"setc\"; //#13038\n $1.mode = 6; //#13039\n $1.i = 2; //#13040\n break; //#13041\n } //#13041\n var _6a = $get($1.setb, $get($1.msg, 0)) !== undefined; //#13044\n var _6e = $get($1.setb, $get($1.msg, 1)) !== undefined; //#13045\n $k[$j++] = _6a && _6e; //#13046\n $k[$j++] = 2; //#13046\n $1.numsscr(); //#13046\n var _6f = $k[--$j]; //#13046\n var _6g = $k[--$j]; //#13046\n $k[$j++] = _6f; //#13046\n $k[$j++] = _6g; //#13046\n $j--; //#13046\n var _6h = $k[--$j]; //#13046\n var _6i = $k[--$j]; //#13046\n if (_6i && ((_6h >= 2) && ((_6h % 2) == 0))) { //#13053\n $k[$j++] = $get($1.msg, 0); //#13047\n $1.encb(); //#13047\n $k[$j++] = $get($1.msg, 1); //#13048\n $1.encb(); //#13048\n $1.cset = \"setc\"; //#13049\n $1.mode = 6; //#13050\n $1.i = 2; //#13051\n break; //#13052\n } //#13052\n } //#13052\n $k[$j++] = 0; //#13056\n $1.abeforeb(); //#13056\n if ($k[--$j]) { //#13060\n $1.cset = \"seta\"; //#13057\n $1.mode = 0; //#13058\n break; //#13059\n } //#13059\n $1.cset = \"setb\"; //#13062\n $1.mode = 1; //#13063\n break; //#13064\n } //#13064\n for (;;) { //#13308\n if ($1.i == $1.msglen) { //#13068\n break; //#13068\n } //#13068\n $k[$j++] = $1.i; //#13070\n $1.numsscr(); //#13070\n $1.nums = $k[--$j]; //#13070\n $1.nchars = $k[--$j]; //#13070\n for (;;) { //#13306\n if ($eq($1.cset, \"seta\")) { //#13147\n if ($1.i < ($1.msglen - 1)) { //#13084\n $k[$j++] = $get($1.msg, $1.i); //#13077\n $1.bnota(); //#13077\n $k[$j++] = $1.i + 1; //#13078\n $1.abeforeb(); //#13078\n var _70 = $k[--$j]; //#13078\n var _71 = $k[--$j]; //#13078\n if ((_71 && _70)) { //#13083\n $k[$j++] = $1.sb1; //#13079\n $1.enca(); //#13079\n $k[$j++] = $get($1.msg, $1.i); //#13080\n $1.encb(); //#13080\n $1.i = $1.i + 1; //#13081\n break; //#13082\n } //#13082\n } //#13082\n if ($1.i < ($1.msglen - 2)) { //#13096\n $k[$j++] = $get($1.msg, $1.i); //#13087\n $1.bnota(); //#13087\n $k[$j++] = $get($1.msg, $1.i + 1); //#13088\n $1.bnota(); //#13088\n var _7F = $k[--$j]; //#13088\n var _7G = $k[--$j]; //#13088\n $k[$j++] = $an(_7G, _7F); //#13089\n $k[$j++] = $1.i + 2; //#13089\n $1.abeforeb(); //#13089\n var _7I = $k[--$j]; //#13089\n var _7J = $k[--$j]; //#13089\n if ((_7J && _7I)) { //#13095\n $k[$j++] = $1.sb2; //#13090\n $1.enca(); //#13090\n $k[$j++] = $get($1.msg, $1.i); //#13091\n $1.encb(); //#13091\n $k[$j++] = $get($1.msg, $1.i + 1); //#13092\n $1.encb(); //#13092\n $1.i = $1.i + 2; //#13093\n break; //#13094\n } //#13094\n } //#13094\n $k[$j++] = $get($1.msg, $1.i); //#13098\n $1.bnota(); //#13098\n if ($k[--$j]) { //#13102\n $k[$j++] = $1.swb; //#13099\n $1.enca(); //#13099\n $1.cset = \"setb\"; //#13100\n break; //#13101\n } //#13101\n if ($1.i < ($1.msglen - 4)) { //#13119\n var _7e = $get($1.seta, $get($1.msg, $1.i + 4)) !== undefined; //#13106\n if (($1.nums == 4) && _7e) { //#13118\n $k[$j++] = $1.sc2; //#13107\n $1.enca(); //#13107\n for (var _7g = 0, _7h = 2; _7g < _7h; _7g++) { //#13116\n if ($get($1.msg, $1.i) == $1.fn1) { //#13114\n $k[$j++] = $1.fn1; //#13110\n $1.encc(); //#13110\n $1.i = $1.i + 1; //#13111\n } else { //#13114\n $k[$j++] = $geti($1.msg, $1.i, 2); //#13113\n $1.encc(); //#13113\n $1.i = $1.i + 2; //#13114\n } //#13114\n } //#13114\n break; //#13117\n } //#13117\n } //#13117\n if ($1.i < ($1.msglen - 6)) { //#13136\n var _7z = $get($1.seta, $get($1.msg, $1.i + 6)) !== undefined; //#13123\n if (($1.nums == 6) && _7z) { //#13135\n $k[$j++] = $1.sc3; //#13124\n $1.enca(); //#13124\n for (var _81 = 0, _82 = 3; _81 < _82; _81++) { //#13133\n if ($get($1.msg, $1.i) == $1.fn1) { //#13131\n $k[$j++] = $1.fn1; //#13127\n $1.encc(); //#13127\n $1.i = $1.i + 1; //#13128\n } else { //#13131\n $k[$j++] = $geti($1.msg, $1.i, 2); //#13130\n $1.encc(); //#13130\n $1.i = $1.i + 2; //#13131\n } //#13131\n } //#13131\n break; //#13134\n } //#13134\n } //#13134\n if (($1.nums >= 4) && (($1.nums % 2) == 0)) { //#13142\n $k[$j++] = $1.swc; //#13139\n $1.enca(); //#13139\n $1.cset = \"setc\"; //#13140\n break; //#13141\n } //#13141\n $k[$j++] = $get($1.msg, $1.i); //#13144\n $1.enca(); //#13144\n $1.i = $1.i + 1; //#13145\n break; //#13146\n } //#13146\n if ($eq($1.cset, \"setb\")) { //#13221\n if ($1.i < ($1.msglen - 1)) { //#13158\n $k[$j++] = $get($1.msg, $1.i); //#13151\n $1.anotb(); //#13151\n $k[$j++] = $1.i + 1; //#13152\n $1.bbeforea(); //#13152\n var _8R = $k[--$j]; //#13152\n var _8S = $k[--$j]; //#13152\n if ((_8S && _8R)) { //#13157\n $k[$j++] = $1.sa1; //#13153\n $1.encb(); //#13153\n $k[$j++] = $get($1.msg, $1.i); //#13154\n $1.enca(); //#13154\n $1.i = $1.i + 1; //#13155\n break; //#13156\n } //#13156\n } //#13156\n if ($1.i < ($1.msglen - 2)) { //#13170\n $k[$j++] = $get($1.msg, $1.i); //#13161\n $1.anotb(); //#13161\n $k[$j++] = $get($1.msg, $1.i + 1); //#13162\n $1.anotb(); //#13162\n var _8g = $k[--$j]; //#13162\n var _8h = $k[--$j]; //#13162\n $k[$j++] = $an(_8h, _8g); //#13163\n $k[$j++] = $1.i + 2; //#13163\n $1.bbeforea(); //#13163\n var _8j = $k[--$j]; //#13163\n var _8k = $k[--$j]; //#13163\n if ((_8k && _8j)) { //#13169\n $k[$j++] = $1.sa2; //#13164\n $1.encb(); //#13164\n $k[$j++] = $get($1.msg, $1.i); //#13165\n $1.enca(); //#13165\n $k[$j++] = $get($1.msg, $1.i + 1); //#13166\n $1.enca(); //#13166\n $1.i = $1.i + 2; //#13167\n break; //#13168\n } //#13168\n } //#13168\n $k[$j++] = $get($1.msg, $1.i); //#13172\n $1.anotb(); //#13172\n if ($k[--$j]) { //#13176\n $k[$j++] = $1.swa; //#13173\n $1.encb(); //#13173\n $1.cset = \"seta\"; //#13174\n break; //#13175\n } //#13175\n if ($1.i < ($1.msglen - 4)) { //#13193\n var _95 = $get($1.setb, $get($1.msg, $1.i + 4)) !== undefined; //#13180\n if (($1.nums == 4) && _95) { //#13192\n $k[$j++] = $1.sc2; //#13181\n $1.encb(); //#13181\n for (var _97 = 0, _98 = 2; _97 < _98; _97++) { //#13190\n if ($get($1.msg, $1.i) == $1.fn1) { //#13188\n $k[$j++] = $1.fn1; //#13184\n $1.encc(); //#13184\n $1.i = $1.i + 1; //#13185\n } else { //#13188\n $k[$j++] = $geti($1.msg, $1.i, 2); //#13187\n $1.encc(); //#13187\n $1.i = $1.i + 2; //#13188\n } //#13188\n } //#13188\n break; //#13191\n } //#13191\n } //#13191\n if ($1.i < ($1.msglen - 6)) { //#13210\n var _9Q = $get($1.setb, $get($1.msg, $1.i + 6)) !== undefined; //#13197\n if (($1.nums == 6) && _9Q) { //#13209\n $k[$j++] = $1.sc3; //#13198\n $1.encb(); //#13198\n for (var _9S = 0, _9T = 3; _9S < _9T; _9S++) { //#13207\n if ($get($1.msg, $1.i) == $1.fn1) { //#13205\n $k[$j++] = $1.fn1; //#13201\n $1.encc(); //#13201\n $1.i = $1.i + 1; //#13202\n } else { //#13205\n $k[$j++] = $geti($1.msg, $1.i, 2); //#13204\n $1.encc(); //#13204\n $1.i = $1.i + 2; //#13205\n } //#13205\n } //#13205\n break; //#13208\n } //#13208\n } //#13208\n if (($1.nums >= 4) && (($1.nums % 2) == 0)) { //#13216\n $k[$j++] = $1.swc; //#13213\n $1.encb(); //#13213\n $1.cset = \"setc\"; //#13214\n break; //#13215\n } //#13215\n $k[$j++] = $get($1.msg, $1.i); //#13218\n $1.encb(); //#13218\n $1.i = $1.i + 1; //#13219\n break; //#13220\n } //#13220\n if ($eq($1.cset, \"setc\")) { //#13304\n if ($1.nums >= 2) { //#13233\n if ($get($1.msg, $1.i) == $1.fn1) { //#13230\n $k[$j++] = $1.fn1; //#13226\n $1.encc(); //#13226\n $1.i = $1.i + 1; //#13227\n } else { //#13230\n $k[$j++] = $geti($1.msg, $1.i, 2); //#13229\n $1.encc(); //#13229\n $1.i = $1.i + 2; //#13230\n } //#13230\n break; //#13232\n } //#13232\n if ($1.i < ($1.msglen - 1)) { //#13243\n var _A3 = $get($1.setb, $get($1.msg, $1.i)) !== undefined; //#13236\n $k[$j++] = _A3; //#13237\n $k[$j++] = $1.i + 1; //#13237\n $1.numsscr(); //#13237\n var _A5 = $k[--$j]; //#13237\n var _A6 = $k[--$j]; //#13237\n $k[$j++] = _A5; //#13237\n $k[$j++] = _A6; //#13237\n $j--; //#13237\n var _A7 = $k[--$j]; //#13237\n var _A8 = $k[--$j]; //#13237\n if (_A8 && ((_A7 >= 2) && ((_A7 % 2) == 0))) { //#13242\n $k[$j++] = $1.sb1; //#13238\n $1.encc(); //#13238\n $k[$j++] = $get($1.msg, $1.i); //#13239\n $1.encb(); //#13239\n $1.i = $1.i + 1; //#13240\n break; //#13241\n } //#13241\n } //#13241\n if ($1.i < ($1.msglen - 1)) { //#13254\n var _AK = $get($1.setb, $get($1.msg, $1.i)) !== undefined; //#13246\n $k[$j++] = _AK; //#13247\n $k[$j++] = $1.i + 1; //#13247\n $1.numsscr(); //#13247\n var _AM = $k[--$j]; //#13247\n var _AN = $k[--$j]; //#13247\n $k[$j++] = _AM; //#13247\n $k[$j++] = _AN; //#13247\n $j--; //#13247\n var _AO = $k[--$j]; //#13247\n var _AP = $k[--$j]; //#13247\n if (_AP && ((_AO >= 3) && ((_AO % 2) == 1))) { //#13253\n $k[$j++] = $1.sb2; //#13248\n $1.encc(); //#13248\n $k[$j++] = $get($1.msg, $1.i); //#13249\n $1.encb(); //#13249\n $k[$j++] = $get($1.msg, $1.i + 1); //#13250\n $1.encb(); //#13250\n $1.i = $1.i + 2; //#13251\n break; //#13252\n } //#13252\n } //#13252\n if ($1.i < ($1.msglen - 2)) { //#13266\n var _Ae = $get($1.setb, $get($1.msg, $1.i)) !== undefined; //#13257\n var _Aj = $get($1.setb, $get($1.msg, $1.i + 1)) !== undefined; //#13258\n $k[$j++] = _Ae && _Aj; //#13259\n $k[$j++] = $1.i + 2; //#13259\n $1.numsscr(); //#13259\n var _Al = $k[--$j]; //#13259\n var _Am = $k[--$j]; //#13259\n $k[$j++] = _Al; //#13259\n $k[$j++] = _Am; //#13259\n $j--; //#13259\n var _An = $k[--$j]; //#13259\n var _Ao = $k[--$j]; //#13259\n if (_Ao && ((_An >= 2) && ((_An % 2) == 0))) { //#13265\n $k[$j++] = $1.sb2; //#13260\n $1.encc(); //#13260\n $k[$j++] = $get($1.msg, $1.i); //#13261\n $1.encb(); //#13261\n $k[$j++] = $get($1.msg, $1.i + 1); //#13262\n $1.encb(); //#13262\n $1.i = $1.i + 2; //#13263\n break; //#13264\n } //#13264\n } //#13264\n if ($1.i < ($1.msglen - 3)) { //#13279\n var _B3 = $get($1.setb, $get($1.msg, $1.i)) !== undefined; //#13269\n var _B8 = $get($1.setb, $get($1.msg, $1.i + 1)) !== undefined; //#13270\n $k[$j++] = _B3 && _B8; //#13271\n $k[$j++] = $1.i + 2; //#13271\n $1.numsscr(); //#13271\n var _BA = $k[--$j]; //#13271\n var _BB = $k[--$j]; //#13271\n $k[$j++] = _BA; //#13271\n $k[$j++] = _BB; //#13271\n $j--; //#13271\n var _BC = $k[--$j]; //#13271\n var _BD = $k[--$j]; //#13271\n if (_BD && ((_BC >= 3) && ((_BC % 2) == 1))) { //#13278\n $k[$j++] = $1.sb3; //#13272\n $1.encc(); //#13272\n $k[$j++] = $get($1.msg, $1.i); //#13273\n $1.encb(); //#13273\n $k[$j++] = $get($1.msg, $1.i + 1); //#13274\n $1.encb(); //#13274\n $k[$j++] = $get($1.msg, $1.i + 2); //#13275\n $1.encb(); //#13275\n $1.i = $1.i + 3; //#13276\n break; //#13277\n } //#13277\n } //#13277\n if ($1.i < ($1.msglen - 3)) { //#13293\n var _BV = $get($1.setb, $get($1.msg, $1.i)) !== undefined; //#13282\n var _Ba = $get($1.setb, $get($1.msg, $1.i + 1)) !== undefined; //#13283\n var _Bf = $get($1.setb, $get($1.msg, $1.i + 2)) !== undefined; //#13284\n $k[$j++] = (_BV && _Ba) && _Bf; //#13285\n $k[$j++] = $1.i + 3; //#13285\n $1.numsscr(); //#13285\n var _Bh = $k[--$j]; //#13285\n var _Bi = $k[--$j]; //#13285\n $k[$j++] = _Bh; //#13285\n $k[$j++] = _Bi; //#13285\n $j--; //#13285\n var _Bj = $k[--$j]; //#13285\n var _Bk = $k[--$j]; //#13285\n if (_Bk && ((_Bj >= 2) && ((_Bj % 2) == 0))) { //#13292\n $k[$j++] = $1.sb3; //#13286\n $1.encc(); //#13286\n $k[$j++] = $get($1.msg, $1.i); //#13287\n $1.encb(); //#13287\n $k[$j++] = $get($1.msg, $1.i + 1); //#13288\n $1.encb(); //#13288\n $k[$j++] = $get($1.msg, $1.i + 2); //#13289\n $1.encb(); //#13289\n $1.i = $1.i + 3; //#13290\n break; //#13291\n } //#13291\n } //#13291\n $k[$j++] = $1.i; //#13295\n $1.abeforeb(); //#13295\n if ($k[--$j]) { //#13299\n $k[$j++] = $1.swa; //#13296\n $1.encc(); //#13296\n $1.cset = \"seta\"; //#13297\n break; //#13298\n } //#13298\n $k[$j++] = $1.swb; //#13301\n $1.encc(); //#13301\n $1.cset = \"setb\"; //#13302\n break; //#13303\n } //#13303\n break; //#13305\n } //#13305\n } //#13305\n $1.cws = $geti($1.cws, 0, $1.j); //#13309\n } //#13309\n $1.metrics = $a([$a([2, 7]), $a([3, 12]), $a([4, 17]), $a([5, 22]), $a([6, 27]), $a([7, 32]), $a([8, 37]), $a([9, 42]), $a([10, 47]), $a([11, 52]), $a([12, 57]), $a([13, 62]), $a([14, 67]), $a([15, 72]), $a([16, 77])]); //#13330\n $1.urows = $1.rows; //#13333\n $1.i = 0; //#13334\n for (;;) { //#13344\n $1.m = $get($1.metrics, $1.i); //#13336\n $1.r = $get($1.m, 0); //#13337\n $1.dcws = $get($1.m, 1); //#13338\n $1.okay = true; //#13339\n if (($1.urows != 0) && ($1.urows != $1.r)) { //#13340\n $1.okay = false; //#13340\n } //#13340\n if ($1.cws.length > $1.dcws) { //#13341\n $1.okay = false; //#13341\n } //#13341\n if ($1.okay) { //#13342\n break; //#13342\n } //#13342\n $1.i = $1.i + 1; //#13343\n } //#13343\n $k[$j++] = Infinity; //#13347\n $aload($1.cws); //#13347\n for (var _Cb = 0, _Cc = $f($1.dcws - $1.cws.length); _Cb < _Cc; _Cb++) { //#13347\n $k[$j++] = 103; //#13347\n } //#13347\n $1.cws = $a(); //#13347\n $k[$j++] = Infinity; //#13350\n $k[$j++] = $f(($f($1.r - 2) * 7) + $1.mode); //#13350\n $aload($1.cws); //#13350\n $1.cws = $a(); //#13350\n $k[$j++] = 0; //#13353\n for (var _Ck = 0, _Cj = $1.dcws; _Ck <= _Cj; _Ck += 1) { //#13353\n var _Cn = $k[--$j]; //#13353\n $k[$j++] = $f(_Cn + ((_Ck + 2) * $get($1.cws, _Ck))); //#13353\n } //#13353\n $1.c1 = $k[--$j] % 107; //#13354\n $k[$j++] = 0; //#13355\n for (var _Cr = 0, _Cq = $1.dcws; _Cr <= _Cq; _Cr += 1) { //#13355\n var _Cu = $k[--$j]; //#13355\n $k[$j++] = $f(_Cu + ((_Cr + 1) * $get($1.cws, _Cr))); //#13355\n } //#13355\n $1.c2 = ($f($k[--$j] + ($1.c1 * $f($1.dcws + 2)))) % 107; //#13356\n $k[$j++] = Infinity; //#13357\n $aload($1.cws); //#13357\n $k[$j++] = $1.c1; //#13357\n $k[$j++] = $1.c2; //#13357\n $1.cws = $a(); //#13357\n $1.encs = $a([\"212222\", \"222122\", \"222221\", \"121223\", \"121322\", \"131222\", \"122213\", \"122312\", \"132212\", \"221213\", \"221312\", \"231212\", \"112232\", \"122132\", \"122231\", \"113222\", \"123122\", \"123221\", \"223211\", \"221132\", \"221231\", \"213212\", \"223112\", \"312131\", \"311222\", \"321122\", \"321221\", \"312212\", \"322112\", \"322211\", \"212123\", \"212321\", \"232121\", \"111323\", \"131123\", \"131321\", \"112313\", \"132113\", \"132311\", \"211313\", \"231113\", \"231311\", \"112133\", \"112331\", \"132131\", \"113123\", \"113321\", \"133121\", \"313121\", \"211331\", \"231131\", \"213113\", \"213311\", \"213131\", \"311123\", \"311321\", \"331121\", \"312113\", \"312311\", \"332111\", \"314111\", \"221411\", \"431111\", \"111224\", \"111422\", \"121124\", \"121421\", \"141122\", \"141221\", \"112214\", \"112412\", \"122114\", \"122411\", \"142112\", \"142211\", \"241211\", \"221114\", \"413111\", \"241112\", \"134111\", \"111242\", \"121142\", \"121241\", \"114212\", \"124112\", \"124211\", \"411212\", \"421112\", \"421211\", \"212141\", \"214121\", \"412121\", \"111143\", \"111341\", \"131141\", \"114113\", \"114311\", \"411113\", \"411311\", \"113141\", \"114131\", \"311141\", \"411131\", \"211412\", \"211214\", \"211232\", \"211133\"]); //#13377\n $1.startencs = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"3112\", \"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"3112\"]); //#13383\n $1.stopencsodd = $a([\"3211\", \"2221\", \"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"3112\", \"1132\", \"1231\", \"1114\", \"3112\", \"3211\", \"2221\", \"2122\", \"1411\"]); //#13387\n $1.stopencseven = $a([\"2122\", \"1411\", \"1132\", \"1231\", \"1114\", \"3112\", \"1132\", \"1231\", \"1114\", \"3112\", \"3211\", \"2221\", \"2122\", \"1411\", \"3211\", \"2221\"]); //#13391\n if (($1.pos == -1) || (((~~($1.pos / 10)) % 2) == 1)) { //#13395\n $1.stopencs = $1.stopencsodd; //#13393\n } else { //#13395\n $1.stopencs = $1.stopencseven; //#13395\n } //#13395\n $1.rowbits = $a($1.r); //#13399\n for (var _DE = 0, _DD = $f($1.r - 1); _DE <= _DD; _DE += 1) { //#13416\n $1.i = _DE; //#13401\n $k[$j++] = Infinity; //#13410\n $k[$j++] = 10; //#13404\n $forall($get($1.startencs, $1.i), function() { //#13404\n var _DI = $k[--$j]; //#13404\n $k[$j++] = $f(_DI - 48); //#13404\n }); //#13404\n var _DL = $geti($1.cws, $1.i * 5, 5); //#13406\n $k[$j++] = 1; //#13408\n for (var _DM = 0, _DN = _DL.length; _DM < _DN; _DM++) { //#13408\n $forall($get($1.encs, $get(_DL, _DM)), function() { //#13407\n var _DR = $k[--$j]; //#13407\n $k[$j++] = $f(_DR - 48); //#13407\n }); //#13407\n } //#13407\n $forall($get($1.stopencs, $1.i), function() { //#13409\n var _DV = $k[--$j]; //#13409\n $k[$j++] = $f(_DV - 48); //#13409\n }); //#13409\n $k[$j++] = 1; //#13410\n $1.sbs = $a(); //#13410\n $k[$j++] = Infinity; //#13412\n var _DX = $1.sbs; //#13413\n $k[$j++] = 1; //#13413\n for (var _DY = 0, _DZ = _DX.length; _DY < _DZ; _DY++) { //#13413\n var _Db = $k[--$j]; //#13413\n var _Dc = (_Db == 0) ? 1 : 0; //#13413\n $k[$j++] = _Db; //#13413\n for (var _Dd = 0, _De = $get(_DX, _DY); _Dd < _De; _Dd++) { //#13413\n $k[$j++] = _Dc //#13413\n } //#13413\n } //#13413\n $astore($a($counttomark() - 1)); //#13414\n var _Dh = $k[--$j]; //#13414\n var _Di = $k[--$j]; //#13414\n $k[$j++] = _Dh; //#13414\n $k[$j++] = _Di; //#13414\n $j--; //#13414\n var _Dj = $k[--$j]; //#13414\n var _Dk = $k[--$j]; //#13414\n $k[$j++] = _Dj; //#13414\n $k[$j++] = _Dk; //#13414\n $j--; //#13414\n $put($1.rowbits, $1.i, $k[--$j]); //#13415\n } //#13415\n $k[$j++] = Infinity; //#13427\n for (var _Dp = 0, _Dq = 81 * $1.sepheight; _Dp < _Dq; _Dp++) { //#13420\n $k[$j++] = 1; //#13420\n } //#13420\n for (var _Dt = 0, _Ds = $f($1.r - 2); _Dt <= _Ds; _Dt += 1) { //#13425\n $1.i = _Dt; //#13422\n for (var _Dv = 0, _Dw = $1.rowheight; _Dv < _Dw; _Dv++) { //#13423\n $aload($get($1.rowbits, $1.i)); //#13423\n } //#13423\n for (var _E1 = 0, _E2 = $1.sepheight; _E1 < _E2; _E1++) { //#13424\n for (var _E3 = 0, _E4 = 10; _E3 < _E4; _E3++) { //#13424\n $k[$j++] = 0; //#13424\n } //#13424\n for (var _E5 = 0, _E6 = 70; _E5 < _E6; _E5++) { //#13424\n $k[$j++] = 1; //#13424\n } //#13424\n $k[$j++] = 0; //#13424\n } //#13424\n } //#13424\n for (var _E8 = 0, _E9 = $1.rowheight; _E8 < _E9; _E8++) { //#13426\n $aload($get($1.rowbits, $f($1.r - 1))); //#13426\n } //#13426\n for (var _EE = 0, _EF = 81 * $1.sepheight; _EE < _EF; _EE++) { //#13427\n $k[$j++] = 1; //#13427\n } //#13427\n $1.pixs = $a(); //#13427\n var _EL = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", 81],\n [\"pixy\", ~~($1.pixs.length / 81)],\n [\"height\", (~~($1.pixs.length / 81)) / 72],\n [\"width\", 81 / 72],\n [\"opt\", $1.options]\n ]); //#13438\n $k[$j++] = _EL; //#13441\n if (!$1.dontdraw) { //#13441\n bwipp_renmatrix(); //#13441\n } //#13441\n}\n\nfunction bwipp_code49() {\n var $1 = {}; //#13471\n $1.options = $k[--$j]; //#13473\n $1.barcode = $k[--$j]; //#13474\n $1.dontdraw = false; //#13476\n $1.mode = -1; //#13477\n $1.pos = -1; //#13478\n $1.rows = 0; //#13479\n $1.rowheight = 8; //#13480\n $1.sepheight = 1; //#13481\n $1.parse = false; //#13482\n $1.parsefnc = false; //#13483\n $forall($1.options, function() { //#13494\n var _3 = $k[--$j]; //#13494\n $1[$k[--$j]] = _3; //#13494\n }); //#13494\n $1.mode = ~~$1.mode; //#13496\n $1.pos = ~~$1.pos; //#13497\n $1.rows = ~~$1.rows; //#13498\n $1.rowheight = ~~$1.rowheight; //#13499\n $1.sepheight = ~~$1.sepheight; //#13500\n $1.s1 = -1; //#13503\n $1.s2 = -2; //#13503\n $1.fn1 = -3; //#13503\n $1.fn2 = -4; //#13503\n $1.fn3 = -5; //#13503\n $1.ns = -6; //#13503\n var _F = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"FNC1\", $1.fn1],\n [\"FNC2\", $1.fn2],\n [\"FNC3\", $1.fn3]\n ]); //#13509\n $1.fncvals = _F; //#13510\n $k[$j++] = 'msg'; //#13511\n $k[$j++] = $1.barcode; //#13511\n $k[$j++] = $1.fncvals; //#13511\n bwipp_parseinput(); //#13511\n var _I = $k[--$j]; //#13511\n $1[$k[--$j]] = _I; //#13511\n $1.msglen = $1.msg.length; //#13512\n $1.charmap = $a([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"-\", \".\", \" \", \"$\", \"/\", \"+\", \"%\", $1.s1, $1.s2, $1.fn1, $1.fn2, $1.fn3, $1.ns]); //#13521\n $1.charvals = new Map; //#13524\n for (var _S = 0; _S <= 48; _S += 1) { //#13530\n $1.i = _S; //#13526\n var _V = $get($1.charmap, $1.i); //#13527\n $k[$j++] = _V; //#13528\n if ($eq($type(_V), 'stringtype')) { //#13528\n var _Y = $get($k[--$j], 0); //#13528\n $k[$j++] = _Y; //#13528\n } //#13528\n $put($1.charvals, $k[--$j], $1.i); //#13529\n } //#13529\n $1.combos = $a([\"1 \", \"1A\", \"1B\", \"1C\", \"1D\", \"1E\", \"1F\", \"1G\", \"1H\", \"1I\", \"1J\", \"1K\", \"1L\", \"1M\", \"1N\", \"1O\", \"1P\", \"1Q\", \"1R\", \"1S\", \"1T\", \"1U\", \"1V\", \"1W\", \"1X\", \"1Y\", \"1Z\", \"11\", \"12\", \"13\", \"14\", \"15\", \" \", \"16\", \"17\", \"18\", \" $\", \" %\", \"19\", \"10\", \"1-\", \"1.\", \"1$\", \" +\", \"1/\", \" -\", \" .\", \" /\", \" 0\", \" 1\", \" 2\", \" 3\", \" 4\", \" 5\", \" 6\", \" 7\", \" 8\", \" 9\", \"1+\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \" A\", \" B\", \" C\", \" D\", \" E\", \" F\", \" G\", \" H\", \" I\", \" J\", \" K\", \" L\", \" M\", \" N\", \" O\", \" P\", \" Q\", \" R\", \" S\", \" T\", \" U\", \" V\", \" W\", \" X\", \" Y\", \" Z\", \"27\", \"28\", \"29\", \"20\", \"2-\", \"2.\", \"2A\", \"2B\", \"2C\", \"2D\", \"2E\", \"2F\", \"2G\", \"2H\", \"2I\", \"2J\", \"2K\", \"2L\", \"2M\", \"2N\", \"2O\", \"2P\", \"2Q\", \"2R\", \"2S\", \"2T\", \"2U\", \"2V\", \"2W\", \"2X\", \"2Y\", \"2Z\", \"2$\", \"2/\", \"2+\", \"2%\", \"2 \"]); //#13542\n for (var _d = 0; _d <= 127; _d += 1) { //#13552\n $1.i = _d; //#13544\n var _g = $get($1.combos, $1.i); //#13545\n $1.c1 = $get(_g, 0); //#13545\n $1.c2 = $get(_g, 1); //#13545\n if ($1.c1 == 49) { //#13548\n $put($1.charvals, $1.i, $a([$get($1.charvals, $1.s1), $get($1.charvals, $1.c2)])); //#13547\n } //#13547\n if ($1.c1 == 50) { //#13551\n $put($1.charvals, $1.i, $a([$get($1.charvals, $1.s2), $get($1.charvals, $1.c2)])); //#13550\n } //#13550\n } //#13550\n $1.encodealpha = function() {\n var _15 = $get($1.charvals, $k[--$j]); //#13555\n $k[$j++] = _15; //#13556\n if ($ne($type(_15), 'arraytype')) { //#13556\n $astore($a(1)); //#13556\n } //#13556\n var _18 = $k[--$j]; //#13557\n $puti($1.cws, $1.j, _18); //#13557\n $1.j = _18.length + $1.j; //#13558\n }; //#13559\n $1.base48 = function() {\n var _1C = $k[--$j]; //#13562\n $k[$j++] = 0; //#13562\n $forall(_1C, function() { //#13562\n var _1D = $k[--$j]; //#13562\n var _1E = $k[--$j]; //#13562\n $k[$j++] = $f($f(_1D - 48) + (_1E * 10)); //#13562\n }); //#13562\n $k[$j++] = Infinity; //#13563\n var _1F = $k[--$j]; //#13563\n var _1G = $k[--$j]; //#13563\n var _1H = $k[--$j]; //#13563\n $k[$j++] = _1F; //#13563\n $k[$j++] = _1G; //#13563\n for (var _1I = 0, _1J = $f(_1H - 1); _1I < _1J; _1I++) { //#13563\n var _1K = $k[--$j]; //#13563\n $k[$j++] = _1K % 48; //#13563\n $k[$j++] = ~~(_1K / 48); //#13563\n } //#13563\n var _1L = $a(); //#13563\n $k[$j++] = _1L; //#13564\n $k[$j++] = Infinity; //#13564\n var _1M = $k[--$j]; //#13564\n var _1N = $k[--$j]; //#13564\n $k[$j++] = _1M; //#13564\n $k[$j++] = _1N; //#13564\n for (var _1O = _1N.length - 1; _1O >= 0; _1O -= 1) { //#13564\n var _1P = $k[--$j]; //#13564\n $k[$j++] = $get(_1P, _1O); //#13564\n $k[$j++] = _1P; //#13564\n } //#13564\n $j--; //#13564\n var _1R = $a(); //#13564\n $puti($1.cws, $1.j, _1R); //#13565\n $1.j = _1R.length + $1.j; //#13566\n }; //#13567\n $1.encodenumeric = function() {\n $1.nums = $k[--$j]; //#13570\n var _1X = $1.nums.length; //#13571\n var _1Y = _1X % 5; //#13571\n $k[$j++] = 'pre'; //#13571\n $k[$j++] = _1X; //#13571\n $k[$j++] = _1Y; //#13571\n if (_1Y != 2) { //#13571\n var _1Z = $k[--$j]; //#13571\n var _1a = $k[--$j]; //#13571\n $k[$j++] = $f(_1a - _1Z); //#13571\n } else { //#13571\n var _1b = $k[--$j]; //#13571\n var _1c = $k[--$j]; //#13571\n $k[$j++] = $f($f(_1c - _1b) - 5); //#13571\n } //#13571\n var _1d = $k[--$j]; //#13571\n $1[$k[--$j]] = _1d; //#13571\n for (var _1h = 0, _1g = $f($1.pre - 1); _1h <= _1g; _1h += 5) { //#13572\n $k[$j++] = 3; //#13572\n $k[$j++] = $geti($1.nums, _1h, 5); //#13572\n $1.base48(); //#13572\n } //#13572\n $1.nums = $geti($1.nums, $1.pre, $f($1.nums.length - $1.pre)); //#13573\n var _1q = $1.nums.length; //#13575\n $k[$j++] = _1q; //#13575\n if (_1q == 1) { //#13575\n $k[$j++] = $get($1.nums, $1.i); //#13575\n $1.encodealpha(); //#13575\n } //#13575\n var _1u = $k[--$j]; //#13576\n $k[$j++] = _1u; //#13576\n if (_1u == 3) { //#13576\n $k[$j++] = 2; //#13576\n $k[$j++] = $1.nums; //#13576\n $1.base48(); //#13576\n } //#13576\n var _1w = $k[--$j]; //#13577\n $k[$j++] = _1w; //#13577\n if (_1w == 4) { //#13577\n $k[$j++] = 3; //#13577\n $k[$j++] = Infinity; //#13577\n $k[$j++] = 49; //#13577\n $k[$j++] = 48; //#13577\n $aload($1.nums); //#13577\n var _1y = $a(); //#13577\n $k[$j++] = _1y; //#13577\n $1.base48(); //#13577\n } //#13577\n if ($k[--$j] == 7) { //#13581\n $k[$j++] = 3; //#13579\n $k[$j++] = Infinity; //#13579\n $k[$j++] = 49; //#13579\n $k[$j++] = 48; //#13579\n $aload($geti($1.nums, 0, 4)); //#13579\n var _22 = $a(); //#13579\n $k[$j++] = _22; //#13579\n $1.base48(); //#13579\n $k[$j++] = 2; //#13580\n $k[$j++] = $geti($1.nums, 4, 3); //#13580\n $1.base48(); //#13580\n } //#13580\n }; //#13582\n $k[$j++] = Infinity; //#13585\n for (var _26 = 0, _27 = $1.msglen; _26 < _27; _26++) { //#13585\n $k[$j++] = 0; //#13585\n } //#13585\n $k[$j++] = 0; //#13585\n $1.numericruns = $a(); //#13585\n for (var _2A = $1.msglen - 1; _2A >= 0; _2A -= 1) { //#13594\n $1.i = _2A; //#13587\n var _2D = $get($1.msg, $1.i); //#13588\n if ((_2D >= 48) && (_2D <= 57)) { //#13592\n $put($1.numericruns, $1.i, $f($get($1.numericruns, $1.i + 1) + 1)); //#13590\n } else { //#13592\n $put($1.numericruns, $1.i, 0); //#13592\n } //#13592\n } //#13592\n if ($1.mode == -1) { //#13606\n for (;;) { //#13605\n if ($1.pos != -1) { //#13599\n $1.mode = 3; //#13599\n break; //#13599\n } //#13599\n if ($get($1.numericruns, 0) >= 5) { //#13600\n $1.mode = 2; //#13600\n break; //#13600\n } //#13600\n var _2S = $get($1.charvals, $get($1.msg, 0)); //#13601\n $k[$j++] = _2S; //#13602\n if ($ne($type(_2S), 'arraytype')) { //#13602\n $j--; //#13602\n $1.mode = 0; //#13602\n break; //#13602\n } //#13602\n var _2W = ($get($k[--$j], 0) == 43) ? 4 : 5; //#13603\n $1.mode = _2W; //#13603\n break; //#13604\n } //#13604\n } //#13604\n $1.cws = $a(($1.msglen * 2) + 1); //#13608\n $1.method = \"alpha\"; //#13609\n $1.i = -1; //#13609\n $1.j = -1; //#13609\n if (($1.mode == 0) || ($1.mode == 1)) { //#13612\n $1.method = \"alpha\"; //#13612\n $1.i = 0; //#13612\n $1.j = 0; //#13612\n } //#13612\n if ($1.mode == 2) { //#13613\n $1.method = \"numeric\"; //#13613\n $1.i = 0; //#13613\n $1.j = 0; //#13613\n } //#13613\n if ($1.mode == 3) { //#13627\n $1.posval = $a([12, 22, 13, 23, 33, 14, 24, 34, 44, 15, 25, 35, 45, 55, 16, 26, 36, 46, 56, 66, 17, 27, 37, 47, 57, 67, 77, 18, 28, 38, 48, 58, 68, 78, 88, 19, 29, 39, 49, 59, 69, 79, 89, 99]); //#13624\n $k[$j++] = $1.cws; //#13625\n $k[$j++] = 0; //#13625\n for (var _2f = 0; _2f <= 43; _2f += 1) { //#13625\n $k[$j++] = _2f; //#13625\n if ($get($1.posval, _2f) != $1.pos) { //#13625\n $j--; //#13625\n } //#13625\n } //#13625\n var _2j = $k[--$j]; //#13625\n var _2k = $k[--$j]; //#13625\n $put($k[--$j], _2k, $f(_2j + 1)); //#13625\n $1.method = \"alpha\"; //#13626\n $1.i = 0; //#13626\n $1.j = 1; //#13626\n } //#13626\n if (($1.mode == 4) || ($1.mode == 5)) { //#13631\n $put($1.cws, 0, $get($get($1.charvals, $get($1.msg, 0)), 1)); //#13629\n $1.method = \"alpha\"; //#13630\n $1.i = 1; //#13630\n $1.j = 1; //#13630\n } //#13630\n for (;;) { //#13658\n if ($1.i == $1.msglen) { //#13635\n break; //#13635\n } //#13635\n for (;;) { //#13657\n if ($eq($1.method, \"alpha\")) { //#13646\n if ($get($1.numericruns, $1.i) >= 5) { //#13642\n $k[$j++] = $1.ns; //#13639\n $1.encodealpha(); //#13639\n $1.method = \"numeric\"; //#13640\n break; //#13641\n } //#13641\n $k[$j++] = $get($1.msg, $1.i); //#13643\n $1.encodealpha(); //#13643\n $1.i = $1.i + 1; //#13644\n break; //#13645\n } //#13645\n if ($eq($1.method, \"numeric\")) { //#13656\n if ($get($1.numericruns, $1.i) < 5) { //#13652\n $k[$j++] = $1.ns; //#13649\n $1.encodealpha(); //#13649\n $1.method = \"alpha\"; //#13650\n break; //#13651\n } //#13651\n $k[$j++] = $geti($1.msg, $1.i, $get($1.numericruns, $1.i)); //#13653\n $1.encodenumeric(); //#13653\n $1.i = $f($1.i + $get($1.numericruns, $1.i)); //#13654\n break; //#13655\n } //#13655\n } //#13655\n } //#13655\n $1.cws = $geti($1.cws, 0, $1.j); //#13659\n $1.metrics = $a([$a([2, 9]), $a([3, 16]), $a([4, 23]), $a([5, 30]), $a([6, 37]), $a([7, 42]), $a([8, 49])]); //#13671\n $1.urows = $1.rows; //#13674\n $1.i = 0; //#13675\n for (;;) { //#13685\n $1.m = $get($1.metrics, $1.i); //#13677\n $1.r = $get($1.m, 0); //#13678\n $1.dcws = $get($1.m, 1); //#13679\n $1.okay = true; //#13680\n if (($1.urows != 0) && ($1.urows != $1.r)) { //#13681\n $1.okay = false; //#13681\n } //#13681\n if ($1.cws.length > $1.dcws) { //#13682\n $1.okay = false; //#13682\n } //#13682\n if ($1.okay) { //#13683\n break; //#13683\n } //#13683\n $1.i = $1.i + 1; //#13684\n } //#13684\n $k[$j++] = Infinity; //#13688\n $aload($1.cws); //#13688\n for (var _3n = 0, _3o = $f($1.dcws - $1.cws.length); _3n < _3o; _3n++) { //#13688\n $k[$j++] = 48; //#13688\n } //#13688\n $1.cws = $a(); //#13688\n $1.ccs = $a($1.r * 8); //#13691\n $1.j = 0; //#13692\n for (var _3u = 0, _3t = $f($1.r - 2); _3u <= _3t; _3u += 1) { //#13699\n $1.i = _3u; //#13694\n $1.cc = $geti($1.cws, $1.j, 7); //#13695\n $puti($1.ccs, $1.i * 8, $1.cc); //#13696\n var _43 = $1.cc; //#13697\n $k[$j++] = $1.ccs; //#13697\n $k[$j++] = ($1.i * 8) + 7; //#13697\n $k[$j++] = 0; //#13697\n for (var _44 = 0, _45 = _43.length; _44 < _45; _44++) { //#13697\n var _47 = $k[--$j]; //#13697\n $k[$j++] = $f(_47 + $get(_43, _44)); //#13697\n } //#13697\n var _48 = $k[--$j]; //#13697\n var _49 = $k[--$j]; //#13697\n $put($k[--$j], _49, _48 % 49); //#13697\n $1.j = $1.j + 7; //#13698\n } //#13698\n if ($1.j < $1.dcws) { //#13702\n $puti($1.ccs, $1.ccs.length - 8, $geti($1.cws, $1.j, $f($1.dcws - $1.j))); //#13701\n } //#13701\n $1.cr7 = $f(($f($1.r - 2) * 7) + $1.mode); //#13705\n $put($1.ccs, $1.ccs.length - 2, $1.cr7); //#13706\n var _4Q = $a([1, 9, 31, 26, 2, 12, 17, 23, 37, 18, 22, 6, 27, 44, 15, 43, 39, 11, 13, 5, 41, 33, 36, 8, 4, 32, 3, 19, 40, 25, 29, 10, 24, 30]); //#13710\n $k[$j++] = _4Q; //#13711\n $k[$j++] = _4Q; //#13711\n $k[$j++] = Infinity; //#13711\n var _4R = $k[--$j]; //#13711\n var _4T = $geti($k[--$j], 0, 32); //#13711\n $k[$j++] = _4R; //#13711\n $k[$j++] = 20; //#13711\n $aload(_4T); //#13711\n $1.weightx = $a(); //#13711\n var _4V = $k[--$j]; //#13712\n $k[$j++] = _4V; //#13712\n $k[$j++] = _4V; //#13712\n $k[$j++] = Infinity; //#13712\n var _4W = $k[--$j]; //#13712\n var _4Y = $geti($k[--$j], 1, 32); //#13712\n $k[$j++] = _4W; //#13712\n $k[$j++] = 16; //#13712\n $aload(_4Y); //#13712\n $1.weighty = $a(); //#13712\n $k[$j++] = Infinity; //#13713\n var _4a = $k[--$j]; //#13713\n var _4c = $geti($k[--$j], 2, 32); //#13713\n $k[$j++] = _4a; //#13713\n $k[$j++] = 38; //#13713\n $aload(_4c); //#13713\n $1.weightz = $a(); //#13713\n $1.calccheck = function() {\n $1.weights = $k[--$j]; //#13715\n $1.score = 0; //#13716\n for (var _4h = 0, _4g = (~~(($f($1.r - 1) * 8) / 2)) - 1; _4h <= _4g; _4h += 1) { //#13721\n $1.i = _4h; //#13718\n $1.score = $f((($f(($get($1.ccs, $1.i * 2) * 49) + $get($1.ccs, ($1.i * 2) + 1))) * $get($1.weights, $1.i + 1)) + $1.score); //#13720\n } //#13720\n $k[$j++] = $1.score; //#13722\n }; //#13723\n $1.lastrow = $geti($1.ccs, $1.ccs.length - 8, 8); //#13724\n if ($1.r >= 7) { //#13731\n $k[$j++] = $1.cr7 * $get($1.weightz, 0); //#13728\n $k[$j++] = $1.weightz; //#13728\n $1.calccheck(); //#13728\n var _51 = $k[--$j]; //#13728\n var _53 = $f($k[--$j] + _51) % 2401; //#13729\n $k[$j++] = ~~(_53 / 49); //#13729\n $k[$j++] = _53 % 49; //#13729\n $astore($a(2)); //#13729\n $puti($1.lastrow, 0, $k[--$j]); //#13730\n } //#13730\n $1.wr1 = $f(($get($1.lastrow, 0) * 49) + $get($1.lastrow, 1)); //#13732\n $k[$j++] = $1.cr7 * $get($1.weighty, 0); //#13735\n $k[$j++] = $1.weighty; //#13735\n $1.calccheck(); //#13735\n var _5F = $k[--$j]; //#13735\n var _5L = ($f($f($k[--$j] + _5F) + ($1.wr1 * $get($1.weighty, $f(($1.r * 4) - 3))))) % 2401; //#13737\n $1.wr2 = _5L; //#13737\n $k[$j++] = ~~(_5L / 49); //#13738\n $k[$j++] = _5L % 49; //#13738\n $astore($a(2)); //#13738\n $puti($1.lastrow, 2, $k[--$j]); //#13739\n $k[$j++] = $1.cr7 * $get($1.weightx, 0); //#13742\n $k[$j++] = $1.weightx; //#13742\n $1.calccheck(); //#13742\n var _5T = $k[--$j]; //#13742\n var _5d = ($f(($f($f($k[--$j] + _5T) + ($1.wr1 * $get($1.weightx, $f(($1.r * 4) - 3))))) + ($1.wr2 * $get($1.weightx, $f(($1.r * 4) - 2))))) % 2401; //#13746\n $k[$j++] = ~~(_5d / 49); //#13746\n $k[$j++] = _5d % 49; //#13746\n $astore($a(2)); //#13746\n $puti($1.lastrow, 4, $k[--$j]); //#13747\n var _5j = $geti($1.ccs, $1.ccs.length - 8, 7); //#13750\n $k[$j++] = 0; //#13750\n for (var _5k = 0, _5l = _5j.length; _5k < _5l; _5k++) { //#13750\n var _5n = $k[--$j]; //#13750\n $k[$j++] = $f(_5n + $get(_5j, _5k)); //#13750\n } //#13750\n $put($1.ccs, $1.ccs.length - 1, $k[--$j] % 49); //#13751\n $1.patterns = $a([$a([\"11521132\", \"25112131\", \"14212132\", \"25121221\", \"14221222\", \"12412132\", \"23321221\", \"12421222\", \"21521221\", \"15112222\", \"15121312\", \"13312222\", \"24221311\", \"13321312\", \"11512222\", \"22421311\", \"11521312\", \"25112311\", \"14212312\", \"23312311\", \"12412312\", \"21512311\", \"16121131\", \"14321131\", \"12521131\", \"15212131\", \"15221221\", \"13412131\", \"13421221\", \"11612131\", \"16112221\", \"16121311\", \"14312221\", \"14321311\", \"12512221\", \"12521311\", \"15212311\", \"13412311\", \"11612311\", \"11131135\", \"31131133\", \"51131131\", \"21122134\", \"41122132\", \"21131224\", \"41131222\", \"11113135\", \"31113133\", \"51113131\", \"11122225\", \"31122223\", \"51122221\", \"11131315\", \"31131313\", \"51131311\", \"21113224\", \"41113222\", \"21122314\", \"41122312\", \"11113315\", \"31113313\", \"51113311\", \"12131134\", \"32131132\", \"21231133\", \"41231131\", \"22122133\", \"42122131\", \"11222134\", \"22131223\", \"42131221\", \"11231224\", \"31231222\", \"12113134\", \"32113132\", \"12122224\", \"32122222\", \"12131314\", \"32131312\", \"21231313\", \"41231311\", \"22113223\", \"42113221\", \"11213224\", \"22122313\", \"42122311\", \"11222314\", \"31222312\", \"12113314\", \"32113312\", \"21213313\", \"41213311\", \"13131133\", \"33131131\", \"22231132\", \"11331133\", \"31331131\", \"23122132\", \"12222133\", \"23131222\", \"12231223\", \"32231221\", \"21331222\", \"13113133\", \"33113131\", \"13122223\", \"33122221\", \"11313133\", \"13131313\", \"33131311\", \"11322223\", \"22231312\", \"11331313\", \"31331311\", \"23113222\", \"12213223\", \"23122312\", \"12222313\", \"32222311\", \"21322312\", \"13113313\", \"33113311\", \"22213312\", \"11313313\", \"31313311\", \"14131132\", \"23231131\", \"12331132\", \"21431131\", \"24122131\", \"13222132\", \"24131221\", \"13231222\", \"11422132\", \"22331221\", \"11431222\", \"14113132\", \"14122222\", \"12313132\", \"14131312\", \"12322222\", \"23231311\", \"12331312\", \"21431311\", \"24113221\", \"13213222\", \"24122311\", \"13222312\", \"11413222\", \"22322311\", \"11422312\", \"14113312\", \"23213311\", \"12313312\", \"21413311\", \"15131131\", \"13331131\", \"14222131\", \"14231221\", \"12422131\", \"12431221\", \"15113131\", \"15122221\", \"13313131\", \"15131311\", \"13322221\", \"11513131\", \"13331311\", \"11522221\", \"14213221\", \"14222311\", \"12413221\", \"12422311\", \"15113311\", \"13313311\", \"11513311\", \"11141134\", \"31141132\", \"21132133\", \"41132131\", \"21141223\", \"41141221\", \"11123134\", \"31123132\", \"11132224\", \"31132222\", \"11141314\", \"31141312\", \"21114133\", \"41114131\", \"21123223\", \"41123221\", \"21132313\", \"41132311\", \"11114224\", \"31114222\", \"11123314\", \"31123312\", \"21114313\", \"41114311\", \"12141133\", \"32141131\", \"21241132\", \"22132132\", \"11232133\", \"22141222\", \"11241223\", \"31241221\", \"12123133\", \"32123131\", \"12132223\", \"32132221\", \"12141313\", \"32141311\", \"21241312\", \"22114132\", \"11214133\", \"22123222\", \"11223223\", \"22132312\", \"11232313\", \"31232311\", \"12114223\", \"32114221\", \"12123313\", \"32123311\", \"21223312\", \"22114312\", \"11214313\", \"31214311\", \"13141132\", \"22241131\", \"11341132\", \"23132131\", \"12232132\", \"23141221\", \"12241222\", \"21341221\", \"13123132\", \"13132222\", \"11323132\", \"13141312\", \"11332222\", \"22241311\", \"11341312\", \"23114131\", \"12214132\", \"23123221\", \"12223222\", \"23132311\", \"12232312\", \"21332311\", \"13114222\", \"13123312\", \"11314222\", \"22223311\", \"11323312\", \"23114311\", \"12214312\", \"21314311\", \"14141131\", \"12341131\", \"13232131\", \"13241221\", \"11432131\", \"14123131\", \"14132221\", \"12323131\", \"14141311\", \"12332221\", \"12341311\", \"13214131\", \"13223221\", \"11414131\", \"13232311\", \"11423221\", \"11432311\", \"14114221\", \"14123311\", \"12314221\", \"12323311\", \"13214311\", \"11414311\", \"11151133\", \"31151131\", \"21142132\", \"21151222\", \"11133133\", \"31133131\", \"11142223\", \"31142221\", \"11151313\", \"31151311\", \"21124132\", \"21133222\", \"21142312\", \"11115133\", \"31115131\", \"11124223\", \"31124221\", \"11133313\", \"31133311\", \"21115222\", \"21124312\", \"12151132\", \"21251131\", \"22142131\", \"11242132\", \"22151221\", \"11251222\", \"12133132\", \"12142222\", \"12151312\", \"21251311\", \"22124131\", \"11224132\", \"22133221\", \"11233222\", \"22142311\", \"11242312\", \"12115132\", \"12124222\", \"12133312\", \"21233311\", \"22115221\", \"11215222\", \"22124311\", \"11224312\", \"13151131\", \"12242131\", \"12251221\", \"13133131\", \"13142221\", \"11333131\", \"13151311\", \"11342221\", \"12224131\", \"12233221\", \"12242311\", \"13115131\", \"13124221\", \"11315131\", \"13133311\", \"11324221\", \"11333311\", \"12215221\", \"12224311\", \"11161132\", \"21152131\", \"21161221\", \"11143132\", \"11152222\", \"11161312\", \"21134131\", \"21143221\", \"21152311\", \"11125132\", \"11134222\", \"11143312\", \"21116131\", \"21125221\", \"21134311\", \"12161131\", \"11252131\", \"12143131\", \"12152221\", \"12161311\", \"11234131\", \"11243221\", \"11252311\", \"12125131\", \"12134221\", \"12143311\", \"11216131\", \"11225221\", \"11234311\", \"11111236\", \"31111234\", \"51111232\", \"21111325\", \"41111323\", \"61111321\", \"11111416\", \"31111414\", \"51111412\", \"31211143\", \"51211141\", \"12111235\", \"32111233\", \"52111231\", \"21211234\", \"41211232\", \"22111324\", \"42111322\", \"11211325\", \"31211323\", \"51211321\", \"12111415\", \"32111413\", \"52111411\", \"21211414\", \"41211412\", \"12211144\", \"32211142\", \"21311143\", \"41311141\", \"13111234\", \"33111232\", \"22211233\", \"42211231\", \"11311234\", \"31311232\", \"23111323\", \"43111321\", \"12211324\", \"32211322\", \"21311323\", \"41311321\", \"13111414\", \"33111412\", \"22211413\", \"42211411\", \"11311414\", \"31311412\", \"13211143\", \"33211141\", \"22311142\", \"11411143\", \"31411141\", \"14111233\", \"34111231\", \"23211232\", \"12311233\", \"32311231\", \"21411232\", \"24111322\", \"13211323\", \"33211321\", \"22311322\", \"11411323\", \"31411321\", \"14111413\", \"34111411\", \"23211412\", \"12311413\", \"32311411\", \"21411412\", \"14211142\", \"23311141\", \"12411142\", \"21511141\", \"15111232\", \"24211231\", \"13311232\", \"22411231\", \"11511232\", \"25111321\", \"14211322\", \"23311321\", \"12411322\", \"21511321\", \"15111412\", \"24211411\", \"13311412\", \"22411411\", \"11511412\", \"15211141\", \"13411141\", \"11611141\", \"16111231\", \"14311231\", \"12511231\", \"15211321\", \"13411321\", \"11611321\", \"16111411\", \"14311411\", \"12511411\", \"21121144\", \"41121142\", \"11112145\", \"31112143\", \"51112141\", \"11121235\", \"31121233\", \"51121231\", \"21112234\", \"41112232\", \"21121324\", \"41121322\", \"11112325\", \"31112323\", \"51112321\", \"11121415\", \"31121413\", \"51121411\", \"21112414\", \"41112412\", \"22121143\", \"42121141\", \"11221144\", \"31221142\", \"12112144\", \"32112142\", \"12121234\", \"32121232\", \"21221233\", \"41221231\", \"22112233\", \"42112231\", \"11212234\", \"22121323\", \"42121321\", \"11221324\", \"31221322\", \"12112324\", \"32112322\", \"12121414\", \"32121412\", \"21221413\", \"41221411\", \"22112413\", \"42112411\", \"11212414\", \"31212412\", \"23121142\", \"12221143\", \"32221141\", \"21321142\", \"13112143\", \"33112141\", \"13121233\", \"33121231\", \"11312143\", \"22221232\", \"11321233\", \"31321231\", \"23112232\", \"12212233\", \"23121322\", \"12221323\", \"32221321\", \"21321322\", \"13112323\", \"33112321\", \"13121413\", \"33121411\", \"11312323\", \"22221412\", \"11321413\", \"31321411\", \"23112412\", \"12212413\", \"32212411\", \"21312412\", \"24121141\", \"13221142\", \"22321141\", \"11421142\", \"14112142\", \"14121232\", \"12312142\", \"23221231\", \"12321232\", \"21421231\", \"24112231\", \"13212232\", \"24121321\", \"13221322\", \"11412232\", \"22321321\", \"11421322\", \"14112322\", \"14121412\", \"12312322\", \"23221411\", \"12321412\", \"21421411\", \"24112411\", \"13212412\", \"22312411\", \"11412412\", \"14221141\", \"12421141\", \"15112141\", \"15121231\", \"13312141\", \"13321231\", \"11512141\", \"11521231\", \"14212231\", \"14221321\", \"12412231\", \"12421321\", \"15112321\", \"15121411\", \"13312321\", \"13321411\", \"11512321\", \"11521411\", \"14212411\", \"12412411\", \"21131143\", \"41131141\", \"11122144\", \"31122142\", \"11131234\", \"31131232\", \"21113143\", \"41113141\", \"21122233\", \"41122231\", \"21131323\", \"41131321\", \"11113234\", \"31113232\", \"11122324\", \"31122322\", \"11131414\", \"31131412\", \"21113323\", \"41113321\", \"21122413\", \"41122411\", \"11113414\", \"31113412\", \"22131142\", \"11231143\", \"31231141\", \"12122143\", \"32122141\", \"12131233\", \"32131231\", \"21231232\", \"22113142\", \"11213143\", \"22122232\", \"11222233\", \"22131322\", \"11231323\", \"31231321\", \"12113233\", \"32113231\", \"12122323\", \"32122321\", \"12131413\", \"32131411\", \"21231412\", \"22113322\", \"11213323\", \"22122412\", \"11222413\", \"31222411\", \"12113413\", \"32113411\", \"21213412\", \"23131141\", \"12231142\", \"21331141\", \"13122142\", \"13131232\", \"11322142\", \"22231231\", \"11331232\", \"23113141\", \"12213142\", \"23122231\", \"12222232\", \"23131321\", \"12231322\", \"21331321\", \"13113232\", \"13122322\", \"11313232\", \"13131412\", \"11322322\", \"22231411\", \"11331412\", \"23113321\", \"12213322\", \"23122411\", \"12222412\", \"21322411\", \"13113412\", \"22213411\", \"11313412\", \"13231141\", \"11431141\", \"14122141\", \"14131231\", \"12322141\", \"12331231\", \"13213141\", \"13222231\", \"11413141\", \"13231321\", \"11422231\", \"11431321\", \"14113231\", \"14122321\", \"12313231\", \"14131411\", \"12322321\", \"12331411\", \"13213321\", \"13222411\", \"11413321\", \"11422411\", \"14113411\", \"12313411\", \"21141142\", \"11132143\", \"31132141\", \"11141233\", \"31141231\", \"21123142\", \"21132232\", \"21141322\", \"11114143\", \"31114141\", \"11123233\", \"31123231\", \"11132323\", \"31132321\", \"11141413\", \"31141411\", \"21114232\", \"21123322\", \"21132412\", \"11114323\", \"31114321\", \"11123413\", \"31123411\", \"22141141\", \"11241142\", \"12132142\", \"12141232\", \"21241231\", \"22123141\", \"11223142\", \"22132231\", \"11232232\", \"22141321\", \"11241322\", \"12114142\", \"12123232\", \"12132322\", \"12141412\", \"21241411\", \"22114231\", \"11214232\", \"22123321\", \"11223322\", \"22132411\", \"11232412\", \"12114322\", \"12123412\", \"21223411\", \"12241141\", \"13132141\", \"13141231\", \"11332141\", \"11341231\", \"12223141\", \"12232231\", \"12241321\", \"13114141\", \"13123231\", \"11314141\", \"13132321\", \"11323231\", \"13141411\", \"11332321\", \"11341411\", \"12214231\", \"12223321\", \"12232411\", \"13114321\", \"13123411\", \"11314321\", \"11323411\", \"21151141\", \"11142142\", \"11151232\", \"21133141\", \"21142231\", \"21151321\", \"11124142\", \"11133232\", \"11142322\", \"11151412\", \"21115141\", \"21124231\", \"21133321\", \"21142411\", \"11115232\", \"11124322\", \"11133412\", \"11251141\", \"12142141\", \"12151231\", \"11233141\", \"11242231\", \"11251321\", \"12124141\", \"12133231\", \"12142321\", \"12151411\", \"11215141\", \"11224231\", \"11233321\", \"11242411\", \"12115231\", \"12124321\", \"12133411\", \"11152141\", \"11161231\", \"11134141\", \"11143231\", \"11152321\", \"11161411\", \"11116141\", \"11125231\", \"11134321\", \"11143411\", \"21111244\", \"41111242\", \"11111335\", \"31111333\", \"51111331\", \"21111424\", \"41111422\", \"11111515\", \"31111513\", \"51111511\", \"21211153\", \"41211151\", \"22111243\", \"42111241\", \"11211244\", \"31211242\", \"12111334\", \"32111332\", \"21211333\", \"41211331\", \"22111423\", \"42111421\", \"11211424\", \"31211422\", \"12111514\", \"32111512\", \"21211513\", \"41211511\", \"22211152\", \"11311153\", \"31311151\", \"23111242\", \"12211243\", \"32211241\", \"21311242\", \"13111333\", \"33111331\", \"22211332\", \"11311333\", \"31311331\", \"23111422\", \"12211423\", \"32211421\", \"21311422\", \"13111513\", \"33111511\", \"22211512\", \"11311513\", \"31311511\", \"23211151\", \"12311152\", \"21411151\", \"24111241\", \"13211242\", \"22311241\", \"11411242\", \"14111332\", \"23211331\", \"12311332\", \"21411331\", \"24111421\", \"13211422\", \"22311421\", \"11411422\", \"14111512\", \"23211511\", \"12311512\", \"21411511\", \"13311151\", \"11511151\", \"14211241\", \"12411241\", \"15111331\", \"13311331\", \"11511331\", \"14211421\", \"12411421\", \"15111511\", \"13311511\", \"11511511\", \"31121152\", \"21112153\", \"41112151\", \"21121243\", \"41121241\", \"11112244\", \"31112242\", \"11121334\", \"31121332\", \"21112333\", \"41112331\", \"21121423\", \"41121421\", \"11112424\", \"31112422\", \"11121514\", \"31121512\", \"21112513\", \"41112511\", \"12121153\", \"32121151\", \"21221152\", \"22112152\", \"11212153\", \"22121242\", \"11221243\", \"31221241\", \"12112243\", \"32112241\", \"12121333\", \"32121331\", \"21221332\", \"22112332\", \"11212333\", \"22121422\", \"11221423\", \"31221421\", \"12112423\", \"32112421\", \"12121513\", \"32121511\", \"21221512\", \"22112512\", \"11212513\", \"31212511\", \"13121152\", \"22221151\", \"11321152\", \"23112151\", \"12212152\", \"23121241\", \"12221242\", \"21321241\", \"13112242\", \"13121332\", \"11312242\", \"22221331\", \"11321332\", \"23112331\", \"12212332\", \"23121421\", \"12221422\", \"21321421\", \"13112422\", \"13121512\", \"11312422\", \"22221511\", \"11321512\", \"23112511\", \"12212512\", \"21312511\", \"14121151\", \"12321151\", \"13212151\", \"13221241\", \"11412151\", \"11421241\", \"14112241\", \"14121331\", \"12312241\", \"12321331\", \"13212331\", \"13221421\", \"11412331\", \"11421421\", \"14112421\", \"14121511\", \"12312421\", \"12321511\", \"13212511\", \"11412511\", \"11131153\", \"31131151\", \"21122152\", \"21131242\", \"11113153\", \"31113151\", \"11122243\", \"31122241\", \"11131333\", \"31131331\", \"21113242\", \"21122332\", \"21131422\", \"11113333\", \"31113331\", \"11122423\", \"31122421\", \"11131513\", \"31131511\", \"21113422\", \"21122512\", \"12131152\", \"21231151\", \"22122151\", \"11222152\", \"22131241\", \"11231242\", \"12113152\", \"12122242\", \"12131332\", \"21231331\", \"22113241\", \"11213242\", \"22122331\", \"11222332\", \"22131421\", \"11231422\", \"12113332\", \"12122422\", \"12131512\", \"21231511\", \"22113421\", \"11213422\", \"22122511\", \"11222512\", \"13131151\", \"11331151\", \"12222151\", \"12231241\", \"13113151\", \"13122241\", \"11313151\", \"13131331\", \"11322241\", \"11331331\", \"12213241\", \"12222331\", \"12231421\", \"13113331\", \"13122421\", \"11313331\", \"13131511\", \"11322421\", \"11331511\", \"12213421\", \"12222511\", \"11141152\", \"21132151\", \"21141241\", \"11123152\", \"11132242\", \"11141332\", \"21114151\", \"21123241\", \"21132331\", \"21141421\", \"11114242\", \"11123332\", \"11132422\", \"11141512\", \"21114331\", \"21123421\", \"21132511\", \"12141151\", \"11232151\", \"11241241\", \"12123151\", \"12132241\", \"12141331\", \"11214151\", \"11223241\", \"11232331\", \"11241421\", \"12114241\", \"12123331\", \"12132421\", \"12141511\", \"11214331\", \"11223421\", \"11232511\", \"11151151\", \"11133151\", \"11142241\", \"11151331\", \"11115151\", \"11124241\", \"11133331\", \"11142421\", \"11151511\", \"11111254\", \"31111252\", \"21111343\", \"41111341\", \"11111434\", \"31111432\", \"21111523\", \"41111521\", \"11111614\", \"31111612\", \"31211161\", \"12111253\", \"32111251\", \"21211252\", \"22111342\", \"11211343\", \"31211341\", \"12111433\", \"32111431\", \"21211432\", \"22111522\", \"11211523\", \"31211521\", \"12111613\", \"32111611\", \"21211612\", \"12211162\", \"21311161\", \"13111252\", \"22211251\", \"11311252\", \"23111341\", \"12211342\", \"21311341\", \"13111432\", \"22211431\", \"11311432\", \"23111521\", \"12211522\", \"21311521\", \"13111612\", \"22211611\", \"11311612\", \"13211161\", \"11411161\", \"14111251\", \"12311251\", \"13211341\", \"11411341\", \"14111431\", \"12311431\", \"13211521\", \"11411521\", \"14111611\", \"12311611\", \"21121162\", \"11112163\", \"31112161\", \"11121253\", \"31121251\", \"21112252\", \"21121342\", \"11112343\", \"31112341\", \"11121433\", \"31121431\", \"21112432\", \"21121522\", \"11112523\", \"31112521\", \"11121613\", \"31121611\", \"22121161\", \"11221162\", \"12112162\", \"12121252\", \"21221251\", \"22112251\", \"11212252\", \"22121341\", \"11221342\", \"12112342\", \"12121432\", \"21221431\", \"22112431\", \"11212432\", \"22121521\", \"11221522\", \"12112522\", \"12121612\", \"21221611\", \"12221161\", \"13112161\", \"13121251\", \"11312161\", \"11321251\", \"32121115\", \"52121113\", \"21221116\", \"41221114\", \"61221112\", \"22112116\", \"42112114\", \"31212115\", \"51212113\", \"13121116\", \"33121114\", \"22221115\", \"42221113\", \"11321116\", \"31321114\", \"51321112\", \"23112115\", \"43112113\", \"12212116\", \"32212114\", \"52212112\", \"21312115\", \"41312113\", \"61312111\", \"14121115\", \"34121113\", \"23221114\", \"43221112\", \"12321115\", \"32321113\", \"52321111\", \"21421114\", \"41421112\", \"24112114\", \"13212115\", \"33212113\", \"22312114\", \"42312112\", \"11412115\", \"31412113\", \"51412111\", \"15121114\", \"24221113\", \"13321114\", \"33321112\", \"22421113\", \"42421111\", \"11521114\", \"31521112\", \"25112113\", \"14212114\", \"34212112\", \"23312113\", \"43312111\", \"12412114\", \"32412112\", \"21512113\", \"41512111\", \"16121113\", \"25221112\", \"14321113\", \"34321111\", \"23421112\", \"12521113\", \"32521111\", \"15212113\", \"24312112\", \"13412113\", \"33412111\", \"22512112\", \"11612113\", \"31612111\", \"31131115\", \"51131113\", \"21122116\", \"41122114\", \"61122112\", \"31113115\", \"51113113\", \"12131116\", \"32131114\", \"52131112\", \"21231115\", \"41231113\", \"61231111\", \"22122115\", \"42122113\", \"11222116\", \"31222114\", \"51222112\", \"12113116\", \"32113114\", \"52113112\", \"21213115\", \"41213113\", \"61213111\", \"13131115\", \"33131113\", \"22231114\", \"42231112\", \"11331115\", \"31331113\", \"51331111\", \"23122114\", \"43122112\", \"12222115\", \"32222113\", \"52222111\", \"21322114\", \"41322112\", \"13113115\", \"33113113\", \"22213114\", \"42213112\", \"11313115\", \"31313113\", \"51313111\", \"14131114\", \"34131112\", \"23231113\", \"43231111\", \"12331114\", \"32331112\", \"21431113\", \"41431111\", \"24122113\", \"13222114\", \"33222112\", \"22322113\", \"42322111\", \"11422114\", \"31422112\", \"14113114\", \"34113112\", \"23213113\", \"43213111\", \"12313114\", \"32313112\", \"21413113\", \"41413111\", \"15131113\", \"24231112\", \"13331113\", \"33331111\", \"22431112\", \"25122112\", \"14222113\", \"34222111\", \"23322112\", \"12422113\", \"32422111\", \"21522112\", \"15113113\", \"24213112\", \"13313113\", \"33313111\", \"22413112\", \"11513113\", \"31513111\", \"16131112\", \"25231111\", \"14331112\", \"23431111\", \"15222112\", \"24322111\", \"13422112\", \"22522111\", \"16113112\", \"25213111\", \"14313112\", \"23413111\", \"12513112\", \"21613111\", \"11141116\", \"31141114\", \"51141112\", \"21132115\", \"41132113\", \"61132111\", \"11123116\", \"31123114\", \"51123112\", \"21114115\", \"41114113\", \"61114111\", \"12141115\", \"32141113\", \"52141111\", \"21241114\", \"41241112\", \"22132114\", \"42132112\", \"11232115\", \"31232113\", \"51232111\", \"12123115\", \"32123113\", \"52123111\", \"21223114\", \"41223112\", \"22114114\", \"42114112\", \"11214115\", \"31214113\", \"51214111\", \"13141114\", \"33141112\", \"22241113\", \"42241111\", \"11341114\", \"31341112\", \"23132113\", \"43132111\", \"12232114\", \"32232112\", \"21332113\", \"41332111\", \"13123114\", \"33123112\", \"22223113\", \"42223111\", \"11323114\", \"31323112\", \"23114113\", \"43114111\", \"12214114\", \"32214112\", \"21314113\", \"41314111\", \"14141113\", \"34141111\", \"23241112\", \"12341113\", \"32341111\", \"24132112\", \"13232113\", \"33232111\", \"22332112\", \"11432113\", \"31432111\", \"14123113\", \"34123111\", \"23223112\", \"12323113\", \"32323111\", \"21423112\", \"24114112\", \"13214113\", \"33214111\", \"22314112\", \"11414113\", \"31414111\", \"15141112\", \"24241111\", \"13341112\", \"25132111\", \"14232112\", \"23332111\", \"12432112\", \"15123112\", \"24223111\", \"13323112\", \"22423111\", \"11523112\", \"25114111\", \"14214112\", \"23314111\", \"12414112\", \"21514111\", \"16141111\", \"14341111\", \"15232111\", \"13432111\", \"16123111\", \"14323111\", \"12523111\", \"15214111\", \"13414111\", \"11614111\", \"11151115\", \"31151113\", \"51151111\", \"21142114\", \"41142112\", \"11133115\", \"31133113\", \"51133111\", \"21124114\", \"41124112\", \"11115115\", \"31115113\", \"51115111\", \"12151114\", \"32151112\", \"21251113\", \"41251111\", \"22142113\", \"42142111\", \"11242114\", \"31242112\", \"12133114\", \"32133112\", \"21233113\", \"41233111\", \"22124113\", \"42124111\", \"11224114\", \"31224112\", \"12115114\", \"32115112\", \"21215113\", \"41215111\", \"13151113\", \"33151111\", \"22251112\", \"23142112\", \"12242113\", \"32242111\", \"21342112\", \"13133113\", \"33133111\", \"22233112\", \"11333113\", \"31333111\", \"23124112\", \"12224113\", \"32224111\", \"21324112\", \"13115113\", \"33115111\", \"22215112\", \"11315113\", \"31315111\", \"14151112\", \"23251111\", \"24142111\", \"13242112\", \"22342111\", \"14133112\", \"23233111\", \"12333112\", \"21433111\", \"24124111\", \"13224112\", \"22324111\", \"11424112\", \"14115112\", \"23215111\", \"12315112\", \"21415111\", \"15151111\", \"14242111\", \"15133111\", \"13333111\", \"14224111\", \"12424111\", \"15115111\", \"13315111\", \"11515111\", \"11161114\", \"31161112\", \"21152113\", \"41152111\", \"11143114\", \"31143112\", \"21134113\", \"41134111\", \"11125114\", \"31125112\", \"21116113\", \"41116111\", \"12161113\", \"32161111\", \"22152112\", \"11252113\", \"31252111\", \"12143113\", \"32143111\", \"21243112\", \"22134112\", \"11234113\", \"31234111\", \"12125113\", \"32125111\", \"21225112\", \"22116112\", \"11216113\", \"31216111\", \"13161112\", \"23152111\", \"12252112\", \"13143112\", \"22243111\", \"11343112\", \"23134111\", \"12234112\", \"21334111\", \"13125112\", \"22225111\", \"11325112\", \"23116111\", \"12216112\", \"21316111\", \"14161111\", \"13252111\", \"14143111\", \"12343111\", \"13234111\", \"11434111\", \"14125111\", \"12325111\", \"13216111\", \"11416111\", \"31111216\", \"51111214\", \"31211125\", \"51211123\", \"32111215\", \"52111213\", \"21211216\", \"41211214\", \"61211212\", \"12211126\", \"32211124\", \"52211122\", \"21311125\", \"41311123\", \"61311121\", \"13111216\", \"33111214\", \"22211215\", \"42211213\", \"11311216\", \"31311214\", \"51311212\", \"13211125\", \"33211123\", \"22311124\", \"42311122\", \"11411125\", \"31411123\", \"51411121\", \"14111215\", \"34111213\", \"23211214\", \"43211212\", \"12311215\", \"32311213\", \"52311211\", \"21411214\", \"41411212\", \"14211124\", \"34211122\", \"23311123\", \"43311121\", \"12411124\", \"32411122\", \"21511123\", \"41511121\", \"15111214\", \"24211213\", \"13311214\", \"33311212\", \"22411213\", \"42411211\", \"11511214\", \"31511212\", \"15211123\", \"24311122\", \"13411123\", \"33411121\", \"22511122\", \"11611123\", \"31611121\", \"16111213\", \"25211212\", \"14311213\", \"34311211\", \"23411212\", \"12511213\", \"32511211\", \"21611212\", \"21121126\", \"41121124\", \"61121122\", \"31112125\", \"51112123\", \"31121215\", \"51121213\", \"21112216\", \"41112214\", \"61112212\", \"22121125\", \"42121123\", \"11221126\", \"31221124\", \"51221122\", \"12112126\", \"32112124\", \"52112122\", \"12121216\", \"32121214\", \"52121212\", \"21221215\", \"41221213\", \"61221211\", \"22112215\", \"42112213\", \"11212216\", \"31212214\", \"51212212\", \"23121124\", \"43121122\", \"12221125\", \"32221123\", \"52221121\", \"21321124\", \"41321122\", \"13112125\", \"33112123\", \"13121215\", \"33121213\", \"11312125\", \"22221214\", \"42221212\", \"11321215\", \"31321213\", \"51321211\", \"23112214\", \"43112212\", \"12212215\", \"32212213\", \"52212211\", \"21312214\", \"41312212\", \"24121123\", \"13221124\", \"33221122\", \"22321123\", \"42321121\", \"11421124\", \"31421122\", \"14112124\", \"34112122\", \"14121214\", \"34121212\", \"12312124\", \"23221213\", \"43221211\", \"12321214\", \"32321212\", \"21421213\", \"41421211\", \"24112213\", \"13212214\", \"33212212\", \"22312213\", \"42312211\", \"11412214\", \"31412212\", \"25121122\", \"14221123\", \"34221121\", \"23321122\", \"12421123\", \"32421121\", \"21521122\", \"15112123\", \"15121213\", \"13312123\", \"24221212\", \"13321213\", \"33321211\", \"11512123\", \"22421212\", \"11521213\", \"31521211\", \"25112212\", \"14212213\", \"34212211\", \"23312212\", \"12412213\", \"32412211\", \"21512212\", \"15221122\", \"24321121\", \"13421122\", \"22521121\", \"16112122\", \"16121212\", \"14312122\", \"25221211\", \"14321212\", \"12512122\", \"23421211\", \"12521212\", \"15212212\", \"24312211\", \"13412212\", \"22512211\", \"11612212\", \"21131125\", \"41131123\", \"61131121\", \"11122126\", \"31122124\", \"51122122\", \"11131216\", \"31131214\", \"51131212\", \"21113125\", \"41113123\", \"61113121\", \"21122215\", \"41122213\", \"61122211\", \"11113216\", \"31113214\", \"51113212\", \"22131124\", \"42131122\", \"11231125\", \"31231123\", \"51231121\", \"12122125\", \"32122123\", \"52122121\", \"12131215\", \"32131213\", \"52131211\", \"21231214\", \"41231212\", \"22113124\", \"42113122\", \"11213125\", \"22122214\", \"42122212\", \"11222215\", \"31222213\", \"51222211\", \"12113215\", \"32113213\", \"52113211\", \"21213214\", \"41213212\", \"23131123\", \"43131121\", \"12231124\", \"32231122\", \"21331123\", \"41331121\", \"13122124\", \"33122122\", \"13131214\", \"33131212\", \"11322124\", \"22231213\", \"42231211\", \"11331214\", \"31331212\", \"23113123\", \"43113121\", \"12213124\", \"23122213\", \"43122211\", \"12222214\", \"32222212\", \"21322213\", \"41322211\", \"13113214\", \"33113212\", \"22213213\", \"42213211\", \"11313214\", \"31313212\", \"24131122\", \"13231123\", \"33231121\", \"22331122\", \"11431123\", \"31431121\", \"14122123\", \"34122121\", \"14131213\", \"34131211\", \"12322123\", \"23231212\", \"12331213\", \"32331211\", \"21431212\", \"24113122\", \"13213123\", \"24122212\", \"13222213\", \"33222211\", \"11413123\", \"22322212\", \"11422213\", \"31422211\", \"14113213\", \"34113211\", \"23213212\", \"12313213\", \"32313211\", \"21413212\", \"25131121\", \"14231122\", \"23331121\", \"12431122\", \"15122122\", \"15131212\", \"13322122\", \"24231211\", \"13331212\", \"11522122\", \"22431211\", \"25113121\", \"14213122\", \"25122211\", \"14222212\", \"12413122\", \"23322211\", \"12422212\", \"21522211\", \"15113212\", \"24213211\", \"13313212\", \"22413211\", \"11513212\", \"15231121\", \"13431121\", \"16122121\", \"16131211\", \"14322121\", \"14331211\", \"12522121\", \"15213121\", \"15222211\", \"13413121\", \"13422211\", \"11613121\", \"16113211\", \"14313211\", \"12513211\", \"21141124\", \"41141122\", \"11132125\", \"31132123\", \"51132121\", \"11141215\", \"31141213\", \"51141211\", \"21123124\", \"41123122\", \"21132214\", \"41132212\", \"11114125\", \"31114123\", \"51114121\", \"11123215\", \"31123213\", \"51123211\", \"21114214\", \"41114212\", \"22141123\", \"42141121\", \"11241124\", \"31241122\", \"12132124\", \"32132122\", \"12141214\", \"32141212\", \"21241213\", \"41241211\", \"22123123\", \"42123121\", \"11223124\", \"22132213\", \"42132211\", \"11232214\", \"31232212\", \"12114124\", \"32114122\", \"12123214\", \"32123212\", \"21223213\", \"41223211\", \"22114213\", \"42114211\", \"11214214\", \"31214212\", \"23141122\", \"12241123\", \"32241121\", \"21341122\", \"13132123\", \"33132121\", \"13141213\", \"33141211\", \"11332123\", \"22241212\", \"11341213\", \"31341211\", \"23123122\", \"12223123\", \"23132212\", \"12232213\", \"32232211\", \"21332212\", \"13114123\", \"33114121\", \"13123213\", \"33123211\", \"11314123\", \"22223212\", \"11323213\", \"31323211\", \"23114212\", \"12214213\", \"32214211\", \"21314212\", \"24141121\", \"13241122\", \"22341121\", \"14132122\", \"14141212\", \"12332122\", \"23241211\", \"12341212\", \"24123121\", \"13223122\", \"24132211\", \"13232212\", \"11423122\", \"22332211\", \"11432212\", \"14114122\", \"14123212\", \"12314122\", \"23223211\", \"12323212\", \"21423211\", \"24114211\", \"13214212\", \"22314211\", \"11414212\", \"14241121\", \"15132121\", \"15141211\", \"13332121\", \"13341211\", \"14223121\", \"14232211\", \"12423121\", \"12432211\", \"15114121\", \"15123211\", \"13314121\", \"13323211\", \"11514121\", \"11523211\", \"14214211\", \"12414211\", \"21151123\", \"41151121\", \"11142124\", \"31142122\", \"11151214\", \"31151212\", \"21133123\", \"41133121\", \"21142213\", \"41142211\", \"11124124\", \"31124122\", \"11133214\", \"31133212\", \"21115123\", \"41115121\", \"21124213\", \"41124211\", \"11115214\", \"31115212\", \"22151122\", \"11251123\", \"31251121\", \"12142123\", \"32142121\", \"12151213\", \"32151211\", \"21251212\", \"22133122\", \"11233123\", \"22142212\", \"11242213\", \"31242211\", \"12124123\", \"32124121\", \"12133213\", \"32133211\", \"21233212\", \"22115122\", \"11215123\", \"22124212\", \"11224213\", \"31224211\", \"12115213\", \"32115211\", \"21215212\", \"23151121\", \"12251122\", \"13142122\", \"13151212\", \"11342122\", \"22251211\", \"23133121\", \"12233122\", \"23142211\", \"12242212\", \"21342211\", \"13124122\", \"13133212\", \"11324122\", \"22233211\", \"11333212\", \"23115121\", \"12215122\", \"23124211\", \"12224212\", \"21324211\", \"13115212\", \"22215211\", \"11315212\", \"13251121\", \"14142121\", \"14151211\", \"12342121\", \"13233121\", \"13242211\", \"11433121\", \"14124121\", \"14133211\", \"12324121\", \"12333211\", \"13215121\", \"13224211\", \"11415121\", \"11424211\", \"14115211\", \"12315211\", \"21161122\", \"11152123\", \"31152121\", \"11161213\", \"31161211\", \"21143122\", \"21152212\", \"11134123\", \"31134121\", \"11143213\", \"31143211\", \"21125122\", \"21134212\", \"11116123\", \"31116121\", \"11125213\", \"31125211\", \"22161121\", \"12152122\", \"12161212\", \"22143121\", \"11243122\", \"22152211\", \"11252212\", \"12134122\", \"12143212\", \"21243211\", \"22125121\", \"11225122\", \"22134211\", \"11234212\", \"12116122\", \"12125212\", \"21225211\", \"13152121\", \"13161211\", \"12243121\", \"12252211\", \"13134121\", \"13143211\", \"11334121\", \"11343211\", \"12225121\", \"12234211\", \"13116121\", \"13125211\", \"11316121\", \"11325211\", \"21111226\", \"41111224\", \"61111222\", \"31111315\", \"51111313\", \"21211135\", \"41211133\", \"61211131\", \"22111225\", \"42111223\", \"11211226\", \"31211224\", \"51211222\", \"12111316\", \"32111314\", \"52111312\", \"21211315\", \"41211313\", \"61211311\", \"22211134\", \"42211132\", \"11311135\", \"31311133\", \"51311131\", \"23111224\", \"43111222\", \"12211225\", \"32211223\", \"52211221\", \"21311224\", \"41311222\", \"13111315\", \"33111313\", \"22211314\", \"42211312\", \"11311315\", \"31311313\", \"51311311\", \"23211133\", \"43211131\", \"12311134\", \"32311132\", \"21411133\", \"41411131\", \"24111223\", \"13211224\", \"33211222\", \"22311223\", \"42311221\", \"11411224\", \"31411222\", \"14111314\", \"34111312\", \"23211313\", \"43211311\", \"12311314\", \"32311312\", \"21411313\", \"41411311\", \"24211132\", \"13311133\", \"33311131\", \"22411132\", \"11511133\", \"31511131\", \"25111222\", \"14211223\", \"34211221\", \"23311222\", \"12411223\", \"32411221\", \"21511222\", \"15111313\", \"24211312\", \"13311313\", \"33311311\", \"22411312\", \"11511313\", \"31511311\", \"25211131\", \"14311132\", \"23411131\", \"12511132\", \"21611131\", \"15211222\", \"24311221\", \"13411222\", \"22511221\", \"11611222\", \"16111312\", \"25211311\", \"14311312\", \"23411311\", \"12511312\", \"21611311\", \"31121134\", \"51121132\", \"21112135\", \"41112133\", \"61112131\", \"21121225\", \"41121223\", \"61121221\", \"11112226\", \"31112224\", \"51112222\", \"11121316\", \"31121314\", \"51121312\", \"21112315\", \"41112313\", \"61112311\", \"12121135\", \"32121133\", \"52121131\", \"21221134\", \"41221132\", \"22112134\", \"42112132\", \"11212135\", \"22121224\", \"42121222\", \"11221225\", \"31221223\", \"51221221\", \"12112225\", \"32112223\", \"52112221\", \"12121315\", \"32121313\", \"52121311\", \"21221314\", \"41221312\", \"22112314\", \"42112312\", \"11212315\", \"31212313\", \"51212311\", \"13121134\", \"33121132\", \"22221133\", \"42221131\", \"11321134\", \"31321132\", \"23112133\", \"43112131\", \"12212134\", \"23121223\", \"43121221\", \"12221224\", \"32221222\", \"21321223\", \"41321221\", \"13112224\", \"33112222\", \"13121314\", \"33121312\", \"11312224\", \"22221313\", \"42221311\", \"11321314\", \"31321312\", \"23112313\", \"43112311\", \"12212314\", \"32212312\", \"21312313\", \"41312311\", \"14121133\", \"34121131\", \"23221132\", \"12321133\", \"32321131\", \"21421132\", \"24112132\", \"13212133\", \"24121222\", \"13221223\", \"33221221\", \"11412133\", \"22321222\", \"11421223\", \"31421221\", \"14112223\", \"34112221\", \"14121313\", \"34121311\", \"12312223\", \"23221312\", \"12321313\", \"32321311\", \"21421312\", \"24112312\", \"13212313\", \"33212311\", \"22312312\", \"11412313\", \"31412311\", \"15121132\", \"24221131\", \"13321132\", \"22421131\"]), $a([\"22121116\", \"42121114\", \"31221115\", \"51221113\", \"32112115\", \"52112113\", \"21212116\", \"41212114\", \"61212112\", \"23121115\", \"43121113\", \"12221116\", \"32221114\", \"52221112\", \"21321115\", \"41321113\", \"61321111\", \"13112116\", \"33112114\", \"22212115\", \"42212113\", \"11312116\", \"31312114\", \"51312112\", \"24121114\", \"13221115\", \"33221113\", \"22321114\", \"42321112\", \"11421115\", \"31421113\", \"51421111\", \"14112115\", \"34112113\", \"23212114\", \"43212112\", \"12312115\", \"32312113\", \"52312111\", \"21412114\", \"41412112\", \"25121113\", \"14221114\", \"34221112\", \"23321113\", \"43321111\", \"12421114\", \"32421112\", \"21521113\", \"41521111\", \"15112114\", \"24212113\", \"13312114\", \"33312112\", \"22412113\", \"42412111\", \"11512114\", \"31512112\", \"15221113\", \"24321112\", \"13421113\", \"33421111\", \"22521112\", \"16112113\", \"25212112\", \"14312113\", \"34312111\", \"23412112\", \"12512113\", \"32512111\", \"21612112\", \"21131116\", \"41131114\", \"61131112\", \"31122115\", \"51122113\", \"21113116\", \"41113114\", \"61113112\", \"22131115\", \"42131113\", \"11231116\", \"31231114\", \"51231112\", \"12122116\", \"32122114\", \"52122112\", \"21222115\", \"41222113\", \"61222111\", \"22113115\", \"42113113\", \"11213116\", \"31213114\", \"51213112\", \"23131114\", \"43131112\", \"12231115\", \"32231113\", \"52231111\", \"21331114\", \"41331112\", \"13122115\", \"33122113\", \"22222114\", \"42222112\", \"11322115\", \"31322113\", \"51322111\", \"23113114\", \"43113112\", \"12213115\", \"32213113\", \"52213111\", \"21313114\", \"41313112\", \"24131113\", \"13231114\", \"33231112\", \"22331113\", \"42331111\", \"11431114\", \"31431112\", \"14122114\", \"34122112\", \"23222113\", \"43222111\", \"12322114\", \"32322112\", \"21422113\", \"41422111\", \"24113113\", \"13213114\", \"33213112\", \"22313113\", \"42313111\", \"11413114\", \"31413112\", \"25131112\", \"14231113\", \"34231111\", \"23331112\", \"12431113\", \"32431111\", \"15122113\", \"24222112\", \"13322113\", \"33322111\", \"22422112\", \"11522113\", \"31522111\", \"25113112\", \"14213113\", \"34213111\", \"23313112\", \"12413113\", \"32413111\", \"21513112\", \"15231112\", \"24331111\", \"13431112\", \"16122112\", \"25222111\", \"14322112\", \"23422111\", \"12522112\", \"15213112\", \"24313111\", \"13413112\", \"22513111\", \"11613112\", \"21141115\", \"41141113\", \"61141111\", \"11132116\", \"31132114\", \"51132112\", \"21123115\", \"41123113\", \"61123111\", \"11114116\", \"31114114\", \"51114112\", \"22141114\", \"42141112\", \"11241115\", \"31241113\", \"51241111\", \"12132115\", \"32132113\", \"52132111\", \"21232114\", \"41232112\", \"22123114\", \"42123112\", \"11223115\", \"31223113\", \"51223111\", \"12114115\", \"32114113\", \"52114111\", \"21214114\", \"41214112\", \"23141113\", \"43141111\", \"12241114\", \"32241112\", \"21341113\", \"41341111\", \"13132114\", \"33132112\", \"22232113\", \"42232111\", \"11332114\", \"31332112\", \"23123113\", \"43123111\", \"12223114\", \"32223112\", \"21323113\", \"41323111\", \"13114114\", \"33114112\", \"22214113\", \"42214111\", \"11314114\", \"31314112\", \"24141112\", \"13241113\", \"33241111\", \"22341112\", \"14132113\", \"34132111\", \"23232112\", \"12332113\", \"32332111\", \"21432112\", \"24123112\", \"13223113\", \"33223111\", \"22323112\", \"11423113\", \"31423111\", \"14114113\", \"34114111\", \"23214112\", \"12314113\", \"32314111\", \"21414112\", \"25141111\", \"14241112\", \"23341111\", \"15132112\", \"24232111\", \"13332112\", \"22432111\", \"25123111\", \"14223112\", \"23323111\", \"12423112\", \"21523111\", \"15114112\", \"24214111\", \"13314112\", \"22414111\", \"11514112\", \"15241111\", \"16132111\", \"14332111\", \"15223111\", \"13423111\", \"16114111\", \"14314111\", \"12514111\", \"21151114\", \"41151112\", \"11142115\", \"31142113\", \"51142111\", \"21133114\", \"41133112\", \"11124115\", \"31124113\", \"51124111\", \"21115114\", \"41115112\", \"22151113\", \"42151111\", \"11251114\", \"31251112\", \"12142114\", \"32142112\", \"21242113\", \"41242111\", \"22133113\", \"42133111\", \"11233114\", \"31233112\", \"12124114\", \"32124112\", \"21224113\", \"41224111\", \"22115113\", \"42115111\", \"11215114\", \"31215112\", \"23151112\", \"12251113\", \"32251111\", \"13142113\", \"33142111\", \"22242112\", \"11342113\", \"31342111\", \"23133112\", \"12233113\", \"32233111\", \"21333112\", \"13124113\", \"33124111\", \"22224112\", \"11324113\", \"31324111\", \"23115112\", \"12215113\", \"32215111\", \"21315112\", \"24151111\", \"13251112\", \"14142112\", \"23242111\", \"12342112\", \"24133111\", \"13233112\", \"22333111\", \"11433112\", \"14124112\", \"23224111\", \"12324112\", \"21424111\", \"24115111\", \"13215112\", \"22315111\", \"11415112\", \"14251111\", \"15142111\", \"13342111\", \"14233111\", \"12433111\", \"15124111\", \"13324111\", \"11524111\", \"14215111\", \"12415111\", \"21161113\", \"41161111\", \"11152114\", \"31152112\", \"21143113\", \"41143111\", \"11134114\", \"31134112\", \"21125113\", \"41125111\", \"11116114\", \"31116112\", \"22161112\", \"12152113\", \"32152111\", \"21252112\", \"22143112\", \"11243113\", \"31243111\", \"12134113\", \"32134111\", \"21234112\", \"22125112\", \"11225113\", \"31225111\", \"12116113\", \"32116111\", \"21216112\", \"23161111\", \"13152112\", \"22252111\", \"23143111\", \"12243112\", \"21343111\", \"13134112\", \"22234111\", \"11334112\", \"23125111\", \"12225112\", \"21325111\", \"13116112\", \"22216111\", \"11316112\", \"14152111\", \"13243111\", \"14134111\", \"12334111\", \"13225111\", \"11425111\", \"14116111\", \"12316111\", \"41111215\", \"61111213\", \"21211126\", \"41211124\", \"61211122\", \"22111216\", \"42111214\", \"31211215\", \"51211213\", \"22211125\", \"42211123\", \"11311126\", \"31311124\", \"51311122\", \"23111215\", \"43111213\", \"12211216\", \"32211214\", \"52211212\", \"21311215\", \"41311213\", \"61311211\", \"23211124\", \"43211122\", \"12311125\", \"32311123\", \"52311121\", \"21411124\", \"41411122\", \"24111214\", \"13211215\", \"33211213\", \"22311214\", \"42311212\", \"11411215\", \"31411213\", \"51411211\", \"24211123\", \"13311124\", \"33311122\", \"22411123\", \"42411121\", \"11511124\", \"31511122\", \"25111213\", \"14211214\", \"34211212\", \"23311213\", \"43311211\", \"12411214\", \"32411212\", \"21511213\", \"41511211\", \"25211122\", \"14311123\", \"34311121\", \"23411122\", \"12511123\", \"32511121\", \"21611122\", \"15211213\", \"24311212\", \"13411213\", \"33411211\", \"22511212\", \"11611213\", \"31611211\", \"31121125\", \"51121123\", \"21112126\", \"41112124\", \"61112122\", \"21121216\", \"41121214\", \"61121212\", \"31112215\", \"51112213\", \"12121126\", \"32121124\", \"52121122\", \"21221125\", \"41221123\", \"61221121\", \"22112125\", \"42112123\", \"11212126\", \"22121215\", \"42121213\", \"11221216\", \"31221214\", \"51221212\", \"12112216\", \"32112214\", \"52112212\", \"21212215\", \"41212213\", \"61212211\", \"13121125\", \"33121123\", \"22221124\", \"42221122\", \"11321125\", \"31321123\", \"51321121\", \"23112124\", \"43112122\", \"12212125\", \"23121214\", \"43121212\", \"12221215\", \"32221213\", \"52221211\", \"21321214\", \"41321212\", \"13112215\", \"33112213\", \"22212214\", \"42212212\", \"11312215\", \"31312213\", \"51312211\", \"14121124\", \"34121122\", \"23221123\", \"43221121\", \"12321124\", \"32321122\", \"21421123\", \"41421121\", \"24112123\", \"13212124\", \"24121213\", \"13221214\", \"33221212\", \"11412124\", \"22321213\", \"42321211\", \"11421214\", \"31421212\", \"14112214\", \"34112212\", \"23212213\", \"43212211\", \"12312214\", \"32312212\", \"21412213\", \"41412211\", \"15121123\", \"24221122\", \"13321123\", \"33321121\", \"22421122\", \"11521123\", \"31521121\", \"25112122\", \"14212123\", \"25121212\", \"14221213\", \"34221211\", \"12412123\", \"23321212\", \"12421213\", \"32421211\", \"21521212\", \"15112213\", \"24212212\", \"13312213\", \"33312211\", \"22412212\", \"11512213\", \"31512211\", \"16121122\", \"25221121\", \"14321122\", \"23421121\", \"12521122\", \"15212122\", \"15221212\", \"13412122\", \"24321211\", \"13421212\", \"11612122\", \"22521211\", \"16112212\", \"25212211\", \"14312212\", \"23412211\", \"12512212\", \"21612211\", \"11131126\", \"31131124\", \"51131122\", \"21122125\", \"41122123\", \"61122121\", \"21131215\", \"41131213\", \"61131211\", \"11113126\", \"31113124\", \"51113122\", \"11122216\", \"31122214\", \"51122212\", \"21113215\", \"41113213\", \"61113211\", \"12131125\", \"32131123\", \"52131121\", \"21231124\", \"41231122\", \"22122124\", \"42122122\", \"11222125\", \"22131214\", \"42131212\", \"11231215\", \"31231213\", \"51231211\", \"12113125\", \"32113123\", \"52113121\", \"12122215\", \"32122213\", \"52122211\", \"21222214\", \"41222212\", \"22113214\", \"42113212\", \"11213215\", \"31213213\", \"51213211\", \"13131124\", \"33131122\", \"22231123\", \"42231121\", \"11331124\", \"31331122\", \"23122123\", \"43122121\", \"12222124\", \"23131213\", \"43131211\", \"12231214\", \"32231212\", \"21331213\", \"41331211\", \"13113124\", \"33113122\", \"13122214\", \"33122212\", \"11313124\", \"22222213\", \"42222211\", \"11322214\", \"31322212\", \"23113213\", \"43113211\", \"12213214\", \"32213212\", \"21313213\", \"41313211\", \"14131123\", \"34131121\", \"23231122\", \"12331123\", \"32331121\", \"21431122\", \"24122122\", \"13222123\", \"24131212\", \"13231213\", \"33231211\", \"11422123\", \"22331212\", \"11431213\", \"31431211\", \"14113123\", \"34113121\", \"14122213\", \"34122211\", \"12313123\", \"23222212\", \"12322213\", \"32322211\", \"21422212\", \"24113212\", \"13213213\", \"33213211\", \"22313212\", \"11413213\", \"31413211\", \"15131122\", \"24231121\", \"13331122\", \"22431121\", \"25122121\", \"14222122\", \"25131211\", \"14231212\", \"12422122\", \"23331211\", \"12431212\", \"15113122\", \"15122212\", \"13313122\", \"24222211\", \"13322212\", \"11513122\", \"22422211\", \"11522212\", \"25113211\", \"14213212\", \"23313211\", \"12413212\", \"21513211\", \"16131121\", \"14331121\", \"15222121\", \"15231211\", \"13422121\", \"13431211\", \"16113121\", \"16122211\", \"14313121\", \"14322211\", \"12513121\", \"12522211\", \"15213211\", \"13413211\", \"11613211\", \"11141125\", \"31141123\", \"51141121\", \"21132124\", \"41132122\", \"21141214\", \"41141212\", \"11123125\", \"31123123\", \"51123121\", \"11132215\", \"31132213\", \"51132211\", \"21114124\", \"41114122\", \"21123214\", \"41123212\", \"11114215\", \"31114213\", \"51114211\", \"12141124\", \"32141122\", \"21241123\", \"41241121\", \"22132123\", \"42132121\", \"11232124\", \"22141213\", \"42141211\", \"11241214\", \"31241212\", \"12123124\", \"32123122\", \"12132214\", \"32132212\", \"21232213\", \"41232211\", \"22114123\", \"42114121\", \"11214124\", \"22123213\", \"42123211\", \"11223214\", \"31223212\", \"12114214\", \"32114212\", \"21214213\", \"41214211\", \"13141123\", \"33141121\", \"22241122\", \"11341123\", \"31341121\", \"23132122\", \"12232123\", \"23141212\", \"12241213\", \"32241211\", \"21341212\", \"13123123\", \"33123121\", \"13132213\", \"33132211\", \"11323123\", \"22232212\", \"11332213\", \"31332211\", \"23114122\", \"12214123\", \"23123212\", \"12223213\", \"32223211\", \"21323212\", \"13114213\", \"33114211\", \"22214212\", \"11314213\", \"31314211\", \"14141122\", \"23241121\", \"12341122\", \"24132121\", \"13232122\", \"24141211\", \"13241212\", \"11432122\", \"22341211\", \"14123122\", \"14132212\", \"12323122\", \"23232211\", \"12332212\", \"21432211\", \"24114121\", \"13214122\", \"24123211\", \"13223212\", \"11414122\", \"22323211\", \"11423212\", \"14114212\", \"23214211\", \"12314212\", \"21414211\", \"15141121\", \"13341121\", \"14232121\", \"14241211\", \"12432121\", \"15123121\", \"15132211\", \"13323121\", \"13332211\", \"11523121\", \"14214121\", \"14223211\", \"12414121\", \"12423211\", \"15114211\", \"13314211\", \"11514211\", \"11151124\", \"31151122\", \"21142123\", \"41142121\", \"21151213\", \"41151211\", \"11133124\", \"31133122\", \"11142214\", \"31142212\", \"21124123\", \"41124121\", \"21133213\", \"41133211\", \"11115124\", \"31115122\", \"11124214\", \"31124212\", \"21115213\", \"41115211\", \"12151123\", \"32151121\", \"21251122\", \"22142122\", \"11242123\", \"22151212\", \"11251213\", \"31251211\", \"12133123\", \"32133121\", \"12142213\", \"32142211\", \"21242212\", \"22124122\", \"11224123\", \"22133212\", \"11233213\", \"31233211\", \"12115123\", \"32115121\", \"12124213\", \"32124211\", \"21224212\", \"22115212\", \"11215213\", \"31215211\", \"13151122\", \"22251121\", \"23142121\", \"12242122\", \"23151211\", \"12251212\", \"13133122\", \"13142212\", \"11333122\", \"22242211\", \"11342212\", \"23124121\", \"12224122\", \"23133211\", \"12233212\", \"21333211\", \"13115122\", \"13124212\", \"11315122\", \"22224211\", \"11324212\", \"23115211\", \"12215212\", \"21315211\", \"14151121\", \"13242121\", \"13251211\", \"14133121\", \"14142211\", \"12333121\", \"12342211\", \"13224121\", \"13233211\", \"11424121\", \"11433211\", \"14115121\", \"14124211\", \"12315121\", \"12324211\", \"13215211\", \"11415211\", \"11161123\", \"31161121\", \"21152122\", \"21161212\", \"11143123\", \"31143121\", \"11152213\", \"31152211\", \"21134122\", \"21143212\", \"11125123\", \"31125121\", \"11134213\", \"31134211\", \"21116122\", \"21125212\", \"12161122\", \"22152121\", \"11252122\", \"22161211\", \"12143122\", \"12152212\", \"21252211\", \"22134121\", \"11234122\", \"22143211\", \"11243212\", \"12125122\", \"12134212\", \"21234211\", \"22116121\", \"11216122\", \"22125211\", \"11225212\", \"13161121\", \"12252121\", \"13143121\", \"13152211\", \"11343121\", \"12234121\", \"12243211\", \"13125121\", \"13134211\", \"11325121\", \"11334211\", \"12216121\", \"12225211\", \"31111225\", \"51111223\", \"21111316\", \"41111314\", \"61111312\", \"31211134\", \"51211132\", \"12111226\", \"32111224\", \"52111222\", \"21211225\", \"41211223\", \"61211221\", \"22111315\", \"42111313\", \"11211316\", \"31211314\", \"51211312\", \"12211135\", \"32211133\", \"52211131\", \"21311134\", \"41311132\", \"13111225\", \"33111223\", \"22211224\", \"42211222\", \"11311225\", \"31311223\", \"51311221\", \"23111314\", \"43111312\", \"12211315\", \"32211313\", \"52211311\", \"21311314\", \"41311312\", \"13211134\", \"33211132\", \"22311133\", \"42311131\", \"11411134\", \"31411132\", \"14111224\", \"34111222\", \"23211223\", \"43211221\", \"12311224\", \"32311222\", \"21411223\", \"41411221\", \"24111313\", \"13211314\", \"33211312\", \"22311313\", \"42311311\", \"11411314\", \"31411312\", \"14211133\", \"34211131\", \"23311132\", \"12411133\", \"32411131\", \"21511132\", \"15111223\", \"24211222\", \"13311223\", \"33311221\", \"22411222\", \"11511223\", \"31511221\", \"25111312\", \"14211313\", \"34211311\", \"23311312\", \"12411313\", \"32411311\", \"21511312\", \"15211132\", \"24311131\", \"13411132\", \"22511131\", \"11611132\", \"16111222\", \"25211221\", \"14311222\", \"23411221\", \"12511222\", \"21611221\", \"15211312\", \"24311311\", \"13411312\", \"22511311\", \"11611312\", \"21121135\", \"41121133\", \"61121131\", \"11112136\", \"31112134\", \"51112132\", \"11121226\", \"31121224\", \"51121222\", \"21112225\", \"41112223\", \"61112221\", \"21121315\", \"41121313\", \"61121311\", \"11112316\", \"31112314\", \"51112312\", \"22121134\", \"42121132\", \"11221135\", \"31221133\", \"51221131\", \"12112135\", \"32112133\", \"52112131\", \"12121225\", \"32121223\", \"52121221\", \"21221224\", \"41221222\", \"22112224\", \"42112222\", \"11212225\", \"22121314\", \"42121312\", \"11221315\", \"31221313\", \"51221311\", \"12112315\", \"32112313\", \"52112311\", \"21212314\", \"41212312\", \"23121133\", \"43121131\", \"12221134\", \"32221132\", \"21321133\", \"41321131\", \"13112134\", \"33112132\", \"13121224\", \"33121222\", \"11312134\", \"22221223\", \"42221221\", \"11321224\", \"31321222\", \"23112223\", \"43112221\", \"12212224\", \"23121313\", \"43121311\", \"12221314\", \"32221312\", \"21321313\", \"41321311\", \"13112314\", \"33112312\", \"22212313\", \"42212311\", \"11312314\", \"31312312\", \"24121132\", \"13221133\", \"33221131\", \"22321132\", \"11421133\", \"31421131\", \"14112133\", \"34112131\", \"14121223\", \"34121221\", \"12312133\", \"23221222\", \"12321223\", \"32321221\", \"21421222\", \"24112222\", \"13212223\", \"24121312\", \"13221313\", \"33221311\", \"11412223\", \"22321312\", \"11421313\", \"31421311\", \"14112313\", \"34112311\", \"23212312\", \"12312313\", \"32312311\", \"21412312\", \"25121131\", \"14221132\", \"23321131\", \"12421132\", \"21521131\", \"15112132\", \"15121222\", \"13312132\", \"24221221\", \"13321222\", \"11512132\", \"22421221\", \"11521222\", \"25112221\", \"14212222\", \"25121311\", \"14221312\", \"12412222\", \"23321311\", \"12421312\", \"21521311\", \"15112312\", \"24212311\", \"13312312\", \"22412311\", \"11512312\", \"15221131\", \"13421131\", \"16112131\", \"16121221\", \"14312131\", \"14321221\", \"12512131\", \"12521221\", \"15212221\", \"15221311\", \"13412221\", \"13421311\", \"11612221\", \"16112311\", \"14312311\", \"12512311\", \"21131134\", \"41131132\", \"11122135\", \"31122133\", \"51122131\", \"11131225\", \"31131223\", \"51131221\", \"21113134\", \"41113132\", \"21122224\", \"41122222\", \"21131314\", \"41131312\", \"11113225\", \"31113223\", \"51113221\", \"11122315\", \"31122313\", \"51122311\", \"21113314\", \"41113312\", \"22131133\", \"42131131\", \"11231134\", \"31231132\", \"12122134\", \"32122132\", \"12131224\", \"32131222\", \"21231223\", \"41231221\", \"22113133\", \"42113131\", \"11213134\", \"22122223\", \"42122221\", \"11222224\", \"22131313\", \"42131311\", \"11231314\", \"31231312\", \"12113224\", \"32113222\", \"12122314\", \"32122312\", \"21222313\", \"41222311\", \"22113313\", \"42113311\", \"11213314\", \"31213312\", \"23131132\", \"12231133\", \"32231131\", \"21331132\", \"13122133\", \"33122131\", \"13131223\", \"33131221\", \"11322133\", \"22231222\", \"11331223\", \"31331221\", \"23113132\", \"12213133\", \"23122222\", \"12222223\", \"23131312\", \"12231313\", \"32231311\", \"21331312\", \"13113223\", \"33113221\", \"13122313\", \"33122311\", \"11313223\", \"22222312\", \"11322313\", \"31322311\", \"23113312\", \"12213313\", \"32213311\", \"21313312\", \"24131131\", \"13231132\", \"22331131\", \"11431132\", \"14122132\", \"14131222\", \"12322132\", \"23231221\", \"12331222\", \"21431221\", \"24113131\", \"13213132\", \"24122221\", \"13222222\", \"24131311\", \"11413132\", \"13231312\", \"11422222\", \"22331311\", \"11431312\", \"14113222\", \"14122312\", \"12313222\", \"23222311\", \"12322312\", \"21422311\", \"24113311\", \"13213312\", \"22313311\", \"11413312\", \"14231131\", \"12431131\", \"15122131\", \"15131221\", \"13322131\", \"13331221\", \"11522131\", \"14213131\", \"14222221\", \"12413131\", \"14231311\", \"12422221\", \"12431311\", \"15113221\", \"15122311\", \"13313221\", \"13322311\", \"11513221\", \"11522311\", \"14213311\", \"12413311\", \"21141133\", \"41141131\", \"11132134\", \"31132132\", \"11141224\", \"31141222\", \"21123133\", \"41123131\", \"21132223\", \"41132221\", \"21141313\", \"41141311\", \"11114134\", \"31114132\", \"11123224\", \"31123222\", \"11132314\", \"31132312\", \"21114223\", \"41114221\", \"21123313\", \"41123311\", \"11114314\", \"31114312\", \"22141132\", \"11241133\", \"31241131\", \"12132133\", \"32132131\", \"12141223\", \"32141221\", \"21241222\", \"22123132\", \"11223133\", \"22132222\", \"11232223\", \"22141312\", \"11241313\", \"31241311\", \"12114133\", \"32114131\", \"12123223\", \"32123221\", \"12132313\", \"32132311\", \"21232312\", \"22114222\", \"11214223\", \"22123312\", \"11223313\", \"31223311\", \"12114313\", \"32114311\", \"21214312\", \"23141131\", \"12241132\", \"21341131\", \"13132132\", \"13141222\", \"11332132\", \"22241221\", \"11341222\", \"23123131\", \"12223132\", \"23132221\", \"12232222\", \"23141311\", \"12241312\", \"21341311\", \"13114132\", \"13123222\", \"11314132\", \"13132312\", \"11323222\", \"22232311\", \"11332312\", \"23114221\", \"12214222\", \"23123311\", \"12223312\", \"21323311\", \"13114312\", \"22214311\", \"11314312\", \"13241131\", \"14132131\", \"14141221\", \"12332131\", \"12341221\", \"13223131\", \"13232221\", \"11423131\", \"13241311\", \"11432221\", \"14114131\", \"14123221\", \"12314131\", \"14132311\", \"12323221\", \"12332311\", \"13214221\", \"13223311\", \"11414221\", \"11423311\", \"14114311\", \"12314311\", \"21151132\", \"11142133\", \"31142131\", \"11151223\", \"31151221\", \"21133132\", \"21142222\", \"21151312\", \"11124133\", \"31124131\", \"11133223\", \"31133221\", \"11142313\", \"31142311\", \"21115132\", \"21124222\", \"21133312\", \"11115223\", \"31115221\", \"11124313\", \"31124311\", \"22151131\", \"11251132\", \"12142132\", \"12151222\", \"21251221\", \"22133131\", \"11233132\", \"22142221\", \"11242222\", \"22151311\", \"11251312\", \"12124132\", \"12133222\", \"12142312\", \"21242311\", \"22115131\", \"11215132\", \"22124221\", \"11224222\", \"22133311\", \"11233312\", \"12115222\", \"12124312\", \"21224311\", \"12251131\", \"13142131\", \"13151221\", \"11342131\", \"12233131\", \"12242221\", \"12251311\", \"13124131\", \"13133221\", \"11324131\", \"13142311\", \"11333221\", \"11342311\", \"12215131\", \"12224221\", \"12233311\", \"13115221\", \"13124311\", \"11315221\", \"11324311\", \"21161131\", \"11152132\", \"11161222\", \"21143131\", \"21152221\", \"21161311\", \"11134132\", \"11143222\", \"11152312\", \"21125131\", \"21134221\", \"21143311\", \"11116132\", \"11125222\", \"11134312\", \"12152131\", \"12161221\", \"11243131\", \"11252221\", \"12134131\", \"12143221\", \"12152311\", \"11225131\", \"11234221\", \"11243311\", \"12116131\", \"12125221\", \"12134311\", \"21111235\", \"41111233\", \"61111231\", \"11111326\", \"31111324\", \"51111322\", \"21111415\", \"41111413\", \"61111411\", \"21211144\", \"41211142\", \"22111234\", \"42111232\", \"11211235\", \"31211233\", \"51211231\", \"12111325\", \"32111323\", \"52111321\", \"21211324\", \"41211322\", \"22111414\", \"42111412\", \"11211415\", \"31211413\", \"51211411\", \"22211143\", \"42211141\", \"11311144\", \"31311142\", \"23111233\", \"43111231\", \"12211234\", \"32211232\", \"21311233\", \"41311231\", \"13111324\", \"33111322\", \"22211323\", \"42211321\", \"11311324\", \"31311322\", \"23111413\", \"43111411\", \"12211414\", \"32211412\", \"21311413\", \"41311411\", \"23211142\", \"12311143\", \"32311141\", \"21411142\", \"24111232\", \"13211233\", \"33211231\", \"22311232\", \"11411233\", \"31411231\", \"14111323\", \"34111321\", \"23211322\", \"12311323\", \"32311321\", \"21411322\", \"24111412\", \"13211413\", \"33211411\", \"22311412\", \"11411413\", \"31411411\", \"24211141\", \"13311142\", \"22411141\", \"11511142\", \"25111231\", \"14211232\", \"23311231\", \"12411232\", \"21511231\", \"15111322\", \"24211321\", \"13311322\", \"22411321\", \"11511322\", \"25111411\", \"14211412\", \"23311411\", \"12411412\", \"21511411\", \"14311141\", \"12511141\", \"15211231\", \"13411231\", \"11611231\", \"16111321\", \"14311321\", \"12511321\", \"15211411\", \"13411411\", \"11611411\", \"31121143\", \"51121141\", \"21112144\", \"41112142\", \"21121234\", \"41121232\", \"11112235\", \"31112233\", \"51112231\", \"11121325\", \"31121323\", \"51121321\", \"21112324\", \"41112322\", \"21121414\", \"41121412\", \"11112415\", \"31112413\", \"51112411\", \"12121144\", \"32121142\", \"21221143\", \"41221141\", \"22112143\", \"42112141\", \"11212144\", \"22121233\", \"42121231\", \"11221234\", \"31221232\", \"12112234\", \"32112232\", \"12121324\", \"32121322\", \"21221323\", \"41221321\", \"22112323\", \"42112321\", \"11212324\", \"22121413\", \"42121411\", \"11221414\", \"31221412\", \"12112414\", \"32112412\", \"21212413\", \"41212411\", \"13121143\", \"33121141\", \"22221142\", \"11321143\", \"31321141\", \"23112142\", \"12212143\", \"23121232\", \"12221233\", \"32221231\", \"21321232\", \"13112233\", \"33112231\", \"13121323\", \"33121321\", \"11312233\", \"22221322\", \"11321323\", \"31321321\", \"23112322\", \"12212323\", \"23121412\", \"12221413\", \"32221411\", \"21321412\", \"13112413\", \"33112411\", \"22212412\", \"11312413\", \"31312411\", \"14121142\", \"23221141\", \"12321142\", \"21421141\", \"24112141\", \"13212142\", \"24121231\", \"13221232\", \"11412142\", \"22321231\", \"11421232\", \"14112232\", \"14121322\", \"12312232\", \"23221321\", \"12321322\", \"21421321\", \"24112321\", \"13212322\", \"24121411\", \"13221412\", \"11412322\", \"22321411\", \"11421412\", \"14112412\", \"23212411\", \"12312412\", \"21412411\", \"15121141\", \"13321141\", \"11521141\", \"14212141\", \"14221231\", \"12412141\", \"12421231\", \"15112231\", \"15121321\", \"13312231\", \"13321321\", \"11512231\", \"11521321\", \"14212321\", \"14221411\", \"12412321\", \"12421411\", \"15112411\", \"13312411\", \"11512411\", \"11131144\", \"31131142\", \"21122143\", \"41122141\", \"21131233\", \"41131231\", \"11113144\", \"31113142\", \"11122234\", \"31122232\", \"11131324\", \"31131322\", \"21113233\", \"41113231\", \"21122323\", \"41122321\", \"21131413\", \"41131411\", \"11113324\", \"31113322\", \"11122414\", \"31122412\", \"21113413\", \"41113411\", \"12131143\", \"32131141\", \"21231142\", \"22122142\", \"11222143\", \"22131232\", \"11231233\", \"31231231\", \"12113143\", \"32113141\", \"12122233\", \"32122231\", \"12131323\", \"32131321\", \"21231322\", \"22113232\", \"11213233\", \"22122322\", \"11222323\", \"22131412\", \"11231413\", \"31231411\", \"12113323\", \"32113321\", \"12122413\", \"32122411\", \"21222412\", \"22113412\", \"11213413\", \"31213411\", \"13131142\", \"22231141\", \"11331142\", \"23122141\", \"12222142\", \"23131231\", \"12231232\", \"21331231\", \"13113142\", \"13122232\", \"11313142\", \"13131322\", \"11322232\", \"22231321\", \"11331322\", \"23113231\", \"12213232\", \"23122321\", \"12222322\", \"23131411\", \"12231412\", \"21331411\", \"13113322\", \"13122412\", \"11313322\", \"22222411\", \"11322412\", \"23113411\", \"12213412\", \"21313411\", \"14131141\", \"12331141\", \"13222141\", \"13231231\", \"11422141\", \"11431231\", \"14113141\", \"14122231\", \"12313141\", \"14131321\", \"12322231\", \"12331321\", \"13213231\", \"13222321\", \"11413231\", \"13231411\", \"11422321\", \"11431411\", \"14113321\", \"14122411\", \"12313321\", \"12322411\", \"13213411\", \"11413411\", \"11141143\", \"31141141\", \"21132142\", \"21141232\", \"11123143\", \"31123141\", \"11132233\", \"31132231\", \"11141323\", \"31141321\", \"21114142\", \"21123232\", \"21132322\", \"21141412\", \"11114233\", \"31114231\", \"11123323\", \"31123321\", \"11132413\", \"31132411\", \"21114322\", \"21123412\", \"12141142\", \"21241141\", \"22132141\", \"11232142\", \"22141231\", \"11241232\", \"12123142\", \"12132232\", \"12141322\", \"21241321\", \"22114141\", \"11214142\", \"22123231\", \"11223232\", \"22132321\", \"11232322\", \"22141411\", \"11241412\", \"12114232\", \"12123322\", \"12132412\", \"21232411\", \"22114321\", \"11214322\", \"22123411\", \"11223412\", \"13141141\", \"11341141\", \"12232141\", \"12241231\", \"13123141\", \"13132231\", \"11323141\", \"13141321\", \"11332231\", \"11341321\", \"12214141\", \"12223231\", \"12232321\", \"12241411\", \"13114231\", \"13123321\", \"11314231\", \"13132411\", \"11323321\", \"11332411\", \"12214321\", \"12223411\", \"11151142\", \"21142141\", \"21151231\", \"11133142\", \"11142232\", \"11151322\", \"21124141\", \"21133231\", \"21142321\", \"21151411\", \"11115142\", \"11124232\", \"11133322\", \"11142412\", \"21115231\", \"21124321\", \"21133411\", \"12151141\", \"11242141\", \"11251231\", \"12133141\", \"12142231\", \"12151321\", \"11224141\", \"11233231\", \"11242321\", \"11251411\", \"12115141\", \"12124231\", \"12133321\", \"12142411\", \"11215231\", \"11224321\", \"11233411\", \"11161141\", \"11143141\", \"11152231\", \"11161321\", \"11125141\", \"11134231\", \"11143321\", \"11152411\", \"11111245\", \"31111243\", \"51111241\", \"21111334\", \"41111332\", \"11111425\", \"31111423\", \"51111421\", \"21111514\", \"41111512\", \"31211152\", \"12111244\", \"32111242\", \"21211243\", \"41211241\", \"22111333\", \"42111331\", \"11211334\", \"31211332\", \"12111424\", \"32111422\", \"21211423\", \"41211421\", \"22111513\", \"42111511\", \"11211514\", \"31211512\", \"12211153\", \"32211151\", \"21311152\", \"13111243\", \"33111241\", \"22211242\", \"11311243\", \"31311241\", \"23111332\", \"12211333\", \"32211331\", \"21311332\", \"13111423\", \"33111421\", \"22211422\", \"11311423\", \"31311421\", \"23111512\", \"12211513\", \"32211511\", \"21311512\", \"13211152\", \"22311151\", \"11411152\", \"14111242\", \"23211241\", \"12311242\", \"21411241\", \"24111331\", \"13211332\", \"22311331\", \"11411332\", \"14111422\", \"23211421\", \"12311422\", \"21411421\", \"24111511\", \"13211512\", \"22311511\", \"11411512\", \"14211151\", \"12411151\", \"15111241\", \"13311241\", \"11511241\", \"14211331\", \"12411331\", \"15111421\", \"13311421\", \"11511421\", \"14211511\", \"12411511\", \"21121153\", \"41121151\", \"11112154\", \"31112152\", \"11121244\", \"31121242\", \"21112243\", \"41112241\", \"21121333\", \"41121331\", \"11112334\", \"31112332\", \"11121424\", \"31121422\", \"21112423\", \"41112421\", \"21121513\", \"41121511\", \"11112514\", \"31112512\", \"22121152\", \"11221153\", \"31221151\", \"12112153\", \"32112151\", \"12121243\", \"32121241\", \"21221242\", \"22112242\", \"11212243\", \"22121332\", \"11221333\", \"31221331\", \"12112333\", \"32112331\", \"12121423\", \"32121421\", \"21221422\", \"22112422\", \"11212423\", \"22121512\", \"11221513\", \"31221511\", \"12112513\", \"32112511\", \"21212512\", \"23121151\", \"12221152\", \"21321151\", \"13112152\", \"13121242\", \"11312152\", \"22221241\", \"11321242\", \"23112241\", \"12212242\", \"23121331\", \"12221332\", \"21321331\", \"13112332\", \"13121422\", \"11312332\", \"22221421\", \"11321422\", \"23112421\", \"12212422\", \"23121511\", \"12221512\", \"21321511\", \"13112512\", \"22212511\", \"11312512\", \"13221151\", \"11421151\", \"14112151\", \"14121241\", \"12312151\", \"12321241\", \"13212241\", \"13221331\", \"11412241\", \"11421331\", \"14112331\", \"14121421\", \"12312331\", \"12321421\", \"13212421\", \"13221511\", \"11412421\", \"11421511\", \"14112511\", \"12312511\", \"21131152\", \"11122153\", \"31122151\", \"11131243\", \"31131241\", \"21113152\", \"21122242\", \"21131332\", \"11113243\", \"31113241\", \"11122333\", \"31122331\", \"11131423\", \"31131421\", \"21113332\", \"21122422\", \"21131512\", \"11113423\", \"31113421\", \"11122513\", \"31122511\", \"22131151\", \"11231152\", \"12122152\", \"12131242\", \"21231241\", \"22113151\", \"11213152\", \"22122241\", \"11222242\", \"22131331\", \"11231332\", \"12113242\", \"12122332\", \"12131422\", \"21231421\", \"22113331\", \"11213332\", \"22122421\", \"11222422\", \"22131511\", \"11231512\", \"12113422\", \"12122512\", \"21222511\", \"12231151\", \"13122151\", \"13131241\", \"11322151\", \"11331241\", \"12213151\", \"12222241\", \"12231331\", \"13113241\", \"13122331\", \"11313241\", \"13131421\", \"11322331\", \"11331421\", \"12213331\", \"12222421\", \"12231511\", \"13113421\", \"13122511\", \"11313421\", \"11322511\", \"21141151\", \"11132152\", \"11141242\", \"21123151\", \"21132241\", \"21141331\", \"11114152\", \"11123242\", \"11132332\", \"11141422\", \"21114241\", \"21123331\", \"21132421\", \"21141511\", \"11114332\", \"11123422\", \"11132512\", \"11241151\", \"12132151\", \"12141241\", \"11223151\", \"11232241\", \"11241331\", \"12114151\", \"12123241\", \"12132331\", \"12141421\", \"11214241\", \"11223331\", \"11232421\", \"11241511\", \"12114331\", \"12123421\", \"12132511\", \"11142151\", \"11151241\", \"11124151\", \"11133241\", \"11142331\", \"11151421\", \"11115241\", \"11124331\", \"11133421\", \"11142511\", \"21111253\", \"41111251\", \"11111344\", \"31111342\", \"21111433\", \"41111431\", \"11111524\", \"31111522\", \"21111613\", \"41111611\", \"21211162\", \"22111252\", \"11211253\", \"31211251\", \"12111343\", \"32111341\", \"21211342\", \"22111432\", \"11211433\", \"31211431\", \"12111523\", \"32111521\", \"21211522\", \"22111612\", \"11211613\", \"31211611\", \"22211161\", \"11311162\", \"23111251\", \"12211252\", \"21311251\", \"13111342\", \"22211341\", \"11311342\", \"23111431\", \"12211432\", \"21311431\", \"13111522\", \"22211521\", \"11311522\", \"23111611\", \"12211612\", \"21311611\", \"12311161\", \"13211251\", \"11411251\", \"14111341\", \"12311341\", \"13211431\", \"11411431\", \"14111521\", \"12311521\", \"13211611\", \"11411611\", \"31121161\", \"21112162\", \"21121252\", \"11112253\", \"31112251\", \"11121343\", \"31121341\", \"21112342\", \"21121432\", \"11112433\", \"31112431\", \"11121523\", \"31121521\", \"21112522\", \"21121612\", \"12121162\", \"21221161\", \"22112161\", \"11212162\", \"22121251\", \"11221252\", \"12112252\", \"12121342\", \"21221341\", \"22112341\", \"11212342\", \"22121431\", \"11221432\", \"12112432\", \"12121522\", \"21221521\", \"22112521\", \"11212522\", \"22121611\", \"11221612\", \"13121161\", \"11321161\", \"12212161\", \"12221251\", \"13112251\", \"13121341\", \"11312251\", \"11321341\", \"12212341\", \"12221431\", \"13112431\", \"13121521\", \"11312431\", \"11321521\", \"12212521\", \"12221611\", \"11131162\", \"21122161\", \"21131251\", \"11113162\"])]); //#14443\n $1.parity = $a([\"1001\", \"0101\", \"1100\", \"0011\", \"1010\", \"0110\", \"1111\", \"0000\"]); //#14447\n $1.rowbits = $a($1.r); //#14450\n for (var _5z = 0, _5y = $f($1.r - 1); _5z <= _5y; _5z += 1) { //#14470\n $1.i = _5z; //#14452\n $k[$j++] = 'p'; //#14453\n if ($1.i != $f($1.r - 1)) { //#14453\n $k[$j++] = $get($1.parity, $1.i); //#14453\n } else { //#14453\n $k[$j++] = \"0000\"; //#14453\n } //#14453\n var _65 = $k[--$j]; //#14453\n $1[$k[--$j]] = _65; //#14453\n $1.ccrow = $geti($1.ccs, $1.i * 8, 8); //#14454\n $k[$j++] = Infinity; //#14456\n for (var _6A = 0; _6A <= 7; _6A += 2) { //#14456\n $aload($geti($1.ccrow, _6A, 2)); //#14456\n var _6D = $k[--$j]; //#14456\n var _6E = $k[--$j]; //#14456\n $k[$j++] = $f(_6D + (_6E * 49)); //#14456\n } //#14456\n $1.scrow = $a(); //#14456\n $k[$j++] = Infinity; //#14464\n $k[$j++] = 10; //#14463\n $k[$j++] = 1; //#14463\n $k[$j++] = 1; //#14463\n for (var _6G = 0; _6G <= 3; _6G += 1) { //#14463\n $1.j = _6G; //#14461\n $forall($get($get($1.patterns, $f($get($1.p, $1.j) - 48)), $get($1.scrow, $1.j)), function() { //#14462\n var _6Q = $k[--$j]; //#14462\n $k[$j++] = $f(_6Q - 48); //#14462\n }); //#14462\n } //#14462\n $k[$j++] = 4; //#14464\n $k[$j++] = 1; //#14464\n $1.sbs = $a(); //#14464\n $k[$j++] = Infinity; //#14466\n var _6S = $1.sbs; //#14467\n $k[$j++] = 1; //#14467\n for (var _6T = 0, _6U = _6S.length; _6T < _6U; _6T++) { //#14467\n var _6W = $k[--$j]; //#14467\n var _6X = (_6W == 0) ? 1 : 0; //#14467\n $k[$j++] = _6W; //#14467\n for (var _6Y = 0, _6Z = $get(_6S, _6T); _6Y < _6Z; _6Y++) { //#14467\n $k[$j++] = _6X //#14467\n } //#14467\n } //#14467\n $astore($a($counttomark() - 1)); //#14468\n var _6c = $k[--$j]; //#14468\n var _6d = $k[--$j]; //#14468\n $k[$j++] = _6c; //#14468\n $k[$j++] = _6d; //#14468\n $j--; //#14468\n var _6e = $k[--$j]; //#14468\n var _6f = $k[--$j]; //#14468\n $k[$j++] = _6e; //#14468\n $k[$j++] = _6f; //#14468\n $j--; //#14468\n $put($1.rowbits, $1.i, $k[--$j]); //#14469\n } //#14469\n $k[$j++] = Infinity; //#14481\n for (var _6k = 0, _6l = 81 * $1.sepheight; _6k < _6l; _6k++) { //#14474\n $k[$j++] = 1; //#14474\n } //#14474\n for (var _6o = 0, _6n = $f($1.r - 2); _6o <= _6n; _6o += 1) { //#14479\n $1.i = _6o; //#14476\n for (var _6q = 0, _6r = $1.rowheight; _6q < _6r; _6q++) { //#14477\n $aload($get($1.rowbits, $1.i)); //#14477\n } //#14477\n for (var _6w = 0, _6x = $1.sepheight; _6w < _6x; _6w++) { //#14478\n for (var _6y = 0, _6z = 10; _6y < _6z; _6y++) { //#14478\n $k[$j++] = 0; //#14478\n } //#14478\n for (var _70 = 0, _71 = 70; _70 < _71; _70++) { //#14478\n $k[$j++] = 1; //#14478\n } //#14478\n $k[$j++] = 0; //#14478\n } //#14478\n } //#14478\n for (var _73 = 0, _74 = $1.rowheight; _73 < _74; _73++) { //#14480\n $aload($get($1.rowbits, $f($1.r - 1))); //#14480\n } //#14480\n for (var _79 = 0, _7A = 81 * $1.sepheight; _79 < _7A; _79++) { //#14481\n $k[$j++] = 1; //#14481\n } //#14481\n $1.pixs = $a(); //#14481\n var _7G = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", 81],\n [\"pixy\", ~~($1.pixs.length / 81)],\n [\"height\", (~~($1.pixs.length / 81)) / 72],\n [\"width\", 81 / 72],\n [\"opt\", $1.options]\n ]); //#14492\n $k[$j++] = _7G; //#14495\n if (!$1.dontdraw) { //#14495\n bwipp_renmatrix(); //#14495\n } //#14495\n}\n\nfunction bwipp_flattermarken() {\n var $1 = {}; //#14786\n $1.options = $k[--$j]; //#14788\n $1.barcode = $k[--$j]; //#14789\n $1.dontdraw = false; //#14791\n $1.includetext = false; //#14792\n $1.textfont = \"OCR-B\"; //#14793\n $1.textsize = 10; //#14794\n $1.textyoffset = -8; //#14795\n $1.height = 0.3; //#14796\n $forall($1.barcode, function() { //#14803\n var _3 = $k[--$j]; //#14800\n if ((_3 < 48) || (_3 > 57)) { //#14802\n $k[$j++] = 'bwipp.flattermarkenBadCharacter'; //#14801\n $k[$j++] = \"Flattermarken must contain only digits\"; //#14801\n bwipp_raiseerror(); //#14801\n } //#14801\n }); //#14801\n $forall($1.options, function() { //#14814\n var _5 = $k[--$j]; //#14814\n $1[$k[--$j]] = _5; //#14814\n }); //#14814\n $1.textfont = \"\" + $1.textfont; //#14816\n $1.textsize = +$1.textsize; //#14817\n $1.textyoffset = +$1.textyoffset; //#14818\n $1.height = +$1.height; //#14819\n $forall($1.barcode, function() { //#14826\n var _C = $k[--$j]; //#14823\n if ((_C < 48) || (_C > 57)) { //#14825\n $k[$j++] = 'bwipp.flattermarkenBadCharacter'; //#14824\n $k[$j++] = \"Flattermarken must contain only digits\"; //#14824\n bwipp_raiseerror(); //#14824\n } //#14824\n }); //#14824\n $1.encs = $a([\"0018\", \"0117\", \"0216\", \"0315\", \"0414\", \"0513\", \"0612\", \"0711\", \"0810\", \"0900\"]); //#14832\n $1.barchars = \"1234567890\"; //#14835\n $1.barlen = $1.barcode.length; //#14837\n $1.sbs = $s($1.barlen * 4); //#14839\n $1.txt = $a($1.barlen); //#14840\n for (var _L = 0, _K = $1.barlen - 1; _L <= _K; _L += 1) { //#14852\n $1.i = _L; //#14843\n $search($1.barchars, $geti($1.barcode, $1.i, 1)); //#14845\n $j--; //#14846\n $1.indx = $k[--$j].length; //#14847\n $j -= 2; //#14848\n $1.enc = $get($1.encs, $1.indx); //#14849\n $puti($1.sbs, $1.i * 4, $1.enc); //#14850\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), $1.i * 9, $1.textyoffset, $1.textfont, $1.textsize])); //#14851\n } //#14851\n $k[$j++] = Infinity; //#14861\n $k[$j++] = Infinity; //#14857\n var _h = $1.sbs; //#14857\n for (var _i = 0, _j = _h.length; _i < _j; _i++) { //#14857\n $k[$j++] = $get(_h, _i) - 48; //#14857\n } //#14857\n var _l = $a(); //#14857\n $k[$j++] = Infinity; //#14858\n for (var _n = 0, _o = ~~(($1.sbs.length + 1) / 2); _n < _o; _n++) { //#14858\n $k[$j++] = $1.height; //#14858\n } //#14858\n var _q = $a(); //#14858\n $k[$j++] = Infinity; //#14859\n for (var _s = 0, _t = ~~(($1.sbs.length + 1) / 2); _s < _t; _s++) { //#14859\n $k[$j++] = 0; //#14859\n } //#14859\n var _u = $a(); //#14859\n $k[$j++] = 'ren'; //#14861\n $k[$j++] = bwipp_renlinear; //#14861\n $k[$j++] = 'sbs'; //#14861\n $k[$j++] = _l; //#14861\n $k[$j++] = 'bhs'; //#14861\n $k[$j++] = _q; //#14861\n $k[$j++] = 'bbs'; //#14861\n $k[$j++] = _u; //#14861\n $k[$j++] = 'txt'; //#14861\n $k[$j++] = $1.txt; //#14861\n $k[$j++] = 'opt'; //#14861\n $k[$j++] = $1.options; //#14861\n var _x = $d(); //#14861\n $k[$j++] = _x; //#14864\n if (!$1.dontdraw) { //#14864\n bwipp_renlinear(); //#14864\n } //#14864\n}\n\nfunction bwipp_raw() {\n var $1 = {}; //#14893\n $1.options = $k[--$j]; //#14895\n $1.barcode = $k[--$j]; //#14896\n $1.dontdraw = false; //#14898\n $1.height = 1; //#14899\n $forall($1.options, function() { //#14910\n var _3 = $k[--$j]; //#14910\n $1[$k[--$j]] = _3; //#14910\n }); //#14910\n $1.height = +$1.height; //#14912\n $forall($1.barcode, function() { //#14919\n var _7 = $k[--$j]; //#14916\n if ((_7 < 49) || (_7 > 57)) { //#14918\n $k[$j++] = 'bwipp.rawBadCharacter'; //#14917\n $k[$j++] = \"Raw must contain only digits 1 to 9\"; //#14917\n bwipp_raiseerror(); //#14917\n } //#14917\n }); //#14917\n $k[$j++] = Infinity; //#14927\n $k[$j++] = Infinity; //#14924\n $forall($1.barcode, function() { //#14924\n var _9 = $k[--$j]; //#14924\n $k[$j++] = $f(_9 - 48); //#14924\n }); //#14924\n var _A = $a(); //#14924\n $k[$j++] = Infinity; //#14925\n for (var _C = 0, _D = ~~(($1.barcode.length + 1) / 2); _C < _D; _C++) { //#14925\n $k[$j++] = $1.height; //#14925\n } //#14925\n var _F = $a(); //#14925\n $k[$j++] = Infinity; //#14926\n for (var _H = 0, _I = ~~(($1.barcode.length + 1) / 2); _H < _I; _H++) { //#14926\n $k[$j++] = 0; //#14926\n } //#14926\n var _J = $a(); //#14926\n $k[$j++] = 'ren'; //#14927\n $k[$j++] = bwipp_renlinear; //#14927\n $k[$j++] = 'sbs'; //#14927\n $k[$j++] = _A; //#14927\n $k[$j++] = 'bhs'; //#14927\n $k[$j++] = _F; //#14927\n $k[$j++] = 'bbs'; //#14927\n $k[$j++] = _J; //#14927\n $k[$j++] = 'opt'; //#14927\n $k[$j++] = $1.options; //#14927\n var _L = $d(); //#14927\n $k[$j++] = _L; //#14930\n if (!$1.dontdraw) { //#14930\n bwipp_renlinear(); //#14930\n } //#14930\n}\n\nfunction bwipp_daft() {\n var $1 = {}; //#14959\n $1.options = $k[--$j]; //#14961\n $1.barcode = $k[--$j]; //#14962\n $1.dontdraw = false; //#14964\n $1.height = 0.175; //#14965\n $forall($1.options, function() { //#14976\n var _3 = $k[--$j]; //#14976\n $1[$k[--$j]] = _3; //#14976\n }); //#14976\n $1.height = +$1.height; //#14978\n $forall($1.barcode, function() { //#14984\n var _7 = $k[--$j]; //#14981\n if ((_7 != 68) && ((_7 != 65) && ((_7 != 70) && (_7 != 84)))) { //#14983\n $k[$j++] = 'bwipp.daftBadCharacter'; //#14982\n $k[$j++] = \"DAFT must contain only characters D, A, F and T\"; //#14982\n bwipp_raiseerror(); //#14982\n } //#14982\n }); //#14982\n $1.barlen = $1.barcode.length; //#14986\n $1.bbs = $a($1.barlen); //#14988\n $1.bhs = $a($1.barlen); //#14989\n for (var _F = 0, _E = $1.barlen - 1; _F <= _E; _F += 1) { //#15009\n $1.i = _F; //#14991\n $1.enc = $geti($1.barcode, $1.i, 1); //#14992\n if ($eq($1.enc, \"D\")) { //#14996\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#14994\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#14995\n } //#14995\n if ($eq($1.enc, \"A\")) { //#15000\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#14998\n $put($1.bhs, $1.i, (5 * $1.height) / 8); //#14999\n } //#14999\n if ($eq($1.enc, \"F\")) { //#15004\n $put($1.bbs, $1.i, (0 * $1.height) / 8); //#15002\n $put($1.bhs, $1.i, (8 * $1.height) / 8); //#15003\n } //#15003\n if ($eq($1.enc, \"T\")) { //#15008\n $put($1.bbs, $1.i, (3 * $1.height) / 8); //#15006\n $put($1.bhs, $1.i, (2 * $1.height) / 8); //#15007\n } //#15007\n } //#15007\n $k[$j++] = Infinity; //#15017\n var _l = $1.bbs; //#15014\n var _m = $1.bhs; //#15015\n $k[$j++] = Infinity; //#15016\n for (var _o = 0, _p = $1.bhs.length - 1; _o < _p; _o++) { //#15016\n $k[$j++] = 1.44; //#15016\n $k[$j++] = 1.872; //#15016\n } //#15016\n $k[$j++] = 1.44; //#15016\n var _q = $a(); //#15016\n var _r = $1.options; //#15017\n $k[$j++] = 'ren'; //#15017\n $k[$j++] = bwipp_renlinear; //#15017\n $k[$j++] = 'bbs'; //#15017\n $k[$j++] = _l; //#15017\n $k[$j++] = 'bhs'; //#15017\n $k[$j++] = _m; //#15017\n $k[$j++] = 'sbs'; //#15017\n $k[$j++] = _q; //#15017\n $k[$j++] = 'opt'; //#15017\n $k[$j++] = _r; //#15017\n var _s = $d(); //#15017\n $k[$j++] = _s; //#15020\n if (!$1.dontdraw) { //#15020\n bwipp_renlinear(); //#15020\n } //#15020\n}\n\nfunction bwipp_symbol() {\n var $1 = {}; //#15049\n $1.options = $k[--$j]; //#15051\n $1.barcode = $k[--$j]; //#15052\n $1.dontdraw = false; //#15054\n $forall($1.options, function() { //#15065\n var _3 = $k[--$j]; //#15065\n $1[$k[--$j]] = _3; //#15065\n }); //#15065\n var _H = new Map([\n [\"fima\", function() {\n $1.sbs = $a([2.25, 2.25, 2.25, 11.25, 2.25, 11.25, 2.25, 2.25, 2.25]); //#15069\n $1.bhs = $a([0.625, 0.625, 0.625, 0.625, 0.625]); //#15070\n $1.bbs = $a([0, 0, 0, 0, 0]); //#15071\n }],\n [\"fimb\", function() {\n $1.sbs = $a([2.25, 6.75, 2.25, 2.25, 2.25, 6.25, 2.25, 2.25, 2.25, 6.75, 2.25]); //#15074\n $1.bhs = $a([0.625, 0.625, 0.625, 0.625, 0.625, 0.625]); //#15075\n $1.bbs = $a([0, 0, 0, 0, 0, 0]); //#15076\n }],\n [\"fimc\", function() {\n $1.sbs = $a([2.25, 2.25, 2.25, 6.75, 2.25, 6.75, 2.25, 6.75, 2.25, 2.25, 2.25]); //#15079\n $1.bhs = $a([0.625, 0.625, 0.625, 0.625, 0.625, 0.625]); //#15080\n $1.bbs = $a([0, 0, 0, 0, 0, 0]); //#15081\n }],\n [\"fimd\", function() {\n $1.sbs = $a([2.25, 2.25, 2.25, 2.25, 2.25, 6.75, 2.25, 6.75, 2.25, 2.25, 2.25, 2.25, 2.25]); //#15084\n $1.bhs = $a([0.625, 0.625, 0.625, 0.625, 0.625, 0.625, 0.625]); //#15085\n $1.bbs = $a([0, 0, 0, 0, 0, 0, 0]); //#15086\n }]\n ]); //#15086\n $1.symbols = _H; //#15088\n var _K = $get($1.symbols, $1.barcode) !== undefined; //#15091\n if (!_K) { //#15093\n $k[$j++] = 'bwipp.symbolUnknownSymbol'; //#15092\n $k[$j++] = \"Unknown symbol name provided\"; //#15092\n bwipp_raiseerror(); //#15092\n } //#15092\n if ($get($1.symbols, $1.barcode)() === true) {\n return true;\n } //#15095\n var _S = new Map([\n [\"ren\", bwipp_renlinear],\n [\"sbs\", $1.sbs],\n [\"bhs\", $1.bhs],\n [\"bbs\", $1.bbs],\n [\"opt\", $1.options]\n ]); //#15103\n $k[$j++] = _S; //#15106\n if (!$1.dontdraw) { //#15106\n bwipp_renlinear(); //#15106\n } //#15106\n}\n\nfunction bwipp_pdf417() {\n var $1 = {}; //#15136\n $1.options = $k[--$j]; //#15138\n $1.barcode = $k[--$j]; //#15139\n $1.dontdraw = false; //#15141\n $1.compact = false; //#15142\n $1.eclevel = -1; //#15143\n $1.columns = 0; //#15144\n $1.rows = 0; //#15145\n $1.rowmult = 3; //#15146\n $1.encoding = \"auto\"; //#15147\n $1.ccc = false; //#15148\n $1.raw = false; //#15149\n $1.parse = false; //#15150\n $1.parsefnc = false; //#15151\n $forall($1.options, function() { //#15162\n var _3 = $k[--$j]; //#15162\n $1[$k[--$j]] = _3; //#15162\n }); //#15162\n $1.eclevel = ~~$1.eclevel; //#15164\n $1.columns = ~~$1.columns; //#15165\n $1.rows = ~~$1.rows; //#15166\n $1.rowmult = +$1.rowmult; //#15167\n if ($1.raw) { //#15169\n $1.encoding = \"raw\"; //#15169\n } //#15169\n if ($eq($1.encoding, \"raw\")) { //#15183\n $1.datcws = $a($1.barcode.length); //#15173\n $1.i = 0; //#15174\n $1.j = 0; //#15174\n for (;;) { //#15181\n if ($1.i == $1.barcode.length) { //#15176\n break; //#15176\n } //#15176\n $1.cw = ~~$z($geti($1.barcode, $1.i + 1, 3)); //#15177\n $put($1.datcws, $1.j, $1.cw); //#15178\n $1.i = $1.i + 4; //#15179\n $1.j = $1.j + 1; //#15180\n } //#15180\n $1.datcws = $geti($1.datcws, 0, $1.j); //#15182\n } //#15182\n if ($1.ccc) { //#15185\n $1.encoding = \"ccc\"; //#15185\n } //#15185\n $1.encb = function() {\n $1.in = $k[--$j]; //#15188\n $1.inlen = $1.in.length; //#15189\n $1.out = $a(((~~($1.inlen / 6)) * 5) + ($1.inlen % 6)); //#15190\n for (var _Y = 0, _X = (~~($1.inlen / 6)) - 1; _Y <= _X; _Y += 1) { //#15213\n $1.k = _Y; //#15192\n $k[$j++] = Infinity; //#15193\n $aload($geti($1.in, $1.k * 6, 3)); //#15193\n $1.msbs = $a(); //#15193\n $k[$j++] = Infinity; //#15196\n $aload($1.msbs); //#15195\n var _e = $k[--$j]; //#15195\n var _f = $k[--$j]; //#15195\n var _g = $k[--$j]; //#15195\n $k[$j++] = $f(($f(_e + (_f * 256))) + (_g * 65536)); //#15196\n for (var _h = 0, _i = 3; _h < _i; _h++) { //#15196\n var _j = $k[--$j]; //#15196\n $k[$j++] = _j % 900; //#15196\n $k[$j++] = ~~(_j / 900); //#15196\n } //#15196\n $1.mscs = $a(); //#15196\n $k[$j++] = Infinity; //#15198\n $aload($geti($1.in, ($1.k * 6) + 3, 3)); //#15198\n $1.lsbs = $a(); //#15198\n $k[$j++] = Infinity; //#15201\n $aload($1.lsbs); //#15200\n var _q = $k[--$j]; //#15200\n var _r = $k[--$j]; //#15200\n var _s = $k[--$j]; //#15200\n $k[$j++] = $f(($f(_q + (_r * 256))) + (_s * 65536)); //#15201\n for (var _t = 0, _u = 3; _t < _u; _t++) { //#15201\n var _v = $k[--$j]; //#15201\n $k[$j++] = _v % 900; //#15201\n $k[$j++] = ~~(_v / 900); //#15201\n } //#15201\n $1.lscs = $a(); //#15201\n var _y = $get($1.lscs, 0); //#15203\n var _10 = $get($1.mscs, 0); //#15203\n $put($1.out, ($1.k * 5) + 4, ($f(_y + (_10 * 316))) % 900); //#15204\n var _14 = $get($1.lscs, 1); //#15205\n var _16 = $get($1.mscs, 0); //#15205\n var _18 = $get($1.mscs, 1); //#15205\n $put($1.out, ($1.k * 5) + 3, ($f(($f(($f((~~(($f(_y + (_10 * 316))) / 900)) + _14)) + (_16 * 641))) + (_18 * 316))) % 900); //#15206\n var _1C = $get($1.lscs, 2); //#15207\n var _1E = $get($1.mscs, 0); //#15207\n var _1G = $get($1.mscs, 1); //#15207\n var _1I = $get($1.mscs, 2); //#15207\n $put($1.out, ($1.k * 5) + 2, ($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_y + (_10 * 316))) / 900)) + _14)) + (_16 * 641))) + (_18 * 316))) / 900)) + _1C)) + (_1E * 20))) + (_1G * 641))) + (_1I * 316))) % 900); //#15208\n var _1M = $get($1.lscs, 3); //#15209\n var _1O = $get($1.mscs, 1); //#15209\n var _1Q = $get($1.mscs, 2); //#15209\n $put($1.out, ($1.k * 5) + 1, ($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_y + (_10 * 316))) / 900)) + _14)) + (_16 * 641))) + (_18 * 316))) / 900)) + _1C)) + (_1E * 20))) + (_1G * 641))) + (_1I * 316))) / 900)) + _1M)) + (_1O * 20))) + (_1Q * 641))) % 900); //#15210\n $put($1.out, $1.k * 5, ($f((~~(($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_y + (_10 * 316))) / 900)) + _14)) + (_16 * 641))) + (_18 * 316))) / 900)) + _1C)) + (_1E * 20))) + (_1G * 641))) + (_1I * 316))) / 900)) + _1M)) + (_1O * 20))) + (_1Q * 641))) / 900)) + ($get($1.mscs, 2) * 20))) % 900); //#15212\n } //#15212\n $1.rem = $1.inlen % 6; //#15214\n if ($1.rem != 0) { //#15219\n $k[$j++] = $1.out; //#15217\n $k[$j++] = $1.out.length - $1.rem; //#15217\n $k[$j++] = Infinity; //#15217\n $aload($geti($1.in, $1.inlen - $1.rem, $1.rem)); //#15217\n var _1h = $a(); //#15217\n var _1i = $k[--$j]; //#15218\n $puti($k[--$j], _1i, _1h); //#15218\n } //#15218\n $k[$j++] = $1.out; //#15220\n }; //#15221\n if ($eq($1.encoding, \"byte\") || $eq($1.encoding, \"ccc\")) { //#15229\n $1.barlen = $1.barcode.length; //#15224\n $1.datcws = $a((((~~($1.barlen / 6)) * 5) + ($1.barlen % 6)) + 1); //#15225\n var _1t = (($1.barlen % 6) == 0) ? 924 : 901; //#15226\n $put($1.datcws, 0, _1t); //#15226\n $k[$j++] = $1.datcws; //#15227\n $k[$j++] = 1; //#15227\n $k[$j++] = Infinity; //#15227\n $forall($1.barcode); //#15227\n var _1w = $a(); //#15227\n $k[$j++] = _1w; //#15227\n $1.encb(); //#15227\n var _1x = $k[--$j]; //#15227\n var _1y = $k[--$j]; //#15227\n $puti($k[--$j], _1y, _1x); //#15227\n if ($eq($1.encoding, \"ccc\")) { //#15228\n $k[$j++] = Infinity; //#15228\n $k[$j++] = 920; //#15228\n $aload($1.datcws); //#15228\n $1.datcws = $a(); //#15228\n } //#15228\n } //#15228\n if ($eq($1.encoding, \"auto\")) { //#15632\n var _26 = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true]\n ]); //#15237\n $1.fncvals = _26; //#15239\n $k[$j++] = 'msg'; //#15240\n $k[$j++] = $1.barcode; //#15240\n $k[$j++] = $1.fncvals; //#15240\n bwipp_parseinput(); //#15240\n var _29 = $k[--$j]; //#15240\n $1[$k[--$j]] = _29; //#15240\n $1.msglen = $1.msg.length; //#15241\n $1.T = 0; //#15244\n $1.N = 1; //#15244\n $1.B = 2; //#15244\n $1.A = 0; //#15245\n $1.L = 1; //#15245\n $1.M = 2; //#15245\n $1.P = 3; //#15245\n $1.tl = -1; //#15248\n $1.nl = -2; //#15248\n $1.bl = -3; //#15248\n $1.bl6 = -4; //#15248\n $1.bs = -5; //#15248\n $1.al = -6; //#15251\n $1.ll = -7; //#15251\n $1.ml = -8; //#15251\n $1.pl = -9; //#15251\n $1.as = -10; //#15251\n $1.ps = -11; //#15251\n $1.charmaps = $a([$a([\"A\", \"a\", \"0\", \";\"]), $a([\"B\", \"b\", \"1\", \"<\"]), $a([\"C\", \"c\", \"2\", \">\"]), $a([\"D\", \"d\", \"3\", \"@\"]), $a([\"E\", \"e\", \"4\", \"[\"]), $a([\"F\", \"f\", \"5\", 92]), $a([\"G\", \"g\", \"6\", \"]\"]), $a([\"H\", \"h\", \"7\", \"_\"]), $a([\"I\", \"i\", \"8\", \"`\"]), $a([\"J\", \"j\", \"9\", \"~\"]), $a([\"K\", \"k\", \"&\", \"!\"]), $a([\"L\", \"l\", 13, 13]), $a([\"M\", \"m\", 9, 9]), $a([\"N\", \"n\", \",\", \",\"]), $a([\"O\", \"o\", \":\", \":\"]), $a([\"P\", \"p\", \"#\", 10]), $a([\"Q\", \"q\", \"-\", \"-\"]), $a([\"R\", \"r\", \".\", \".\"]), $a([\"S\", \"s\", \"$\", \"$\"]), $a([\"T\", \"t\", \"/\", \"/\"]), $a([\"U\", \"u\", \"+\", \"\\\"\"]), $a([\"V\", \"v\", \"%\", \"|\"]), $a([\"W\", \"w\", \"*\", \"*\"]), $a([\"X\", \"x\", \"=\", 40]), $a([\"Y\", \"y\", \"^\", 41]), $a([\"Z\", \"z\", $1.pl, \"?\"]), $a([\" \", \" \", \" \", \"{\"]), $a([$1.ll, $1.as, $1.ll, \"}\"]), $a([$1.ml, $1.ml, $1.al, \"'\"]), $a([$1.ps, $1.ps, $1.ps, $1.al])]); //#15286\n $1.charvals = $a([new Map, new Map, new Map, new Map]); //#15289\n $1.alltext = new Map; //#15290\n for (var _2v = 0, _2u = $1.charmaps.length - 1; _2v <= _2u; _2v += 1) { //#15300\n $1.i = _2v; //#15292\n $1.encs = $get($1.charmaps, $1.i); //#15293\n for (var _2z = 0; _2z <= 3; _2z += 1) { //#15299\n $1.j = _2z; //#15295\n var _32 = $get($1.encs, $1.j); //#15296\n $k[$j++] = _32; //#15296\n if ($eq($type(_32), 'stringtype')) { //#15296\n var _35 = $get($k[--$j], 0); //#15296\n $k[$j++] = _35; //#15296\n } //#15296\n var _36 = $k[--$j]; //#15297\n $put($get($1.charvals, $1.j), _36, $1.i); //#15297\n $put($1.alltext, _36, -1); //#15298\n } //#15298\n } //#15298\n $1.e = 10000; //#15302\n $1.latlen = $a([$a([0, 1, 1, 2]), $a([2, 0, 1, 2]), $a([1, 1, 0, 1]), $a([1, 2, 2, 0])]); //#15310\n $1.latseq = $a([$a([$a([]), $a([$1.ll]), $a([$1.ml]), $a([$1.ml, $1.pl])]), $a([$a([$1.ml, $1.al]), $a([]), $a([$1.ml]), $a([$1.ml, $1.pl])]), $a([$a([$1.al]), $a([$1.ll]), $a([]), $a([$1.pl])]), $a([$a([$1.al]), $a([$1.al, $1.ll]), $a([$1.al, $1.ml]), $a([])])]); //#15318\n $1.shftlen = $a([$a([$1.e, $1.e, $1.e, 1]), $a([1, $1.e, $1.e, 1]), $a([$1.e, $1.e, $1.e, 1]), $a([$1.e, $1.e, $1.e, $1.e])]); //#15326\n $k[$j++] = Infinity; //#15329\n for (var _4B = 0, _4C = $1.msglen; _4B < _4C; _4B++) { //#15329\n $k[$j++] = 0; //#15329\n } //#15329\n $k[$j++] = 0; //#15329\n $1.numdigits = $a(); //#15329\n $k[$j++] = Infinity; //#15330\n for (var _4F = 0, _4G = $1.msglen; _4F < _4G; _4F++) { //#15330\n $k[$j++] = 0; //#15330\n } //#15330\n $k[$j++] = 0; //#15330\n $1.numtext = $a(); //#15330\n $k[$j++] = Infinity; //#15331\n for (var _4J = 0, _4K = $1.msglen; _4J < _4K; _4J++) { //#15331\n $k[$j++] = 0; //#15331\n } //#15331\n $k[$j++] = 0; //#15331\n $1.numbytes = $a(); //#15331\n $k[$j++] = Infinity; //#15332\n for (var _4N = 0, _4O = $1.msglen; _4N < _4O; _4N++) { //#15332\n $k[$j++] = 0; //#15332\n } //#15332\n $k[$j++] = 0; //#15332\n $1.iseci = $a(); //#15332\n for (var _4R = $1.msglen - 1; _4R >= 0; _4R -= 1) { //#15345\n $1.i = _4R; //#15334\n var _4U = $get($1.msg, $1.i); //#15335\n if ((_4U >= 48) && (_4U <= 57)) { //#15337\n $put($1.numdigits, $1.i, $f($get($1.numdigits, $1.i + 1) + 1)); //#15336\n } //#15336\n var _4e = $get($1.alltext, $get($1.msg, $1.i)) !== undefined; //#15338\n if (_4e && ($get($1.numdigits, $1.i) < 13)) { //#15340\n $put($1.numtext, $1.i, $f($get($1.numtext, $1.i + 1) + 1)); //#15339\n } //#15339\n if ((($get($1.msg, $1.i) >= 0) && ($get($1.numtext, $1.i) < 5)) && ($get($1.numdigits, $1.i) < 13)) { //#15343\n $put($1.numbytes, $1.i, $f($get($1.numbytes, $1.i + 1) + 1)); //#15342\n } //#15342\n $put($1.iseci, $1.i, $get($1.msg, $1.i) <= -1000000); //#15344\n } //#15344\n $1.numdigits = $geti($1.numdigits, 0, $1.msglen); //#15346\n $1.numtext = $geti($1.numtext, 0, $1.msglen); //#15347\n $1.numbytes = $geti($1.numbytes, 0, $1.msglen); //#15348\n $1.seq = $a([]); //#15350\n $1.seqlen = 0; //#15350\n $1.state = $1.T; //#15350\n $1.p = 0; //#15350\n for (;;) { //#15404\n if ($1.p == $1.msglen) { //#15351\n break; //#15351\n } //#15351\n if ($get($1.iseci, $1.p)) { //#15402\n $1.eci = $get($1.msg, $1.p); //#15353\n $k[$j++] = Infinity; //#15356\n $aload($1.seq); //#15355\n $k[$j++] = $a([$1.eci]); //#15356\n $1.seq = $a(); //#15356\n $1.p = $1.p + 1; //#15358\n $k[$j++] = 'seqlen'; //#15359\n $k[$j++] = $1.seqlen; //#15359\n if ($1.eci <= -1810900) { //#15359\n $k[$j++] = 2; //#15359\n } else { //#15359\n var _5X = ($1.eci <= -1000900) ? 3 : 2; //#15359\n $k[$j++] = _5X; //#15359\n } //#15359\n var _5Y = $k[--$j]; //#15359\n var _5Z = $k[--$j]; //#15359\n $1[$k[--$j]] = $f(_5Z + _5Y); //#15359\n } else { //#15402\n $1.n = $get($1.numdigits, $1.p); //#15361\n if ($1.n >= 13) { //#15402\n $k[$j++] = Infinity; //#15366\n $aload($1.seq); //#15364\n $k[$j++] = $1.nl; //#15366\n $k[$j++] = Infinity; //#15366\n $aload($geti($1.msg, $1.p, $1.n)); //#15366\n var _5l = $a(); //#15366\n $k[$j++] = _5l; //#15366\n $1.seq = $a(); //#15366\n $1.state = $1.N; //#15368\n $1.p = $f($1.p + $1.n); //#15369\n $1.seqlen = $f(($1.seqlen + 1) + $1.n); //#15370\n } else { //#15402\n $1.t = $get($1.numtext, $1.p); //#15372\n if ($1.t >= 5) { //#15402\n $k[$j++] = Infinity; //#15379\n $aload($1.seq); //#15375\n if ($1.state != $1.T) { //#15378\n $k[$j++] = $1.tl; //#15377\n } //#15377\n $k[$j++] = Infinity; //#15379\n $aload($geti($1.msg, $1.p, $1.t)); //#15379\n var _64 = $a(); //#15379\n $k[$j++] = _64; //#15379\n $1.seq = $a(); //#15379\n $1.state = $1.T; //#15381\n $1.p = $f($1.p + $1.t); //#15382\n $1.seqlen = $f($f($1.seqlen + 1) + $1.t); //#15383\n } else { //#15402\n $1.b = $get($1.numbytes, $1.p); //#15385\n if (($1.b == 1) && ($1.state == $1.T)) { //#15402\n $k[$j++] = Infinity; //#15390\n $aload($1.seq); //#15388\n $k[$j++] = $1.bs; //#15390\n $k[$j++] = $a([$get($1.msg, $1.p)]); //#15390\n $1.seq = $a(); //#15390\n $1.p = $f($1.p + $1.b); //#15392\n $1.seqlen = $f($1.seqlen + 2); //#15393\n } else { //#15402\n $k[$j++] = Infinity; //#15398\n $aload($1.seq); //#15396\n var _6T = (($1.b % 6) != 0) ? $1.bl : $1.bl6; //#15397\n $k[$j++] = _6T; //#15398\n $k[$j++] = Infinity; //#15398\n $aload($geti($1.msg, $1.p, $1.b)); //#15398\n var _6Y = $a(); //#15398\n $k[$j++] = _6Y; //#15398\n $1.seq = $a(); //#15398\n $1.state = $1.B; //#15400\n $1.p = $f($1.p + $1.b); //#15401\n $1.seqlen = $f($f($1.seqlen + 1) + $1.b); //#15402\n } //#15402\n } //#15402\n } //#15402\n } //#15402\n } //#15402\n $k[$j++] = Infinity; //#15407\n $k[$j++] = $1.tl; //#15407\n $k[$j++] = 900; //#15407\n $k[$j++] = $1.bl; //#15407\n $k[$j++] = 901; //#15407\n $k[$j++] = $1.bl6; //#15407\n $k[$j++] = 924; //#15407\n $k[$j++] = $1.nl; //#15407\n $k[$j++] = 902; //#15407\n $k[$j++] = $1.bs; //#15407\n $k[$j++] = 913; //#15407\n $1.latchcws = $d(); //#15408\n $1.enca = function() {\n var _6p = $get($get($1.charvals, $1.A), $k[--$j]); //#15411\n $k[$j++] = _6p; //#15411\n }; //#15411\n $1.encl = function() {\n var _6u = $get($get($1.charvals, $1.L), $k[--$j]); //#15412\n $k[$j++] = _6u; //#15412\n }; //#15412\n $1.encm = function() {\n var _6z = $get($get($1.charvals, $1.M), $k[--$j]); //#15413\n $k[$j++] = _6z; //#15413\n }; //#15413\n $1.encp = function() {\n var _74 = $get($get($1.charvals, $1.P), $k[--$j]); //#15414\n $k[$j++] = _74; //#15414\n }; //#15414\n $1.textencfuncs = $a(['enca', 'encl', 'encm', 'encp']); //#15415\n $1.addtotext = function() {\n $put($1.text, $1.l, $k[--$j]); //#15418\n $1.l = $1.l + 1; //#15419\n }; //#15420\n $1.enct = function() {\n $1.in = $k[--$j]; //#15423\n $1.curlen = $a([$1.e, $1.e, $1.e, $1.e]); //#15425\n $put($1.curlen, $1.submode, 0); //#15426\n $1.curseq = $a([$a([]), $a([]), $a([]), $a([])]); //#15427\n $forall($1.in, function() { //#15497\n $1.char = $k[--$j]; //#15432\n for (;;) { //#15453\n $1.imp = false; //#15436\n var _7T = $a([$1.A, $1.L, $1.M, $1.P]); //#15437\n for (var _7U = 0, _7V = _7T.length; _7U < _7V; _7U++) { //#15451\n $1.x = $get(_7T, _7U); //#15438\n var _7b = $a([$1.A, $1.L, $1.M, $1.P]); //#15439\n for (var _7c = 0, _7d = _7b.length; _7c < _7d; _7c++) { //#15450\n $1.y = $get(_7b, _7c); //#15440\n $1.cost = $f($get($1.curlen, $1.x) + $get($get($1.latlen, $1.x), $1.y)); //#15441\n if ($1.cost < $get($1.curlen, $1.y)) { //#15449\n $put($1.curlen, $1.y, $1.cost); //#15443\n $k[$j++] = $1.curseq; //#15446\n $k[$j++] = $1.y; //#15446\n $k[$j++] = Infinity; //#15446\n $aload($get($1.curseq, $1.x)); //#15445\n $aload($get($get($1.latseq, $1.x), $1.y)); //#15446\n var _84 = $a(); //#15446\n var _85 = $k[--$j]; //#15447\n $put($k[--$j], _85, _84); //#15447\n $1.imp = true; //#15448\n } //#15448\n } //#15448\n } //#15448\n if (!$1.imp) { //#15452\n break; //#15452\n } //#15452\n } //#15452\n $1.nxtlen = $a([$1.e, $1.e, $1.e, $1.e]); //#15456\n $1.nxtseq = $a(4); //#15457\n var _8I = $a([$1.A, $1.L, $1.M, $1.P]); //#15459\n for (var _8J = 0, _8K = _8I.length; _8J < _8K; _8J++) { //#15492\n $1.x = $get(_8I, _8J); //#15460\n for (;;) { //#15490\n var _8Q = $get($get($1.charvals, $1.x), $1.char) !== undefined; //#15464\n if (!_8Q) { //#15464\n break; //#15464\n } //#15464\n $1.cost = $f($get($1.curlen, $1.x) + 1); //#15467\n if ($1.cost < $get($1.nxtlen, $1.x)) { //#15471\n $put($1.nxtlen, $1.x, $1.cost); //#15469\n $k[$j++] = $1.nxtseq; //#15470\n $k[$j++] = $1.x; //#15470\n $k[$j++] = Infinity; //#15470\n $aload($get($1.curseq, $1.x)); //#15470\n $k[$j++] = $1.char; //#15470\n var _8h = $a(); //#15470\n var _8i = $k[--$j]; //#15470\n $put($k[--$j], _8i, _8h); //#15470\n } //#15470\n var _8o = $a([$1.A, $1.L, $1.M, $1.P]); //#15474\n for (var _8p = 0, _8q = _8o.length; _8p < _8q; _8p++) { //#15487\n $1.y = $get(_8o, _8p); //#15475\n if ($ne($1.x, $1.y)) { //#15486\n $1.cost = $f($f($get($1.curlen, $1.y) + $get($get($1.shftlen, $1.y), $1.x)) + 1); //#15477\n if ($1.cost < $get($1.nxtlen, $1.y)) { //#15485\n $put($1.nxtlen, $1.y, $1.cost); //#15479\n $k[$j++] = $1.nxtseq; //#15483\n $k[$j++] = $1.y; //#15483\n $k[$j++] = Infinity; //#15483\n $aload($get($1.curseq, $1.y)); //#15481\n var _9G = ($1.x == $1.A) ? $1.as : $1.ps; //#15482\n $k[$j++] = _9G; //#15483\n $k[$j++] = $1.char; //#15483\n var _9I = $a(); //#15483\n var _9J = $k[--$j]; //#15484\n $put($k[--$j], _9J, _9I); //#15484\n } //#15484\n } //#15484\n } //#15484\n break; //#15489\n } //#15489\n } //#15489\n $1.curlen = $1.nxtlen; //#15494\n $1.curseq = $1.nxtseq; //#15495\n }); //#15495\n $1.minseq = $1.e; //#15500\n var _9S = $a([$1.A, $1.L, $1.M, $1.P]); //#15501\n for (var _9T = 0, _9U = _9S.length; _9T < _9U; _9T++) { //#15507\n $1.k = $get(_9S, _9T); //#15502\n if ($get($1.curlen, $1.k) < $1.minseq) { //#15506\n $1.minseq = $get($1.curlen, $1.k); //#15504\n $1.txtseq = $get($1.curseq, $1.k); //#15505\n } //#15505\n } //#15505\n $1.text = $a($1.minseq); //#15510\n $1.k = 0; //#15511\n $1.l = 0; //#15511\n for (;;) { //#15531\n if ($1.k >= $1.txtseq.length) { //#15512\n break; //#15512\n } //#15512\n $1.char = $get($1.txtseq, $1.k); //#15514\n $k[$j++] = $1.char; //#15517\n if ($1[$get($1.textencfuncs, $1.submode)]() === true) {\n break;\n } //#15517\n $1.addtotext(); //#15517\n $1.k = $1.k + 1; //#15518\n if (($1.char == $1.as) || ($1.char == $1.ps)) { //#15524\n $k[$j++] = $get($1.txtseq, $1.k); //#15522\n if ($1.char == $1.as) { //#15522\n $1.enca(); //#15522\n } else { //#15522\n $1.encp(); //#15522\n } //#15522\n $1.addtotext(); //#15522\n $1.k = $1.k + 1; //#15523\n } //#15523\n if ($1.char == $1.al) { //#15527\n $1.submode = $1.A; //#15527\n } //#15527\n if ($1.char == $1.ll) { //#15528\n $1.submode = $1.L; //#15528\n } //#15528\n if ($1.char == $1.ml) { //#15529\n $1.submode = $1.M; //#15529\n } //#15529\n if ($1.char == $1.pl) { //#15530\n $1.submode = $1.P; //#15530\n } //#15530\n } //#15530\n if (($1.text.length % 2) == 1) { //#15541\n if ($1.submode == $1.P) { //#15538\n $k[$j++] = 'pad'; //#15535\n $k[$j++] = $1.al; //#15535\n $1.encp(); //#15535\n var _AJ = $k[--$j]; //#15535\n $1[$k[--$j]] = _AJ; //#15535\n $1.submode = $1.A; //#15536\n } else { //#15538\n $k[$j++] = 'pad'; //#15538\n $k[$j++] = $1.ps; //#15538\n if ($1[$get($1.textencfuncs, $1.submode)]() === true) {\n return true;\n } //#15538\n var _AR = $k[--$j]; //#15538\n $1[$k[--$j]] = _AR; //#15538\n } //#15538\n $k[$j++] = Infinity; //#15540\n $aload($1.text); //#15540\n $k[$j++] = $1.pad; //#15540\n $1.text = $a(); //#15540\n } //#15540\n $1.out = $a(~~($1.text.length / 2)); //#15543\n for (var _Aa = 0, _AZ = $1.out.length - 1; _Aa <= _AZ; _Aa += 1) { //#15547\n $1.k = _Aa; //#15545\n $put($1.out, $1.k, $f(($get($1.text, $1.k * 2) * 30) + $get($1.text, ($1.k * 2) + 1))); //#15546\n } //#15546\n $k[$j++] = $1.out; //#15549\n }; //#15551\n $1.encn = function() {\n $1.in = $k[--$j]; //#15554\n $1.out = $a([]); //#15555\n for (var _Ao = 0, _An = $1.in.length - 1; _Ao <= _An; _Ao += 44) { //#15583\n $1.k = _Ao; //#15557\n $k[$j++] = Infinity; //#15560\n var _At = $1.in.length - $1.k; //#15559\n $k[$j++] = 1; //#15559\n $k[$j++] = $1.in; //#15559\n $k[$j++] = $1.k; //#15559\n $k[$j++] = _At; //#15559\n if (_At > 44) { //#15559\n $j--; //#15559\n $k[$j++] = 44; //#15559\n } //#15559\n var _Au = $k[--$j]; //#15559\n var _Av = $k[--$j]; //#15559\n var _Ax = $geti($k[--$j], _Av, _Au); //#15559\n for (var _Ay = 0, _Az = _Ax.length; _Ay < _Az; _Ay++) { //#15560\n $k[$j++] = $f($get(_Ax, _Ay) - 48); //#15560\n } //#15560\n $1.gmod = $a(); //#15560\n $1.cwn = $a([]); //#15562\n for (;;) { //#15581\n $1.dv = 900; //#15563\n $1.gmul = $a([]); //#15564\n $1.val = 0; //#15564\n for (;;) { //#15576\n if ($1.gmod.length == 0) { //#15565\n break; //#15565\n } //#15565\n $1.val = $f(($1.val * 10) + $get($1.gmod, 0)); //#15566\n $1.gmod = $geti($1.gmod, 1, $1.gmod.length - 1); //#15567\n if ($1.val < $1.dv) { //#15573\n if ($1.gmul.length != 0) { //#15571\n $k[$j++] = Infinity; //#15570\n $aload($1.gmul); //#15570\n $k[$j++] = 0; //#15570\n $1.gmul = $a(); //#15570\n } //#15570\n } else { //#15573\n $k[$j++] = Infinity; //#15573\n $aload($1.gmul); //#15573\n $k[$j++] = ~~($1.val / $1.dv); //#15573\n $1.gmul = $a(); //#15573\n } //#15573\n $1.val = $1.val % $1.dv; //#15575\n } //#15575\n $1.dv = $1.val; //#15577\n $k[$j++] = Infinity; //#15578\n $k[$j++] = $1.dv; //#15578\n $aload($1.cwn); //#15578\n $1.cwn = $a(); //#15578\n $1.gmod = $1.gmul; //#15579\n if ($1.gmul.length == 0) { //#15580\n break; //#15580\n } //#15580\n } //#15580\n $k[$j++] = Infinity; //#15582\n $aload($1.out); //#15582\n $aload($1.cwn); //#15582\n $1.out = $a(); //#15582\n } //#15582\n $k[$j++] = $1.out; //#15584\n }; //#15585\n $1.ence = function() {\n var _BY = $f((-$get($k[--$j], 0)) - 1000000); //#15589\n $k[$j++] = _BY; //#15597\n if (_BY <= 899) { //#15596\n var _BZ = $k[--$j]; //#15590\n $k[$j++] = 927; //#15590\n $k[$j++] = _BZ; //#15590\n $astore($a(2)); //#15590\n } else { //#15596\n var _Bb = $k[--$j]; //#15591\n $k[$j++] = _Bb; //#15597\n if (_Bb <= 810899) { //#15596\n var _Bc = $k[--$j]; //#15592\n $k[$j++] = 926; //#15592\n $k[$j++] = (~~(_Bc / 900)) - 1; //#15592\n $k[$j++] = _Bc % 900; //#15592\n $astore($a(3)); //#15592\n } else { //#15596\n var _Be = $k[--$j]; //#15593\n $k[$j++] = _Be; //#15597\n if (_Be <= 811799) { //#15596\n var _Bf = $k[--$j]; //#15594\n $k[$j++] = 925; //#15594\n $k[$j++] = $f(_Bf - 810900); //#15594\n $astore($a(2)); //#15594\n } else { //#15596\n $k[$j++] = 'bwipp.pdf417badECI'; //#15596\n $k[$j++] = \"PDF417 supports ECIs 000000 to 811799\"; //#15596\n bwipp_raiseerror(); //#15596\n } //#15596\n } //#15596\n } //#15596\n }; //#15598\n $1.encfuncs = $a(['enct', 'encn', 'encb']); //#15600\n $1.addtocws = function() {\n var _Bi = $k[--$j]; //#15603\n $puti($1.datcws, $1.j, _Bi); //#15603\n $1.j = _Bi.length + $1.j; //#15604\n }; //#15605\n $1.state = $1.T; //#15608\n $1.submode = $1.A; //#15608\n $1.datcws = $a($1.seqlen); //#15609\n $1.i = 0; //#15610\n $1.j = 0; //#15610\n for (;;) { //#15630\n if ($1.i >= $1.seq.length) { //#15611\n break; //#15611\n } //#15611\n $1.chars = $get($1.seq, $1.i); //#15612\n if ($eq($type($1.chars), 'arraytype')) { //#15626\n if ($get($1.chars, 0) <= -1000000) { //#15617\n $k[$j++] = $1.chars; //#15615\n $1.ence(); //#15615\n $1.addtocws(); //#15615\n } else { //#15617\n $k[$j++] = $1.chars; //#15617\n if ($1[$get($1.encfuncs, $1.state)]() === true) {\n break;\n } //#15617\n $1.addtocws(); //#15617\n } //#15617\n } else { //#15626\n $k[$j++] = $a([$get($1.latchcws, $1.chars)]); //#15620\n $1.addtocws(); //#15620\n if ($1.chars == $1.tl) { //#15621\n $1.state = $1.T; //#15621\n $1.submode = $1.A; //#15621\n } //#15621\n if ($1.chars == $1.nl) { //#15622\n $1.state = $1.N; //#15622\n } //#15622\n if (($1.chars == $1.bl) || ($1.chars == $1.bl6)) { //#15623\n $1.state = $1.B; //#15623\n } //#15623\n if ($1.chars == $1.bs) { //#15627\n $1.i = $1.i + 1; //#15625\n $k[$j++] = $get($1.seq, $1.i); //#15626\n $1.encb(); //#15626\n $1.addtocws(); //#15626\n } //#15626\n } //#15626\n $1.i = $1.i + 1; //#15629\n } //#15629\n $1.datcws = $geti($1.datcws, 0, $1.j); //#15631\n } //#15631\n $1.m = $1.datcws.length; //#15635\n if ($1.eclevel == -1) { //#15641\n if ($1.m <= 40) { //#15637\n $1.eclevel = 2; //#15637\n } //#15637\n if (($1.m >= 41) && ($1.m <= 160)) { //#15638\n $1.eclevel = 3; //#15638\n } //#15638\n if (($1.m >= 161) && ($1.m <= 320)) { //#15639\n $1.eclevel = 4; //#15639\n } //#15639\n if ($1.m >= 321) { //#15640\n $1.eclevel = 5; //#15640\n } //#15640\n } //#15640\n $1.maxeclevel = (~~((Math.log((928 - 1) - $1.m)) / Math.log(2))) - 1; //#15644\n if ($1.eclevel > $1.maxeclevel) { //#15645\n $1.eclevel = $1.maxeclevel; //#15645\n } //#15645\n $1.k = ~~Math.pow(2, $1.eclevel + 1); //#15646\n if ($1.columns == 0) { //#15649\n $1.columns = ~~(Math.round(Math.sqrt(($1.m + $1.k) / 3))); //#15649\n } //#15649\n $k[$j++] = 'c'; //#15650\n if ($1.columns >= 1) { //#15650\n $k[$j++] = $1.columns; //#15650\n } else { //#15650\n $k[$j++] = 1; //#15650\n } //#15650\n var _Cn = $k[--$j]; //#15650\n $1[$k[--$j]] = _Cn; //#15650\n $1.r = ~~(Math.ceil((($1.m + $1.k) + 1) / $1.columns)); //#15653\n if (($1.r < $1.rows) && ($1.rows <= 90)) { //#15654\n $1.r = $1.rows; //#15654\n } //#15654\n if ($1.r < 3) { //#15655\n $1.r = 3; //#15655\n } //#15655\n var _Cx = $1.c; //#15658\n var _Cy = $1.r; //#15658\n var _Cz = $1.m; //#15658\n var _D0 = 8; //#15658\n var _D1 = (~~((Math.log($f(($f((_Cx * _Cy) - 1)) - _Cz))) / Math.log(2))) - 1; //#15658\n if (((~~((Math.log($f(($f((_Cx * _Cy) - 1)) - _Cz))) / Math.log(2))) - 1) > 8) { //#15658\n var _ = _D0; //#15658\n _D0 = _D1; //#15658\n _D1 = _; //#15658\n } //#15658\n $1.maxeclevel = _D1; //#15658\n if ($1.maxeclevel > $1.eclevel) { //#15662\n $1.eclevel = $1.maxeclevel; //#15660\n $1.k = ~~Math.pow(2, $1.eclevel + 1); //#15661\n } //#15661\n $1.n = $f(($1.c * $1.r) - $1.k); //#15665\n $1.cws = $a($f(($1.c * $1.r) + 1)); //#15666\n $put($1.cws, 0, $1.n); //#15667\n $puti($1.cws, 1, $1.datcws); //#15668\n $k[$j++] = $1.cws; //#15669\n $k[$j++] = $1.m + 1; //#15669\n $k[$j++] = Infinity; //#15669\n for (var _DK = 0, _DL = $f($f($1.n - $1.m) - 1); _DK < _DL; _DK++) { //#15669\n $k[$j++] = 900; //#15669\n } //#15669\n var _DM = $a(); //#15669\n var _DN = $k[--$j]; //#15669\n $puti($k[--$j], _DN, _DM); //#15669\n $k[$j++] = $1.cws; //#15670\n $k[$j++] = $1.n; //#15670\n $k[$j++] = Infinity; //#15670\n for (var _DS = 0, _DT = $1.k; _DS < _DT; _DS++) { //#15670\n $k[$j++] = 0; //#15670\n } //#15670\n $k[$j++] = 0; //#15670\n var _DU = $a(); //#15670\n var _DV = $k[--$j]; //#15670\n $puti($k[--$j], _DV, _DU); //#15670\n $k[$j++] = Infinity; //#15673\n $k[$j++] = 1; //#15673\n for (var _DX = 0, _DY = 928; _DX < _DY; _DX++) { //#15673\n var _DZ = $k[--$j]; //#15673\n $k[$j++] = _DZ; //#15673\n $k[$j++] = (_DZ * 3) % 929; //#15673\n } //#15673\n $1.rsalog = $a(); //#15673\n $1.rslog = $a(929); //#15674\n for (var _Dc = 1; _Dc <= 928; _Dc += 1) { //#15675\n $put($1.rslog, $get($1.rsalog, _Dc), _Dc); //#15675\n } //#15675\n $1.rsprod = function() {\n var _Dg = $k[--$j]; //#15679\n var _Dh = $k[--$j]; //#15679\n $k[$j++] = _Dh; //#15683\n $k[$j++] = _Dg; //#15683\n if ((_Dg != 0) && (_Dh != 0)) { //#15682\n var _Dk = $get($1.rslog, $k[--$j]); //#15680\n var _Dp = $get($1.rsalog, $f(_Dk + $get($1.rslog, $k[--$j])) % 928); //#15680\n $k[$j++] = _Dp; //#15680\n } else { //#15682\n $j -= 2; //#15682\n $k[$j++] = 0; //#15682\n } //#15682\n }; //#15684\n $k[$j++] = Infinity; //#15687\n $k[$j++] = 1; //#15687\n for (var _Dr = 0, _Ds = $1.k; _Dr < _Ds; _Dr++) { //#15687\n $k[$j++] = 0; //#15687\n } //#15687\n $1.coeffs = $a(); //#15687\n for (var _Dw = 1, _Dv = $1.k; _Dw <= _Dv; _Dw += 1) { //#15696\n $1.i = _Dw; //#15689\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#15690\n for (var _E3 = $1.i - 1; _E3 >= 1; _E3 -= 1) { //#15694\n $1.j = _E3; //#15692\n $k[$j++] = $1.coeffs; //#15693\n $k[$j++] = $1.j; //#15693\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#15693\n $k[$j++] = $get($1.coeffs, $1.j); //#15693\n $k[$j++] = $get($1.rsalog, $1.i); //#15693\n $1.rsprod(); //#15693\n var _EF = $k[--$j]; //#15693\n var _EG = $k[--$j]; //#15693\n var _EH = $k[--$j]; //#15693\n $put($k[--$j], _EH, $f(_EG + _EF) % 929); //#15693\n } //#15693\n $k[$j++] = $1.coeffs; //#15695\n $k[$j++] = 0; //#15695\n $k[$j++] = $get($1.coeffs, 0); //#15695\n $k[$j++] = $get($1.rsalog, $1.i); //#15695\n $1.rsprod(); //#15695\n var _EP = $k[--$j]; //#15695\n var _EQ = $k[--$j]; //#15695\n $put($k[--$j], _EQ, _EP); //#15695\n } //#15695\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#15697\n for (var _EW = $1.coeffs.length - 1; _EW >= 0; _EW -= 2) { //#15698\n var _EX = $1.coeffs; //#15698\n $put(_EX, _EW, $f(929 - $get(_EX, _EW))); //#15698\n } //#15698\n for (var _Eb = 0, _Ea = $f($1.n - 1); _Eb <= _Ea; _Eb += 1) { //#15707\n $1.t = $f($get($1.cws, _Eb) + $get($1.cws, $1.n)) % 929; //#15702\n for (var _Ej = 0, _Ei = $1.k - 1; _Ej <= _Ei; _Ej += 1) { //#15706\n $1.j = _Ej; //#15704\n $put($1.cws, $f($1.n + $1.j), ($f($get($1.cws, $f($f($1.n + $1.j) + 1)) + ($f(929 - (($1.t * $get($1.coeffs, ($1.k - $1.j) - 1)) % 929))))) % 929); //#15705\n } //#15705\n } //#15705\n for (var _F0 = $1.n, _Ez = $f($1.n + $1.k); _F0 <= _Ez; _F0 += 1) { //#15708\n $put($1.cws, _F0, $f(929 - $get($1.cws, _F0)) % 929); //#15708\n } //#15708\n $1.cws = $geti($1.cws, 0, $1.cws.length - 1); //#15711\n $1.clusters = $a([$a([120256, 125680, 128380, 120032, 125560, 128318, 108736, 119920, 108640, 86080, 108592, 86048, 110016, 120560, 125820, 109792, 120440, 125758, 88256, 109680, 88160, 89536, 110320, 120700, 89312, 110200, 120638, 89200, 110140, 89840, 110460, 89720, 110398, 89980, 128506, 119520, 125304, 128190, 107712, 119408, 125244, 107616, 119352, 84032, 107568, 119324, 84000, 107544, 83984, 108256, 119672, 125374, 85184, 108144, 119612, 85088, 108088, 119582, 85040, 108060, 85728, 108408, 119742, 85616, 108348, 85560, 108318, 85880, 108478, 85820, 85790, 107200, 119152, 125116, 107104, 119096, 125086, 83008, 107056, 119068, 82976, 107032, 82960, 82952, 83648, 107376, 119228, 83552, 107320, 119198, 83504, 107292, 83480, 83468, 83824, 107452, 83768, 107422, 83740, 83900, 106848, 118968, 125022, 82496, 106800, 118940, 82464, 106776, 118926, 82448, 106764, 82440, 106758, 82784, 106936, 119006, 82736, 106908, 82712, 106894, 82700, 82694, 106974, 82830, 82240, 106672, 118876, 82208, 106648, 118862, 82192, 106636, 82184, 106630, 82180, 82352, 82328, 82316, 82080, 118830, 106572, 106566, 82050, 117472, 124280, 127678, 103616, 117360, 124220, 103520, 117304, 124190, 75840, 103472, 75808, 104160, 117624, 124350, 76992, 104048, 117564, 76896, 103992, 76848, 76824, 77536, 104312, 117694, 77424, 104252, 77368, 77340, 77688, 104382, 77628, 77758, 121536, 126320, 128700, 121440, 126264, 128670, 111680, 121392, 126236, 111648, 121368, 126222, 111632, 121356, 103104, 117104, 124092, 112320, 103008, 117048, 124062, 112224, 121656, 126366, 93248, 74784, 102936, 117006, 93216, 112152, 93200, 75456, 103280, 117180, 93888, 75360, 103224, 117150, 93792, 112440, 121758, 93744, 75288, 93720, 75632, 103356, 94064, 75576, 103326, 94008, 112542, 93980, 75708, 94140, 75678, 94110, 121184, 126136, 128606, 111168, 121136, 126108, 111136, 121112, 126094, 111120, 121100, 111112, 111108, 102752, 116920, 123998, 111456, 102704, 116892, 91712, 74272, 121244, 116878, 91680, 74256, 102668, 91664, 111372, 102662, 74244, 74592, 102840, 116958, 92000, 74544, 102812, 91952, 111516, 102798, 91928, 74508, 74502, 74680, 102878, 92088, 74652, 92060, 74638, 92046, 92126, 110912, 121008, 126044, 110880, 120984, 126030, 110864, 120972, 110856, 120966, 110852, 110850, 74048, 102576, 116828, 90944, 74016, 102552, 116814, 90912, 111000, 121038, 90896, 73992, 102534, 90888, 110982, 90884, 74160, 102620, 91056, 74136, 102606, 91032, 111054, 91020, 74118, 91014, 91100, 91086, 110752, 120920, 125998, 110736, 120908, 110728, 120902, 110724, 110722, 73888, 102488, 116782, 90528, 73872, 102476, 90512, 110796, 102470, 90504, 73860, 90500, 73858, 73944, 90584, 90572, 90566, 120876, 120870, 110658, 102444, 73800, 90312, 90308, 90306, 101056, 116080, 123580, 100960, 116024, 70720, 100912, 115996, 70688, 100888, 70672, 70664, 71360, 101232, 116156, 71264, 101176, 116126, 71216, 101148, 71192, 71180, 71536, 101308, 71480, 101278, 71452, 71612, 71582, 118112, 124600, 127838, 105024, 118064, 124572, 104992, 118040, 124558, 104976, 118028, 104968, 118022, 100704, 115896, 123486, 105312, 100656, 115868, 79424, 70176, 118172, 115854, 79392, 105240, 100620, 79376, 70152, 79368, 70496, 100792, 115934, 79712, 70448, 118238, 79664, 105372, 100750, 79640, 70412, 79628, 70584, 100830, 79800, 70556, 79772, 70542, 70622, 79838, 122176, 126640, 128860, 122144, 126616, 128846, 122128, 126604, 122120, 126598, 122116, 104768, 117936, 124508, 113472, 104736, 126684, 124494, 113440, 122264, 126670, 113424, 104712, 117894, 113416, 122246, 104706, 69952, 100528, 115804, 78656, 69920, 100504, 115790, 96064, 78624, 104856, 117966, 96032, 113560, 122318, 100486, 96016, 78600, 104838, 96008, 69890, 70064, 100572, 78768, 70040, 100558, 96176, 78744, 104910, 96152, 113614, 70022, 78726, 70108, 78812, 70094, 96220, 78798, 122016, 126552, 128814, 122000, 126540, 121992, 126534, 121988, 121986, 104608, 117848, 124462, 113056, 104592, 126574, 113040, 122060, 117830, 113032, 104580, 113028, 104578, 113026, 69792, 100440, 115758, 78240, 69776, 100428, 95136, 78224, 104652, 100422, 95120, 113100, 69764, 95112, 78212, 69762, 78210, 69848, 100462, 78296, 69836, 95192, 78284, 69830, 95180, 78278, 69870, 95214, 121936, 126508, 121928, 126502, 121924, 121922, 104528, 117804, 112848, 104520, 117798, 112840, 121958, 112836, 104514, 112834, 69712, 100396, 78032, 69704, 100390, 94672, 78024, 104550, 94664, 112870, 69698, 94660, 78018, 94658, 78060, 94700, 94694, 126486, 121890, 117782, 104484, 104482, 69672, 77928, 94440, 69666, 77922, 99680, 68160, 99632, 68128, 99608, 115342, 68112, 99596, 68104, 99590, 68448, 99768, 115422, 68400, 99740, 68376, 99726, 68364, 68358, 68536, 99806, 68508, 68494, 68574, 101696, 116400, 123740, 101664, 116376, 101648, 116364, 101640, 116358, 101636, 67904, 99504, 115292, 72512, 67872, 116444, 115278, 72480, 101784, 116430, 72464, 67848, 99462, 72456, 101766, 67842, 68016, 99548, 72624, 67992, 99534, 72600, 101838, 72588, 67974, 68060, 72668, 68046, 72654, 118432, 124760, 127918, 118416, 124748, 118408, 124742, 118404, 118402, 101536, 116312, 105888, 101520, 116300, 105872, 118476, 116294, 105864, 101508, 105860, 101506, 105858, 67744, 99416, 72096, 67728, 116334, 80800, 72080, 101580, 99398, 80784, 105932, 67716, 80776, 72068, 67714, 72066, 67800, 99438, 72152, 67788, 80856, 72140, 67782, 80844, 72134, 67822, 72174, 80878, 126800, 128940, 126792, 128934, 126788, 126786, 118352, 124716, 122576, 126828, 124710, 122568, 126822, 122564, 118338, 122562, 101456, 116268, 105680, 101448, 116262, 114128, 105672, 118374, 114120, 122598, 101442, 114116, 105666, 114114, 67664, 99372, 71888, 67656, 99366, 80336, 71880, 101478, 97232, 80328, 105702, 67650, 97224, 114150, 71874, 97220, 67692, 71916, 67686, 80364, 71910, 97260, 80358, 97254, 126760, 128918, 126756, 126754, 118312, 124694, 122472, 126774, 122468, 118306, 122466, 101416, 116246, 105576, 101412, 113896, 105572, 101410, 113892, 105570, 113890, 67624, 99350, 71784, 101430, 80104, 71780, 67618, 96744, 80100, 71778, 96740, 80098, 96738, 71798, 96758, 126738, 122420, 122418, 105524, 113780, 113778, 71732, 79988, 96500, 96498, 66880, 66848, 98968, 66832, 66824, 66820, 66992, 66968, 66956, 66950, 67036, 67022, 100000, 99984, 115532, 99976, 115526, 99972, 99970, 66720, 98904, 69024, 100056, 98892, 69008, 100044, 69000, 100038, 68996, 66690, 68994, 66776, 98926, 69080, 100078, 69068, 66758, 69062, 66798, 69102, 116560, 116552, 116548, 116546, 99920, 102096, 116588, 115494, 102088, 116582, 102084, 99906, 102082, 66640, 68816, 66632, 98854, 73168, 68808, 66628, 73160, 68804, 66626, 73156, 68802, 66668, 68844, 66662, 73196, 68838, 73190, 124840, 124836, 124834, 116520, 118632, 124854, 118628, 116514, 118626, 99880, 115478, 101992, 116534, 106216, 101988, 99874, 106212, 101986, 106210, 66600, 98838, 68712, 99894, 72936, 68708, 66594, 81384, 72932, 68706, 81380, 72930, 66614, 68726, 72950, 81398, 128980, 128978, 124820, 126900, 124818, 126898, 116500, 118580, 116498, 122740, 118578, 122738, 99860, 101940, 99858, 106100, 101938, 114420]), $a([128352, 129720, 125504, 128304, 129692, 125472, 128280, 129678, 125456, 128268, 125448, 128262, 125444, 125792, 128440, 129758, 120384, 125744, 128412, 120352, 125720, 128398, 120336, 125708, 120328, 125702, 120324, 120672, 125880, 128478, 110144, 120624, 125852, 110112, 120600, 125838, 110096, 120588, 110088, 120582, 110084, 110432, 120760, 125918, 89664, 110384, 120732, 89632, 110360, 120718, 89616, 110348, 89608, 110342, 89952, 110520, 120798, 89904, 110492, 89880, 110478, 89868, 90040, 110558, 90012, 89998, 125248, 128176, 129628, 125216, 128152, 129614, 125200, 128140, 125192, 128134, 125188, 125186, 119616, 125360, 128220, 119584, 125336, 128206, 119568, 125324, 119560, 125318, 119556, 119554, 108352, 119728, 125404, 108320, 119704, 125390, 108304, 119692, 108296, 119686, 108292, 108290, 85824, 108464, 119772, 85792, 108440, 119758, 85776, 108428, 85768, 108422, 85764, 85936, 108508, 85912, 108494, 85900, 85894, 85980, 85966, 125088, 128088, 129582, 125072, 128076, 125064, 128070, 125060, 125058, 119200, 125144, 128110, 119184, 125132, 119176, 125126, 119172, 119170, 107424, 119256, 125166, 107408, 119244, 107400, 119238, 107396, 107394, 83872, 107480, 119278, 83856, 107468, 83848, 107462, 83844, 83842, 83928, 107502, 83916, 83910, 83950, 125008, 128044, 125000, 128038, 124996, 124994, 118992, 125036, 118984, 125030, 118980, 118978, 106960, 119020, 106952, 119014, 106948, 106946, 82896, 106988, 82888, 106982, 82884, 82882, 82924, 82918, 124968, 128022, 124964, 124962, 118888, 124982, 118884, 118882, 106728, 118902, 106724, 106722, 82408, 106742, 82404, 82402, 124948, 124946, 118836, 118834, 106612, 106610, 124224, 127664, 129372, 124192, 127640, 129358, 124176, 127628, 124168, 127622, 124164, 124162, 117568, 124336, 127708, 117536, 124312, 127694, 117520, 124300, 117512, 124294, 117508, 117506, 104256, 117680, 124380, 104224, 117656, 124366, 104208, 117644, 104200, 117638, 104196, 104194, 77632, 104368, 117724, 77600, 104344, 117710, 77584, 104332, 77576, 104326, 77572, 77744, 104412, 77720, 104398, 77708, 77702, 77788, 77774, 128672, 129880, 93168, 128656, 129868, 92664, 128648, 129862, 92412, 128644, 128642, 124064, 127576, 129326, 126368, 124048, 129902, 126352, 128716, 127558, 126344, 124036, 126340, 124034, 126338, 117152, 124120, 127598, 121760, 117136, 124108, 121744, 126412, 124102, 121736, 117124, 121732, 117122, 121730, 103328, 117208, 124142, 112544, 103312, 117196, 112528, 121804, 117190, 112520, 103300, 112516, 103298, 112514, 75680, 103384, 117230, 94112, 75664, 103372, 94096, 112588, 103366, 94088, 75652, 94084, 75650, 75736, 103406, 94168, 75724, 94156, 75718, 94150, 75758, 128592, 129836, 91640, 128584, 129830, 91388, 128580, 91262, 128578, 123984, 127532, 126160, 123976, 127526, 126152, 128614, 126148, 123970, 126146, 116944, 124012, 121296, 116936, 124006, 121288, 126182, 121284, 116930, 121282, 102864, 116972, 111568, 102856, 116966, 111560, 121318, 111556, 102850, 111554, 74704, 102892, 92112, 74696, 102886, 92104, 111590, 92100, 74690, 92098, 74732, 92140, 74726, 92134, 128552, 129814, 90876, 128548, 90750, 128546, 123944, 127510, 126056, 128566, 126052, 123938, 126050, 116840, 123958, 121064, 116836, 121060, 116834, 121058, 102632, 116854, 111080, 121078, 111076, 102626, 111074, 74216, 102646, 91112, 74212, 91108, 74210, 91106, 74230, 91126, 128532, 90494, 128530, 123924, 126004, 123922, 126002, 116788, 120948, 116786, 120946, 102516, 110836, 102514, 110834, 73972, 90612, 73970, 90610, 128522, 123914, 125978, 116762, 120890, 102458, 110714, 123552, 127320, 129198, 123536, 127308, 123528, 127302, 123524, 123522, 116128, 123608, 127342, 116112, 123596, 116104, 123590, 116100, 116098, 101280, 116184, 123630, 101264, 116172, 101256, 116166, 101252, 101250, 71584, 101336, 116206, 71568, 101324, 71560, 101318, 71556, 71554, 71640, 101358, 71628, 71622, 71662, 127824, 129452, 79352, 127816, 129446, 79100, 127812, 78974, 127810, 123472, 127276, 124624, 123464, 127270, 124616, 127846, 124612, 123458, 124610, 115920, 123500, 118224, 115912, 123494, 118216, 124646, 118212, 115906, 118210, 100816, 115948, 105424, 100808, 115942, 105416, 118246, 105412, 100802, 105410, 70608, 100844, 79824, 70600, 100838, 79816, 105446, 79812, 70594, 79810, 70636, 79852, 70630, 79846, 129960, 95728, 113404, 129956, 95480, 113278, 129954, 95356, 95294, 127784, 129430, 78588, 128872, 129974, 95996, 78462, 128868, 127778, 95870, 128866, 123432, 127254, 124520, 123428, 126696, 128886, 123426, 126692, 124514, 126690, 115816, 123446, 117992, 115812, 122344, 117988, 115810, 122340, 117986, 122338, 100584, 115830, 104936, 100580, 113640, 104932, 100578, 113636, 104930, 113634, 70120, 100598, 78824, 70116, 96232, 78820, 70114, 96228, 78818, 96226, 70134, 78838, 129940, 94968, 113022, 129938, 94844, 94782, 127764, 78206, 128820, 127762, 95102, 128818, 123412, 124468, 123410, 126580, 124466, 126578, 115764, 117876, 115762, 122100, 117874, 122098, 100468, 104692, 100466, 113140, 104690, 113138, 69876, 78324, 69874, 95220, 78322, 95218, 129930, 94588, 94526, 127754, 128794, 123402, 124442, 126522, 115738, 117818, 121978, 100410, 104570, 112890, 69754, 78074, 94714, 94398, 123216, 127148, 123208, 127142, 123204, 123202, 115408, 123244, 115400, 123238, 115396, 115394, 99792, 115436, 99784, 115430, 99780, 99778, 68560, 99820, 68552, 99814, 68548, 68546, 68588, 68582, 127400, 129238, 72444, 127396, 72318, 127394, 123176, 127126, 123752, 123172, 123748, 123170, 123746, 115304, 123190, 116456, 115300, 116452, 115298, 116450, 99560, 115318, 101864, 99556, 101860, 99554, 101858, 68072, 99574, 72680, 68068, 72676, 68066, 72674, 68086, 72694, 129492, 80632, 105854, 129490, 80508, 80446, 127380, 72062, 127924, 127378, 80766, 127922, 123156, 123700, 123154, 124788, 123698, 124786, 115252, 116340, 115250, 118516, 116338, 118514, 99444, 101620, 99442, 105972, 101618, 105970, 67828, 72180, 67826, 80884, 72178, 80882, 97008, 114044, 96888, 113982, 96828, 96798, 129482, 80252, 130010, 97148, 80190, 97086, 127370, 127898, 128954, 123146, 123674, 124730, 126842, 115226, 116282, 118394, 122618, 99386, 101498, 105722, 114170, 67706, 71930, 80378, 96632, 113854, 96572, 96542, 80062, 96702, 96444, 96414, 96350, 123048, 123044, 123042, 115048, 123062, 115044, 115042, 99048, 115062, 99044, 99042, 67048, 99062, 67044, 67042, 67062, 127188, 68990, 127186, 123028, 123316, 123026, 123314, 114996, 115572, 114994, 115570, 98932, 100084, 98930, 100082, 66804, 69108, 66802, 69106, 129258, 73084, 73022, 127178, 127450, 123018, 123290, 123834, 114970, 115514, 116602, 98874, 99962, 102138, 66682, 68858, 73210, 81272, 106174, 81212, 81182, 72894, 81342, 97648, 114364, 97592, 114334, 97564, 97550, 81084, 97724, 81054, 97694, 97464, 114270, 97436, 97422, 80990, 97502, 97372, 97358, 97326, 114868, 114866, 98676, 98674, 66292, 66290, 123098, 114842, 115130, 98618, 99194, 66170, 67322, 69310, 73404, 73374, 81592, 106334, 81564, 81550, 73310, 81630, 97968, 114524, 97944, 114510, 97932, 97926, 81500, 98012, 81486, 97998, 97880, 114478, 97868, 97862, 81454, 97902, 97836, 97830, 69470, 73564, 73550, 81752, 106414, 81740, 81734, 73518, 81774, 81708, 81702]), $a([109536, 120312, 86976, 109040, 120060, 86496, 108792, 119934, 86256, 108668, 86136, 129744, 89056, 110072, 129736, 88560, 109820, 129732, 88312, 109694, 129730, 88188, 128464, 129772, 89592, 128456, 129766, 89340, 128452, 89214, 128450, 125904, 128492, 125896, 128486, 125892, 125890, 120784, 125932, 120776, 125926, 120772, 120770, 110544, 120812, 110536, 120806, 110532, 84928, 108016, 119548, 84448, 107768, 119422, 84208, 107644, 84088, 107582, 84028, 129640, 85488, 108284, 129636, 85240, 108158, 129634, 85116, 85054, 128232, 129654, 85756, 128228, 85630, 128226, 125416, 128246, 125412, 125410, 119784, 125430, 119780, 119778, 108520, 119798, 108516, 108514, 83424, 107256, 119166, 83184, 107132, 83064, 107070, 83004, 82974, 129588, 83704, 107390, 129586, 83580, 83518, 128116, 83838, 128114, 125172, 125170, 119284, 119282, 107508, 107506, 82672, 106876, 82552, 106814, 82492, 82462, 129562, 82812, 82750, 128058, 125050, 119034, 82296, 106686, 82236, 82206, 82366, 82108, 82078, 76736, 103920, 117500, 76256, 103672, 117374, 76016, 103548, 75896, 103486, 75836, 129384, 77296, 104188, 129380, 77048, 104062, 129378, 76924, 76862, 127720, 129398, 77564, 127716, 77438, 127714, 124392, 127734, 124388, 124386, 117736, 124406, 117732, 117730, 104424, 117750, 104420, 104418, 112096, 121592, 126334, 92608, 111856, 121468, 92384, 111736, 121406, 92272, 111676, 92216, 111646, 92188, 75232, 103160, 117118, 93664, 74992, 103036, 93424, 112252, 102974, 93304, 74812, 93244, 74782, 93214, 129332, 75512, 103294, 129908, 129330, 93944, 75388, 129906, 93820, 75326, 93758, 127604, 75646, 128756, 127602, 94078, 128754, 124148, 126452, 124146, 126450, 117236, 121844, 117234, 121842, 103412, 103410, 91584, 111344, 121212, 91360, 111224, 121150, 91248, 111164, 91192, 111134, 91164, 91150, 74480, 102780, 91888, 74360, 102718, 91768, 111422, 91708, 74270, 91678, 129306, 74620, 129850, 92028, 74558, 91966, 127546, 128634, 124026, 126202, 116986, 121338, 102906, 90848, 110968, 121022, 90736, 110908, 90680, 110878, 90652, 90638, 74104, 102590, 91000, 74044, 90940, 74014, 90910, 74174, 91070, 90480, 110780, 90424, 110750, 90396, 90382, 73916, 90556, 73886, 90526, 90296, 110686, 90268, 90254, 73822, 90334, 90204, 90190, 71136, 101112, 116094, 70896, 100988, 70776, 100926, 70716, 70686, 129204, 71416, 101246, 129202, 71292, 71230, 127348, 71550, 127346, 123636, 123634, 116212, 116210, 101364, 101362, 79296, 105200, 118140, 79072, 105080, 118078, 78960, 105020, 78904, 104990, 78876, 78862, 70384, 100732, 79600, 70264, 100670, 79480, 105278, 79420, 70174, 79390, 129178, 70524, 129466, 79740, 70462, 79678, 127290, 127866, 123514, 124666, 115962, 118266, 100858, 113376, 122232, 126654, 95424, 113264, 122172, 95328, 113208, 122142, 95280, 113180, 95256, 113166, 95244, 78560, 104824, 117950, 95968, 78448, 104764, 95856, 113468, 104734, 95800, 78364, 95772, 78350, 95758, 70008, 100542, 78712, 69948, 96120, 78652, 69918, 96060, 78622, 96030, 70078, 78782, 96190, 94912, 113008, 122044, 94816, 112952, 122014, 94768, 112924, 94744, 112910, 94732, 94726, 78192, 104636, 95088, 78136, 104606, 95032, 113054, 95004, 78094, 94990, 69820, 78268, 69790, 95164, 78238, 95134, 94560, 112824, 121950, 94512, 112796, 94488, 112782, 94476, 94470, 78008, 104542, 94648, 77980, 94620, 77966, 94606, 69726, 78046, 94686, 94384, 112732, 94360, 112718, 94348, 94342, 77916, 94428, 77902, 94414, 94296, 112686, 94284, 94278, 77870, 94318, 94252, 94246, 68336, 99708, 68216, 99646, 68156, 68126, 68476, 68414, 127162, 123258, 115450, 99834, 72416, 101752, 116414, 72304, 101692, 72248, 101662, 72220, 72206, 67960, 99518, 72568, 67900, 72508, 67870, 72478, 68030, 72638, 80576, 105840, 118460, 80480, 105784, 118430, 80432, 105756, 80408, 105742, 80396, 80390, 72048, 101564, 80752, 71992, 101534, 80696, 71964, 80668, 71950, 80654, 67772, 72124, 67742, 80828, 72094, 80798, 114016, 122552, 126814, 96832, 113968, 122524, 96800, 113944, 122510, 96784, 113932, 96776, 113926, 96772, 80224, 105656, 118366, 97120, 80176, 105628, 97072, 114076, 105614, 97048, 80140, 97036, 80134, 97030, 71864, 101470, 80312, 71836, 97208, 80284, 71822, 97180, 80270, 97166, 67678, 71902, 80350, 97246, 96576, 113840, 122460, 96544, 113816, 122446, 96528, 113804, 96520, 113798, 96516, 96514, 80048, 105564, 96688, 80024, 105550, 96664, 113870, 96652, 80006, 96646, 71772, 80092, 71758, 96732, 80078, 96718, 96416, 113752, 122414, 96400, 113740, 96392, 113734, 96388, 96386, 79960, 105518, 96472, 79948, 96460, 79942, 96454, 71726, 79982, 96494, 96336, 113708, 96328, 113702, 96324, 96322, 79916, 96364, 79910, 96358, 96296, 113686, 96292, 96290, 79894, 96310, 66936, 99006, 66876, 66846, 67006, 68976, 100028, 68920, 99998, 68892, 68878, 66748, 69052, 66718, 69022, 73056, 102072, 116574, 73008, 102044, 72984, 102030, 72972, 72966, 68792, 99934, 73144, 68764, 73116, 68750, 73102, 66654, 68830, 73182, 81216, 106160, 118620, 81184, 106136, 118606, 81168, 106124, 81160, 106118, 81156, 81154, 72880, 101980, 81328, 72856, 101966, 81304, 106190, 81292, 72838, 81286, 68700, 72924, 68686, 81372, 72910, 81358, 114336, 122712, 126894, 114320, 122700, 114312, 122694, 114308, 114306, 81056, 106072, 118574, 97696, 81040, 106060, 97680, 114380, 106054, 97672, 81028, 97668, 81026, 97666, 72792, 101934, 81112, 72780, 97752, 81100, 72774, 97740, 81094, 97734, 68654, 72814, 81134, 97774, 114256, 122668, 114248, 122662, 114244, 114242, 80976, 106028, 97488, 80968, 106022, 97480, 114278, 97476, 80962, 97474, 72748, 81004, 72742, 97516, 80998, 97510, 114216, 122646, 114212, 114210, 80936, 106006, 97384, 80932, 97380, 80930, 97378, 72726, 80950, 97398, 114196, 114194, 80916, 97332, 80914, 97330, 66236, 66206, 67256, 99166, 67228, 67214, 66142, 67294, 69296, 100188, 69272, 100174, 69260, 69254, 67164, 69340, 67150, 69326, 73376, 102232, 116654, 73360, 102220, 73352, 102214, 73348, 73346, 69208, 100142, 73432, 102254, 73420, 69190, 73414, 67118, 69230, 73454, 106320, 118700, 106312, 118694, 106308, 106306, 73296, 102188, 81616, 106348, 102182, 81608, 73284, 81604, 73282, 81602, 69164, 73324, 69158, 81644, 73318, 81638, 122792, 126934, 122788, 122786, 106280, 118678, 114536, 106276, 114532, 106274, 114530, 73256, 102166, 81512, 73252, 98024, 81508, 73250, 98020, 81506, 98018, 69142, 73270, 81526, 98038, 122772, 122770, 106260, 114484, 106258, 114482, 73236, 81460, 73234, 97908, 81458, 97906, 122762, 106250, 114458, 73226, 81434, 97850, 66396, 66382, 67416, 99246, 67404, 67398, 66350, 67438, 69456, 100268, 69448, 100262, 69444, 69442, 67372, 69484, 67366, 69478, 102312, 116694, 102308, 102306, 69416, 100246, 73576, 102326, 73572, 69410, 73570, 67350, 69430, 73590, 118740, 118738, 102292, 106420, 102290, 106418, 69396, 73524, 69394, 81780, 73522, 81778, 118730, 102282, 106394, 69386, 73498, 81722, 66476, 66470, 67496, 99286, 67492, 67490, 66454, 67510, 100308, 100306, 67476, 69556, 67474, 69554, 116714])]); //#15953\n $1.cwtobits = function() {\n var _FD = $get($1.clusters, $k[--$j]); //#15957\n $1.v = $get(_FD, $k[--$j]); //#15957\n $k[$j++] = Infinity; //#15958\n for (var _FG = 0, _FH = 17; _FG < _FH; _FG++) { //#15958\n $k[$j++] = 0; //#15958\n } //#15958\n var _FK = $cvrs($s(17), $1.v, 2); //#15958\n for (var _FL = 0, _FM = _FK.length; _FL < _FM; _FL++) { //#15958\n $k[$j++] = $get(_FK, _FL) - 48; //#15958\n } //#15958\n var _FO = $a(); //#15958\n $k[$j++] = $geti(_FO, _FO.length - 17, 17); //#15959\n }; //#15960\n if ($1.compact) { //#15966\n $1.rwid = $f(($f(($f((17 * $1.c) + 17)) + 17)) + 1); //#15964\n } else { //#15966\n $1.rwid = $f(($f(($f(($f((17 * $1.c) + 17)) + 17)) + 17)) + 18); //#15966\n } //#15966\n $1.pixs = $a($1.rwid * $1.r); //#15968\n for (var _FY = 0, _FX = $1.r - 1; _FY <= _FX; _FY += 1) { //#15998\n $1.i = _FY; //#15971\n if (($1.i % 3) == 0) { //#15976\n $1.lcw = ((~~($1.i / 3)) * 30) + (~~(($1.r - 1) / 3)); //#15974\n $1.rcw = $f(($f(((~~($1.i / 3)) * 30) + $1.c)) - 1); //#15975\n } //#15975\n if (($1.i % 3) == 1) { //#15980\n $1.lcw = (((~~($1.i / 3)) * 30) + ($1.eclevel * 3)) + (($1.r - 1) % 3); //#15978\n $1.rcw = ((~~($1.i / 3)) * 30) + (~~(($1.r - 1) / 3)); //#15979\n } //#15979\n if (($1.i % 3) == 2) { //#15984\n $1.lcw = $f(($f(((~~($1.i / 3)) * 30) + $1.c)) - 1); //#15982\n $1.rcw = (((~~($1.i / 3)) * 30) + ($1.eclevel * 3)) + (($1.r - 1) % 3); //#15983\n } //#15983\n $k[$j++] = $1.pixs; //#15994\n $k[$j++] = $1.rwid * $1.i; //#15994\n $k[$j++] = Infinity; //#15994\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 0; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 0; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 0; //#15988\n $k[$j++] = 1; //#15988\n $k[$j++] = 0; //#15988\n $k[$j++] = 0; //#15988\n $k[$j++] = 0; //#15988\n $k[$j++] = $1.lcw; //#15988\n $k[$j++] = $1.i % 3; //#15988\n $1.cwtobits(); //#15988\n $forall($k[--$j]); //#15988\n var _G0 = $geti($1.cws, $1.c * $1.i, $1.c); //#15989\n for (var _G1 = 0, _G2 = _G0.length; _G1 < _G2; _G1++) { //#15989\n $k[$j++] = $get(_G0, _G1); //#15989\n $k[$j++] = $1.i % 3; //#15989\n $1.cwtobits(); //#15989\n $forall($k[--$j]); //#15989\n } //#15989\n if ($1.compact) { //#15994\n $k[$j++] = 1; //#15991\n } else { //#15994\n $k[$j++] = $1.rcw; //#15993\n $k[$j++] = $1.i % 3; //#15993\n $1.cwtobits(); //#15993\n $forall($k[--$j]); //#15993\n $k[$j++] = 1; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 1; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 0; //#15994\n $k[$j++] = 1; //#15994\n } //#15994\n var _GA = $a(); //#15994\n var _GB = $k[--$j]; //#15996\n $puti($k[--$j], _GB, _GA); //#15996\n } //#15996\n var _GK = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.rwid],\n [\"pixy\", $1.r],\n [\"height\", ($1.r / 72) * $1.rowmult],\n [\"width\", $1.rwid / 72],\n [\"opt\", $1.options]\n ]); //#16008\n $k[$j++] = _GK; //#16011\n if (!$1.dontdraw) { //#16011\n bwipp_renmatrix(); //#16011\n } //#16011\n}\n\nfunction bwipp_pdf417compact() {\n var $1 = {}; //#16041\n $1.options = $k[--$j]; //#16043\n $1.barcode = $k[--$j]; //#16044\n $1.dontdraw = false; //#16046\n $forall($1.options, function() { //#16057\n var _3 = $k[--$j]; //#16057\n $1[$k[--$j]] = _3; //#16057\n }); //#16057\n $put($1.options, \"dontdraw\", true); //#16060\n $put($1.options, \"compact\", true); //#16061\n $k[$j++] = 'args'; //#16063\n $k[$j++] = $1.barcode; //#16063\n $k[$j++] = $1.options; //#16063\n bwipp_pdf417(); //#16063\n var _9 = $k[--$j]; //#16063\n $1[$k[--$j]] = _9; //#16063\n $put($1.args, \"opt\", $1.options); //#16065\n $k[$j++] = $1.args; //#16068\n if (!$1.dontdraw) { //#16068\n bwipp_renmatrix(); //#16068\n } //#16068\n}\n\nfunction bwipp_micropdf417() {\n var $1 = {}; //#16098\n $1.options = $k[--$j]; //#16100\n $1.barcode = $k[--$j]; //#16101\n $1.dontdraw = false; //#16103\n $1.version = \"unset\"; //#16104\n $1.columns = 0; //#16105\n $1.rows = 0; //#16106\n $1.rowmult = 2; //#16107\n $1.encoding = \"auto\"; //#16108\n $1.cca = false; //#16109\n $1.ccb = false; //#16110\n $1.raw = false; //#16111\n $1.parse = false; //#16112\n $1.parsefnc = false; //#16113\n $forall($1.options, function() { //#16124\n var _3 = $k[--$j]; //#16124\n $1[$k[--$j]] = _3; //#16124\n }); //#16124\n if ($ne($1.version, \"unset\")) { //#16130\n $search($1.version, \"x\"); //#16127\n $j--; //#16128\n $1.columns = $k[--$j]; //#16128\n $j--; //#16129\n $1.rows = $k[--$j]; //#16129\n } //#16129\n $1.columns = ~~$z($1.columns); //#16132\n $1.rows = ~~$z($1.rows); //#16133\n $1.rowmult = +$1.rowmult; //#16134\n if ($1.raw) { //#16136\n $1.encoding = \"raw\"; //#16136\n } //#16136\n if ($1.cca) { //#16137\n $1.encoding = \"cca\"; //#16137\n } //#16137\n if ($eq($1.encoding, \"raw\") || $eq($1.encoding, \"cca\")) { //#16151\n $1.datcws = $a($1.barcode.length); //#16141\n $1.i = 0; //#16142\n $1.j = 0; //#16142\n for (;;) { //#16149\n if ($1.i == $1.barcode.length) { //#16144\n break; //#16144\n } //#16144\n $1.cw = ~~$z($geti($1.barcode, $1.i + 1, 3)); //#16145\n $put($1.datcws, $1.j, $1.cw); //#16146\n $1.i = $1.i + 4; //#16147\n $1.j = $1.j + 1; //#16148\n } //#16148\n $1.datcws = $geti($1.datcws, 0, $1.j); //#16150\n } //#16150\n if ($1.ccb) { //#16153\n $1.encoding = \"ccb\"; //#16153\n } //#16153\n $1.encb = function() {\n $1.in = $k[--$j]; //#16156\n $1.inlen = $1.in.length; //#16157\n $1.out = $a(((~~($1.inlen / 6)) * 5) + ($1.inlen % 6)); //#16158\n for (var _d = 0, _c = (~~($1.inlen / 6)) - 1; _d <= _c; _d += 1) { //#16181\n $1.k = _d; //#16160\n $k[$j++] = Infinity; //#16161\n $aload($geti($1.in, $1.k * 6, 3)); //#16161\n $1.msbs = $a(); //#16161\n $k[$j++] = Infinity; //#16164\n $aload($1.msbs); //#16163\n var _j = $k[--$j]; //#16163\n var _k = $k[--$j]; //#16163\n var _l = $k[--$j]; //#16163\n $k[$j++] = $f(($f(_j + (_k * 256))) + (_l * 65536)); //#16164\n for (var _m = 0, _n = 3; _m < _n; _m++) { //#16164\n var _o = $k[--$j]; //#16164\n $k[$j++] = _o % 900; //#16164\n $k[$j++] = ~~(_o / 900); //#16164\n } //#16164\n $1.mscs = $a(); //#16164\n $k[$j++] = Infinity; //#16166\n $aload($geti($1.in, ($1.k * 6) + 3, 3)); //#16166\n $1.lsbs = $a(); //#16166\n $k[$j++] = Infinity; //#16169\n $aload($1.lsbs); //#16168\n var _v = $k[--$j]; //#16168\n var _w = $k[--$j]; //#16168\n var _x = $k[--$j]; //#16168\n $k[$j++] = $f(($f(_v + (_w * 256))) + (_x * 65536)); //#16169\n for (var _y = 0, _z = 3; _y < _z; _y++) { //#16169\n var _10 = $k[--$j]; //#16169\n $k[$j++] = _10 % 900; //#16169\n $k[$j++] = ~~(_10 / 900); //#16169\n } //#16169\n $1.lscs = $a(); //#16169\n var _13 = $get($1.lscs, 0); //#16171\n var _15 = $get($1.mscs, 0); //#16171\n $put($1.out, ($1.k * 5) + 4, ($f(_13 + (_15 * 316))) % 900); //#16172\n var _19 = $get($1.lscs, 1); //#16173\n var _1B = $get($1.mscs, 0); //#16173\n var _1D = $get($1.mscs, 1); //#16173\n $put($1.out, ($1.k * 5) + 3, ($f(($f(($f((~~(($f(_13 + (_15 * 316))) / 900)) + _19)) + (_1B * 641))) + (_1D * 316))) % 900); //#16174\n var _1H = $get($1.lscs, 2); //#16175\n var _1J = $get($1.mscs, 0); //#16175\n var _1L = $get($1.mscs, 1); //#16175\n var _1N = $get($1.mscs, 2); //#16175\n $put($1.out, ($1.k * 5) + 2, ($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_13 + (_15 * 316))) / 900)) + _19)) + (_1B * 641))) + (_1D * 316))) / 900)) + _1H)) + (_1J * 20))) + (_1L * 641))) + (_1N * 316))) % 900); //#16176\n var _1R = $get($1.lscs, 3); //#16177\n var _1T = $get($1.mscs, 1); //#16177\n var _1V = $get($1.mscs, 2); //#16177\n $put($1.out, ($1.k * 5) + 1, ($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_13 + (_15 * 316))) / 900)) + _19)) + (_1B * 641))) + (_1D * 316))) / 900)) + _1H)) + (_1J * 20))) + (_1L * 641))) + (_1N * 316))) / 900)) + _1R)) + (_1T * 20))) + (_1V * 641))) % 900); //#16178\n $put($1.out, $1.k * 5, ($f((~~(($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_13 + (_15 * 316))) / 900)) + _19)) + (_1B * 641))) + (_1D * 316))) / 900)) + _1H)) + (_1J * 20))) + (_1L * 641))) + (_1N * 316))) / 900)) + _1R)) + (_1T * 20))) + (_1V * 641))) / 900)) + ($get($1.mscs, 2) * 20))) % 900); //#16180\n } //#16180\n $1.rem = $1.inlen % 6; //#16182\n if ($1.rem != 0) { //#16187\n $k[$j++] = $1.out; //#16185\n $k[$j++] = $1.out.length - $1.rem; //#16185\n $k[$j++] = Infinity; //#16185\n $aload($geti($1.in, $1.inlen - $1.rem, $1.rem)); //#16185\n var _1m = $a(); //#16185\n var _1n = $k[--$j]; //#16186\n $puti($k[--$j], _1n, _1m); //#16186\n } //#16186\n $k[$j++] = $1.out; //#16188\n }; //#16189\n if ($eq($1.encoding, \"byte\") || $eq($1.encoding, \"ccb\")) { //#16197\n $1.barlen = $1.barcode.length; //#16192\n $1.datcws = $a((((~~($1.barlen / 6)) * 5) + ($1.barlen % 6)) + 1); //#16193\n var _1y = (($1.barlen % 6) == 0) ? 924 : 901; //#16194\n $put($1.datcws, 0, _1y); //#16194\n $k[$j++] = $1.datcws; //#16195\n $k[$j++] = 1; //#16195\n $k[$j++] = Infinity; //#16195\n $forall($1.barcode); //#16195\n var _21 = $a(); //#16195\n $k[$j++] = _21; //#16195\n $1.encb(); //#16195\n var _22 = $k[--$j]; //#16195\n var _23 = $k[--$j]; //#16195\n $puti($k[--$j], _23, _22); //#16195\n if ($eq($1.encoding, \"ccb\")) { //#16196\n $k[$j++] = Infinity; //#16196\n $k[$j++] = 920; //#16196\n $aload($1.datcws); //#16196\n $1.datcws = $a(); //#16196\n } //#16196\n } //#16196\n if ($eq($1.encoding, \"auto\")) { //#16601\n var _2B = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true]\n ]); //#16205\n $1.fncvals = _2B; //#16207\n $k[$j++] = 'msg'; //#16208\n $k[$j++] = $1.barcode; //#16208\n $k[$j++] = $1.fncvals; //#16208\n bwipp_parseinput(); //#16208\n var _2E = $k[--$j]; //#16208\n $1[$k[--$j]] = _2E; //#16208\n $1.msglen = $1.msg.length; //#16209\n $1.T = 0; //#16212\n $1.N = 1; //#16212\n $1.B = 2; //#16212\n $1.A = 0; //#16213\n $1.L = 1; //#16213\n $1.M = 2; //#16213\n $1.P = 3; //#16213\n $1.tl = -1; //#16216\n $1.nl = -2; //#16216\n $1.bl = -3; //#16216\n $1.bl6 = -4; //#16216\n $1.bs = -5; //#16216\n $1.al = -6; //#16219\n $1.ll = -7; //#16219\n $1.ml = -8; //#16219\n $1.pl = -9; //#16219\n $1.as = -10; //#16219\n $1.ps = -11; //#16219\n $1.charmaps = $a([$a([\"A\", \"a\", \"0\", \";\"]), $a([\"B\", \"b\", \"1\", \"<\"]), $a([\"C\", \"c\", \"2\", \">\"]), $a([\"D\", \"d\", \"3\", \"@\"]), $a([\"E\", \"e\", \"4\", \"[\"]), $a([\"F\", \"f\", \"5\", 92]), $a([\"G\", \"g\", \"6\", \"]\"]), $a([\"H\", \"h\", \"7\", \"_\"]), $a([\"I\", \"i\", \"8\", \"`\"]), $a([\"J\", \"j\", \"9\", \"~\"]), $a([\"K\", \"k\", \"&\", \"!\"]), $a([\"L\", \"l\", 13, 13]), $a([\"M\", \"m\", 9, 9]), $a([\"N\", \"n\", \",\", \",\"]), $a([\"O\", \"o\", \":\", \":\"]), $a([\"P\", \"p\", \"#\", 10]), $a([\"Q\", \"q\", \"-\", \"-\"]), $a([\"R\", \"r\", \".\", \".\"]), $a([\"S\", \"s\", \"$\", \"$\"]), $a([\"T\", \"t\", \"/\", \"/\"]), $a([\"U\", \"u\", \"+\", \"\\\"\"]), $a([\"V\", \"v\", \"%\", \"|\"]), $a([\"W\", \"w\", \"*\", \"*\"]), $a([\"X\", \"x\", \"=\", 40]), $a([\"Y\", \"y\", \"^\", 41]), $a([\"Z\", \"z\", $1.pl, \"?\"]), $a([\" \", \" \", \" \", \"{\"]), $a([$1.ll, $1.as, $1.ll, \"}\"]), $a([$1.ml, $1.ml, $1.al, \"'\"]), $a([$1.ps, $1.ps, $1.ps, $1.al])]); //#16254\n $1.charvals = $a([new Map, new Map, new Map, new Map]); //#16257\n $1.alltext = new Map; //#16258\n for (var _30 = 0, _2z = $1.charmaps.length - 1; _30 <= _2z; _30 += 1) { //#16268\n $1.i = _30; //#16260\n $1.encs = $get($1.charmaps, $1.i); //#16261\n for (var _34 = 0; _34 <= 3; _34 += 1) { //#16267\n $1.j = _34; //#16263\n var _37 = $get($1.encs, $1.j); //#16264\n $k[$j++] = _37; //#16264\n if ($eq($type(_37), 'stringtype')) { //#16264\n var _3A = $get($k[--$j], 0); //#16264\n $k[$j++] = _3A; //#16264\n } //#16264\n var _3B = $k[--$j]; //#16265\n $put($get($1.charvals, $1.j), _3B, $1.i); //#16265\n $put($1.alltext, _3B, -1); //#16266\n } //#16266\n } //#16266\n $1.e = 10000; //#16270\n $1.latlen = $a([$a([0, 1, 1, 2]), $a([2, 0, 1, 2]), $a([1, 1, 0, 1]), $a([1, 2, 2, 0])]); //#16278\n $1.latseq = $a([$a([$a([]), $a([$1.ll]), $a([$1.ml]), $a([$1.ml, $1.pl])]), $a([$a([$1.ml, $1.al]), $a([]), $a([$1.ml]), $a([$1.ml, $1.pl])]), $a([$a([$1.al]), $a([$1.ll]), $a([]), $a([$1.pl])]), $a([$a([$1.al]), $a([$1.al, $1.ll]), $a([$1.al, $1.ml]), $a([])])]); //#16286\n $1.shftlen = $a([$a([$1.e, $1.e, $1.e, 1]), $a([1, $1.e, $1.e, 1]), $a([$1.e, $1.e, $1.e, 1]), $a([$1.e, $1.e, $1.e, $1.e])]); //#16294\n $k[$j++] = Infinity; //#16297\n for (var _4G = 0, _4H = $1.msglen; _4G < _4H; _4G++) { //#16297\n $k[$j++] = 0; //#16297\n } //#16297\n $k[$j++] = 0; //#16297\n $1.numdigits = $a(); //#16297\n $k[$j++] = Infinity; //#16298\n for (var _4K = 0, _4L = $1.msglen; _4K < _4L; _4K++) { //#16298\n $k[$j++] = 0; //#16298\n } //#16298\n $k[$j++] = 0; //#16298\n $1.numtext = $a(); //#16298\n $k[$j++] = Infinity; //#16299\n for (var _4O = 0, _4P = $1.msglen; _4O < _4P; _4O++) { //#16299\n $k[$j++] = 0; //#16299\n } //#16299\n $k[$j++] = 0; //#16299\n $1.numbytes = $a(); //#16299\n $k[$j++] = Infinity; //#16300\n for (var _4S = 0, _4T = $1.msglen; _4S < _4T; _4S++) { //#16300\n $k[$j++] = 0; //#16300\n } //#16300\n $1.iseci = $a(); //#16300\n for (var _4W = $1.msglen - 1; _4W >= 0; _4W -= 1) { //#16313\n $1.i = _4W; //#16302\n var _4Z = $get($1.msg, $1.i); //#16303\n if ((_4Z >= 48) && (_4Z <= 57)) { //#16305\n $put($1.numdigits, $1.i, $f($get($1.numdigits, $1.i + 1) + 1)); //#16304\n } //#16304\n var _4j = $get($1.alltext, $get($1.msg, $1.i)) !== undefined; //#16306\n if (_4j && ($get($1.numdigits, $1.i) < 13)) { //#16308\n $put($1.numtext, $1.i, $f($get($1.numtext, $1.i + 1) + 1)); //#16307\n } //#16307\n if ((($get($1.msg, $1.i) >= 0) && ($get($1.numtext, $1.i) < 5)) && ($get($1.numdigits, $1.i) < 13)) { //#16311\n $put($1.numbytes, $1.i, $f($get($1.numbytes, $1.i + 1) + 1)); //#16310\n } //#16310\n $put($1.iseci, $1.i, $get($1.msg, $1.i) <= -1000000); //#16312\n } //#16312\n $1.numdigits = $geti($1.numdigits, 0, $1.msglen); //#16314\n $1.numtext = $geti($1.numtext, 0, $1.msglen); //#16315\n $1.numbytes = $geti($1.numbytes, 0, $1.msglen); //#16316\n $1.seq = $a([]); //#16318\n $1.seqlen = 0; //#16318\n $1.state = $1.B; //#16318\n $1.p = 0; //#16318\n for (;;) { //#16372\n if ($1.p == $1.msglen) { //#16319\n break; //#16319\n } //#16319\n if ($get($1.iseci, $1.p)) { //#16370\n $1.eci = $get($1.msg, $1.p); //#16321\n $k[$j++] = Infinity; //#16324\n $aload($1.seq); //#16323\n $k[$j++] = $a([$1.eci]); //#16324\n $1.seq = $a(); //#16324\n $1.p = $1.p + 1; //#16326\n $k[$j++] = 'seqlen'; //#16327\n $k[$j++] = $1.seqlen; //#16327\n if ($1.eci <= -1810900) { //#16327\n $k[$j++] = 2; //#16327\n } else { //#16327\n var _5c = ($1.eci <= -1000900) ? 3 : 2; //#16327\n $k[$j++] = _5c; //#16327\n } //#16327\n var _5d = $k[--$j]; //#16327\n var _5e = $k[--$j]; //#16327\n $1[$k[--$j]] = $f(_5e + _5d); //#16327\n } else { //#16370\n $1.n = $get($1.numdigits, $1.p); //#16329\n if ($1.n >= 13) { //#16370\n $k[$j++] = Infinity; //#16334\n $aload($1.seq); //#16332\n $k[$j++] = $1.nl; //#16334\n $k[$j++] = Infinity; //#16334\n $aload($geti($1.msg, $1.p, $1.n)); //#16334\n var _5q = $a(); //#16334\n $k[$j++] = _5q; //#16334\n $1.seq = $a(); //#16334\n $1.state = $1.N; //#16336\n $1.p = $f($1.p + $1.n); //#16337\n $1.seqlen = $f(($1.seqlen + 1) + $1.n); //#16338\n } else { //#16370\n $1.t = $get($1.numtext, $1.p); //#16340\n if ($1.t >= 5) { //#16370\n $k[$j++] = Infinity; //#16347\n $aload($1.seq); //#16343\n if ($1.state != $1.T) { //#16346\n $k[$j++] = $1.tl; //#16345\n } //#16345\n $k[$j++] = Infinity; //#16347\n $aload($geti($1.msg, $1.p, $1.t)); //#16347\n var _69 = $a(); //#16347\n $k[$j++] = _69; //#16347\n $1.seq = $a(); //#16347\n $1.state = $1.T; //#16349\n $1.p = $f($1.p + $1.t); //#16350\n $1.seqlen = $f($f($1.seqlen + 1) + $1.t); //#16351\n } else { //#16370\n $1.b = $get($1.numbytes, $1.p); //#16353\n if (($1.b == 1) && ($1.state == $1.T)) { //#16370\n $k[$j++] = Infinity; //#16358\n $aload($1.seq); //#16356\n $k[$j++] = $1.bs; //#16358\n $k[$j++] = $a([$get($1.msg, $1.p)]); //#16358\n $1.seq = $a(); //#16358\n $1.p = $f($1.p + $1.b); //#16360\n $1.seqlen = $f($1.seqlen + 2); //#16361\n } else { //#16370\n $k[$j++] = Infinity; //#16366\n $aload($1.seq); //#16364\n var _6Y = (($1.b % 6) != 0) ? $1.bl : $1.bl6; //#16365\n $k[$j++] = _6Y; //#16366\n $k[$j++] = Infinity; //#16366\n $aload($geti($1.msg, $1.p, $1.b)); //#16366\n var _6d = $a(); //#16366\n $k[$j++] = _6d; //#16366\n $1.seq = $a(); //#16366\n $1.state = $1.B; //#16368\n $1.p = $f($1.p + $1.b); //#16369\n $1.seqlen = $f($f($1.seqlen + 1) + $1.b); //#16370\n } //#16370\n } //#16370\n } //#16370\n } //#16370\n } //#16370\n $k[$j++] = Infinity; //#16375\n $k[$j++] = $1.tl; //#16375\n $k[$j++] = 900; //#16375\n $k[$j++] = $1.bl; //#16375\n $k[$j++] = 901; //#16375\n $k[$j++] = $1.bl6; //#16375\n $k[$j++] = 924; //#16375\n $k[$j++] = $1.nl; //#16375\n $k[$j++] = 902; //#16375\n $k[$j++] = $1.bs; //#16375\n $k[$j++] = 913; //#16375\n $1.latchcws = $d(); //#16376\n $1.enca = function() {\n var _6u = $get($get($1.charvals, $1.A), $k[--$j]); //#16379\n $k[$j++] = _6u; //#16379\n }; //#16379\n $1.encl = function() {\n var _6z = $get($get($1.charvals, $1.L), $k[--$j]); //#16380\n $k[$j++] = _6z; //#16380\n }; //#16380\n $1.encm = function() {\n var _74 = $get($get($1.charvals, $1.M), $k[--$j]); //#16381\n $k[$j++] = _74; //#16381\n }; //#16381\n $1.encp = function() {\n var _79 = $get($get($1.charvals, $1.P), $k[--$j]); //#16382\n $k[$j++] = _79; //#16382\n }; //#16382\n $1.textencfuncs = $a(['enca', 'encl', 'encm', 'encp']); //#16383\n $1.addtotext = function() {\n $put($1.text, $1.l, $k[--$j]); //#16386\n $1.l = $1.l + 1; //#16387\n }; //#16388\n $1.enct = function() {\n $1.in = $k[--$j]; //#16392\n $1.curlen = $a([$1.e, $1.e, $1.e, $1.e]); //#16394\n $put($1.curlen, $1.submode, 0); //#16395\n $1.curseq = $a([$a([]), $a([]), $a([]), $a([])]); //#16396\n $forall($1.in, function() { //#16466\n $1.char = $k[--$j]; //#16401\n for (;;) { //#16422\n $1.imp = false; //#16405\n var _7Y = $a([$1.A, $1.L, $1.M, $1.P]); //#16406\n for (var _7Z = 0, _7a = _7Y.length; _7Z < _7a; _7Z++) { //#16420\n $1.x = $get(_7Y, _7Z); //#16407\n var _7g = $a([$1.A, $1.L, $1.M, $1.P]); //#16408\n for (var _7h = 0, _7i = _7g.length; _7h < _7i; _7h++) { //#16419\n $1.y = $get(_7g, _7h); //#16409\n $1.cost = $f($get($1.curlen, $1.x) + $get($get($1.latlen, $1.x), $1.y)); //#16410\n if ($1.cost < $get($1.curlen, $1.y)) { //#16418\n $put($1.curlen, $1.y, $1.cost); //#16412\n $k[$j++] = $1.curseq; //#16415\n $k[$j++] = $1.y; //#16415\n $k[$j++] = Infinity; //#16415\n $aload($get($1.curseq, $1.x)); //#16414\n $aload($get($get($1.latseq, $1.x), $1.y)); //#16415\n var _89 = $a(); //#16415\n var _8A = $k[--$j]; //#16416\n $put($k[--$j], _8A, _89); //#16416\n $1.imp = true; //#16417\n } //#16417\n } //#16417\n } //#16417\n if (!$1.imp) { //#16421\n break; //#16421\n } //#16421\n } //#16421\n $1.nxtlen = $a([$1.e, $1.e, $1.e, $1.e]); //#16425\n $1.nxtseq = $a(4); //#16426\n var _8N = $a([$1.A, $1.L, $1.M, $1.P]); //#16428\n for (var _8O = 0, _8P = _8N.length; _8O < _8P; _8O++) { //#16461\n $1.x = $get(_8N, _8O); //#16429\n for (;;) { //#16459\n var _8V = $get($get($1.charvals, $1.x), $1.char) !== undefined; //#16433\n if (!_8V) { //#16433\n break; //#16433\n } //#16433\n $1.cost = $f($get($1.curlen, $1.x) + 1); //#16436\n if ($1.cost < $get($1.nxtlen, $1.x)) { //#16440\n $put($1.nxtlen, $1.x, $1.cost); //#16438\n $k[$j++] = $1.nxtseq; //#16439\n $k[$j++] = $1.x; //#16439\n $k[$j++] = Infinity; //#16439\n $aload($get($1.curseq, $1.x)); //#16439\n $k[$j++] = $1.char; //#16439\n var _8m = $a(); //#16439\n var _8n = $k[--$j]; //#16439\n $put($k[--$j], _8n, _8m); //#16439\n } //#16439\n var _8t = $a([$1.A, $1.L, $1.M, $1.P]); //#16443\n for (var _8u = 0, _8v = _8t.length; _8u < _8v; _8u++) { //#16456\n $1.y = $get(_8t, _8u); //#16444\n if ($ne($1.x, $1.y)) { //#16455\n $1.cost = $f($f($get($1.curlen, $1.y) + $get($get($1.shftlen, $1.y), $1.x)) + 1); //#16446\n if ($1.cost < $get($1.nxtlen, $1.y)) { //#16454\n $put($1.nxtlen, $1.y, $1.cost); //#16448\n $k[$j++] = $1.nxtseq; //#16452\n $k[$j++] = $1.y; //#16452\n $k[$j++] = Infinity; //#16452\n $aload($get($1.curseq, $1.y)); //#16450\n var _9L = ($1.x == $1.A) ? $1.as : $1.ps; //#16451\n $k[$j++] = _9L; //#16452\n $k[$j++] = $1.char; //#16452\n var _9N = $a(); //#16452\n var _9O = $k[--$j]; //#16453\n $put($k[--$j], _9O, _9N); //#16453\n } //#16453\n } //#16453\n } //#16453\n break; //#16458\n } //#16458\n } //#16458\n $1.curlen = $1.nxtlen; //#16463\n $1.curseq = $1.nxtseq; //#16464\n }); //#16464\n $1.minseq = $1.e; //#16469\n var _9X = $a([$1.A, $1.L, $1.M, $1.P]); //#16470\n for (var _9Y = 0, _9Z = _9X.length; _9Y < _9Z; _9Y++) { //#16476\n $1.k = $get(_9X, _9Y); //#16471\n if ($get($1.curlen, $1.k) < $1.minseq) { //#16475\n $1.minseq = $get($1.curlen, $1.k); //#16473\n $1.txtseq = $get($1.curseq, $1.k); //#16474\n } //#16474\n } //#16474\n $1.text = $a($1.minseq); //#16479\n $1.k = 0; //#16480\n $1.l = 0; //#16480\n for (;;) { //#16500\n if ($1.k >= $1.txtseq.length) { //#16481\n break; //#16481\n } //#16481\n $1.char = $get($1.txtseq, $1.k); //#16483\n $k[$j++] = $1.char; //#16486\n if ($1[$get($1.textencfuncs, $1.submode)]() === true) {\n break;\n } //#16486\n $1.addtotext(); //#16486\n $1.k = $1.k + 1; //#16487\n if (($1.char == $1.as) || ($1.char == $1.ps)) { //#16493\n $k[$j++] = $get($1.txtseq, $1.k); //#16491\n if ($1.char == $1.as) { //#16491\n $1.enca(); //#16491\n } else { //#16491\n $1.encp(); //#16491\n } //#16491\n $1.addtotext(); //#16491\n $1.k = $1.k + 1; //#16492\n } //#16492\n if ($1.char == $1.al) { //#16496\n $1.submode = $1.A; //#16496\n } //#16496\n if ($1.char == $1.ll) { //#16497\n $1.submode = $1.L; //#16497\n } //#16497\n if ($1.char == $1.ml) { //#16498\n $1.submode = $1.M; //#16498\n } //#16498\n if ($1.char == $1.pl) { //#16499\n $1.submode = $1.P; //#16499\n } //#16499\n } //#16499\n if (($1.text.length % 2) == 1) { //#16510\n if ($1.submode == $1.P) { //#16507\n $k[$j++] = 'pad'; //#16504\n $k[$j++] = $1.al; //#16504\n $1.encp(); //#16504\n var _AO = $k[--$j]; //#16504\n $1[$k[--$j]] = _AO; //#16504\n $1.submode = $1.A; //#16505\n } else { //#16507\n $k[$j++] = 'pad'; //#16507\n $k[$j++] = $1.ps; //#16507\n if ($1[$get($1.textencfuncs, $1.submode)]() === true) {\n return true;\n } //#16507\n var _AW = $k[--$j]; //#16507\n $1[$k[--$j]] = _AW; //#16507\n } //#16507\n $k[$j++] = Infinity; //#16509\n $aload($1.text); //#16509\n $k[$j++] = $1.pad; //#16509\n $1.text = $a(); //#16509\n } //#16509\n $1.out = $a(~~($1.text.length / 2)); //#16512\n for (var _Af = 0, _Ae = $1.out.length - 1; _Af <= _Ae; _Af += 1) { //#16516\n $1.k = _Af; //#16514\n $put($1.out, $1.k, $f(($get($1.text, $1.k * 2) * 30) + $get($1.text, ($1.k * 2) + 1))); //#16515\n } //#16515\n $k[$j++] = $1.out; //#16518\n }; //#16520\n $1.encn = function() {\n $1.in = $k[--$j]; //#16523\n $1.out = $a([]); //#16524\n for (var _At = 0, _As = $1.in.length - 1; _At <= _As; _At += 44) { //#16552\n $1.k = _At; //#16526\n $k[$j++] = Infinity; //#16529\n var _Ay = $1.in.length - $1.k; //#16528\n $k[$j++] = 1; //#16528\n $k[$j++] = $1.in; //#16528\n $k[$j++] = $1.k; //#16528\n $k[$j++] = _Ay; //#16528\n if (_Ay > 44) { //#16528\n $j--; //#16528\n $k[$j++] = 44; //#16528\n } //#16528\n var _Az = $k[--$j]; //#16528\n var _B0 = $k[--$j]; //#16528\n var _B2 = $geti($k[--$j], _B0, _Az); //#16528\n for (var _B3 = 0, _B4 = _B2.length; _B3 < _B4; _B3++) { //#16529\n $k[$j++] = $f($get(_B2, _B3) - 48); //#16529\n } //#16529\n $1.gmod = $a(); //#16529\n $1.cwn = $a([]); //#16531\n for (;;) { //#16550\n $1.dv = 900; //#16532\n $1.gmul = $a([]); //#16533\n $1.val = 0; //#16533\n for (;;) { //#16545\n if ($1.gmod.length == 0) { //#16534\n break; //#16534\n } //#16534\n $1.val = $f(($1.val * 10) + $get($1.gmod, 0)); //#16535\n $1.gmod = $geti($1.gmod, 1, $1.gmod.length - 1); //#16536\n if ($1.val < $1.dv) { //#16542\n if ($1.gmul.length != 0) { //#16540\n $k[$j++] = Infinity; //#16539\n $aload($1.gmul); //#16539\n $k[$j++] = 0; //#16539\n $1.gmul = $a(); //#16539\n } //#16539\n } else { //#16542\n $k[$j++] = Infinity; //#16542\n $aload($1.gmul); //#16542\n $k[$j++] = ~~($1.val / $1.dv); //#16542\n $1.gmul = $a(); //#16542\n } //#16542\n $1.val = $1.val % $1.dv; //#16544\n } //#16544\n $1.dv = $1.val; //#16546\n $k[$j++] = Infinity; //#16547\n $k[$j++] = $1.dv; //#16547\n $aload($1.cwn); //#16547\n $1.cwn = $a(); //#16547\n $1.gmod = $1.gmul; //#16548\n if ($1.gmul.length == 0) { //#16549\n break; //#16549\n } //#16549\n } //#16549\n $k[$j++] = Infinity; //#16551\n $aload($1.out); //#16551\n $aload($1.cwn); //#16551\n $1.out = $a(); //#16551\n } //#16551\n $k[$j++] = $1.out; //#16553\n }; //#16554\n $1.ence = function() {\n var _Bd = $f((-$get($k[--$j], 0)) - 1000000); //#16558\n $k[$j++] = _Bd; //#16566\n if (_Bd <= 899) { //#16565\n var _Be = $k[--$j]; //#16559\n $k[$j++] = 927; //#16559\n $k[$j++] = _Be; //#16559\n $astore($a(2)); //#16559\n } else { //#16565\n var _Bg = $k[--$j]; //#16560\n $k[$j++] = _Bg; //#16566\n if (_Bg <= 810899) { //#16565\n var _Bh = $k[--$j]; //#16561\n $k[$j++] = 926; //#16561\n $k[$j++] = (~~(_Bh / 900)) - 1; //#16561\n $k[$j++] = _Bh % 900; //#16561\n $astore($a(3)); //#16561\n } else { //#16565\n var _Bj = $k[--$j]; //#16562\n $k[$j++] = _Bj; //#16566\n if (_Bj <= 811799) { //#16565\n var _Bk = $k[--$j]; //#16563\n $k[$j++] = 925; //#16563\n $k[$j++] = $f(_Bk - 810900); //#16563\n $astore($a(2)); //#16563\n } else { //#16565\n $k[$j++] = 'bwipp.pdf417badECI'; //#16565\n $k[$j++] = \"PDF417 supports ECIs 000000 to 811799\"; //#16565\n bwipp_raiseerror(); //#16565\n } //#16565\n } //#16565\n } //#16565\n }; //#16567\n $1.encfuncs = $a(['enct', 'encn', 'encb']); //#16569\n $1.addtocws = function() {\n var _Bn = $k[--$j]; //#16572\n $puti($1.datcws, $1.j, _Bn); //#16572\n $1.j = _Bn.length + $1.j; //#16573\n }; //#16574\n $1.datcws = $a($1.seqlen); //#16578\n $1.i = 0; //#16579\n $1.j = 0; //#16579\n for (;;) { //#16599\n if ($1.i >= $1.seq.length) { //#16580\n break; //#16580\n } //#16580\n $1.chars = $get($1.seq, $1.i); //#16581\n if ($eq($type($1.chars), 'arraytype')) { //#16595\n if ($get($1.chars, 0) <= -1000000) { //#16586\n $k[$j++] = $1.chars; //#16584\n $1.ence(); //#16584\n $1.addtocws(); //#16584\n } else { //#16586\n $k[$j++] = $1.chars; //#16586\n if ($1[$get($1.encfuncs, $1.state)]() === true) {\n break;\n } //#16586\n $1.addtocws(); //#16586\n } //#16586\n } else { //#16595\n $k[$j++] = $a([$get($1.latchcws, $1.chars)]); //#16589\n $1.addtocws(); //#16589\n if ($1.chars == $1.tl) { //#16590\n $1.state = $1.T; //#16590\n $1.submode = $1.A; //#16590\n } //#16590\n if ($1.chars == $1.nl) { //#16591\n $1.state = $1.N; //#16591\n } //#16591\n if (($1.chars == $1.bl) || ($1.chars == $1.bl6)) { //#16592\n $1.state = $1.B; //#16592\n } //#16592\n if ($1.chars == $1.bs) { //#16596\n $1.i = $1.i + 1; //#16594\n $k[$j++] = $get($1.seq, $1.i); //#16595\n $1.encb(); //#16595\n $1.addtocws(); //#16595\n } //#16595\n } //#16595\n $1.i = $1.i + 1; //#16598\n } //#16598\n $1.datcws = $geti($1.datcws, 0, $1.j); //#16600\n } //#16600\n $1.metrics = $a([$a([1, 11, 7, 1, 0, 9]), $a([1, 14, 7, 8, 0, 8]), $a([1, 17, 7, 36, 0, 36]), $a([1, 20, 8, 19, 0, 19]), $a([1, 24, 8, 9, 0, 17]), $a([1, 28, 8, 25, 0, 33]), $a([2, 8, 8, 1, 0, 1]), $a([2, 11, 9, 1, 0, 9]), $a([2, 14, 9, 8, 0, 8]), $a([2, 17, 10, 36, 0, 36]), $a([2, 20, 11, 19, 0, 19]), $a([2, 23, 13, 9, 0, 17]), $a([2, 26, 15, 27, 0, 35]), $a([3, 6, 12, 1, 1, 1]), $a([3, 8, 14, 7, 7, 7]), $a([3, 10, 16, 15, 15, 15]), $a([3, 12, 18, 25, 25, 25]), $a([3, 15, 21, 37, 37, 37]), $a([3, 20, 26, 1, 17, 33]), $a([3, 26, 32, 1, 9, 17]), $a([3, 32, 38, 21, 29, 37]), $a([3, 38, 44, 15, 31, 47]), $a([3, 44, 50, 1, 25, 49]), $a([4, 4, 8, 47, 19, 43]), $a([4, 6, 12, 1, 1, 1]), $a([4, 8, 14, 7, 7, 7]), $a([4, 10, 16, 15, 15, 15]), $a([4, 12, 18, 25, 25, 25]), $a([4, 15, 21, 37, 37, 37]), $a([4, 20, 26, 1, 17, 33]), $a([4, 26, 32, 1, 9, 17]), $a([4, 32, 38, 21, 29, 37]), $a([4, 38, 44, 15, 31, 47]), $a([4, 44, 50, 1, 25, 49])]); //#16640\n $1.ccametrics = $a([$a([2, 5, 4, 39, 0, 19]), $a([2, 6, 4, 1, 0, 33]), $a([2, 7, 5, 32, 0, 12]), $a([2, 8, 5, 8, 0, 40]), $a([2, 9, 6, 14, 0, 46]), $a([2, 10, 6, 43, 0, 23]), $a([2, 12, 7, 20, 0, 52]), $a([3, 4, 4, 11, 43, 23]), $a([3, 5, 5, 1, 33, 13]), $a([3, 6, 6, 5, 37, 17]), $a([3, 7, 7, 15, 47, 27]), $a([3, 8, 7, 21, 1, 33]), $a([4, 3, 4, 40, 20, 52]), $a([4, 4, 5, 43, 23, 3]), $a([4, 5, 6, 46, 26, 6]), $a([4, 6, 7, 34, 14, 46]), $a([4, 7, 8, 29, 9, 41])]); //#16662\n if ($1.cca) { //#16663\n $1.metrics = $1.ccametrics; //#16663\n } //#16663\n $1.urows = $1.rows; //#16666\n $1.ucols = $1.columns; //#16667\n $1.i = 0; //#16668\n for (;;) { //#16684\n $1.m = $get($1.metrics, $1.i); //#16670\n $1.c = $get($1.m, 0); //#16671\n $1.r = $get($1.m, 1); //#16672\n $1.k = $get($1.m, 2); //#16673\n $1.rapl = $get($1.m, 3); //#16674\n $1.rapc = $get($1.m, 4); //#16675\n $1.rapr = $get($1.m, 5); //#16676\n $1.ncws = $f(($1.r * $1.c) - $1.k); //#16677\n $1.okay = true; //#16678\n if ($1.datcws.length > $1.ncws) { //#16679\n $1.okay = false; //#16679\n } //#16679\n if (($1.urows != 0) && ($1.urows != $1.r)) { //#16680\n $1.okay = false; //#16680\n } //#16680\n if (($1.ucols != 0) && ($1.ucols != $1.c)) { //#16681\n $1.okay = false; //#16681\n } //#16681\n if ($1.okay) { //#16682\n break; //#16682\n } //#16682\n $1.i = $1.i + 1; //#16683\n } //#16683\n $1.m = $1.datcws.length; //#16685\n $1.n = $f(($1.c * $1.r) - $1.k); //#16688\n $1.cws = $a($f(($1.c * $1.r) + 1)); //#16689\n $puti($1.cws, 0, $1.datcws); //#16690\n $k[$j++] = $1.cws; //#16691\n $k[$j++] = $1.m; //#16691\n $k[$j++] = Infinity; //#16691\n for (var _E8 = 0, _E9 = $f($1.n - $1.m); _E8 < _E9; _E8++) { //#16691\n $k[$j++] = 900; //#16691\n } //#16691\n var _EA = $a(); //#16691\n var _EB = $k[--$j]; //#16691\n $puti($k[--$j], _EB, _EA); //#16691\n $k[$j++] = $1.cws; //#16692\n $k[$j++] = $1.n; //#16692\n $k[$j++] = Infinity; //#16692\n for (var _EG = 0, _EH = $1.k; _EG < _EH; _EG++) { //#16692\n $k[$j++] = 0; //#16692\n } //#16692\n $k[$j++] = 0; //#16692\n var _EI = $a(); //#16692\n var _EJ = $k[--$j]; //#16692\n $puti($k[--$j], _EJ, _EI); //#16692\n $k[$j++] = Infinity; //#16695\n $k[$j++] = 1; //#16695\n for (var _EL = 0, _EM = 928; _EL < _EM; _EL++) { //#16695\n var _EN = $k[--$j]; //#16695\n $k[$j++] = _EN; //#16695\n $k[$j++] = (_EN * 3) % 929; //#16695\n } //#16695\n $1.rsalog = $a(); //#16695\n $1.rslog = $a(929); //#16696\n for (var _EQ = 1; _EQ <= 928; _EQ += 1) { //#16697\n $put($1.rslog, $get($1.rsalog, _EQ), _EQ); //#16697\n } //#16697\n $1.rsprod = function() {\n var _EU = $k[--$j]; //#16701\n var _EV = $k[--$j]; //#16701\n $k[$j++] = _EV; //#16705\n $k[$j++] = _EU; //#16705\n if ((_EU != 0) && (_EV != 0)) { //#16704\n var _EY = $get($1.rslog, $k[--$j]); //#16702\n var _Ed = $get($1.rsalog, $f(_EY + $get($1.rslog, $k[--$j])) % 928); //#16702\n $k[$j++] = _Ed; //#16702\n } else { //#16704\n $j -= 2; //#16704\n $k[$j++] = 0; //#16704\n } //#16704\n }; //#16706\n $k[$j++] = Infinity; //#16709\n $k[$j++] = 1; //#16709\n for (var _Ef = 0, _Eg = $1.k; _Ef < _Eg; _Ef++) { //#16709\n $k[$j++] = 0; //#16709\n } //#16709\n $1.coeffs = $a(); //#16709\n for (var _Ek = 1, _Ej = $1.k; _Ek <= _Ej; _Ek += 1) { //#16718\n $1.i = _Ek; //#16711\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#16712\n for (var _Er = $1.i - 1; _Er >= 1; _Er -= 1) { //#16716\n $1.j = _Er; //#16714\n $k[$j++] = $1.coeffs; //#16715\n $k[$j++] = $1.j; //#16715\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#16715\n $k[$j++] = $get($1.coeffs, $1.j); //#16715\n $k[$j++] = $get($1.rsalog, $1.i); //#16715\n $1.rsprod(); //#16715\n var _F3 = $k[--$j]; //#16715\n var _F4 = $k[--$j]; //#16715\n var _F5 = $k[--$j]; //#16715\n $put($k[--$j], _F5, $f(_F4 + _F3) % 929); //#16715\n } //#16715\n $k[$j++] = $1.coeffs; //#16717\n $k[$j++] = 0; //#16717\n $k[$j++] = $get($1.coeffs, 0); //#16717\n $k[$j++] = $get($1.rsalog, $1.i); //#16717\n $1.rsprod(); //#16717\n var _FD = $k[--$j]; //#16717\n var _FE = $k[--$j]; //#16717\n $put($k[--$j], _FE, _FD); //#16717\n } //#16717\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#16719\n for (var _FK = $1.coeffs.length - 1; _FK >= 0; _FK -= 2) { //#16720\n var _FL = $1.coeffs; //#16720\n $put(_FL, _FK, $f(929 - $get(_FL, _FK))); //#16720\n } //#16720\n for (var _FP = 0, _FO = $f($1.n - 1); _FP <= _FO; _FP += 1) { //#16729\n $1.t = $f($get($1.cws, _FP) + $get($1.cws, $1.n)) % 929; //#16724\n for (var _FX = 0, _FW = $f($1.k - 1); _FX <= _FW; _FX += 1) { //#16728\n $1.j = _FX; //#16726\n $put($1.cws, $f($1.n + $1.j), ($f($get($1.cws, $f($f($1.n + $1.j) + 1)) + ($f(929 - (($1.t * $get($1.coeffs, $f($f($1.k - $1.j) - 1))) % 929))))) % 929); //#16727\n } //#16727\n } //#16727\n for (var _Fo = $1.n, _Fn = $f($1.n + $1.k); _Fo <= _Fn; _Fo += 1) { //#16730\n $put($1.cws, _Fo, $f(929 - $get($1.cws, _Fo)) % 929); //#16730\n } //#16730\n $1.cws = $geti($1.cws, 0, $1.cws.length - 1); //#16733\n $1.clusters = $a([$a([120256, 125680, 128380, 120032, 125560, 128318, 108736, 119920, 108640, 86080, 108592, 86048, 110016, 120560, 125820, 109792, 120440, 125758, 88256, 109680, 88160, 89536, 110320, 120700, 89312, 110200, 120638, 89200, 110140, 89840, 110460, 89720, 110398, 89980, 128506, 119520, 125304, 128190, 107712, 119408, 125244, 107616, 119352, 84032, 107568, 119324, 84000, 107544, 83984, 108256, 119672, 125374, 85184, 108144, 119612, 85088, 108088, 119582, 85040, 108060, 85728, 108408, 119742, 85616, 108348, 85560, 108318, 85880, 108478, 85820, 85790, 107200, 119152, 125116, 107104, 119096, 125086, 83008, 107056, 119068, 82976, 107032, 82960, 82952, 83648, 107376, 119228, 83552, 107320, 119198, 83504, 107292, 83480, 83468, 83824, 107452, 83768, 107422, 83740, 83900, 106848, 118968, 125022, 82496, 106800, 118940, 82464, 106776, 118926, 82448, 106764, 82440, 106758, 82784, 106936, 119006, 82736, 106908, 82712, 106894, 82700, 82694, 106974, 82830, 82240, 106672, 118876, 82208, 106648, 118862, 82192, 106636, 82184, 106630, 82180, 82352, 82328, 82316, 82080, 118830, 106572, 106566, 82050, 117472, 124280, 127678, 103616, 117360, 124220, 103520, 117304, 124190, 75840, 103472, 75808, 104160, 117624, 124350, 76992, 104048, 117564, 76896, 103992, 76848, 76824, 77536, 104312, 117694, 77424, 104252, 77368, 77340, 77688, 104382, 77628, 77758, 121536, 126320, 128700, 121440, 126264, 128670, 111680, 121392, 126236, 111648, 121368, 126222, 111632, 121356, 103104, 117104, 124092, 112320, 103008, 117048, 124062, 112224, 121656, 126366, 93248, 74784, 102936, 117006, 93216, 112152, 93200, 75456, 103280, 117180, 93888, 75360, 103224, 117150, 93792, 112440, 121758, 93744, 75288, 93720, 75632, 103356, 94064, 75576, 103326, 94008, 112542, 93980, 75708, 94140, 75678, 94110, 121184, 126136, 128606, 111168, 121136, 126108, 111136, 121112, 126094, 111120, 121100, 111112, 111108, 102752, 116920, 123998, 111456, 102704, 116892, 91712, 74272, 121244, 116878, 91680, 74256, 102668, 91664, 111372, 102662, 74244, 74592, 102840, 116958, 92000, 74544, 102812, 91952, 111516, 102798, 91928, 74508, 74502, 74680, 102878, 92088, 74652, 92060, 74638, 92046, 92126, 110912, 121008, 126044, 110880, 120984, 126030, 110864, 120972, 110856, 120966, 110852, 110850, 74048, 102576, 116828, 90944, 74016, 102552, 116814, 90912, 111000, 121038, 90896, 73992, 102534, 90888, 110982, 90884, 74160, 102620, 91056, 74136, 102606, 91032, 111054, 91020, 74118, 91014, 91100, 91086, 110752, 120920, 125998, 110736, 120908, 110728, 120902, 110724, 110722, 73888, 102488, 116782, 90528, 73872, 102476, 90512, 110796, 102470, 90504, 73860, 90500, 73858, 73944, 90584, 90572, 90566, 120876, 120870, 110658, 102444, 73800, 90312, 90308, 90306, 101056, 116080, 123580, 100960, 116024, 70720, 100912, 115996, 70688, 100888, 70672, 70664, 71360, 101232, 116156, 71264, 101176, 116126, 71216, 101148, 71192, 71180, 71536, 101308, 71480, 101278, 71452, 71612, 71582, 118112, 124600, 127838, 105024, 118064, 124572, 104992, 118040, 124558, 104976, 118028, 104968, 118022, 100704, 115896, 123486, 105312, 100656, 115868, 79424, 70176, 118172, 115854, 79392, 105240, 100620, 79376, 70152, 79368, 70496, 100792, 115934, 79712, 70448, 118238, 79664, 105372, 100750, 79640, 70412, 79628, 70584, 100830, 79800, 70556, 79772, 70542, 70622, 79838, 122176, 126640, 128860, 122144, 126616, 128846, 122128, 126604, 122120, 126598, 122116, 104768, 117936, 124508, 113472, 104736, 126684, 124494, 113440, 122264, 126670, 113424, 104712, 117894, 113416, 122246, 104706, 69952, 100528, 115804, 78656, 69920, 100504, 115790, 96064, 78624, 104856, 117966, 96032, 113560, 122318, 100486, 96016, 78600, 104838, 96008, 69890, 70064, 100572, 78768, 70040, 100558, 96176, 78744, 104910, 96152, 113614, 70022, 78726, 70108, 78812, 70094, 96220, 78798, 122016, 126552, 128814, 122000, 126540, 121992, 126534, 121988, 121986, 104608, 117848, 124462, 113056, 104592, 126574, 113040, 122060, 117830, 113032, 104580, 113028, 104578, 113026, 69792, 100440, 115758, 78240, 69776, 100428, 95136, 78224, 104652, 100422, 95120, 113100, 69764, 95112, 78212, 69762, 78210, 69848, 100462, 78296, 69836, 95192, 78284, 69830, 95180, 78278, 69870, 95214, 121936, 126508, 121928, 126502, 121924, 121922, 104528, 117804, 112848, 104520, 117798, 112840, 121958, 112836, 104514, 112834, 69712, 100396, 78032, 69704, 100390, 94672, 78024, 104550, 94664, 112870, 69698, 94660, 78018, 94658, 78060, 94700, 94694, 126486, 121890, 117782, 104484, 104482, 69672, 77928, 94440, 69666, 77922, 99680, 68160, 99632, 68128, 99608, 115342, 68112, 99596, 68104, 99590, 68448, 99768, 115422, 68400, 99740, 68376, 99726, 68364, 68358, 68536, 99806, 68508, 68494, 68574, 101696, 116400, 123740, 101664, 116376, 101648, 116364, 101640, 116358, 101636, 67904, 99504, 115292, 72512, 67872, 116444, 115278, 72480, 101784, 116430, 72464, 67848, 99462, 72456, 101766, 67842, 68016, 99548, 72624, 67992, 99534, 72600, 101838, 72588, 67974, 68060, 72668, 68046, 72654, 118432, 124760, 127918, 118416, 124748, 118408, 124742, 118404, 118402, 101536, 116312, 105888, 101520, 116300, 105872, 118476, 116294, 105864, 101508, 105860, 101506, 105858, 67744, 99416, 72096, 67728, 116334, 80800, 72080, 101580, 99398, 80784, 105932, 67716, 80776, 72068, 67714, 72066, 67800, 99438, 72152, 67788, 80856, 72140, 67782, 80844, 72134, 67822, 72174, 80878, 126800, 128940, 126792, 128934, 126788, 126786, 118352, 124716, 122576, 126828, 124710, 122568, 126822, 122564, 118338, 122562, 101456, 116268, 105680, 101448, 116262, 114128, 105672, 118374, 114120, 122598, 101442, 114116, 105666, 114114, 67664, 99372, 71888, 67656, 99366, 80336, 71880, 101478, 97232, 80328, 105702, 67650, 97224, 114150, 71874, 97220, 67692, 71916, 67686, 80364, 71910, 97260, 80358, 97254, 126760, 128918, 126756, 126754, 118312, 124694, 122472, 126774, 122468, 118306, 122466, 101416, 116246, 105576, 101412, 113896, 105572, 101410, 113892, 105570, 113890, 67624, 99350, 71784, 101430, 80104, 71780, 67618, 96744, 80100, 71778, 96740, 80098, 96738, 71798, 96758, 126738, 122420, 122418, 105524, 113780, 113778, 71732, 79988, 96500, 96498, 66880, 66848, 98968, 66832, 66824, 66820, 66992, 66968, 66956, 66950, 67036, 67022, 100000, 99984, 115532, 99976, 115526, 99972, 99970, 66720, 98904, 69024, 100056, 98892, 69008, 100044, 69000, 100038, 68996, 66690, 68994, 66776, 98926, 69080, 100078, 69068, 66758, 69062, 66798, 69102, 116560, 116552, 116548, 116546, 99920, 102096, 116588, 115494, 102088, 116582, 102084, 99906, 102082, 66640, 68816, 66632, 98854, 73168, 68808, 66628, 73160, 68804, 66626, 73156, 68802, 66668, 68844, 66662, 73196, 68838, 73190, 124840, 124836, 124834, 116520, 118632, 124854, 118628, 116514, 118626, 99880, 115478, 101992, 116534, 106216, 101988, 99874, 106212, 101986, 106210, 66600, 98838, 68712, 99894, 72936, 68708, 66594, 81384, 72932, 68706, 81380, 72930, 66614, 68726, 72950, 81398, 128980, 128978, 124820, 126900, 124818, 126898, 116500, 118580, 116498, 122740, 118578, 122738, 99860, 101940, 99858, 106100, 101938, 114420]), $a([128352, 129720, 125504, 128304, 129692, 125472, 128280, 129678, 125456, 128268, 125448, 128262, 125444, 125792, 128440, 129758, 120384, 125744, 128412, 120352, 125720, 128398, 120336, 125708, 120328, 125702, 120324, 120672, 125880, 128478, 110144, 120624, 125852, 110112, 120600, 125838, 110096, 120588, 110088, 120582, 110084, 110432, 120760, 125918, 89664, 110384, 120732, 89632, 110360, 120718, 89616, 110348, 89608, 110342, 89952, 110520, 120798, 89904, 110492, 89880, 110478, 89868, 90040, 110558, 90012, 89998, 125248, 128176, 129628, 125216, 128152, 129614, 125200, 128140, 125192, 128134, 125188, 125186, 119616, 125360, 128220, 119584, 125336, 128206, 119568, 125324, 119560, 125318, 119556, 119554, 108352, 119728, 125404, 108320, 119704, 125390, 108304, 119692, 108296, 119686, 108292, 108290, 85824, 108464, 119772, 85792, 108440, 119758, 85776, 108428, 85768, 108422, 85764, 85936, 108508, 85912, 108494, 85900, 85894, 85980, 85966, 125088, 128088, 129582, 125072, 128076, 125064, 128070, 125060, 125058, 119200, 125144, 128110, 119184, 125132, 119176, 125126, 119172, 119170, 107424, 119256, 125166, 107408, 119244, 107400, 119238, 107396, 107394, 83872, 107480, 119278, 83856, 107468, 83848, 107462, 83844, 83842, 83928, 107502, 83916, 83910, 83950, 125008, 128044, 125000, 128038, 124996, 124994, 118992, 125036, 118984, 125030, 118980, 118978, 106960, 119020, 106952, 119014, 106948, 106946, 82896, 106988, 82888, 106982, 82884, 82882, 82924, 82918, 124968, 128022, 124964, 124962, 118888, 124982, 118884, 118882, 106728, 118902, 106724, 106722, 82408, 106742, 82404, 82402, 124948, 124946, 118836, 118834, 106612, 106610, 124224, 127664, 129372, 124192, 127640, 129358, 124176, 127628, 124168, 127622, 124164, 124162, 117568, 124336, 127708, 117536, 124312, 127694, 117520, 124300, 117512, 124294, 117508, 117506, 104256, 117680, 124380, 104224, 117656, 124366, 104208, 117644, 104200, 117638, 104196, 104194, 77632, 104368, 117724, 77600, 104344, 117710, 77584, 104332, 77576, 104326, 77572, 77744, 104412, 77720, 104398, 77708, 77702, 77788, 77774, 128672, 129880, 93168, 128656, 129868, 92664, 128648, 129862, 92412, 128644, 128642, 124064, 127576, 129326, 126368, 124048, 129902, 126352, 128716, 127558, 126344, 124036, 126340, 124034, 126338, 117152, 124120, 127598, 121760, 117136, 124108, 121744, 126412, 124102, 121736, 117124, 121732, 117122, 121730, 103328, 117208, 124142, 112544, 103312, 117196, 112528, 121804, 117190, 112520, 103300, 112516, 103298, 112514, 75680, 103384, 117230, 94112, 75664, 103372, 94096, 112588, 103366, 94088, 75652, 94084, 75650, 75736, 103406, 94168, 75724, 94156, 75718, 94150, 75758, 128592, 129836, 91640, 128584, 129830, 91388, 128580, 91262, 128578, 123984, 127532, 126160, 123976, 127526, 126152, 128614, 126148, 123970, 126146, 116944, 124012, 121296, 116936, 124006, 121288, 126182, 121284, 116930, 121282, 102864, 116972, 111568, 102856, 116966, 111560, 121318, 111556, 102850, 111554, 74704, 102892, 92112, 74696, 102886, 92104, 111590, 92100, 74690, 92098, 74732, 92140, 74726, 92134, 128552, 129814, 90876, 128548, 90750, 128546, 123944, 127510, 126056, 128566, 126052, 123938, 126050, 116840, 123958, 121064, 116836, 121060, 116834, 121058, 102632, 116854, 111080, 121078, 111076, 102626, 111074, 74216, 102646, 91112, 74212, 91108, 74210, 91106, 74230, 91126, 128532, 90494, 128530, 123924, 126004, 123922, 126002, 116788, 120948, 116786, 120946, 102516, 110836, 102514, 110834, 73972, 90612, 73970, 90610, 128522, 123914, 125978, 116762, 120890, 102458, 110714, 123552, 127320, 129198, 123536, 127308, 123528, 127302, 123524, 123522, 116128, 123608, 127342, 116112, 123596, 116104, 123590, 116100, 116098, 101280, 116184, 123630, 101264, 116172, 101256, 116166, 101252, 101250, 71584, 101336, 116206, 71568, 101324, 71560, 101318, 71556, 71554, 71640, 101358, 71628, 71622, 71662, 127824, 129452, 79352, 127816, 129446, 79100, 127812, 78974, 127810, 123472, 127276, 124624, 123464, 127270, 124616, 127846, 124612, 123458, 124610, 115920, 123500, 118224, 115912, 123494, 118216, 124646, 118212, 115906, 118210, 100816, 115948, 105424, 100808, 115942, 105416, 118246, 105412, 100802, 105410, 70608, 100844, 79824, 70600, 100838, 79816, 105446, 79812, 70594, 79810, 70636, 79852, 70630, 79846, 129960, 95728, 113404, 129956, 95480, 113278, 129954, 95356, 95294, 127784, 129430, 78588, 128872, 129974, 95996, 78462, 128868, 127778, 95870, 128866, 123432, 127254, 124520, 123428, 126696, 128886, 123426, 126692, 124514, 126690, 115816, 123446, 117992, 115812, 122344, 117988, 115810, 122340, 117986, 122338, 100584, 115830, 104936, 100580, 113640, 104932, 100578, 113636, 104930, 113634, 70120, 100598, 78824, 70116, 96232, 78820, 70114, 96228, 78818, 96226, 70134, 78838, 129940, 94968, 113022, 129938, 94844, 94782, 127764, 78206, 128820, 127762, 95102, 128818, 123412, 124468, 123410, 126580, 124466, 126578, 115764, 117876, 115762, 122100, 117874, 122098, 100468, 104692, 100466, 113140, 104690, 113138, 69876, 78324, 69874, 95220, 78322, 95218, 129930, 94588, 94526, 127754, 128794, 123402, 124442, 126522, 115738, 117818, 121978, 100410, 104570, 112890, 69754, 78074, 94714, 94398, 123216, 127148, 123208, 127142, 123204, 123202, 115408, 123244, 115400, 123238, 115396, 115394, 99792, 115436, 99784, 115430, 99780, 99778, 68560, 99820, 68552, 99814, 68548, 68546, 68588, 68582, 127400, 129238, 72444, 127396, 72318, 127394, 123176, 127126, 123752, 123172, 123748, 123170, 123746, 115304, 123190, 116456, 115300, 116452, 115298, 116450, 99560, 115318, 101864, 99556, 101860, 99554, 101858, 68072, 99574, 72680, 68068, 72676, 68066, 72674, 68086, 72694, 129492, 80632, 105854, 129490, 80508, 80446, 127380, 72062, 127924, 127378, 80766, 127922, 123156, 123700, 123154, 124788, 123698, 124786, 115252, 116340, 115250, 118516, 116338, 118514, 99444, 101620, 99442, 105972, 101618, 105970, 67828, 72180, 67826, 80884, 72178, 80882, 97008, 114044, 96888, 113982, 96828, 96798, 129482, 80252, 130010, 97148, 80190, 97086, 127370, 127898, 128954, 123146, 123674, 124730, 126842, 115226, 116282, 118394, 122618, 99386, 101498, 105722, 114170, 67706, 71930, 80378, 96632, 113854, 96572, 96542, 80062, 96702, 96444, 96414, 96350, 123048, 123044, 123042, 115048, 123062, 115044, 115042, 99048, 115062, 99044, 99042, 67048, 99062, 67044, 67042, 67062, 127188, 68990, 127186, 123028, 123316, 123026, 123314, 114996, 115572, 114994, 115570, 98932, 100084, 98930, 100082, 66804, 69108, 66802, 69106, 129258, 73084, 73022, 127178, 127450, 123018, 123290, 123834, 114970, 115514, 116602, 98874, 99962, 102138, 66682, 68858, 73210, 81272, 106174, 81212, 81182, 72894, 81342, 97648, 114364, 97592, 114334, 97564, 97550, 81084, 97724, 81054, 97694, 97464, 114270, 97436, 97422, 80990, 97502, 97372, 97358, 97326, 114868, 114866, 98676, 98674, 66292, 66290, 123098, 114842, 115130, 98618, 99194, 66170, 67322, 69310, 73404, 73374, 81592, 106334, 81564, 81550, 73310, 81630, 97968, 114524, 97944, 114510, 97932, 97926, 81500, 98012, 81486, 97998, 97880, 114478, 97868, 97862, 81454, 97902, 97836, 97830, 69470, 73564, 73550, 81752, 106414, 81740, 81734, 73518, 81774, 81708, 81702]), $a([109536, 120312, 86976, 109040, 120060, 86496, 108792, 119934, 86256, 108668, 86136, 129744, 89056, 110072, 129736, 88560, 109820, 129732, 88312, 109694, 129730, 88188, 128464, 129772, 89592, 128456, 129766, 89340, 128452, 89214, 128450, 125904, 128492, 125896, 128486, 125892, 125890, 120784, 125932, 120776, 125926, 120772, 120770, 110544, 120812, 110536, 120806, 110532, 84928, 108016, 119548, 84448, 107768, 119422, 84208, 107644, 84088, 107582, 84028, 129640, 85488, 108284, 129636, 85240, 108158, 129634, 85116, 85054, 128232, 129654, 85756, 128228, 85630, 128226, 125416, 128246, 125412, 125410, 119784, 125430, 119780, 119778, 108520, 119798, 108516, 108514, 83424, 107256, 119166, 83184, 107132, 83064, 107070, 83004, 82974, 129588, 83704, 107390, 129586, 83580, 83518, 128116, 83838, 128114, 125172, 125170, 119284, 119282, 107508, 107506, 82672, 106876, 82552, 106814, 82492, 82462, 129562, 82812, 82750, 128058, 125050, 119034, 82296, 106686, 82236, 82206, 82366, 82108, 82078, 76736, 103920, 117500, 76256, 103672, 117374, 76016, 103548, 75896, 103486, 75836, 129384, 77296, 104188, 129380, 77048, 104062, 129378, 76924, 76862, 127720, 129398, 77564, 127716, 77438, 127714, 124392, 127734, 124388, 124386, 117736, 124406, 117732, 117730, 104424, 117750, 104420, 104418, 112096, 121592, 126334, 92608, 111856, 121468, 92384, 111736, 121406, 92272, 111676, 92216, 111646, 92188, 75232, 103160, 117118, 93664, 74992, 103036, 93424, 112252, 102974, 93304, 74812, 93244, 74782, 93214, 129332, 75512, 103294, 129908, 129330, 93944, 75388, 129906, 93820, 75326, 93758, 127604, 75646, 128756, 127602, 94078, 128754, 124148, 126452, 124146, 126450, 117236, 121844, 117234, 121842, 103412, 103410, 91584, 111344, 121212, 91360, 111224, 121150, 91248, 111164, 91192, 111134, 91164, 91150, 74480, 102780, 91888, 74360, 102718, 91768, 111422, 91708, 74270, 91678, 129306, 74620, 129850, 92028, 74558, 91966, 127546, 128634, 124026, 126202, 116986, 121338, 102906, 90848, 110968, 121022, 90736, 110908, 90680, 110878, 90652, 90638, 74104, 102590, 91000, 74044, 90940, 74014, 90910, 74174, 91070, 90480, 110780, 90424, 110750, 90396, 90382, 73916, 90556, 73886, 90526, 90296, 110686, 90268, 90254, 73822, 90334, 90204, 90190, 71136, 101112, 116094, 70896, 100988, 70776, 100926, 70716, 70686, 129204, 71416, 101246, 129202, 71292, 71230, 127348, 71550, 127346, 123636, 123634, 116212, 116210, 101364, 101362, 79296, 105200, 118140, 79072, 105080, 118078, 78960, 105020, 78904, 104990, 78876, 78862, 70384, 100732, 79600, 70264, 100670, 79480, 105278, 79420, 70174, 79390, 129178, 70524, 129466, 79740, 70462, 79678, 127290, 127866, 123514, 124666, 115962, 118266, 100858, 113376, 122232, 126654, 95424, 113264, 122172, 95328, 113208, 122142, 95280, 113180, 95256, 113166, 95244, 78560, 104824, 117950, 95968, 78448, 104764, 95856, 113468, 104734, 95800, 78364, 95772, 78350, 95758, 70008, 100542, 78712, 69948, 96120, 78652, 69918, 96060, 78622, 96030, 70078, 78782, 96190, 94912, 113008, 122044, 94816, 112952, 122014, 94768, 112924, 94744, 112910, 94732, 94726, 78192, 104636, 95088, 78136, 104606, 95032, 113054, 95004, 78094, 94990, 69820, 78268, 69790, 95164, 78238, 95134, 94560, 112824, 121950, 94512, 112796, 94488, 112782, 94476, 94470, 78008, 104542, 94648, 77980, 94620, 77966, 94606, 69726, 78046, 94686, 94384, 112732, 94360, 112718, 94348, 94342, 77916, 94428, 77902, 94414, 94296, 112686, 94284, 94278, 77870, 94318, 94252, 94246, 68336, 99708, 68216, 99646, 68156, 68126, 68476, 68414, 127162, 123258, 115450, 99834, 72416, 101752, 116414, 72304, 101692, 72248, 101662, 72220, 72206, 67960, 99518, 72568, 67900, 72508, 67870, 72478, 68030, 72638, 80576, 105840, 118460, 80480, 105784, 118430, 80432, 105756, 80408, 105742, 80396, 80390, 72048, 101564, 80752, 71992, 101534, 80696, 71964, 80668, 71950, 80654, 67772, 72124, 67742, 80828, 72094, 80798, 114016, 122552, 126814, 96832, 113968, 122524, 96800, 113944, 122510, 96784, 113932, 96776, 113926, 96772, 80224, 105656, 118366, 97120, 80176, 105628, 97072, 114076, 105614, 97048, 80140, 97036, 80134, 97030, 71864, 101470, 80312, 71836, 97208, 80284, 71822, 97180, 80270, 97166, 67678, 71902, 80350, 97246, 96576, 113840, 122460, 96544, 113816, 122446, 96528, 113804, 96520, 113798, 96516, 96514, 80048, 105564, 96688, 80024, 105550, 96664, 113870, 96652, 80006, 96646, 71772, 80092, 71758, 96732, 80078, 96718, 96416, 113752, 122414, 96400, 113740, 96392, 113734, 96388, 96386, 79960, 105518, 96472, 79948, 96460, 79942, 96454, 71726, 79982, 96494, 96336, 113708, 96328, 113702, 96324, 96322, 79916, 96364, 79910, 96358, 96296, 113686, 96292, 96290, 79894, 96310, 66936, 99006, 66876, 66846, 67006, 68976, 100028, 68920, 99998, 68892, 68878, 66748, 69052, 66718, 69022, 73056, 102072, 116574, 73008, 102044, 72984, 102030, 72972, 72966, 68792, 99934, 73144, 68764, 73116, 68750, 73102, 66654, 68830, 73182, 81216, 106160, 118620, 81184, 106136, 118606, 81168, 106124, 81160, 106118, 81156, 81154, 72880, 101980, 81328, 72856, 101966, 81304, 106190, 81292, 72838, 81286, 68700, 72924, 68686, 81372, 72910, 81358, 114336, 122712, 126894, 114320, 122700, 114312, 122694, 114308, 114306, 81056, 106072, 118574, 97696, 81040, 106060, 97680, 114380, 106054, 97672, 81028, 97668, 81026, 97666, 72792, 101934, 81112, 72780, 97752, 81100, 72774, 97740, 81094, 97734, 68654, 72814, 81134, 97774, 114256, 122668, 114248, 122662, 114244, 114242, 80976, 106028, 97488, 80968, 106022, 97480, 114278, 97476, 80962, 97474, 72748, 81004, 72742, 97516, 80998, 97510, 114216, 122646, 114212, 114210, 80936, 106006, 97384, 80932, 97380, 80930, 97378, 72726, 80950, 97398, 114196, 114194, 80916, 97332, 80914, 97330, 66236, 66206, 67256, 99166, 67228, 67214, 66142, 67294, 69296, 100188, 69272, 100174, 69260, 69254, 67164, 69340, 67150, 69326, 73376, 102232, 116654, 73360, 102220, 73352, 102214, 73348, 73346, 69208, 100142, 73432, 102254, 73420, 69190, 73414, 67118, 69230, 73454, 106320, 118700, 106312, 118694, 106308, 106306, 73296, 102188, 81616, 106348, 102182, 81608, 73284, 81604, 73282, 81602, 69164, 73324, 69158, 81644, 73318, 81638, 122792, 126934, 122788, 122786, 106280, 118678, 114536, 106276, 114532, 106274, 114530, 73256, 102166, 81512, 73252, 98024, 81508, 73250, 98020, 81506, 98018, 69142, 73270, 81526, 98038, 122772, 122770, 106260, 114484, 106258, 114482, 73236, 81460, 73234, 97908, 81458, 97906, 122762, 106250, 114458, 73226, 81434, 97850, 66396, 66382, 67416, 99246, 67404, 67398, 66350, 67438, 69456, 100268, 69448, 100262, 69444, 69442, 67372, 69484, 67366, 69478, 102312, 116694, 102308, 102306, 69416, 100246, 73576, 102326, 73572, 69410, 73570, 67350, 69430, 73590, 118740, 118738, 102292, 106420, 102290, 106418, 69396, 73524, 69394, 81780, 73522, 81778, 118730, 102282, 106394, 69386, 73498, 81722, 66476, 66470, 67496, 99286, 67492, 67490, 66454, 67510, 100308, 100306, 67476, 69556, 67474, 69554, 116714])]); //#16975\n $1.raps = $a([$a([802, 930, 946, 818, 882, 890, 826, 954, 922, 986, 970, 906, 778, 794, 786, 914, 978, 982, 980, 916, 948, 932, 934, 942, 940, 936, 808, 812, 814, 806, 822, 950, 918, 790, 788, 820, 884, 868, 870, 878, 876, 872, 840, 856, 860, 862, 846, 844, 836, 838, 834, 866]), $a([718, 590, 622, 558, 550, 566, 534, 530, 538, 570, 562, 546, 610, 626, 634, 762, 754, 758, 630, 628, 612, 614, 582, 578, 706, 738, 742, 740, 748, 620, 556, 552, 616, 744, 712, 716, 708, 710, 646, 654, 652, 668, 664, 696, 688, 656, 720, 592, 600, 604, 732, 734])]); //#16990\n $1.cwtobits = function() {\n var _G4 = $get($1.clusters, $k[--$j]); //#16994\n $1.v = $get(_G4, $k[--$j]); //#16994\n $k[$j++] = Infinity; //#16995\n for (var _G7 = 0, _G8 = 17; _G7 < _G8; _G7++) { //#16995\n $k[$j++] = 0; //#16995\n } //#16995\n var _GB = $cvrs($s(17), $1.v, 2); //#16995\n for (var _GC = 0, _GD = _GB.length; _GC < _GD; _GC++) { //#16995\n $k[$j++] = $get(_GB, _GC) - 48; //#16995\n } //#16995\n var _GF = $a(); //#16995\n $k[$j++] = $geti(_GF, _GF.length - 17, 17); //#16996\n }; //#16997\n $1.raptobits = function() {\n var _GJ = $get($1.raps, $k[--$j]); //#17001\n $1.v = $get(_GJ, $k[--$j]); //#17001\n $k[$j++] = Infinity; //#17002\n for (var _GM = 0, _GN = 10; _GM < _GN; _GM++) { //#17002\n $k[$j++] = 0; //#17002\n } //#17002\n var _GQ = $cvrs($s(10), $1.v, 2); //#17002\n for (var _GR = 0, _GS = _GQ.length; _GR < _GS; _GR++) { //#17002\n $k[$j++] = $get(_GQ, _GR) - 48; //#17002\n } //#17002\n var _GU = $a(); //#17002\n $k[$j++] = $geti(_GU, _GU.length - 10, 10); //#17003\n }; //#17004\n $1.rwid = $get($a([38, 55, 82, 99]), $f($1.c - 1)); //#17007\n if (($1.c == 3) && $1.cca) { //#17008\n $1.rwid = 72; //#17008\n } //#17008\n $1.pixs = $a($1.rwid * $1.r); //#17009\n for (var _Gg = 0, _Gf = $f($1.r - 1); _Gg <= _Gf; _Gg += 1) { //#17047\n $1.i = _Gg; //#17012\n $1.clst = ($f($f($1.i + $1.rapl) - 1)) % 3; //#17013\n $k[$j++] = $1.pixs; //#17045\n $k[$j++] = $1.rwid * $1.i; //#17045\n $k[$j++] = Infinity; //#17045\n if ($1.c == 1) { //#17019\n $k[$j++] = ($f($f($1.i + $1.rapl) - 1)) % 52; //#17016\n $k[$j++] = 0; //#17016\n $1.raptobits(); //#17016\n $aload($k[--$j]); //#17016\n $k[$j++] = $get($1.cws, $1.i); //#17017\n $k[$j++] = $1.clst; //#17017\n $1.cwtobits(); //#17017\n $aload($k[--$j]); //#17017\n $k[$j++] = ($f($f($1.i + $1.rapr) - 1)) % 52; //#17018\n $k[$j++] = 0; //#17018\n $1.raptobits(); //#17018\n $aload($k[--$j]); //#17018\n } //#17018\n if ($1.c == 2) { //#17025\n $k[$j++] = ($f($f($1.i + $1.rapl) - 1)) % 52; //#17021\n $k[$j++] = 0; //#17021\n $1.raptobits(); //#17021\n $aload($k[--$j]); //#17021\n $k[$j++] = $get($1.cws, $1.i * 2); //#17022\n $k[$j++] = $1.clst; //#17022\n $1.cwtobits(); //#17022\n $aload($k[--$j]); //#17022\n $k[$j++] = $get($1.cws, ($1.i * 2) + 1); //#17023\n $k[$j++] = $1.clst; //#17023\n $1.cwtobits(); //#17023\n $aload($k[--$j]); //#17023\n $k[$j++] = ($f($f($1.i + $1.rapr) - 1)) % 52; //#17024\n $k[$j++] = 0; //#17024\n $1.raptobits(); //#17024\n $aload($k[--$j]); //#17024\n } //#17024\n if ($1.c == 3) { //#17035\n if (!$1.cca) { //#17029\n $k[$j++] = ($f($f($1.i + $1.rapl) - 1)) % 52; //#17028\n $k[$j++] = 0; //#17028\n $1.raptobits(); //#17028\n $aload($k[--$j]); //#17028\n } //#17028\n $k[$j++] = $get($1.cws, $1.i * 3); //#17030\n $k[$j++] = $1.clst; //#17030\n $1.cwtobits(); //#17030\n $aload($k[--$j]); //#17030\n $k[$j++] = ($f($f($1.i + $1.rapc) - 1)) % 52; //#17031\n $k[$j++] = 1; //#17031\n $1.raptobits(); //#17031\n $aload($k[--$j]); //#17031\n $k[$j++] = $get($1.cws, ($1.i * 3) + 1); //#17032\n $k[$j++] = $1.clst; //#17032\n $1.cwtobits(); //#17032\n $aload($k[--$j]); //#17032\n $k[$j++] = $get($1.cws, ($1.i * 3) + 2); //#17033\n $k[$j++] = $1.clst; //#17033\n $1.cwtobits(); //#17033\n $aload($k[--$j]); //#17033\n $k[$j++] = ($f($f($1.i + $1.rapr) - 1)) % 52; //#17034\n $k[$j++] = 0; //#17034\n $1.raptobits(); //#17034\n $aload($k[--$j]); //#17034\n } //#17034\n if ($1.c == 4) { //#17044\n $k[$j++] = ($f($f($1.i + $1.rapl) - 1)) % 52; //#17037\n $k[$j++] = 0; //#17037\n $1.raptobits(); //#17037\n $aload($k[--$j]); //#17037\n $k[$j++] = $get($1.cws, $1.i * 4); //#17038\n $k[$j++] = $1.clst; //#17038\n $1.cwtobits(); //#17038\n $aload($k[--$j]); //#17038\n $k[$j++] = $get($1.cws, ($1.i * 4) + 1); //#17039\n $k[$j++] = $1.clst; //#17039\n $1.cwtobits(); //#17039\n $aload($k[--$j]); //#17039\n $k[$j++] = ($f($f($1.i + $1.rapc) - 1)) % 52; //#17040\n $k[$j++] = 1; //#17040\n $1.raptobits(); //#17040\n $aload($k[--$j]); //#17040\n $k[$j++] = $get($1.cws, ($1.i * 4) + 2); //#17041\n $k[$j++] = $1.clst; //#17041\n $1.cwtobits(); //#17041\n $aload($k[--$j]); //#17041\n $k[$j++] = $get($1.cws, ($1.i * 4) + 3); //#17042\n $k[$j++] = $1.clst; //#17042\n $1.cwtobits(); //#17042\n $aload($k[--$j]); //#17042\n $k[$j++] = ($f($f($1.i + $1.rapr) - 1)) % 52; //#17043\n $k[$j++] = 0; //#17043\n $1.raptobits(); //#17043\n $aload($k[--$j]); //#17043\n } //#17043\n $k[$j++] = 1; //#17045\n var _I9 = $a(); //#17045\n var _IA = $k[--$j]; //#17046\n $puti($k[--$j], _IA, _I9); //#17046\n } //#17046\n var _IJ = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.rwid],\n [\"pixy\", $1.r],\n [\"height\", ($1.r / 72) * $1.rowmult],\n [\"width\", $1.rwid / 72],\n [\"opt\", $1.options]\n ]); //#17057\n $k[$j++] = _IJ; //#17060\n if (!$1.dontdraw) { //#17060\n bwipp_renmatrix(); //#17060\n } //#17060\n}\n\nfunction bwipp_datamatrix() {\n var $1 = {}; //#17090\n $1.options = $k[--$j]; //#17092\n $1.barcode = $k[--$j]; //#17093\n $1.dontdraw = false; //#17095\n $1.columns = 0; //#17096\n $1.rows = 0; //#17097\n $1.format = \"square\"; //#17098\n $1.version = \"unset\"; //#17099\n $1.parse = false; //#17100\n $1.parsefnc = false; //#17101\n $1.encoding = \"auto\"; //#17102\n $1.mailmark = false; //#17103\n $1.raw = false; //#17104\n $1.dmre = false; //#17105\n $1.dindmre = false; //#17106\n $1.isodmre = false; //#17107\n $forall($1.options, function() { //#17118\n var _3 = $k[--$j]; //#17118\n $1[$k[--$j]] = _3; //#17118\n }); //#17118\n if ($ne($1.version, \"unset\")) { //#17124\n $search($1.version, \"x\"); //#17121\n $j--; //#17122\n $1.rows = $k[--$j]; //#17122\n $j--; //#17123\n $1.columns = $k[--$j]; //#17123\n } //#17123\n $1.columns = ~~$z($1.columns); //#17126\n $1.rows = ~~$z($1.rows); //#17127\n $1.isodmre = $1.dmre; //#17129\n $k[$j++] = Infinity; //#17186\n $k[$j++] = $a([10, 10, 1, 1, 5, 1]); //#17162\n $k[$j++] = $a([12, 12, 1, 1, 7, 1]); //#17162\n $k[$j++] = $a([14, 14, 1, 1, 10, 1]); //#17162\n $k[$j++] = $a([16, 16, 1, 1, 12, 1]); //#17162\n $k[$j++] = $a([18, 18, 1, 1, 14, 1]); //#17162\n $k[$j++] = $a([20, 20, 1, 1, 18, 1]); //#17162\n $k[$j++] = $a([22, 22, 1, 1, 20, 1]); //#17162\n $k[$j++] = $a([24, 24, 1, 1, 24, 1]); //#17162\n $k[$j++] = $a([26, 26, 1, 1, 28, 1]); //#17162\n $k[$j++] = $a([32, 32, 2, 2, 36, 1]); //#17162\n $k[$j++] = $a([36, 36, 2, 2, 42, 1]); //#17162\n $k[$j++] = $a([40, 40, 2, 2, 48, 1]); //#17162\n $k[$j++] = $a([44, 44, 2, 2, 56, 1]); //#17162\n $k[$j++] = $a([48, 48, 2, 2, 68, 1]); //#17162\n $k[$j++] = $a([52, 52, 2, 2, 84, 2]); //#17162\n $k[$j++] = $a([64, 64, 4, 4, 112, 2]); //#17162\n $k[$j++] = $a([72, 72, 4, 4, 144, 4]); //#17162\n $k[$j++] = $a([80, 80, 4, 4, 192, 4]); //#17162\n $k[$j++] = $a([88, 88, 4, 4, 224, 4]); //#17162\n $k[$j++] = $a([96, 96, 4, 4, 272, 4]); //#17162\n $k[$j++] = $a([104, 104, 4, 4, 336, 6]); //#17162\n $k[$j++] = $a([120, 120, 6, 6, 408, 6]); //#17162\n $k[$j++] = $a([132, 132, 6, 6, 496, 8]); //#17162\n $k[$j++] = $a([144, 144, 6, 6, 620, 10]); //#17162\n $k[$j++] = $a([8, 18, 1, 1, 7, 1]); //#17162\n $k[$j++] = $a([8, 32, 1, 2, 11, 1]); //#17162\n if ($1.dindmre || $1.isodmre) { //#17162\n $k[$j++] = $a([8, 48, 1, 2, 15, 1]); //#17162\n } //#17162\n if ($1.dindmre || $1.isodmre) { //#17163\n $k[$j++] = $a([8, 64, 1, 4, 18, 1]); //#17163\n } //#17163\n if ($1.isodmre) { //#17164\n $k[$j++] = $a([8, 80, 1, 4, 22, 1]); //#17164\n } //#17164\n if ($1.isodmre) { //#17165\n $k[$j++] = $a([8, 96, 1, 4, 28, 1]); //#17165\n } //#17165\n if ($1.isodmre) { //#17166\n $k[$j++] = $a([8, 120, 1, 6, 32, 1]); //#17166\n } //#17166\n if ($1.isodmre) { //#17167\n $k[$j++] = $a([8, 144, 1, 6, 36, 1]); //#17167\n } //#17167\n $k[$j++] = $a([12, 26, 1, 1, 14, 1]); //#17170\n $k[$j++] = $a([12, 36, 1, 2, 18, 1]); //#17170\n if ($1.dindmre || $1.isodmre) { //#17170\n $k[$j++] = $a([12, 64, 1, 4, 27, 1]); //#17170\n } //#17170\n if ($1.isodmre) { //#17171\n $k[$j++] = $a([12, 88, 1, 4, 36, 1]); //#17171\n } //#17171\n $k[$j++] = $a([16, 36, 1, 2, 24, 1]); //#17174\n $k[$j++] = $a([16, 48, 1, 2, 28, 1]); //#17174\n if ($1.dindmre || $1.isodmre) { //#17174\n $k[$j++] = $a([16, 64, 1, 4, 36, 1]); //#17174\n } //#17174\n if ($1.isodmre) { //#17175\n $k[$j++] = $a([20, 36, 1, 2, 28, 1]); //#17175\n } //#17175\n if ($1.isodmre) { //#17176\n $k[$j++] = $a([20, 44, 1, 2, 34, 1]); //#17176\n } //#17176\n if ($1.isodmre) { //#17177\n $k[$j++] = $a([20, 64, 1, 4, 42, 1]); //#17177\n } //#17177\n if ($1.isodmre) { //#17178\n $k[$j++] = $a([22, 48, 1, 2, 38, 1]); //#17178\n } //#17178\n if ($1.dindmre) { //#17179\n $k[$j++] = $a([24, 32, 1, 2, 28, 1]); //#17179\n } //#17179\n if ($1.dindmre) { //#17180\n $k[$j++] = $a([24, 36, 1, 2, 33, 1]); //#17180\n } //#17180\n if ($1.dindmre || $1.isodmre) { //#17181\n $k[$j++] = $a([24, 48, 1, 2, 41, 1]); //#17181\n } //#17181\n if ($1.dindmre || $1.isodmre) { //#17182\n $k[$j++] = $a([24, 64, 1, 4, 46, 1]); //#17182\n } //#17182\n if ($1.dindmre) { //#17183\n $k[$j++] = $a([26, 32, 1, 2, 32, 1]); //#17183\n } //#17183\n if ($1.dindmre || $1.isodmre) { //#17184\n $k[$j++] = $a([26, 40, 1, 2, 38, 1]); //#17184\n } //#17184\n if ($1.dindmre || $1.isodmre) { //#17185\n $k[$j++] = $a([26, 48, 1, 2, 42, 1]); //#17185\n } //#17185\n if ($1.dindmre || $1.isodmre) { //#17186\n $k[$j++] = $a([26, 64, 1, 4, 50, 1]); //#17186\n } //#17186\n $1.metrics = $a(); //#17186\n $1.urows = $1.rows; //#17190\n $1.ucols = $1.columns; //#17191\n $1.fullcws = $a([]); //#17192\n var _1Z = $1.metrics; //#17193\n for (var _1a = 0, _1b = _1Z.length; _1a < _1b; _1a++) { //#17210\n $1.m = $get(_1Z, _1a); //#17194\n $1.rows = $get($1.m, 0); //#17195\n $1.cols = $get($1.m, 1); //#17196\n $1.regh = $get($1.m, 2); //#17197\n $1.regv = $get($1.m, 3); //#17198\n $1.rscw = $get($1.m, 4); //#17199\n $1.rsbl = $get($1.m, 5); //#17200\n $1.mrows = $f($1.rows - (2 * $1.regh)); //#17201\n $1.mcols = $f($1.cols - (2 * $1.regv)); //#17202\n $1.ncws = $f((~~(($1.mrows * $1.mcols) / 8)) - $1.rscw); //#17203\n $1.okay = true; //#17204\n if (($1.urows != 0) && ($1.urows != $1.rows)) { //#17205\n $1.okay = false; //#17205\n } //#17205\n if (($1.ucols != 0) && ($1.ucols != $1.cols)) { //#17206\n $1.okay = false; //#17206\n } //#17206\n if ($eq($1.format, \"square\") && $ne($1.rows, $1.cols)) { //#17207\n $1.okay = false; //#17207\n } //#17207\n if ($eq($1.format, \"rectangle\") && $eq($1.rows, $1.cols)) { //#17208\n $1.okay = false; //#17208\n } //#17208\n if ($1.okay) { //#17209\n $k[$j++] = Infinity; //#17209\n $aload($1.fullcws); //#17209\n $k[$j++] = $1.ncws; //#17209\n $1.fullcws = $a(); //#17209\n } //#17209\n } //#17209\n $k[$j++] = Infinity; //#17211\n for (var _2C = 0, _2D = 1558; _2C < _2D; _2C++) { //#17211\n $k[$j++] = 10000; //#17211\n } //#17211\n $1.numremcws = $a(); //#17211\n var _2F = $1.fullcws; //#17212\n for (var _2G = 0, _2H = _2F.length; _2G < _2H; _2G++) { //#17212\n $put($1.numremcws, $f($get(_2F, _2G) - 1), 1); //#17212\n } //#17212\n for (var _2K = 1556; _2K >= 0; _2K -= 1) { //#17218\n $1.i = _2K; //#17214\n if ($get($1.numremcws, $1.i) != 1) { //#17217\n $put($1.numremcws, $1.i, $f($get($1.numremcws, $1.i + 1) + 1)); //#17216\n } //#17216\n } //#17216\n if ($1.raw) { //#17220\n $1.encoding = \"raw\"; //#17220\n } //#17220\n if ($eq($1.encoding, \"raw\")) { //#17233\n $1.cws = $a($1.barcode.length); //#17223\n $1.i = 0; //#17224\n $1.j = 0; //#17224\n for (;;) { //#17231\n if ($1.i == $1.barcode.length) { //#17226\n break; //#17226\n } //#17226\n $1.cw = ~~$z($geti($1.barcode, $1.i + 1, 3)); //#17227\n $put($1.cws, $1.j, $1.cw); //#17228\n $1.i = $1.i + 4; //#17229\n $1.j = $1.j + 1; //#17230\n } //#17230\n $1.cws = $geti($1.cws, 0, $1.j); //#17232\n } //#17232\n if ($eq($1.encoding, \"auto\")) { //#17733\n $1.fnc1 = -1; //#17238\n $1.prog = -2; //#17238\n $1.m05 = -3; //#17238\n $1.m06 = -4; //#17238\n $1.lC = -5; //#17239\n $1.lB = -6; //#17239\n $1.lX = -7; //#17239\n $1.lT = -8; //#17239\n $1.lE = -9; //#17239\n $1.unl = -10; //#17239\n $1.sapp = -11; //#17240\n $1.usft = -12; //#17240\n $1.sft1 = -13; //#17240\n $1.sft2 = -14; //#17240\n $1.sft3 = -15; //#17240\n $1.eci = -16; //#17240\n $1.pad = -17; //#17240\n $1.unlcw = 254; //#17241\n var _2p = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true],\n [\"FNC1\", $1.fnc1],\n [\"PROG\", $1.prog]\n ]); //#17249\n $1.fncvals = _2p; //#17252\n $k[$j++] = 'msg'; //#17253\n $k[$j++] = $1.barcode; //#17253\n $k[$j++] = $1.fncvals; //#17253\n bwipp_parseinput(); //#17253\n var _2s = $k[--$j]; //#17253\n $1[$k[--$j]] = _2s; //#17253\n $1.msglen = $1.msg.length; //#17254\n if ($1.msglen >= 9) { //#17271\n $aload($geti($1.msg, 0, 7)); //#17258\n var _2y = $k[--$j]; //#17259\n var _2z = $k[--$j]; //#17259\n $k[$j++] = _2y == 29; //#17259\n $k[$j++] = _2z; //#17259\n $j--; //#17259\n var _30 = $k[--$j]; //#17259\n var _31 = $k[--$j]; //#17259\n var _32 = $k[--$j]; //#17259\n var _33 = $k[--$j]; //#17260\n var _34 = $k[--$j]; //#17260\n var _35 = $k[--$j]; //#17260\n if (((((_30 && (_31 == 48)) && (_32 == 30)) && (_33 == 62)) && (_34 == 41)) && (_35 == 91)) { //#17270\n $aload($geti($1.msg, $1.msglen - 2, 2)); //#17261\n var _39 = $k[--$j]; //#17262\n var _3A = $k[--$j]; //#17262\n if ((_39 == 4) && (_3A == 30)) { //#17269\n if ($get($1.msg, 5) == 53) { //#17265\n $k[$j++] = Infinity; //#17264\n $k[$j++] = $1.m05; //#17264\n $aload($geti($1.msg, 7, $1.msg.length - 9)); //#17264\n $1.msg = $a(); //#17264\n } //#17264\n if ($get($1.msg, 5) == 54) { //#17268\n $k[$j++] = Infinity; //#17267\n $k[$j++] = $1.m06; //#17267\n $aload($geti($1.msg, 7, $1.msg.length - 9)); //#17267\n $1.msg = $a(); //#17267\n } //#17267\n } //#17267\n } //#17267\n } //#17267\n $1.msglen = $1.msg.length; //#17272\n $k[$j++] = Infinity; //#17281\n for (var _3Q = 0; _3Q <= 128; _3Q += 1) { //#17275\n $k[$j++] = _3Q; //#17275\n $k[$j++] = _3Q + 1; //#17275\n } //#17275\n $k[$j++] = $1.pad; //#17280\n $k[$j++] = 129; //#17280\n for (var _3S = 0; _3S <= 99; _3S += 1) { //#17280\n var _3U = $cvrs($s(2), _3S, 10); //#17278\n var _3W = $strcpy($s(2), \"00\"); //#17278\n $puti(_3W, 2 - _3U.length, _3U); //#17278\n $k[$j++] = _3W; //#17279\n $k[$j++] = _3S + 130; //#17279\n } //#17279\n var _3j = $a([$1.lC, $1.lB, $1.fnc1, $1.sapp, $1.prog, $1.usft, $1.m05, $1.m06, $1.lX, $1.lT, $1.lE, $1.eci]); //#17281\n $k[$j++] = 229; //#17281\n for (var _3k = 0, _3l = _3j.length; _3k < _3l; _3k++) { //#17281\n var _3o = $f($k[--$j] + 1); //#17281\n $k[$j++] = $get(_3j, _3k); //#17281\n $k[$j++] = _3o; //#17281\n $k[$j++] = _3o; //#17281\n } //#17281\n $j--; //#17281\n $1.Avals = $d(); //#17282\n $k[$j++] = Infinity; //#17284\n var _3q = $1.Avals; //#17284\n for (var _3v = _3q.size, _3u = _3q.keys(), _3t = 0; _3t < _3v; _3t++) { //#17284\n var _3r = _3u.next().value; //#17284\n $k[$j++] = _3r; //#17284\n $k[$j++] = _3q.get(_3r); //#17284\n $k[$j++] = Infinity; //#17284\n var _3w = $k[--$j]; //#17284\n var _3x = $k[--$j]; //#17284\n $k[$j++] = _3w; //#17284\n $k[$j++] = _3x; //#17284\n var _3y = $a(); //#17284\n $k[$j++] = _3y; //#17284\n } //#17284\n $1.Avals = $d(); //#17285\n $k[$j++] = Infinity; //#17293\n $k[$j++] = $1.sft1; //#17292\n $k[$j++] = 0; //#17292\n $k[$j++] = $1.sft2; //#17292\n $k[$j++] = 1; //#17292\n $k[$j++] = $1.sft3; //#17292\n $k[$j++] = 2; //#17292\n $k[$j++] = 32; //#17292\n $k[$j++] = 3; //#17292\n for (var _43 = 48; _43 <= 57; _43 += 1) { //#17292\n $k[$j++] = _43; //#17292\n $k[$j++] = _43 - 44; //#17292\n } //#17292\n for (var _44 = 65; _44 <= 90; _44 += 1) { //#17293\n $k[$j++] = _44; //#17293\n $k[$j++] = _44 - 51; //#17293\n } //#17293\n $1.CNvals = $d(); //#17294\n $k[$j++] = Infinity; //#17295\n for (var _46 = 0; _46 <= 31; _46 += 1) { //#17295\n $k[$j++] = _46; //#17295\n $k[$j++] = _46; //#17295\n } //#17295\n $1.C1vals = $d(); //#17295\n $k[$j++] = Infinity; //#17301\n for (var _48 = 33; _48 <= 47; _48 += 1) { //#17297\n $k[$j++] = _48; //#17297\n $k[$j++] = _48 - 33; //#17297\n } //#17297\n for (var _49 = 58; _49 <= 64; _49 += 1) { //#17298\n $k[$j++] = _49; //#17298\n $k[$j++] = _49 - 43; //#17298\n } //#17298\n for (var _4A = 91; _4A <= 95; _4A += 1) { //#17299\n $k[$j++] = _4A; //#17299\n $k[$j++] = _4A - 69; //#17299\n } //#17299\n $k[$j++] = $1.fnc1; //#17301\n $k[$j++] = 27; //#17301\n $k[$j++] = $1.usft; //#17301\n $k[$j++] = 30; //#17301\n $1.C2vals = $d(); //#17302\n $k[$j++] = Infinity; //#17303\n for (var _4E = 96; _4E <= 127; _4E += 1) { //#17303\n $k[$j++] = _4E; //#17303\n $k[$j++] = _4E - 96; //#17303\n } //#17303\n $1.C3vals = $d(); //#17303\n $k[$j++] = Infinity; //#17308\n var _4G = $1.CNvals; //#17305\n for (var _4L = _4G.size, _4K = _4G.keys(), _4J = 0; _4J < _4L; _4J++) { //#17305\n var _4H = _4K.next().value; //#17305\n $k[$j++] = _4H; //#17305\n $k[$j++] = _4G.get(_4H); //#17305\n $k[$j++] = Infinity; //#17305\n var _4M = $k[--$j]; //#17305\n var _4N = $k[--$j]; //#17305\n $k[$j++] = _4M; //#17305\n $k[$j++] = _4N; //#17305\n var _4O = $a(); //#17305\n $k[$j++] = _4O; //#17305\n } //#17305\n var _4P = $1.C1vals; //#17306\n for (var _4U = _4P.size, _4T = _4P.keys(), _4S = 0; _4S < _4U; _4S++) { //#17306\n var _4Q = _4T.next().value; //#17306\n $k[$j++] = _4Q; //#17306\n $k[$j++] = _4P.get(_4Q); //#17306\n $k[$j++] = Infinity; //#17306\n var _4V = $k[--$j]; //#17306\n var _4W = $k[--$j]; //#17306\n $k[$j++] = _4V; //#17306\n $k[$j++] = $get($1.CNvals, $1.sft1); //#17306\n $k[$j++] = _4W; //#17306\n var _4a = $a(); //#17306\n $k[$j++] = _4a; //#17306\n } //#17306\n var _4b = $1.C2vals; //#17307\n for (var _4g = _4b.size, _4f = _4b.keys(), _4e = 0; _4e < _4g; _4e++) { //#17307\n var _4c = _4f.next().value; //#17307\n $k[$j++] = _4c; //#17307\n $k[$j++] = _4b.get(_4c); //#17307\n $k[$j++] = Infinity; //#17307\n var _4h = $k[--$j]; //#17307\n var _4i = $k[--$j]; //#17307\n $k[$j++] = _4h; //#17307\n $k[$j++] = $get($1.CNvals, $1.sft2); //#17307\n $k[$j++] = _4i; //#17307\n var _4m = $a(); //#17307\n $k[$j++] = _4m; //#17307\n } //#17307\n var _4n = $1.C3vals; //#17308\n for (var _4s = _4n.size, _4r = _4n.keys(), _4q = 0; _4q < _4s; _4q++) { //#17308\n var _4o = _4r.next().value; //#17308\n $k[$j++] = _4o; //#17308\n $k[$j++] = _4n.get(_4o); //#17308\n $k[$j++] = Infinity; //#17308\n var _4t = $k[--$j]; //#17308\n var _4u = $k[--$j]; //#17308\n $k[$j++] = _4t; //#17308\n $k[$j++] = $get($1.CNvals, $1.sft3); //#17308\n $k[$j++] = _4u; //#17308\n var _4y = $a(); //#17308\n $k[$j++] = _4y; //#17308\n } //#17308\n $1.Cvals = $d(); //#17309\n $k[$j++] = Infinity; //#17317\n $k[$j++] = $1.sft1; //#17316\n $k[$j++] = 0; //#17316\n $k[$j++] = $1.sft2; //#17316\n $k[$j++] = 1; //#17316\n $k[$j++] = $1.sft3; //#17316\n $k[$j++] = 2; //#17316\n $k[$j++] = 32; //#17316\n $k[$j++] = 3; //#17316\n for (var _53 = 48; _53 <= 57; _53 += 1) { //#17316\n $k[$j++] = _53; //#17316\n $k[$j++] = _53 - 44; //#17316\n } //#17316\n for (var _54 = 97; _54 <= 122; _54 += 1) { //#17317\n $k[$j++] = _54; //#17317\n $k[$j++] = _54 - 83; //#17317\n } //#17317\n $1.TNvals = $d(); //#17318\n $k[$j++] = Infinity; //#17319\n for (var _56 = 0; _56 <= 31; _56 += 1) { //#17319\n $k[$j++] = _56; //#17319\n $k[$j++] = _56; //#17319\n } //#17319\n $1.T1vals = $d(); //#17319\n $k[$j++] = Infinity; //#17325\n for (var _58 = 33; _58 <= 47; _58 += 1) { //#17321\n $k[$j++] = _58; //#17321\n $k[$j++] = _58 - 33; //#17321\n } //#17321\n for (var _59 = 58; _59 <= 64; _59 += 1) { //#17322\n $k[$j++] = _59; //#17322\n $k[$j++] = _59 - 43; //#17322\n } //#17322\n for (var _5A = 91; _5A <= 95; _5A += 1) { //#17323\n $k[$j++] = _5A; //#17323\n $k[$j++] = _5A - 69; //#17323\n } //#17323\n $k[$j++] = $1.fnc1; //#17325\n $k[$j++] = 27; //#17325\n $k[$j++] = $1.usft; //#17325\n $k[$j++] = 30; //#17325\n $1.T2vals = $d(); //#17326\n $k[$j++] = Infinity; //#17330\n $k[$j++] = 96; //#17329\n $k[$j++] = 0; //#17329\n for (var _5E = 65; _5E <= 90; _5E += 1) { //#17329\n $k[$j++] = _5E; //#17329\n $k[$j++] = _5E - 64; //#17329\n } //#17329\n for (var _5F = 123; _5F <= 127; _5F += 1) { //#17330\n $k[$j++] = _5F; //#17330\n $k[$j++] = _5F - 96; //#17330\n } //#17330\n $1.T3vals = $d(); //#17331\n $k[$j++] = Infinity; //#17336\n var _5H = $1.TNvals; //#17333\n for (var _5M = _5H.size, _5L = _5H.keys(), _5K = 0; _5K < _5M; _5K++) { //#17333\n var _5I = _5L.next().value; //#17333\n $k[$j++] = _5I; //#17333\n $k[$j++] = _5H.get(_5I); //#17333\n $k[$j++] = Infinity; //#17333\n var _5N = $k[--$j]; //#17333\n var _5O = $k[--$j]; //#17333\n $k[$j++] = _5N; //#17333\n $k[$j++] = _5O; //#17333\n var _5P = $a(); //#17333\n $k[$j++] = _5P; //#17333\n } //#17333\n var _5Q = $1.T1vals; //#17334\n for (var _5V = _5Q.size, _5U = _5Q.keys(), _5T = 0; _5T < _5V; _5T++) { //#17334\n var _5R = _5U.next().value; //#17334\n $k[$j++] = _5R; //#17334\n $k[$j++] = _5Q.get(_5R); //#17334\n $k[$j++] = Infinity; //#17334\n var _5W = $k[--$j]; //#17334\n var _5X = $k[--$j]; //#17334\n $k[$j++] = _5W; //#17334\n $k[$j++] = $get($1.TNvals, $1.sft1); //#17334\n $k[$j++] = _5X; //#17334\n var _5b = $a(); //#17334\n $k[$j++] = _5b; //#17334\n } //#17334\n var _5c = $1.T2vals; //#17335\n for (var _5h = _5c.size, _5g = _5c.keys(), _5f = 0; _5f < _5h; _5f++) { //#17335\n var _5d = _5g.next().value; //#17335\n $k[$j++] = _5d; //#17335\n $k[$j++] = _5c.get(_5d); //#17335\n $k[$j++] = Infinity; //#17335\n var _5i = $k[--$j]; //#17335\n var _5j = $k[--$j]; //#17335\n $k[$j++] = _5i; //#17335\n $k[$j++] = $get($1.TNvals, $1.sft2); //#17335\n $k[$j++] = _5j; //#17335\n var _5n = $a(); //#17335\n $k[$j++] = _5n; //#17335\n } //#17335\n var _5o = $1.T3vals; //#17336\n for (var _5t = _5o.size, _5s = _5o.keys(), _5r = 0; _5r < _5t; _5r++) { //#17336\n var _5p = _5s.next().value; //#17336\n $k[$j++] = _5p; //#17336\n $k[$j++] = _5o.get(_5p); //#17336\n $k[$j++] = Infinity; //#17336\n var _5u = $k[--$j]; //#17336\n var _5v = $k[--$j]; //#17336\n $k[$j++] = _5u; //#17336\n $k[$j++] = $get($1.TNvals, $1.sft3); //#17336\n $k[$j++] = _5v; //#17336\n var _5z = $a(); //#17336\n $k[$j++] = _5z; //#17336\n } //#17336\n $1.Tvals = $d(); //#17337\n for (var _61 = 128; _61 <= 255; _61 += 1) { //#17345\n $1.i = _61; //#17341\n $k[$j++] = $1.Avals; //#17342\n $k[$j++] = $1.i; //#17342\n $k[$j++] = Infinity; //#17342\n $aload($get($1.Avals, $1.usft)); //#17342\n $aload($get($1.Avals, $1.i - 128)); //#17342\n var _6A = $a(); //#17342\n var _6B = $k[--$j]; //#17342\n $put($k[--$j], _6B, _6A); //#17342\n $k[$j++] = $1.Cvals; //#17343\n $k[$j++] = $1.i; //#17343\n $k[$j++] = Infinity; //#17343\n $aload($get($1.Cvals, $1.usft)); //#17343\n $aload($get($1.Cvals, $1.i - 128)); //#17343\n var _6L = $a(); //#17343\n var _6M = $k[--$j]; //#17343\n $put($k[--$j], _6M, _6L); //#17343\n $k[$j++] = $1.Tvals; //#17344\n $k[$j++] = $1.i; //#17344\n $k[$j++] = Infinity; //#17344\n $aload($get($1.Tvals, $1.usft)); //#17344\n $aload($get($1.Tvals, $1.i - 128)); //#17344\n var _6W = $a(); //#17344\n var _6X = $k[--$j]; //#17344\n $put($k[--$j], _6X, _6W); //#17344\n } //#17344\n $k[$j++] = Infinity; //#17353\n $k[$j++] = 13; //#17352\n $k[$j++] = 0; //#17352\n $k[$j++] = 42; //#17352\n $k[$j++] = 1; //#17352\n $k[$j++] = 62; //#17352\n $k[$j++] = 2; //#17352\n $k[$j++] = 32; //#17352\n $k[$j++] = 3; //#17352\n for (var _6Z = 48; _6Z <= 57; _6Z += 1) { //#17352\n $k[$j++] = _6Z; //#17352\n $k[$j++] = _6Z - 44; //#17352\n } //#17352\n for (var _6a = 65; _6a <= 90; _6a += 1) { //#17353\n $k[$j++] = _6a; //#17353\n $k[$j++] = _6a - 51; //#17353\n } //#17353\n $1.Xvals = $d(); //#17354\n $k[$j++] = Infinity; //#17356\n var _6c = $1.Xvals; //#17356\n for (var _6h = _6c.size, _6g = _6c.keys(), _6f = 0; _6f < _6h; _6f++) { //#17356\n var _6d = _6g.next().value; //#17356\n $k[$j++] = _6d; //#17356\n $k[$j++] = _6c.get(_6d); //#17356\n $k[$j++] = Infinity; //#17356\n var _6i = $k[--$j]; //#17356\n var _6j = $k[--$j]; //#17356\n $k[$j++] = _6i; //#17356\n $k[$j++] = _6j; //#17356\n var _6k = $a(); //#17356\n $k[$j++] = _6k; //#17356\n } //#17356\n $1.Xvals = $d(); //#17357\n $k[$j++] = Infinity; //#17362\n for (var _6m = 64; _6m <= 94; _6m += 1) { //#17360\n $k[$j++] = _6m; //#17360\n $k[$j++] = _6m - 64; //#17360\n } //#17360\n $k[$j++] = $1.unl; //#17362\n $k[$j++] = 31; //#17362\n for (var _6o = 32; _6o <= 63; _6o += 1) { //#17362\n $k[$j++] = _6o; //#17362\n $k[$j++] = _6o; //#17362\n } //#17362\n $1.Evals = $d(); //#17363\n $k[$j++] = Infinity; //#17365\n var _6q = $1.Evals; //#17365\n for (var _6v = _6q.size, _6u = _6q.keys(), _6t = 0; _6t < _6v; _6t++) { //#17365\n var _6r = _6u.next().value; //#17365\n $k[$j++] = _6r; //#17365\n $k[$j++] = _6q.get(_6r); //#17365\n $k[$j++] = Infinity; //#17365\n var _6w = $k[--$j]; //#17365\n var _6x = $k[--$j]; //#17365\n $k[$j++] = _6w; //#17365\n $k[$j++] = _6x; //#17365\n var _6y = $a(); //#17365\n $k[$j++] = _6y; //#17365\n } //#17365\n $1.Evals = $d(); //#17366\n $k[$j++] = Infinity; //#17369\n for (var _70 = 0; _70 <= 255; _70 += 1) { //#17369\n $k[$j++] = _70; //#17369\n $k[$j++] = _70; //#17369\n } //#17369\n $1.Bvals = $d(); //#17370\n $k[$j++] = Infinity; //#17372\n var _72 = $1.Bvals; //#17372\n for (var _77 = _72.size, _76 = _72.keys(), _75 = 0; _75 < _77; _75++) { //#17372\n var _73 = _76.next().value; //#17372\n $k[$j++] = _73; //#17372\n $k[$j++] = _72.get(_73); //#17372\n $k[$j++] = Infinity; //#17372\n var _78 = $k[--$j]; //#17372\n var _79 = $k[--$j]; //#17372\n $k[$j++] = _78; //#17372\n $k[$j++] = _79; //#17372\n var _7A = $a(); //#17372\n $k[$j++] = _7A; //#17372\n } //#17372\n $1.Bvals = $d(); //#17373\n $1.encvals = $a([$1.Avals, $1.Cvals, $1.Tvals, $1.Xvals, $1.Evals, $1.Bvals]); //#17375\n $k[$j++] = Infinity; //#17377\n for (var _7K = 0, _7L = $1.msglen; _7K < _7L; _7K++) { //#17377\n $k[$j++] = 0; //#17377\n } //#17377\n $k[$j++] = 0; //#17377\n $1.numD = $a(); //#17377\n $k[$j++] = Infinity; //#17378\n for (var _7O = 0, _7P = $1.msglen; _7O < _7P; _7O++) { //#17378\n $k[$j++] = 0; //#17378\n } //#17378\n $k[$j++] = 9999; //#17378\n $1.nextXterm = $a(); //#17378\n $k[$j++] = Infinity; //#17379\n for (var _7S = 0, _7T = $1.msglen; _7S < _7T; _7S++) { //#17379\n $k[$j++] = 0; //#17379\n } //#17379\n $k[$j++] = 9999; //#17379\n $1.nextNonX = $a(); //#17379\n $k[$j++] = Infinity; //#17380\n for (var _7W = 0, _7X = $1.msglen; _7W < _7X; _7W++) { //#17380\n $k[$j++] = false; //#17380\n } //#17380\n $k[$j++] = false; //#17380\n $1.isECI = $a(); //#17380\n for (var _7a = $1.msglen - 1; _7a >= 0; _7a -= 1) { //#17398\n $1.i = _7a; //#17382\n $1.barchar = $get($1.msg, $1.i); //#17383\n if (($1.barchar >= 48) && ($1.barchar <= 57)) { //#17386\n $put($1.numD, $1.i, $f($get($1.numD, $1.i + 1) + 1)); //#17385\n } //#17385\n if ((($1.barchar == 13) || ($1.barchar == 42)) || ($1.barchar == 62)) { //#17390\n $put($1.nextXterm, $1.i, 0); //#17388\n } else { //#17390\n $put($1.nextXterm, $1.i, $f($get($1.nextXterm, $1.i + 1) + 1)); //#17390\n } //#17390\n var _7x = $get($1.Xvals, $1.barchar) !== undefined; //#17392\n if (!_7x) { //#17395\n $put($1.nextNonX, $1.i, 0); //#17393\n } else { //#17395\n $put($1.nextNonX, $1.i, $f($get($1.nextNonX, $1.i + 1) + 1)); //#17395\n } //#17395\n $put($1.isECI, $1.i, $1.barchar <= -1000000); //#17397\n } //#17397\n $k[$j++] = Infinity; //#17399\n var _88 = $1.nextXterm; //#17399\n for (var _89 = 0, _8A = _88.length; _89 < _8A; _89++) { //#17399\n var _8B = $get(_88, _89); //#17399\n $k[$j++] = _8B; //#17399\n if (_8B > 10000) { //#17399\n $j--; //#17399\n $k[$j++] = 10000; //#17399\n } //#17399\n } //#17399\n $1.nextXterm = $a(); //#17399\n $k[$j++] = Infinity; //#17400\n var _8D = $1.nextNonX; //#17400\n for (var _8E = 0, _8F = _8D.length; _8E < _8F; _8E++) { //#17400\n var _8G = $get(_8D, _8E); //#17400\n $k[$j++] = _8G; //#17400\n if (_8G > 10000) { //#17400\n $j--; //#17400\n $k[$j++] = 10000; //#17400\n } //#17400\n } //#17400\n $1.nextNonX = $a(); //#17400\n $1.isD = function() {\n $k[$j++] = ($1.char >= 48) && ($1.char <= 57); //#17402\n }; //#17402\n $1.isC = function() {\n var _8M = $get($1.CNvals, $1.char) !== undefined; //#17403\n $k[$j++] = _8M; //#17403\n }; //#17403\n $1.isT = function() {\n var _8P = $get($1.TNvals, $1.char) !== undefined; //#17404\n $k[$j++] = _8P; //#17404\n }; //#17404\n $1.isX = function() {\n var _8S = $get($1.Xvals, $1.char) !== undefined; //#17405\n $k[$j++] = _8S; //#17405\n }; //#17405\n $1.isE = function() {\n var _8V = $get($1.Evals, $1.char) !== undefined; //#17406\n $k[$j++] = _8V; //#17406\n }; //#17406\n $1.isEA = function() {\n $k[$j++] = $1.char > 127; //#17407\n }; //#17407\n $1.isFN = function() {\n $k[$j++] = $1.char < 0; //#17408\n }; //#17408\n $1.XtermFirst = function() {\n var _8Y = $k[--$j]; //#17409\n $k[$j++] = $lt($get($1.nextXterm, _8Y), $get($1.nextNonX, _8Y)); //#17409\n }; //#17409\n $1.A = 0; //#17411\n $1.C = 1; //#17411\n $1.T = 2; //#17411\n $1.X = 3; //#17411\n $1.E = 4; //#17411\n $1.B = 5; //#17411\n $1.lookup = function() {\n $1.ac = 1; //#17414\n $1.cc = 2; //#17414\n $1.tc = 2; //#17414\n $1.xc = 2; //#17414\n $1.ec = 2; //#17414\n $1.bc = 2.25; //#17414\n if ($1.mode == $1.A) { //#17415\n $1.ac = 0; //#17415\n $1.cc = 1; //#17415\n $1.tc = 1; //#17415\n $1.xc = 1; //#17415\n $1.ec = 1; //#17415\n $1.bc = 1.25; //#17415\n } //#17415\n if ($1.mode == $1.C) { //#17416\n $1.cc = 0; //#17416\n } //#17416\n if ($1.mode == $1.T) { //#17417\n $1.tc = 0; //#17417\n } //#17417\n if ($1.mode == $1.X) { //#17418\n $1.xc = 0; //#17418\n } //#17418\n if ($1.mode == $1.E) { //#17419\n $1.ec = 0; //#17419\n } //#17419\n if ($1.mode == $1.B) { //#17420\n $1.bc = 0; //#17420\n } //#17420\n for (var _8p = 0, _8q = 1; _8p < _8q; _8p++) { //#17455\n if ($get($1.isECI, $1.i)) { //#17422\n $k[$j++] = $1.A; //#17422\n break; //#17422\n } //#17422\n if ($1.mailmark && ($1.i < 45)) { //#17423\n $k[$j++] = $1.C; //#17423\n break; //#17423\n } //#17423\n $1.k = 0; //#17424\n for (;;) { //#17454\n if (($1.i + $1.k) == $1.msglen) { //#17433\n var _91 = $a(['ac', 'cc', 'tc', 'xc', 'ec', 'bc']); //#17426\n for (var _92 = 0, _93 = _91.length; _92 < _93; _92++) { //#17426\n var _94 = $get(_91, _92); //#17426\n $1[_94] = Math.ceil($1[_94]); //#17426\n } //#17426\n var _9B = $a([$1.cc, $1.tc, $1.xc, $1.ec, $1.bc]); //#17427\n $k[$j++] = true; //#17427\n for (var _9C = 0, _9D = _9B.length; _9C < _9D; _9C++) { //#17427\n var _9G = $k[--$j]; //#17427\n $k[$j++] = _9G && ($1.ac <= $get(_9B, _9C)); //#17427\n } //#17427\n if ($k[--$j]) { //#17427\n $k[$j++] = $1.A; //#17427\n break; //#17427\n } //#17427\n var _9O = $a([$1.ac, $1.cc, $1.tc, $1.xc, $1.ec]); //#17428\n $k[$j++] = true; //#17428\n for (var _9P = 0, _9Q = _9O.length; _9P < _9Q; _9P++) { //#17428\n var _9T = $k[--$j]; //#17428\n $k[$j++] = _9T && ($1.bc < $get(_9O, _9P)); //#17428\n } //#17428\n if ($k[--$j]) { //#17428\n $k[$j++] = $1.B; //#17428\n break; //#17428\n } //#17428\n var _9b = $a([$1.ac, $1.cc, $1.tc, $1.xc, $1.bc]); //#17429\n $k[$j++] = true; //#17429\n for (var _9c = 0, _9d = _9b.length; _9c < _9d; _9c++) { //#17429\n var _9g = $k[--$j]; //#17429\n $k[$j++] = _9g && ($1.ec < $get(_9b, _9c)); //#17429\n } //#17429\n if ($k[--$j]) { //#17429\n $k[$j++] = $1.E; //#17429\n break; //#17429\n } //#17429\n var _9o = $a([$1.ac, $1.cc, $1.xc, $1.ec, $1.bc]); //#17430\n $k[$j++] = true; //#17430\n for (var _9p = 0, _9q = _9o.length; _9p < _9q; _9p++) { //#17430\n var _9t = $k[--$j]; //#17430\n $k[$j++] = _9t && ($1.tc < $get(_9o, _9p)); //#17430\n } //#17430\n if ($k[--$j]) { //#17430\n $k[$j++] = $1.T; //#17430\n break; //#17430\n } //#17430\n var _A1 = $a([$1.ac, $1.cc, $1.tc, $1.ec, $1.bc]); //#17431\n $k[$j++] = true; //#17431\n for (var _A2 = 0, _A3 = _A1.length; _A2 < _A3; _A2++) { //#17431\n var _A6 = $k[--$j]; //#17431\n $k[$j++] = _A6 && ($1.xc < $get(_A1, _A2)); //#17431\n } //#17431\n if ($k[--$j]) { //#17431\n $k[$j++] = $1.X; //#17431\n break; //#17431\n } //#17431\n $k[$j++] = $1.C; //#17432\n break; //#17432\n } //#17432\n $1.char = $get($1.msg, $1.i + $1.k); //#17434\n $k[$j++] = 'ac'; //#17435\n $k[$j++] = $1.ac; //#17435\n $1.isD(); //#17435\n if ($k[--$j]) { //#17435\n var _AG = $k[--$j]; //#17435\n $k[$j++] = $f(_AG + (1 / 2)); //#17435\n } else { //#17435\n $1.isEA(); //#17435\n if ($k[--$j]) { //#17435\n var _AI = $k[--$j]; //#17435\n $k[$j++] = Math.ceil(_AI) + 2; //#17435\n } else { //#17435\n var _AJ = $k[--$j]; //#17435\n $k[$j++] = Math.ceil(_AJ) + 1; //#17435\n } //#17435\n } //#17435\n var _AK = $k[--$j]; //#17435\n $1[$k[--$j]] = _AK; //#17435\n $k[$j++] = 'cc'; //#17436\n $k[$j++] = $1.cc; //#17436\n $1.isC(); //#17436\n if ($k[--$j]) { //#17436\n var _AO = $k[--$j]; //#17436\n $k[$j++] = $f(_AO + 0.6666667); //#17436\n } else { //#17436\n $1.isEA(); //#17436\n if ($k[--$j]) { //#17436\n var _AQ = $k[--$j]; //#17436\n $k[$j++] = $f(_AQ + 2.6666667); //#17436\n } else { //#17436\n var _AR = $k[--$j]; //#17436\n $k[$j++] = $f(_AR + 1.3333334); //#17436\n } //#17436\n } //#17436\n var _AS = $k[--$j]; //#17436\n $1[$k[--$j]] = _AS; //#17436\n $k[$j++] = 'tc'; //#17437\n $k[$j++] = $1.tc; //#17437\n $1.isT(); //#17437\n if ($k[--$j]) { //#17437\n var _AW = $k[--$j]; //#17437\n $k[$j++] = $f(_AW + 0.6666667); //#17437\n } else { //#17437\n $1.isEA(); //#17437\n if ($k[--$j]) { //#17437\n var _AY = $k[--$j]; //#17437\n $k[$j++] = $f(_AY + 2.6666667); //#17437\n } else { //#17437\n var _AZ = $k[--$j]; //#17437\n $k[$j++] = $f(_AZ + 1.3333334); //#17437\n } //#17437\n } //#17437\n var _Aa = $k[--$j]; //#17437\n $1[$k[--$j]] = _Aa; //#17437\n $k[$j++] = 'xc'; //#17438\n $k[$j++] = $1.xc; //#17438\n $1.isX(); //#17438\n if ($k[--$j]) { //#17438\n var _Ae = $k[--$j]; //#17438\n $k[$j++] = $f(_Ae + 0.6666667); //#17438\n } else { //#17438\n $1.isEA(); //#17438\n if ($k[--$j]) { //#17438\n var _Ag = $k[--$j]; //#17438\n $k[$j++] = $f(_Ag + 4.3333334); //#17438\n } else { //#17438\n var _Ah = $k[--$j]; //#17438\n $k[$j++] = $f(_Ah + 3.3333334); //#17438\n } //#17438\n } //#17438\n var _Ai = $k[--$j]; //#17438\n $1[$k[--$j]] = _Ai; //#17438\n $k[$j++] = 'ec'; //#17439\n $k[$j++] = $1.ec; //#17439\n $1.isE(); //#17439\n if ($k[--$j]) { //#17439\n var _Am = $k[--$j]; //#17439\n $k[$j++] = $f(_Am + (3 / 4)); //#17439\n } else { //#17439\n $1.isEA(); //#17439\n if ($k[--$j]) { //#17439\n var _Ao = $k[--$j]; //#17439\n $k[$j++] = $f(_Ao + (17 / 4)); //#17439\n } else { //#17439\n var _Ap = $k[--$j]; //#17439\n $k[$j++] = $f(_Ap + (13 / 4)); //#17439\n } //#17439\n } //#17439\n var _Aq = $k[--$j]; //#17439\n $1[$k[--$j]] = _Aq; //#17439\n $k[$j++] = 'bc'; //#17440\n $k[$j++] = $1.bc; //#17440\n $1.isFN(); //#17440\n if ($k[--$j]) { //#17440\n var _Au = $k[--$j]; //#17440\n $k[$j++] = $f(_Au + 4); //#17440\n } else { //#17440\n var _Av = $k[--$j]; //#17440\n $k[$j++] = $f(_Av + 1); //#17440\n } //#17440\n var _Aw = $k[--$j]; //#17440\n $1[$k[--$j]] = _Aw; //#17440\n if ($1.k >= 4) { //#17452\n var _B4 = $a([$1.cc, $1.tc, $1.xc, $1.ec, $1.bc]); //#17442\n $k[$j++] = true; //#17442\n for (var _B5 = 0, _B6 = _B4.length; _B5 < _B6; _B5++) { //#17442\n var _B9 = $k[--$j]; //#17442\n $k[$j++] = _B9 && (($1.ac + 1) <= $get(_B4, _B5)); //#17442\n } //#17442\n if ($k[--$j]) { //#17442\n $k[$j++] = $1.A; //#17442\n break; //#17442\n } //#17442\n if (($1.bc + 1) <= $1.ac) { //#17443\n $k[$j++] = $1.B; //#17443\n break; //#17443\n } //#17443\n var _BJ = $a([$1.cc, $1.tc, $1.xc, $1.ec]); //#17444\n $k[$j++] = true; //#17444\n for (var _BK = 0, _BL = _BJ.length; _BK < _BL; _BK++) { //#17444\n var _BO = $k[--$j]; //#17444\n $k[$j++] = _BO && (($1.bc + 1) < $get(_BJ, _BK)); //#17444\n } //#17444\n if ($k[--$j]) { //#17444\n $k[$j++] = $1.B; //#17444\n break; //#17444\n } //#17444\n var _BW = $a([$1.ac, $1.cc, $1.tc, $1.xc, $1.bc]); //#17445\n $k[$j++] = true; //#17445\n for (var _BX = 0, _BY = _BW.length; _BX < _BY; _BX++) { //#17445\n var _Bb = $k[--$j]; //#17445\n $k[$j++] = _Bb && (($1.ec + 1) < $get(_BW, _BX)); //#17445\n } //#17445\n if ($k[--$j]) { //#17445\n $k[$j++] = $1.E; //#17445\n break; //#17445\n } //#17445\n var _Bj = $a([$1.ac, $1.cc, $1.xc, $1.ec, $1.bc]); //#17446\n $k[$j++] = true; //#17446\n for (var _Bk = 0, _Bl = _Bj.length; _Bk < _Bl; _Bk++) { //#17446\n var _Bo = $k[--$j]; //#17446\n $k[$j++] = _Bo && (($1.tc + 1) < $get(_Bj, _Bk)); //#17446\n } //#17446\n if ($k[--$j]) { //#17446\n $k[$j++] = $1.T; //#17446\n break; //#17446\n } //#17446\n var _Bw = $a([$1.ac, $1.cc, $1.tc, $1.ec, $1.bc]); //#17447\n $k[$j++] = true; //#17447\n for (var _Bx = 0, _By = _Bw.length; _Bx < _By; _Bx++) { //#17447\n var _C1 = $k[--$j]; //#17447\n $k[$j++] = _C1 && (($1.xc + 1) < $get(_Bw, _Bx)); //#17447\n } //#17447\n if ($k[--$j]) { //#17447\n $k[$j++] = $1.X; //#17447\n break; //#17447\n } //#17447\n var _C8 = $a([$1.ac, $1.tc, $1.ec, $1.bc]); //#17448\n $k[$j++] = true; //#17448\n for (var _C9 = 0, _CA = _C8.length; _C9 < _CA; _C9++) { //#17448\n var _CD = $k[--$j]; //#17448\n $k[$j++] = _CD && (($1.cc + 1) < $get(_C8, _C9)); //#17448\n } //#17448\n if ($k[--$j]) { //#17451\n if ($1.cc < $1.xc) { //#17449\n $k[$j++] = $1.C; //#17449\n break; //#17449\n } //#17449\n if ($1.cc == $1.xc) { //#17450\n $k[$j++] = ($1.i + $1.k) + 1; //#17450\n $1.XtermFirst(); //#17450\n if ($k[--$j]) { //#17450\n $k[$j++] = $1.X; //#17450\n break; //#17450\n } else { //#17450\n $k[$j++] = $1.C; //#17450\n break; //#17450\n } //#17450\n } //#17450\n } //#17450\n } //#17450\n $1.k = $1.k + 1; //#17453\n } //#17453\n } //#17453\n }; //#17456\n $1.addtocws = function() {\n var _CQ = $k[--$j]; //#17459\n $puti($1.cws, $1.j, _CQ); //#17459\n $1.j = _CQ.length + $1.j; //#17460\n }; //#17461\n $1.ECItocws = function() {\n var _CV = $f((-$k[--$j]) - 1000000); //#17465\n $k[$j++] = _CV; //#17479\n if (_CV <= 126) { //#17478\n var _CW = $k[--$j]; //#17466\n $k[$j++] = $f(_CW + 1); //#17467\n $astore($a(1)); //#17467\n } else { //#17478\n var _CY = $k[--$j]; //#17468\n $k[$j++] = _CY; //#17479\n if (_CY <= 16382) { //#17478\n var _Ca = $f($k[--$j] - 127); //#17470\n $k[$j++] = (~~(_Ca / 254)) + 128; //#17472\n $k[$j++] = $f((_Ca % 254) + 1); //#17472\n $astore($a(2)); //#17472\n } else { //#17478\n var _Cd = $f($k[--$j] - 16383); //#17475\n $k[$j++] = (~~(_Cd / 64516)) + 192; //#17478\n $k[$j++] = ((~~(_Cd / 254)) % 254) + 1; //#17478\n $k[$j++] = $f((_Cd % 254) + 1); //#17478\n $astore($a(3)); //#17478\n } //#17478\n } //#17478\n }; //#17480\n $1.encA = function() {\n for (var _Cf = 0, _Cg = 1; _Cf < _Cg; _Cf++) { //#17504\n if ($get($1.isECI, $1.i)) { //#17489\n $k[$j++] = $get($1.Avals, $1.eci); //#17485\n $1.addtocws(); //#17485\n $k[$j++] = $get($1.msg, $1.i); //#17486\n $1.ECItocws(); //#17486\n $1.addtocws(); //#17486\n $1.i = $1.i + 1; //#17487\n break; //#17488\n } //#17488\n if ($get($1.numD, $1.i) >= 2) { //#17494\n var _Cu = $s(2); //#17491\n $put(_Cu, 0, $get($1.msg, $1.i)); //#17491\n $put(_Cu, 1, $get($1.msg, $1.i + 1)); //#17491\n $k[$j++] = $get($1.Avals, _Cu); //#17491\n $1.addtocws(); //#17491\n $1.i = $1.i + 2; //#17492\n break; //#17493\n } //#17493\n $k[$j++] = 'newmode'; //#17495\n $1.lookup(); //#17495\n var _D4 = $k[--$j]; //#17495\n $1[$k[--$j]] = _D4; //#17495\n if ($1.newmode != $1.mode) { //#17500\n $k[$j++] = $get($1.Avals, $get($a([-1, $1.lC, $1.lT, $1.lX, $1.lE, $1.lB]), $1.newmode)); //#17497\n $1.addtocws(); //#17497\n $1.mode = $1.newmode; //#17498\n break; //#17499\n } //#17499\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#17501\n $1.addtocws(); //#17501\n $1.i = $1.i + 1; //#17502\n break; //#17503\n } //#17503\n }; //#17505\n $1.CTXvalstocws = function() {\n $1.in = $k[--$j]; //#17508\n $k[$j++] = Infinity; //#17509\n for (var _DS = 0, _DR = $1.in.length - 1; _DS <= _DR; _DS += 3) { //#17513\n var _DU = $geti($1.in, _DS, 3); //#17511\n $k[$j++] = 0; //#17511\n for (var _DV = 0, _DW = _DU.length; _DV < _DW; _DV++) { //#17511\n var _DY = $k[--$j]; //#17511\n $k[$j++] = $f(_DY + $get(_DU, _DV)) * 40; //#17511\n } //#17511\n var _Da = (~~($k[--$j] / 40)) + 1; //#17512\n $k[$j++] = ~~(_Da / 256); //#17512\n $k[$j++] = _Da % 256; //#17512\n } //#17512\n $astore($a($counttomark())); //#17514\n var _Dd = $k[--$j]; //#17514\n var _De = $k[--$j]; //#17514\n $k[$j++] = _Dd; //#17514\n $k[$j++] = _De; //#17514\n $j--; //#17514\n }; //#17515\n $1.encCTX = function() {\n $1.p = 0; //#17518\n $1.ctxvals = $a(2500); //#17519\n $1.done = false; //#17520\n for (;;) { //#17597\n if ($1.i == $1.msglen) { //#17524\n break; //#17524\n } //#17524\n var _Do = $get($get($1.encvals, $1.mode), $get($1.msg, $1.i)) !== undefined; //#17525\n if (!_Do) { //#17525\n break; //#17525\n } //#17525\n if (($1.p % 3) == 0) { //#17592\n $k[$j++] = 'newmode'; //#17527\n $1.lookup(); //#17527\n var _Dq = $k[--$j]; //#17527\n $1[$k[--$j]] = _Dq; //#17527\n if ($ne($1.newmode, $1.mode)) { //#17537\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#17529\n $1.CTXvalstocws(); //#17529\n $1.addtocws(); //#17529\n $k[$j++] = $a([$1.unlcw]); //#17530\n $1.addtocws(); //#17530\n if ($1.newmode != $1.A) { //#17533\n $k[$j++] = $get($1.Avals, $get($a([-1, $1.lC, $1.lT, $1.lX, $1.lE, $1.lB]), $1.newmode)); //#17532\n $1.addtocws(); //#17532\n } //#17532\n $1.mode = $1.newmode; //#17534\n $1.done = true; //#17535\n break; //#17536\n } //#17536\n if (($1.msglen - $1.i) <= 3) { //#17591\n $1.remcws = $get($1.numremcws, $1.j + ((~~($1.p / 3)) * 2)); //#17539\n $k[$j++] = Infinity; //#17545\n var _EM = $geti($1.msg, $1.i, $1.msglen - $1.i); //#17541\n for (var _EN = 0, _EO = _EM.length; _EN < _EO; _EN++) { //#17547\n var _EP = $get(_EM, _EN); //#17547\n var _ET = $get($get($1.encvals, $1.mode), _EP) !== undefined; //#17542\n $k[$j++] = _EP; //#17546\n if (_ET) { //#17545\n $aload($get($get($1.encvals, $1.mode), $k[--$j])); //#17543\n } else { //#17545\n $j--; //#17545\n $k[$j++] = -1; //#17545\n $k[$j++] = -1; //#17545\n $k[$j++] = -1; //#17545\n $k[$j++] = -1; //#17545\n } //#17545\n } //#17545\n $1.remvals = $a(); //#17545\n if (($1.remcws == 2) && ($1.remvals.length == 3)) { //#17559\n $k[$j++] = Infinity; //#17553\n $aload($geti($1.ctxvals, 0, $1.p)); //#17552\n $aload($1.remvals); //#17553\n var _Eg = $a(); //#17553\n $k[$j++] = _Eg; //#17554\n $1.CTXvalstocws(); //#17554\n $1.addtocws(); //#17554\n $1.mode = $1.A; //#17555\n $1.i = $1.msglen; //#17556\n $1.done = true; //#17557\n break; //#17558\n } //#17558\n if ((($1.remcws == 2) && ($1.remvals.length == 2)) && ($1.mode != $1.X)) { //#17571\n $k[$j++] = Infinity; //#17565\n $aload($geti($1.ctxvals, 0, $1.p)); //#17563\n $aload($1.remvals); //#17564\n $aload($get($get($1.encvals, $1.mode), $1.sft1)); //#17565\n var _Ew = $a(); //#17565\n $k[$j++] = _Ew; //#17566\n $1.CTXvalstocws(); //#17566\n $1.addtocws(); //#17566\n $1.mode = $1.A; //#17567\n $1.i = $1.msglen; //#17568\n $1.done = true; //#17569\n break; //#17570\n } //#17570\n if (($1.remcws == 2) && ($1.remvals.length == 1)) { //#17581\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#17574\n $1.CTXvalstocws(); //#17574\n $1.addtocws(); //#17574\n $k[$j++] = $a([$1.unlcw]); //#17575\n $1.addtocws(); //#17575\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#17576\n $1.addtocws(); //#17576\n $1.mode = $1.A; //#17577\n $1.i = $1.msglen; //#17578\n $1.done = true; //#17579\n break; //#17580\n } //#17580\n if (($1.remcws == 1) && ($1.remvals.length == 1)) { //#17590\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#17584\n $1.CTXvalstocws(); //#17584\n $1.addtocws(); //#17584\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#17585\n $1.addtocws(); //#17585\n $1.mode = $1.A; //#17586\n $1.i = $1.msglen; //#17587\n $1.done = true; //#17588\n break; //#17589\n } //#17589\n } //#17589\n } //#17589\n var _FV = $get($get($1.encvals, $1.mode), $get($1.msg, $1.i)); //#17593\n $puti($1.ctxvals, $1.p, _FV); //#17594\n $1.p = _FV.length + $1.p; //#17595\n $1.i = $1.i + 1; //#17596\n } //#17596\n if (!$1.done) { //#17621\n for (;;) { //#17605\n if (($1.p % 3) == 0) { //#17602\n break; //#17602\n } //#17602\n $1.i = $1.i - 1; //#17603\n $1.p = $1.p - $get($get($1.encvals, $1.mode), $get($1.msg, $1.i)).length; //#17604\n } //#17604\n $k[$j++] = Infinity; //#17607\n $aload($geti($1.ctxvals, 0, $1.p)); //#17607\n var _Fo = $a(); //#17607\n $k[$j++] = _Fo; //#17608\n $1.CTXvalstocws(); //#17608\n $1.addtocws(); //#17608\n $k[$j++] = $a([$1.unlcw]); //#17609\n $1.addtocws(); //#17609\n $1.mode = $1.A; //#17610\n if (($1.i != $1.msglen) && $nt($get($1.isECI, $1.i))) { //#17620\n if ($get($1.numD, $1.i) >= 2) { //#17618\n var _G0 = $s(2); //#17614\n $put(_G0, 0, $get($1.msg, $1.i)); //#17614\n $put(_G0, 1, $get($1.msg, $1.i + 1)); //#17614\n $k[$j++] = $get($1.Avals, _G0); //#17614\n $1.addtocws(); //#17614\n $1.i = $1.i + 2; //#17615\n } else { //#17618\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#17617\n $1.addtocws(); //#17617\n $1.i = $1.i + 1; //#17618\n } //#17618\n } //#17618\n } //#17618\n }; //#17623\n $1.Evalstocws = function() {\n $1.in = $k[--$j]; //#17626\n $1.inlen = $1.in.length; //#17627\n $1.outlen = ~~(Math.ceil(($1.in.length / 4) * 3)); //#17628\n $k[$j++] = Infinity; //#17629\n $aload($1.in); //#17629\n $k[$j++] = 0; //#17629\n $k[$j++] = 0; //#17629\n $k[$j++] = 0; //#17629\n $1.in = $a(); //#17629\n $k[$j++] = Infinity; //#17630\n for (var _GN = 0, _GM = $1.inlen - 1; _GN <= _GM; _GN += 4) { //#17636\n var _GP = $geti($1.in, _GN, 4); //#17632\n $k[$j++] = 0; //#17632\n for (var _GQ = 0, _GR = _GP.length; _GQ < _GR; _GQ++) { //#17632\n var _GT = $k[--$j]; //#17632\n $k[$j++] = $or(_GT, $get(_GP, _GQ)) << 6; //#17632\n } //#17632\n var _GV = $k[--$j] >>> 6; //#17633\n $k[$j++] = (_GV >>> 16) & 255; //#17635\n $k[$j++] = (_GV >>> 8) & 255; //#17635\n $k[$j++] = _GV & 255; //#17635\n } //#17635\n $astore($a($counttomark())); //#17637\n var _GY = $k[--$j]; //#17637\n var _GZ = $k[--$j]; //#17637\n $k[$j++] = _GY; //#17637\n $k[$j++] = _GZ; //#17637\n $j--; //#17637\n var _Gc = $geti($k[--$j], 0, $1.outlen); //#17638\n $k[$j++] = _Gc; //#17638\n }; //#17639\n $1.encE = function() {\n $1.p = 0; //#17642\n $1.edifactvals = $a(2100); //#17643\n for (;;) { //#17672\n if ($1.i == $1.msglen) { //#17647\n break; //#17647\n } //#17647\n var _Gk = $get($1.Evals, $get($1.msg, $1.i)) !== undefined; //#17648\n if (!_Gk) { //#17648\n break; //#17648\n } //#17648\n if (($1.p % 4) == 0) { //#17667\n if (($1.msglen - $1.i) <= 2) { //#17665\n $1.remcws = $get($1.numremcws, $1.j + ((~~($1.p / 4)) * 3)); //#17651\n $k[$j++] = Infinity; //#17654\n var _Gw = $geti($1.msg, $1.i, $1.msglen - $1.i); //#17653\n for (var _Gx = 0, _Gy = _Gw.length; _Gx < _Gy; _Gx++) { //#17655\n $aload($get($1.Avals, $get(_Gw, _Gx))); //#17654\n } //#17654\n $1.remvals = $a(); //#17654\n if ((($1.remcws == 1) || ($1.remcws == 2)) && ($1.remvals.length <= $1.remcws)) { //#17664\n $k[$j++] = $geti($1.edifactvals, 0, $1.p); //#17659\n $1.Evalstocws(); //#17659\n $1.addtocws(); //#17659\n $k[$j++] = $1.remvals; //#17660\n $1.addtocws(); //#17660\n $1.mode = $1.A; //#17661\n $1.i = $1.msglen; //#17662\n break; //#17663\n } //#17663\n } //#17663\n $1.lookup(); //#17666\n if ($k[--$j] != $1.mode) { //#17666\n break; //#17666\n } //#17666\n } //#17666\n var _HJ = $get($1.Evals, $get($1.msg, $1.i)); //#17668\n $puti($1.edifactvals, $1.p, _HJ); //#17669\n $1.p = _HJ.length + $1.p; //#17670\n $1.i = $1.i + 1; //#17671\n } //#17671\n if ($1.mode != $1.A) { //#17694\n $1.remcws = $f($get($1.numremcws, ($1.j + ((~~($1.p / 4)) * 3)) - 1) - 1); //#17676\n if (((($1.p % 4) != 0) || ($1.i != $1.msglen)) || ($1.remcws >= 3)) { //#17681\n var _Ha = $get($1.Evals, $1.unl); //#17678\n $puti($1.edifactvals, $1.p, _Ha); //#17679\n $1.p = _Ha.length + $1.p; //#17680\n } //#17680\n $k[$j++] = $geti($1.edifactvals, 0, $1.p); //#17682\n $1.Evalstocws(); //#17682\n $1.addtocws(); //#17682\n $1.mode = $1.A; //#17683\n if (($1.i != $1.msglen) && $nt($get($1.isECI, $1.i))) { //#17693\n if ($get($1.numD, $1.i) >= 2) { //#17691\n var _Hq = $s(2); //#17687\n $put(_Hq, 0, $get($1.msg, $1.i)); //#17687\n $put(_Hq, 1, $get($1.msg, $1.i + 1)); //#17687\n $k[$j++] = $get($1.Avals, _Hq); //#17687\n $1.addtocws(); //#17687\n $1.i = $1.i + 2; //#17688\n } else { //#17691\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#17690\n $1.addtocws(); //#17690\n $1.i = $1.i + 1; //#17691\n } //#17691\n } //#17691\n } //#17691\n }; //#17696\n $1.encB = function() {\n $1.p = 0; //#17699\n $1.bvals = $a(1558); //#17699\n for (;;) { //#17705\n if ($1.i == $1.msglen) { //#17700\n break; //#17700\n } //#17700\n $1.lookup(); //#17701\n if ($k[--$j] != $1.mode) { //#17701\n break; //#17701\n } //#17701\n $put($1.bvals, $1.p, $get($1.msg, $1.i)); //#17702\n $1.p = $1.p + 1; //#17703\n $1.i = $1.i + 1; //#17704\n } //#17704\n $1.remcws = $f($get($1.numremcws, $1.j + $1.p) - 1); //#17706\n $k[$j++] = Infinity; //#17713\n if (($1.remcws == 0) && ($1.i == $1.msglen)) { //#17711\n $k[$j++] = 0; //#17709\n } else { //#17711\n if ($1.p < 250) { //#17711\n $k[$j++] = $1.p; //#17711\n } else { //#17711\n $k[$j++] = (~~($1.p / 250)) + 249; //#17711\n $k[$j++] = $1.p % 250; //#17711\n } //#17711\n } //#17711\n $aload($geti($1.bvals, 0, $1.p)); //#17713\n $1.bvals = $a(); //#17713\n for (var _IZ = 0, _IY = $1.bvals.length - 1; _IZ <= _IY; _IZ += 1) { //#17720\n $1.p = _IZ; //#17716\n var _If = $f(((((($1.j + $1.p) + 1) * 149) % 255) + 1) + $get($1.bvals, $1.p)); //#17718\n $k[$j++] = _If; //#17718\n if (_If >= 256) { //#17718\n var _Ig = $k[--$j]; //#17718\n $k[$j++] = $f(_Ig - 256); //#17718\n } //#17718\n $put($1.bvals, $1.p, $k[--$j]); //#17719\n } //#17719\n $k[$j++] = $1.bvals; //#17721\n $1.addtocws(); //#17721\n $1.mode = $1.A; //#17722\n }; //#17723\n $1.cws = $a(1558); //#17726\n $1.mode = $1.A; //#17727\n $1.i = 0; //#17727\n $1.j = 0; //#17727\n for (;;) { //#17730\n if ($1.i >= $1.msglen) { //#17728\n break; //#17728\n } //#17728\n if ($1[$get($a(['encA', 'encCTX', 'encCTX', 'encCTX', 'encE', 'encB']), $1.mode)]() === true) {\n break;\n } //#17729\n } //#17729\n $1.cws = $geti($1.cws, 0, $1.j); //#17731\n } //#17731\n $1.datlen = $1.cws.length; //#17736\n $1.remcws = $f($get($1.numremcws, $1.j - 1) - 1); //#17737\n if ($1.remcws > 0) { //#17746\n $k[$j++] = Infinity; //#17739\n $aload($1.cws); //#17739\n for (var _J4 = 0, _J5 = $1.remcws; _J4 < _J5; _J4++) { //#17739\n $k[$j++] = 129; //#17739\n } //#17739\n $1.cws = $a(); //#17739\n for (var _JB = $1.datlen + 1, _JA = $f($f($1.datlen + $1.remcws) - 1); _JB <= _JA; _JB += 1) { //#17745\n $1.i = _JB; //#17741\n var _JD = (((($1.i + 1) * 149) % 253) + 1) + 129; //#17743\n $k[$j++] = _JD; //#17743\n if (_JD > 254) { //#17743\n var _JE = $k[--$j]; //#17743\n $k[$j++] = $f(_JE - 254); //#17743\n } //#17743\n $put($1.cws, $1.i, $k[--$j]); //#17744\n } //#17744\n } //#17744\n $1.i = 0; //#17749\n for (;;) { //#17770\n $1.m = $get($1.metrics, $1.i); //#17750\n $1.rows = $get($1.m, 0); //#17751\n $1.cols = $get($1.m, 1); //#17752\n $1.regh = $get($1.m, 2); //#17753\n $1.regv = $get($1.m, 3); //#17754\n $1.rscw = $get($1.m, 4); //#17755\n $1.rsbl = $get($1.m, 5); //#17756\n $1.mrows = $f($1.rows - (2 * $1.regh)); //#17757\n $1.mcols = $f($1.cols - (2 * $1.regv)); //#17758\n $1.rrows = ~~($1.mrows / $1.regh); //#17759\n $1.rcols = ~~($1.mcols / $1.regv); //#17760\n $1.ncws = $f((~~(($1.mrows * $1.mcols) / 8)) - $1.rscw); //#17761\n $1.okay = true; //#17762\n if ($1.cws.length != $1.ncws) { //#17763\n $1.okay = false; //#17763\n } //#17763\n if (($1.urows != 0) && ($1.urows != $1.rows)) { //#17764\n $1.okay = false; //#17764\n } //#17764\n if (($1.ucols != 0) && ($1.ucols != $1.cols)) { //#17765\n $1.okay = false; //#17765\n } //#17765\n if ($eq($1.format, \"square\") && $ne($1.rows, $1.cols)) { //#17766\n $1.okay = false; //#17766\n } //#17766\n if ($eq($1.format, \"rectangle\") && $eq($1.rows, $1.cols)) { //#17767\n $1.okay = false; //#17767\n } //#17767\n if ($1.okay) { //#17768\n break; //#17768\n } //#17768\n $1.i = $1.i + 1; //#17769\n } //#17769\n $1.cwbs = $a($1.rsbl); //#17773\n $1.ecbs = $a($1.rsbl); //#17774\n for (var _K4 = 0, _K3 = $f($1.rsbl - 1); _K4 <= _K3; _K4 += 1) { //#17789\n $1.i = _K4; //#17776\n if ($1.cws.length != 1558) { //#17780\n $1.cwbsize = ~~($1.cws.length / $1.rsbl); //#17778\n } else { //#17780\n if ($1.i <= 7) { //#17780\n $1.cwbsize = 156; //#17780\n } else { //#17780\n $1.cwbsize = 155; //#17780\n } //#17780\n } //#17780\n $1.cwb = $a($1.cwbsize); //#17782\n for (var _KD = 0, _KC = $1.cwbsize - 1; _KD <= _KC; _KD += 1) { //#17786\n $1.j = _KD; //#17784\n $put($1.cwb, $1.j, $get($1.cws, $f(($1.j * $1.rsbl) + $1.i))); //#17785\n } //#17785\n $put($1.cwbs, $1.i, $1.cwb); //#17787\n $k[$j++] = $1.ecbs; //#17788\n $k[$j++] = $1.i; //#17788\n $k[$j++] = Infinity; //#17788\n for (var _KS = 0, _KT = ~~($1.rscw / $1.rsbl); _KS < _KT; _KS++) { //#17788\n $k[$j++] = 0; //#17788\n } //#17788\n var _KU = $a(); //#17788\n var _KV = $k[--$j]; //#17788\n $put($k[--$j], _KV, _KU); //#17788\n } //#17788\n $k[$j++] = Infinity; //#17792\n $k[$j++] = 1; //#17792\n for (var _KX = 0, _KY = 255; _KX < _KY; _KX++) { //#17792\n var _KZ = $k[--$j]; //#17792\n var _Ka = _KZ * 2; //#17792\n $k[$j++] = _KZ; //#17792\n $k[$j++] = _Ka; //#17792\n if (_Ka >= 256) { //#17792\n var _Kb = $k[--$j]; //#17792\n $k[$j++] = _Kb ^ 301; //#17792\n } //#17792\n } //#17792\n $1.rsalog = $a(); //#17792\n $1.rslog = $a(256); //#17793\n for (var _Ke = 1; _Ke <= 255; _Ke += 1) { //#17794\n $put($1.rslog, $get($1.rsalog, _Ke), _Ke); //#17794\n } //#17794\n $1.rsprod = function() {\n var _Ki = $k[--$j]; //#17798\n var _Kj = $k[--$j]; //#17798\n $k[$j++] = _Kj; //#17802\n $k[$j++] = _Ki; //#17802\n if ((_Ki != 0) && (_Kj != 0)) { //#17801\n var _Km = $get($1.rslog, $k[--$j]); //#17799\n var _Kr = $get($1.rsalog, $f(_Km + $get($1.rslog, $k[--$j])) % 255); //#17799\n $k[$j++] = _Kr; //#17799\n } else { //#17801\n $j -= 2; //#17801\n $k[$j++] = 0; //#17801\n } //#17801\n }; //#17803\n $k[$j++] = Infinity; //#17806\n $k[$j++] = 1; //#17806\n for (var _Ku = 0, _Kv = ~~($1.rscw / $1.rsbl); _Ku < _Kv; _Ku++) { //#17806\n $k[$j++] = 0; //#17806\n } //#17806\n $1.coeffs = $a(); //#17806\n for (var _L0 = 1, _Kz = ~~($1.rscw / $1.rsbl); _L0 <= _Kz; _L0 += 1) { //#17815\n $1.i = _L0; //#17808\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#17809\n for (var _L7 = $1.i - 1; _L7 >= 1; _L7 -= 1) { //#17813\n $1.j = _L7; //#17811\n $k[$j++] = $1.coeffs; //#17812\n $k[$j++] = $1.j; //#17812\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#17812\n $k[$j++] = $get($1.coeffs, $1.j); //#17812\n $k[$j++] = $get($1.rsalog, $1.i); //#17812\n $1.rsprod(); //#17812\n var _LJ = $k[--$j]; //#17812\n var _LK = $k[--$j]; //#17812\n var _LL = $k[--$j]; //#17812\n $put($k[--$j], _LL, $xo(_LK, _LJ)); //#17812\n } //#17812\n $k[$j++] = $1.coeffs; //#17814\n $k[$j++] = 0; //#17814\n $k[$j++] = $get($1.coeffs, 0); //#17814\n $k[$j++] = $get($1.rsalog, $1.i); //#17814\n $1.rsprod(); //#17814\n var _LT = $k[--$j]; //#17814\n var _LU = $k[--$j]; //#17814\n $put($k[--$j], _LU, _LT); //#17814\n } //#17814\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#17816\n for (var _Lb = 0, _La = $1.cwbs.length - 1; _Lb <= _La; _Lb += 1) { //#17832\n $1.i = _Lb; //#17820\n $1.cwb = $get($1.cwbs, $1.i); //#17821\n $1.ecb = $get($1.ecbs, $1.i); //#17822\n for (var _Lk = 0, _Lj = $1.cwb.length - 1; _Lk <= _Lj; _Lk += 1) { //#17831\n $1.t = $xo($get($1.cwb, _Lk), $get($1.ecb, 0)); //#17824\n for (var _Lq = $1.ecb.length - 1; _Lq >= 0; _Lq -= 1) { //#17830\n $1.j = _Lq; //#17826\n $1.p = ($1.ecb.length - $1.j) - 1; //#17827\n $k[$j++] = $1.ecb; //#17828\n $k[$j++] = $1.p; //#17828\n $k[$j++] = $1.t; //#17828\n $k[$j++] = $get($1.coeffs, $1.j); //#17828\n $1.rsprod(); //#17828\n var _Lz = $k[--$j]; //#17828\n var _M0 = $k[--$j]; //#17828\n $put($k[--$j], _M0, _Lz); //#17828\n if ($1.j > 0) { //#17829\n $put($1.ecb, $1.p, $xo($get($1.ecb, $1.p + 1), $get($1.ecb, $1.p))); //#17829\n } //#17829\n } //#17829\n } //#17829\n } //#17829\n if ($1.ncws == 1558) { //#17837\n $k[$j++] = Infinity; //#17836\n var _MD = $geti($1.ecbs, 8, 2); //#17836\n for (var _ME = 0, _MF = _MD.length; _ME < _MF; _ME++) { //#17836\n $k[$j++] = $get(_MD, _ME); //#17836\n } //#17836\n var _MI = $geti($1.ecbs, 0, 8); //#17836\n for (var _MJ = 0, _MK = _MI.length; _MJ < _MK; _MJ++) { //#17836\n $k[$j++] = $get(_MI, _MJ); //#17836\n } //#17836\n $1.ecbs = $a(); //#17836\n } //#17836\n $k[$j++] = Infinity; //#17840\n var _MN = $1.cws; //#17840\n for (var _MO = 0, _MP = _MN.length; _MO < _MP; _MO++) { //#17840\n $k[$j++] = $get(_MN, _MO); //#17840\n } //#17840\n for (var _MS = 0, _MT = $1.rscw; _MS < _MT; _MS++) { //#17840\n $k[$j++] = 0; //#17840\n } //#17840\n $1.cws = $a(); //#17840\n for (var _MX = 0, _MW = $f($1.rscw - 1); _MX <= _MW; _MX += 1) { //#17844\n $1.i = _MX; //#17842\n $put($1.cws, $f($1.ncws + $1.i), $get($get($1.ecbs, $1.i % $1.rsbl), ~~($1.i / $1.rsbl))); //#17843\n } //#17843\n $1.module = function() {\n var _Mi = $k[--$j]; //#17849\n var _Mj = $k[--$j]; //#17849\n var _Mk = $k[--$j]; //#17849\n var _Mn = $strcpy($s(8), \"00000000\"); //#17850\n var _Mp = $cvrs($s(8), $k[--$j], 2); //#17850\n $puti(_Mn, 8 - _Mp.length, _Mp); //#17851\n $k[$j++] = _Mk; //#17852\n $k[$j++] = _Mj; //#17852\n $k[$j++] = _Mi; //#17852\n $k[$j++] = _Mn; //#17852\n for (var _Mq = 7; _Mq >= 0; _Mq -= 1) { //#17852\n var _Mr = $k[--$j]; //#17852\n $k[$j++] = $f($get(_Mr, _Mq) - 48); //#17852\n $k[$j++] = _Mr; //#17852\n } //#17852\n $j--; //#17852\n var _Mt = $k[--$j]; //#17853\n var _Mu = $k[--$j]; //#17853\n var _Mv = $k[--$j]; //#17853\n var _Mw = $k[--$j]; //#17853\n var _Mx = $k[--$j]; //#17853\n var _My = $k[--$j]; //#17853\n var _Mz = $k[--$j]; //#17853\n var _N0 = $k[--$j]; //#17853\n var _N1 = $k[--$j]; //#17853\n var _N2 = $k[--$j]; //#17853\n var _N3 = $k[--$j]; //#17853\n $k[$j++] = _N0; //#17870\n $k[$j++] = _Mz; //#17870\n $k[$j++] = _My; //#17870\n $k[$j++] = _Mx; //#17870\n $k[$j++] = _Mw; //#17870\n $k[$j++] = _Mv; //#17870\n $k[$j++] = _Mu; //#17870\n $k[$j++] = _Mt; //#17870\n $k[$j++] = _N3; //#17870\n $k[$j++] = _N2; //#17870\n $forall(_N1, function() { //#17870\n if ($k[--$j]() === true) {\n return true;\n } //#17856\n var _N5 = $k[--$j]; //#17857\n var _N6 = $k[--$j]; //#17857\n $k[$j++] = _N6; //#17860\n $k[$j++] = _N5; //#17860\n if (_N6 < 0) { //#17860\n var _N7 = $k[--$j]; //#17858\n var _N8 = $k[--$j]; //#17858\n $k[$j++] = $f(_N8 + $1.mrows); //#17859\n $k[$j++] = $f(_N7 + ($f(4 - ($f($1.mrows + 4) % 8)))); //#17859\n } //#17859\n var _NB = $k[--$j]; //#17861\n $k[$j++] = _NB; //#17864\n if (_NB < 0) { //#17864\n var _ND = $k[--$j]; //#17862\n var _NE = $k[--$j]; //#17862\n $k[$j++] = $f(_NE + ($f(4 - ($f($1.mcols + 4) % 8)))); //#17863\n $k[$j++] = $f(_ND + $1.mcols); //#17863\n } //#17863\n var _NG = $k[--$j]; //#17865\n var _NH = $k[--$j]; //#17865\n $k[$j++] = _NH; //#17867\n $k[$j++] = _NG; //#17867\n if (_NH >= $1.mrows) { //#17867\n var _NJ = $k[--$j]; //#17866\n var _NK = $k[--$j]; //#17866\n $k[$j++] = $f(_NK - $1.mrows); //#17866\n $k[$j++] = _NJ; //#17866\n } //#17866\n var _NM = $k[--$j]; //#17868\n var _NN = $k[--$j]; //#17868\n var _NQ = $k[--$j]; //#17869\n var _NR = $k[--$j]; //#17869\n $put($1.mmat, $f(_NM + (_NN * $1.mcols)), $k[--$j]); //#17869\n $k[$j++] = _NR; //#17869\n $k[$j++] = _NQ; //#17869\n }); //#17869\n }; //#17871\n var _Nj = $a([function() {\n var _NT = $k[--$j]; //#17875\n var _NU = $k[--$j]; //#17875\n $k[$j++] = _NU; //#17875\n $k[$j++] = _NT; //#17875\n $k[$j++] = $f(_NU - 2); //#17875\n $k[$j++] = $f(_NT - 2); //#17875\n }, function() {\n var _NV = $k[--$j]; //#17875\n var _NW = $k[--$j]; //#17875\n $k[$j++] = _NW; //#17875\n $k[$j++] = _NV; //#17875\n $k[$j++] = $f(_NW - 2); //#17875\n $k[$j++] = $f(_NV - 1); //#17875\n }, function() {\n var _NX = $k[--$j]; //#17876\n var _NY = $k[--$j]; //#17876\n $k[$j++] = _NY; //#17876\n $k[$j++] = _NX; //#17876\n $k[$j++] = $f(_NY - 1); //#17876\n $k[$j++] = $f(_NX - 2); //#17876\n }, function() {\n var _NZ = $k[--$j]; //#17876\n var _Na = $k[--$j]; //#17876\n $k[$j++] = _Na; //#17876\n $k[$j++] = _NZ; //#17876\n $k[$j++] = $f(_Na - 1); //#17876\n $k[$j++] = $f(_NZ - 1); //#17876\n }, function() {\n var _Nb = $k[--$j]; //#17877\n var _Nc = $k[--$j]; //#17877\n $k[$j++] = _Nc; //#17877\n $k[$j++] = _Nb; //#17877\n $k[$j++] = $f(_Nc - 1); //#17877\n $k[$j++] = _Nb; //#17877\n }, function() {\n var _Nd = $k[--$j]; //#17877\n var _Ne = $k[--$j]; //#17877\n $k[$j++] = _Ne; //#17877\n $k[$j++] = _Nd; //#17877\n $k[$j++] = _Ne; //#17877\n $k[$j++] = $f(_Nd - 2); //#17877\n }, function() {\n var _Nf = $k[--$j]; //#17878\n var _Ng = $k[--$j]; //#17878\n $k[$j++] = _Ng; //#17878\n $k[$j++] = _Nf; //#17878\n $k[$j++] = _Ng; //#17878\n $k[$j++] = $f(_Nf - 1); //#17878\n }, function() {\n var _Nh = $k[--$j]; //#17878\n var _Ni = $k[--$j]; //#17878\n $k[$j++] = _Ni; //#17878\n $k[$j++] = _Nh; //#17878\n $k[$j++] = _Ni; //#17878\n $k[$j++] = _Nh; //#17878\n }]); //#17878\n $1.dmn = _Nj; //#17879\n var _Ns = $a([function() {\n $k[$j++] = $f($1.mrows - 1); //#17882\n $k[$j++] = 0; //#17882\n }, function() {\n $k[$j++] = $f($1.mrows - 1); //#17882\n $k[$j++] = 1; //#17882\n }, function() {\n $k[$j++] = $f($1.mrows - 1); //#17883\n $k[$j++] = 2; //#17883\n }, function() {\n $k[$j++] = 0; //#17883\n $k[$j++] = $f($1.mcols - 2); //#17883\n }, function() {\n $k[$j++] = 0; //#17884\n $k[$j++] = $f($1.mcols - 1); //#17884\n }, function() {\n $k[$j++] = 1; //#17884\n $k[$j++] = $f($1.mcols - 1); //#17884\n }, function() {\n $k[$j++] = 2; //#17885\n $k[$j++] = $f($1.mcols - 1); //#17885\n }, function() {\n $k[$j++] = 3; //#17885\n $k[$j++] = $f($1.mcols - 1); //#17885\n }]); //#17885\n $1.dmc1 = _Ns; //#17886\n var _O1 = $a([function() {\n $k[$j++] = $f($1.mrows - 3); //#17889\n $k[$j++] = 0; //#17889\n }, function() {\n $k[$j++] = $f($1.mrows - 2); //#17889\n $k[$j++] = 0; //#17889\n }, function() {\n $k[$j++] = $f($1.mrows - 1); //#17890\n $k[$j++] = 0; //#17890\n }, function() {\n $k[$j++] = 0; //#17890\n $k[$j++] = $f($1.mcols - 4); //#17890\n }, function() {\n $k[$j++] = 0; //#17891\n $k[$j++] = $f($1.mcols - 3); //#17891\n }, function() {\n $k[$j++] = 0; //#17891\n $k[$j++] = $f($1.mcols - 2); //#17891\n }, function() {\n $k[$j++] = 0; //#17892\n $k[$j++] = $f($1.mcols - 1); //#17892\n }, function() {\n $k[$j++] = 1; //#17892\n $k[$j++] = $f($1.mcols - 1); //#17892\n }]); //#17892\n $1.dmc2 = _O1; //#17893\n var _OA = $a([function() {\n $k[$j++] = $f($1.mrows - 3); //#17896\n $k[$j++] = 0; //#17896\n }, function() {\n $k[$j++] = $f($1.mrows - 2); //#17896\n $k[$j++] = 0; //#17896\n }, function() {\n $k[$j++] = $f($1.mrows - 1); //#17897\n $k[$j++] = 0; //#17897\n }, function() {\n $k[$j++] = 0; //#17897\n $k[$j++] = $f($1.mcols - 2); //#17897\n }, function() {\n $k[$j++] = 0; //#17898\n $k[$j++] = $f($1.mcols - 1); //#17898\n }, function() {\n $k[$j++] = 1; //#17898\n $k[$j++] = $f($1.mcols - 1); //#17898\n }, function() {\n $k[$j++] = 2; //#17899\n $k[$j++] = $f($1.mcols - 1); //#17899\n }, function() {\n $k[$j++] = 3; //#17899\n $k[$j++] = $f($1.mcols - 1); //#17899\n }]); //#17899\n $1.dmc3 = _OA; //#17900\n var _OK = $a([function() {\n $k[$j++] = $f($1.mrows - 1); //#17903\n $k[$j++] = 0; //#17903\n }, function() {\n $k[$j++] = $f($1.mrows - 1); //#17903\n $k[$j++] = $f($1.mcols - 1); //#17903\n }, function() {\n $k[$j++] = 0; //#17904\n $k[$j++] = $f($1.mcols - 3); //#17904\n }, function() {\n $k[$j++] = 0; //#17904\n $k[$j++] = $f($1.mcols - 2); //#17904\n }, function() {\n $k[$j++] = 0; //#17905\n $k[$j++] = $f($1.mcols - 1); //#17905\n }, function() {\n $k[$j++] = 1; //#17905\n $k[$j++] = $f($1.mcols - 3); //#17905\n }, function() {\n $k[$j++] = 1; //#17906\n $k[$j++] = $f($1.mcols - 2); //#17906\n }, function() {\n $k[$j++] = 1; //#17906\n $k[$j++] = $f($1.mcols - 1); //#17906\n }]); //#17906\n $1.dmc4 = _OK; //#17907\n $k[$j++] = Infinity; //#17909\n for (var _ON = 0, _OO = $1.mrows * $1.mcols; _ON < _OO; _ON++) { //#17909\n $k[$j++] = -1; //#17909\n } //#17909\n $1.mmat = $a(); //#17909\n for (var _OR = $1.cws.length - 1; _OR >= 0; _OR -= 1) { //#17910\n $k[$j++] = $get($1.cws, _OR); //#17910\n } //#17910\n $k[$j++] = 4; //#17950\n $k[$j++] = 0; //#17950\n for (;;) { //#17950\n var _OU = $k[--$j]; //#17913\n var _OV = $k[--$j]; //#17913\n $k[$j++] = _OV; //#17915\n $k[$j++] = _OU; //#17915\n if ((_OU == 0) && (_OV == $1.mrows)) { //#17915\n $k[$j++] = $1.dmc1; //#17914\n $1.module(); //#17914\n } //#17914\n var _OY = $k[--$j]; //#17916\n var _OZ = $k[--$j]; //#17916\n $k[$j++] = _OZ; //#17918\n $k[$j++] = _OY; //#17918\n if (((_OY == 0) && (_OZ == $f($1.mrows - 2))) && (($1.mcols % 4) != 0)) { //#17918\n $k[$j++] = $1.dmc2; //#17917\n $1.module(); //#17917\n } //#17917\n var _Od = $k[--$j]; //#17919\n var _Oe = $k[--$j]; //#17919\n $k[$j++] = _Oe; //#17921\n $k[$j++] = _Od; //#17921\n if (((_Od == 0) && (_Oe == $f($1.mrows - 2))) && (($1.mcols % 8) == 4)) { //#17921\n $k[$j++] = $1.dmc3; //#17920\n $1.module(); //#17920\n } //#17920\n var _Oi = $k[--$j]; //#17922\n var _Oj = $k[--$j]; //#17922\n $k[$j++] = _Oj; //#17924\n $k[$j++] = _Oi; //#17924\n if (((_Oi == 2) && (_Oj == $f($1.mrows + 4))) && (($1.mcols % 8) == 0)) { //#17924\n $k[$j++] = $1.dmc4; //#17923\n $1.module(); //#17923\n } //#17923\n for (;;) { //#17934\n var _On = $k[--$j]; //#17927\n var _Oo = $k[--$j]; //#17927\n $k[$j++] = _Oo; //#17931\n $k[$j++] = _On; //#17931\n if ((_On >= 0) && (_Oo < $1.mrows)) { //#17931\n var _Oq = $k[--$j]; //#17928\n var _Or = $k[--$j]; //#17928\n $k[$j++] = _Or; //#17930\n $k[$j++] = _Oq; //#17930\n if ($get($1.mmat, $f(_Oq + (_Or * $1.mcols))) == -1) { //#17930\n $k[$j++] = $1.dmn; //#17929\n $1.module(); //#17929\n } //#17929\n } //#17929\n var _Ow = $k[--$j]; //#17932\n var _Ox = $k[--$j]; //#17932\n $k[$j++] = $f(_Ox - 2); //#17933\n $k[$j++] = $f(_Ow + 2); //#17933\n if (!(($f(_Ow + 2) < $1.mcols) && ($f(_Ox - 2) >= 0))) { //#17933\n break; //#17933\n } //#17933\n } //#17933\n var _Oz = $k[--$j]; //#17935\n var _P0 = $k[--$j]; //#17935\n $k[$j++] = $f(_P0 + 1); //#17945\n $k[$j++] = $f(_Oz + 3); //#17945\n for (;;) { //#17945\n var _P1 = $k[--$j]; //#17938\n var _P2 = $k[--$j]; //#17938\n $k[$j++] = _P2; //#17942\n $k[$j++] = _P1; //#17942\n if ((_P1 < $1.mcols) && (_P2 >= 0)) { //#17942\n var _P4 = $k[--$j]; //#17939\n var _P5 = $k[--$j]; //#17939\n $k[$j++] = _P5; //#17941\n $k[$j++] = _P4; //#17941\n if ($get($1.mmat, $f(_P4 + (_P5 * $1.mcols))) == -1) { //#17941\n $k[$j++] = $1.dmn; //#17940\n $1.module(); //#17940\n } //#17940\n } //#17940\n var _PA = $k[--$j]; //#17943\n var _PB = $k[--$j]; //#17943\n $k[$j++] = $f(_PB + 2); //#17944\n $k[$j++] = $f(_PA - 2); //#17944\n if (!(($f(_PA - 2) >= 0) && ($f(_PB + 2) < $1.mrows))) { //#17944\n break; //#17944\n } //#17944\n } //#17944\n var _PD = $k[--$j]; //#17946\n var _PE = $k[--$j]; //#17946\n $k[$j++] = $f(_PE + 3); //#17948\n $k[$j++] = $f(_PD + 1); //#17948\n if (!(($f(_PD + 1) < $1.mcols) || ($f(_PE + 3) < $1.mrows))) { //#17948\n $j -= 2; //#17948\n break; //#17948\n } //#17948\n } //#17948\n if ($get($1.mmat, $f(($1.mrows * $1.mcols) - 1)) == -1) { //#17956\n $puti($1.mmat, $f(($1.mrows * $f($1.mcols - 1)) - 2), $a([1, 0])); //#17954\n $puti($1.mmat, $f(($1.mrows * $1.mcols) - 2), $a([0, 1])); //#17955\n } //#17955\n $1.pixs = $a($1.rows * $1.cols); //#17959\n $1.cwpos = 0; //#17960\n for (var _PY = 0, _PX = $f($1.rows - 1); _PY <= _PX; _PY += 1) { //#17976\n $1.i = _PY; //#17962\n if (($1.i % ($1.rrows + 2)) == 0) { //#17963\n $k[$j++] = $1.pixs; //#17963\n $k[$j++] = $1.i * $1.cols; //#17963\n $k[$j++] = Infinity; //#17963\n for (var _Pf = 0, _Pg = ~~($1.cols / 2); _Pf < _Pg; _Pf++) { //#17963\n $k[$j++] = 1; //#17963\n $k[$j++] = 0; //#17963\n } //#17963\n var _Ph = $a(); //#17963\n var _Pi = $k[--$j]; //#17963\n $puti($k[--$j], _Pi, _Ph); //#17963\n } //#17963\n if (($1.i % ($1.rrows + 2)) == ($1.rrows + 1)) { //#17964\n $k[$j++] = $1.pixs; //#17964\n $k[$j++] = $1.i * $1.cols; //#17964\n $k[$j++] = Infinity; //#17964\n for (var _Pr = 0, _Ps = $1.cols; _Pr < _Ps; _Pr++) { //#17964\n $k[$j++] = 1; //#17964\n } //#17964\n var _Pt = $a(); //#17964\n var _Pu = $k[--$j]; //#17964\n $puti($k[--$j], _Pu, _Pt); //#17964\n } //#17964\n if ((($1.i % ($1.rrows + 2)) != 0) && (($1.i % ($1.rrows + 2)) != ($1.rrows + 1))) { //#17975\n for (var _Q3 = 0, _Q2 = $f($1.cols - 1); _Q3 <= _Q2; _Q3 += 1) { //#17974\n $1.j = _Q3; //#17967\n if (($1.j % ($1.rcols + 2)) == 0) { //#17968\n $put($1.pixs, $f(($1.i * $1.cols) + $1.j), 1); //#17968\n } //#17968\n if (($1.j % ($1.rcols + 2)) == ($1.rcols + 1)) { //#17969\n $put($1.pixs, $f(($1.i * $1.cols) + $1.j), $1.i % 2); //#17969\n } //#17969\n if ((($1.j % ($1.rcols + 2)) != 0) && (($1.j % ($1.rcols + 2)) != ($1.rcols + 1))) { //#17973\n $put($1.pixs, $f(($1.i * $1.cols) + $1.j), $get($1.mmat, $1.cwpos)); //#17971\n $1.cwpos = $1.cwpos + 1; //#17972\n } //#17972\n } //#17972\n } //#17972\n } //#17972\n var _Qb = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.cols],\n [\"pixy\", $1.rows],\n [\"height\", ($1.rows * 2) / 72],\n [\"width\", ($1.cols * 2) / 72],\n [\"opt\", $1.options]\n ]); //#17986\n $k[$j++] = _Qb; //#17989\n if (!$1.dontdraw) { //#17989\n bwipp_renmatrix(); //#17989\n } //#17989\n}\n\nfunction bwipp_datamatrixrectangular() {\n var $1 = {}; //#18019\n $1.options = $k[--$j]; //#18021\n $1.barcode = $k[--$j]; //#18022\n $1.dontdraw = false; //#18024\n $forall($1.options, function() { //#18035\n var _3 = $k[--$j]; //#18035\n $1[$k[--$j]] = _3; //#18035\n }); //#18035\n $put($1.options, \"dontdraw\", true); //#18038\n $put($1.options, \"format\", \"rectangle\"); //#18039\n $k[$j++] = 'args'; //#18041\n $k[$j++] = $1.barcode; //#18041\n $k[$j++] = $1.options; //#18041\n bwipp_datamatrix(); //#18041\n var _9 = $k[--$j]; //#18041\n $1[$k[--$j]] = _9; //#18041\n $put($1.args, \"opt\", $1.options); //#18043\n $k[$j++] = $1.args; //#18046\n if (!$1.dontdraw) { //#18046\n bwipp_renmatrix(); //#18046\n } //#18046\n}\n\nfunction bwipp_datamatrixrectangularextension() {\n var $1 = {}; //#18076\n $1.options = $k[--$j]; //#18078\n $1.barcode = $k[--$j]; //#18079\n $1.dontdraw = false; //#18081\n $1.dmre = false; //#18083\n $1.dindmre = false; //#18084\n $forall($1.options, function() { //#18095\n var _3 = $k[--$j]; //#18095\n $1[$k[--$j]] = _3; //#18095\n }); //#18095\n $put($1.options, \"dontdraw\", true); //#18098\n $put($1.options, \"format\", \"rectangle\"); //#18099\n if (!($1.dindmre || $1.dmre)) { //#18105\n $put($1.options, \"dmre\", true); //#18102\n } else { //#18105\n $put($1.options, \"dmre\", $1.dmre); //#18104\n $put($1.options, \"dindmre\", $1.dindmre); //#18105\n } //#18105\n $k[$j++] = 'args'; //#18108\n $k[$j++] = $1.barcode; //#18108\n $k[$j++] = $1.options; //#18108\n bwipp_datamatrix(); //#18108\n var _G = $k[--$j]; //#18108\n $1[$k[--$j]] = _G; //#18108\n $put($1.args, \"opt\", $1.options); //#18110\n $k[$j++] = $1.args; //#18113\n if (!$1.dontdraw) { //#18113\n bwipp_renmatrix(); //#18113\n } //#18113\n}\n\nfunction bwipp_mailmark() {\n var $1 = {}; //#18144\n $1.options = $k[--$j]; //#18146\n $1.barcode = $k[--$j]; //#18147\n $1.type = \"unset\"; //#18149\n $1.parse = false; //#18150\n $1.dontdraw = false; //#18151\n $forall($1.options, function() { //#18162\n var _3 = $k[--$j]; //#18162\n $1[$k[--$j]] = _3; //#18162\n }); //#18162\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#18168\n $1.fncvals = _6; //#18169\n $k[$j++] = 'barcode'; //#18170\n $k[$j++] = $1.barcode; //#18170\n $k[$j++] = $1.fncvals; //#18170\n bwipp_parseinput(); //#18170\n var _9 = $k[--$j]; //#18170\n $1[$k[--$j]] = _9; //#18170\n $1.barlen = $1.barcode.length; //#18171\n delete $1.options[\"parse\"]; //#18172\n var _D = new Map([\n [\"7\", \"24x24\"],\n [\"9\", \"32x32\"],\n [\"29\", \"16x48\"]\n ]); //#18178\n $1.version = $get(_D, $1['type']); //#18179\n var _G = new Map([\n [\"7\", \"square\"],\n [\"9\", \"square\"],\n [\"29\", \"rectangle\"]\n ]); //#18184\n $1.format = $get(_G, $1['type']); //#18185\n if ($1.barcode.length < 45) { //#18190\n $k[$j++] = 'bwipp.mailmarkBadLength'; //#18189\n $k[$j++] = \"Royal Mail Mailmark must contain at least 45 characters of Mailmark formatted data, including any required space padding\"; //#18189\n bwipp_raiseerror(); //#18189\n } //#18189\n if ($ne($geti($1.barcode, 0, 4), \"JGB \")) { //#18193\n $k[$j++] = 'bwipp.mailmarkBadIndicator'; //#18192\n $k[$j++] = \"Royal Mail Mailmark must begin with JGB identifier\"; //#18192\n bwipp_raiseerror(); //#18192\n } //#18192\n $put($1.options, \"dontdraw\", true); //#18196\n $put($1.options, \"version\", $1.version); //#18197\n $put($1.options, \"format\", $1.format); //#18198\n $put($1.options, \"mailmark\", true); //#18199\n $k[$j++] = 'args'; //#18200\n $k[$j++] = $1.barcode; //#18200\n $k[$j++] = $1.options; //#18200\n bwipp_datamatrix(); //#18200\n var _U = $k[--$j]; //#18200\n $1[$k[--$j]] = _U; //#18200\n $put($1.args, \"opt\", $1.options); //#18202\n $k[$j++] = $1.args; //#18205\n if (!$1.dontdraw) { //#18205\n bwipp_renmatrix(); //#18205\n } //#18205\n}\n\nfunction bwipp_qrcode() {\n var $1 = {}; //#18235\n $1.options = $k[--$j]; //#18237\n $1.barcode = $k[--$j]; //#18238\n $1.dontdraw = false; //#18240\n $1.format = \"unset\"; //#18241\n $1.version = \"unset\"; //#18242\n $1.eclevel = \"unset\"; //#18243\n $1.parse = false; //#18244\n $1.parsefnc = false; //#18245\n $1.mask = -1; //#18246\n $forall($1.options, function() { //#18257\n var _3 = $k[--$j]; //#18257\n $1[$k[--$j]] = _3; //#18257\n }); //#18257\n $1.mask = ~~$1.mask; //#18259\n if ($ne($1.version, \"unset\")) { //#18270\n if ($eq($1.format, \"unset\")) { //#18268\n $k[$j++] = \"full\"; //#18265\n if ($eq($geti($1.version, 0, 1), \"M\")) { //#18265\n $j--; //#18265\n $k[$j++] = \"micro\"; //#18265\n } //#18265\n if ($eq($geti($1.version, 0, 1), \"R\")) { //#18266\n $j--; //#18266\n $k[$j++] = \"rmqr\"; //#18266\n } //#18266\n $1.format = $k[--$j]; //#18267\n } //#18267\n } else { //#18270\n if ($eq($1.format, \"unset\")) { //#18270\n $1.format = \"full\"; //#18270\n } //#18270\n } //#18270\n if ($eq($1.eclevel, \"unset\")) { //#18274\n $k[$j++] = 'eclevel'; //#18274\n if ($ne($1.format, \"micro\")) { //#18274\n $k[$j++] = \"M\"; //#18274\n } else { //#18274\n $k[$j++] = \"L\"; //#18274\n } //#18274\n var _G = $k[--$j]; //#18274\n $1[$k[--$j]] = _G; //#18274\n } //#18274\n $1.fn1 = -1; //#18277\n var _L = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true],\n [\"FNC1\", $1.fn1]\n ]); //#18282\n $1.fncvals = _L; //#18283\n $k[$j++] = 'msg'; //#18284\n $k[$j++] = $1.barcode; //#18284\n $k[$j++] = $1.fncvals; //#18284\n bwipp_parseinput(); //#18284\n var _O = $k[--$j]; //#18284\n $1[$k[--$j]] = _O; //#18284\n $1.msglen = $1.msg.length; //#18285\n $1.fnc1first = false; //#18288\n if ($1.msglen > 0) { //#18295\n if ($get($1.msg, 0) == $1.fn1) { //#18294\n $1.fnc1first = true; //#18291\n $k[$j++] = Infinity; //#18292\n var _X = $geti($1.msg, 1, $1.msglen - 1); //#18292\n for (var _Y = 0, _Z = _X.length; _Y < _Z; _Y++) { //#18292\n var _a = $get(_X, _Y); //#18292\n $k[$j++] = _a; //#18292\n if (_a == 37) { //#18292\n var _b = $k[--$j]; //#18292\n $k[$j++] = _b; //#18292\n $k[$j++] = _b; //#18292\n } //#18292\n } //#18292\n $1.msg = $a(); //#18292\n $1.msglen = $1.msg.length; //#18293\n } //#18293\n } //#18293\n var _e = $a(['v1to9', 'v10to26', 'v27to40', 'vM1', 'vM2', 'vM3', 'vM4', 'vR7x43', 'vR7x59', 'vR7x77', 'vR7x99', 'vR7x139', 'vR9x43', 'vR9x59', 'vR9x77', 'vR9x99', 'vR9x139', 'vR11x27', 'vR11x43', 'vR11x59', 'vR11x77', 'vR11x99', 'vR11x139', 'vR13x27', 'vR13x43', 'vR13x59', 'vR13x77', 'vR13x99', 'vR13x139', 'vR15x43', 'vR15x59', 'vR15x77', 'vR15x99', 'vR15x139', 'vR17x43', 'vR17x59', 'vR17x77', 'vR17x99', 'vR17x139']); //#18306\n $k[$j++] = 0; //#18307\n for (var _f = 0, _g = _e.length; _f < _g; _f++) { //#18307\n var _i = $k[--$j]; //#18307\n $1[$get(_e, _f)] = _i; //#18307\n $k[$j++] = $f(_i + 1); //#18307\n } //#18307\n $j--; //#18307\n $1.N = 0; //#18313\n $1.A = 1; //#18313\n $1.B = 2; //#18313\n $1.K = 3; //#18313\n $1.E = 4; //#18313\n $k[$j++] = Infinity; //#18318\n $k[$j++] = Infinity; //#18317\n for (var _j = 48; _j <= 57; _j += 1) { //#18317\n $k[$j++] = _j; //#18317\n } //#18317\n var _k = $a(); //#18317\n for (var _l = 0, _m = _k.length; _l < _m; _l++) { //#18318\n $k[$j++] = $get(_k, _l); //#18318\n $k[$j++] = -1; //#18318\n } //#18318\n $1.Nexcl = $d(); //#18319\n $k[$j++] = Infinity; //#18326\n $k[$j++] = Infinity; //#18325\n $k[$j++] = 32; //#18324\n $k[$j++] = 36; //#18324\n $k[$j++] = 37; //#18324\n $k[$j++] = 42; //#18324\n $k[$j++] = 43; //#18324\n $k[$j++] = 45; //#18324\n $k[$j++] = 46; //#18324\n $k[$j++] = 47; //#18324\n $k[$j++] = 58; //#18324\n for (var _p = 65; _p <= 90; _p += 1) { //#18324\n $k[$j++] = _p; //#18324\n } //#18324\n $k[$j++] = $1.fn1; //#18325\n var _r = $a(); //#18325\n for (var _s = 0, _t = _r.length; _s < _t; _s++) { //#18326\n $k[$j++] = $get(_r, _s); //#18326\n $k[$j++] = -1; //#18326\n } //#18326\n $1.Aexcl = $d(); //#18327\n $k[$j++] = Infinity; //#18336\n $k[$j++] = Infinity; //#18335\n for (var _w = 0; _w <= 31; _w += 1) { //#18331\n $k[$j++] = _w; //#18331\n } //#18331\n $k[$j++] = 33; //#18333\n $k[$j++] = 34; //#18333\n $k[$j++] = 35; //#18333\n $k[$j++] = 38; //#18333\n $k[$j++] = 39; //#18333\n $k[$j++] = 40; //#18333\n $k[$j++] = 41; //#18333\n $k[$j++] = 44; //#18333\n for (var _x = 59; _x <= 64; _x += 1) { //#18333\n $k[$j++] = _x; //#18333\n } //#18333\n for (var _y = 91; _y <= 127; _y += 1) { //#18334\n $k[$j++] = _y; //#18334\n } //#18334\n for (var _z = 160; _z <= 223; _z += 1) { //#18335\n $k[$j++] = _z; //#18335\n } //#18335\n var _10 = $a(); //#18335\n for (var _11 = 0, _12 = _10.length; _11 < _12; _11++) { //#18336\n $k[$j++] = $get(_10, _11); //#18336\n $k[$j++] = -1; //#18336\n } //#18336\n $1.Bexcl = $d(); //#18337\n $k[$j++] = Infinity; //#18343\n $k[$j++] = Infinity; //#18342\n for (var _15 = 129; _15 <= 159; _15 += 1) { //#18341\n $k[$j++] = _15; //#18341\n } //#18341\n for (var _16 = 224; _16 <= 235; _16 += 1) { //#18342\n $k[$j++] = _16; //#18342\n } //#18342\n var _17 = $a(); //#18342\n for (var _18 = 0, _19 = _17.length; _18 < _19; _18++) { //#18343\n $k[$j++] = $get(_17, _18); //#18343\n $k[$j++] = -1; //#18343\n } //#18343\n $1.Kexcl = $d(); //#18344\n $k[$j++] = Infinity; //#18356\n $k[$j++] = $a([\"0001\", \"0010\", \"0100\", \"1000\", \"0111\"]); //#18357\n $k[$j++] = $a([\"0001\", \"0010\", \"0100\", \"1000\", \"0111\"]); //#18357\n $k[$j++] = $a([\"0001\", \"0010\", \"0100\", \"1000\", \"0111\"]); //#18357\n $k[$j++] = $a([\"\", -1, -1, -1, -1]); //#18357\n $k[$j++] = $a([\"0\", \"1\", -1, -1, -1]); //#18357\n $k[$j++] = $a([\"00\", \"01\", \"10\", \"11\", -1]); //#18357\n $k[$j++] = $a([\"000\", \"001\", \"010\", \"011\", -1]); //#18357\n for (var _1J = 0, _1K = 32; _1J < _1K; _1J++) { //#18357\n $k[$j++] = $a([\"001\", \"010\", \"011\", \"100\", -1]); //#18356\n } //#18356\n $1.mids = $a(); //#18356\n $1.cclens = $a([$a([10, 9, 8, 8]), $a([12, 11, 16, 10]), $a([14, 13, 16, 12]), $a([3, -1, -1, -1]), $a([4, 3, -1, -1]), $a([5, 4, 4, 3]), $a([6, 5, 5, 4]), $a([4, 3, 3, 2]), $a([5, 5, 4, 3]), $a([6, 5, 5, 4]), $a([7, 6, 5, 5]), $a([7, 6, 6, 5]), $a([5, 5, 4, 3]), $a([6, 5, 5, 4]), $a([7, 6, 5, 5]), $a([7, 6, 6, 5]), $a([8, 7, 6, 6]), $a([4, 4, 3, 2]), $a([6, 5, 5, 4]), $a([7, 6, 5, 5]), $a([7, 6, 6, 5]), $a([8, 7, 6, 6]), $a([8, 7, 7, 6]), $a([5, 5, 4, 3]), $a([6, 6, 5, 5]), $a([7, 6, 6, 5]), $a([8, 7, 6, 6]), $a([8, 7, 7, 6]), $a([8, 8, 7, 7]), $a([7, 6, 6, 5]), $a([7, 7, 6, 5]), $a([8, 7, 7, 6]), $a([8, 7, 7, 6]), $a([9, 8, 7, 7]), $a([7, 6, 6, 5]), $a([8, 7, 6, 6]), $a([8, 7, 7, 6]), $a([8, 8, 7, 6]), $a([9, 8, 8, 7])]); //#18400\n $k[$j++] = Infinity; //#18411\n for (var _21 = 0, _22 = 3; _21 < _22; _21++) { //#18405\n $k[$j++] = 4; //#18404\n } //#18404\n $k[$j++] = 3; //#18412\n $k[$j++] = 5; //#18412\n $k[$j++] = 7; //#18412\n $k[$j++] = 9; //#18412\n for (var _23 = 0, _24 = 32; _23 < _24; _23++) { //#18412\n $k[$j++] = 3; //#18411\n } //#18411\n $1.termlens = $a(); //#18411\n $1.tobin = function() {\n var _27 = $s($k[--$j]); //#18417\n $k[$j++] = _27; //#18417\n for (var _29 = 0, _28 = _27.length - 1; _29 <= _28; _29 += 1) { //#18417\n var _2A = $k[--$j]; //#18417\n $put(_2A, _29, 48); //#18417\n $k[$j++] = _2A; //#18417\n } //#18417\n var _2B = $k[--$j]; //#18418\n var _2E = $cvrs($s(_2B.length), $k[--$j], 2); //#18418\n $puti(_2B, _2B.length - _2E.length, _2E); //#18418\n $k[$j++] = _2B; //#18418\n }; //#18419\n $1.charmap = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\"; //#18422\n $1.charvals = new Map; //#18423\n for (var _2F = 0; _2F <= 44; _2F += 1) { //#18424\n $put($1.charvals, $get($1.charmap, _2F), _2F); //#18424\n } //#18424\n $1.encA = function() {\n $1.in = $k[--$j]; //#18427\n if ($1.fnc1first) { //#18430\n $k[$j++] = Infinity; //#18429\n $forall($1.in, function() { //#18429\n var _2M = $k[--$j]; //#18429\n $k[$j++] = _2M; //#18429\n if (_2M == $1.fn1) { //#18429\n $j--; //#18429\n $k[$j++] = 37; //#18429\n } //#18429\n }); //#18429\n $1.in = $a(); //#18429\n } //#18429\n $1.out = $s((~~(($1.in.length * 11) / 2)) + 1); //#18431\n $1.k = 0; //#18432\n $1.m = 0; //#18432\n for (;;) { //#18443\n if ($1.k == $1.in.length) { //#18433\n break; //#18433\n } //#18433\n if ($1.k < ($1.in.length - 1)) { //#18439\n $k[$j++] = $f(($get($1.charvals, $get($1.in, $1.k)) * 45) + $get($1.charvals, $get($1.in, $1.k + 1))); //#18435\n $k[$j++] = 11; //#18435\n $1.tobin(); //#18435\n $1.k = $1.k + 2; //#18436\n } else { //#18439\n $k[$j++] = $get($1.charvals, $get($1.in, $1.k)); //#18438\n $k[$j++] = 6; //#18438\n $1.tobin(); //#18438\n $1.k = $1.k + 1; //#18439\n } //#18439\n var _2m = $k[--$j]; //#18441\n $puti($1.out, $1.m, _2m); //#18441\n $1.m = _2m.length + $1.m; //#18442\n } //#18442\n $k[$j++] = $geti($1.out, 0, $1.m); //#18444\n }; //#18445\n $1.encN = function() {\n $1.in = $k[--$j]; //#18448\n $1.out = $s((~~(($1.in.length * 10) / 3)) + 1); //#18449\n $1.k = 0; //#18450\n $1.m = 0; //#18450\n for (;;) { //#18466\n if ($1.k == $1.in.length) { //#18451\n break; //#18451\n } //#18451\n if ($1.k < ($1.in.length - 2)) { //#18461\n var _32 = $geti($1.in, $1.k, 3); //#18453\n $k[$j++] = 0; //#18453\n for (var _33 = 0, _34 = _32.length; _33 < _34; _33++) { //#18453\n var _36 = $k[--$j]; //#18453\n $k[$j++] = $f($get(_32, _33) + ($f((_36 * 10) - 48))); //#18453\n } //#18453\n $k[$j++] = 10; //#18453\n $1.tobin(); //#18453\n $1.k = $1.k + 3; //#18454\n } else { //#18461\n if ($1.k == ($1.in.length - 2)) { //#18461\n var _3C = $geti($1.in, $1.k, 2); //#18457\n $k[$j++] = 0; //#18457\n for (var _3D = 0, _3E = _3C.length; _3D < _3E; _3D++) { //#18457\n var _3G = $k[--$j]; //#18457\n $k[$j++] = $f($get(_3C, _3D) + ($f((_3G * 10) - 48))); //#18457\n } //#18457\n $k[$j++] = 7; //#18457\n $1.tobin(); //#18457\n $1.k = $1.k + 2; //#18458\n } else { //#18461\n var _3K = $geti($1.in, $1.k, 1); //#18460\n $k[$j++] = 0; //#18460\n for (var _3L = 0, _3M = _3K.length; _3L < _3M; _3L++) { //#18460\n var _3O = $k[--$j]; //#18460\n $k[$j++] = $f($get(_3K, _3L) + ($f((_3O * 10) - 48))); //#18460\n } //#18460\n $k[$j++] = 4; //#18460\n $1.tobin(); //#18460\n $1.k = $1.k + 1; //#18461\n } //#18461\n } //#18461\n var _3Q = $k[--$j]; //#18464\n $puti($1.out, $1.m, _3Q); //#18464\n $1.m = _3Q.length + $1.m; //#18465\n } //#18465\n $k[$j++] = $geti($1.out, 0, $1.m); //#18467\n }; //#18468\n $1.encB = function() {\n $1.in = $k[--$j]; //#18471\n if ($1.fnc1first) { //#18474\n $k[$j++] = Infinity; //#18473\n $forall($1.in, function() { //#18473\n var _3a = $k[--$j]; //#18473\n $k[$j++] = _3a; //#18473\n if (_3a == $1.fn1) { //#18473\n $j--; //#18473\n $k[$j++] = 29; //#18473\n } //#18473\n }); //#18473\n $1.in = $a(); //#18473\n } //#18473\n $1.out = $s($1.in.length * 8); //#18475\n for (var _3h = 0, _3g = $1.in.length - 1; _3h <= _3g; _3h += 1) { //#18480\n $1.k = _3h; //#18477\n $k[$j++] = ~~$z($get($1.in, $1.k)); //#18478\n $k[$j++] = 8; //#18478\n $1.tobin(); //#18478\n $puti($1.out, $1.k * 8, $k[--$j]); //#18479\n } //#18479\n $k[$j++] = $1.out; //#18481\n }; //#18482\n $1.encK = function() {\n $1.in = $k[--$j]; //#18485\n $1.out = $s((~~($1.in.length / 2)) * 13); //#18486\n $1.k = 0; //#18487\n $1.m = 0; //#18487\n for (;;) { //#18495\n if ($1.k == $1.in.length) { //#18488\n break; //#18488\n } //#18488\n var _40 = $f(($get($1.in, $1.k) * 256) + $get($1.in, $1.k + 1)); //#18490\n $k[$j++] = _40; //#18490\n if (_40 < 57408) { //#18490\n $k[$j++] = 33088; //#18490\n } else { //#18490\n $k[$j++] = 49472; //#18490\n } //#18490\n var _41 = $k[--$j]; //#18490\n var _43 = $f($k[--$j] - _41); //#18491\n $k[$j++] = $f(((_43 >>> 8) * 192) + (_43 & 255)); //#18492\n $k[$j++] = 13; //#18492\n $1.tobin(); //#18492\n var _44 = $k[--$j]; //#18492\n $puti($1.out, $1.m, _44); //#18492\n $1.m = _44.length + $1.m; //#18493\n $1.k = $1.k + 2; //#18494\n } //#18494\n $k[$j++] = $1.out; //#18496\n }; //#18497\n $1.encE = function() {\n var _4C = $f((-$get($k[--$j], 0)) - 1000000); //#18501\n $k[$j++] = _4C; //#18507\n if (_4C <= 127) { //#18506\n $k[$j++] = 8; //#18502\n $1.tobin(); //#18502\n } else { //#18506\n var _4D = $k[--$j]; //#18503\n $k[$j++] = _4D; //#18507\n if (_4D <= 16383) { //#18506\n var _4E = $k[--$j]; //#18504\n $k[$j++] = $f(_4E + 32768); //#18504\n $k[$j++] = 16; //#18504\n $1.tobin(); //#18504\n } else { //#18506\n var _4F = $k[--$j]; //#18506\n $k[$j++] = $f(_4F + 12582912); //#18506\n $k[$j++] = 24; //#18506\n $1.tobin(); //#18506\n } //#18506\n } //#18506\n }; //#18508\n $1.encfuncs = $a(['encN', 'encA', 'encB', 'encK', 'encE']); //#18510\n $1.addtobits = function() {\n var _4H = $k[--$j]; //#18513\n $puti($1.bits, $1.j, _4H); //#18513\n $1.j = _4H.length + $1.j; //#18514\n }; //#18515\n $k[$j++] = Infinity; //#18517\n for (var _4M = 0, _4N = $1.msglen; _4M < _4N; _4M++) { //#18517\n $k[$j++] = 0; //#18517\n } //#18517\n $k[$j++] = 0; //#18517\n $1.numNs = $a(); //#18517\n $k[$j++] = Infinity; //#18518\n for (var _4Q = 0, _4R = $1.msglen; _4Q < _4R; _4Q++) { //#18518\n $k[$j++] = 0; //#18518\n } //#18518\n $k[$j++] = 0; //#18518\n $1.numAs = $a(); //#18518\n $k[$j++] = Infinity; //#18519\n for (var _4U = 0, _4V = $1.msglen; _4U < _4V; _4U++) { //#18519\n $k[$j++] = 0; //#18519\n } //#18519\n $k[$j++] = 0; //#18519\n $1.numBs = $a(); //#18519\n $k[$j++] = Infinity; //#18520\n for (var _4Y = 0, _4Z = $1.msglen; _4Y < _4Z; _4Y++) { //#18520\n $k[$j++] = 0; //#18520\n } //#18520\n $k[$j++] = -1; //#18520\n $1.numKs = $a(); //#18520\n $k[$j++] = Infinity; //#18521\n for (var _4c = 0, _4d = $1.msglen; _4c < _4d; _4c++) { //#18521\n $k[$j++] = 0; //#18521\n } //#18521\n $k[$j++] = 9999; //#18521\n $1.nextNs = $a(); //#18521\n $k[$j++] = Infinity; //#18522\n for (var _4g = 0, _4h = $1.msglen; _4g < _4h; _4g++) { //#18522\n $k[$j++] = 0; //#18522\n } //#18522\n $k[$j++] = 9999; //#18522\n $1.nextBs = $a(); //#18522\n $k[$j++] = Infinity; //#18523\n for (var _4k = 0, _4l = $1.msglen; _4k < _4l; _4k++) { //#18523\n $k[$j++] = 0; //#18523\n } //#18523\n $k[$j++] = 9999; //#18523\n $1.nextAs = $a(); //#18523\n $k[$j++] = Infinity; //#18524\n for (var _4o = 0, _4p = $1.msglen; _4o < _4p; _4o++) { //#18524\n $k[$j++] = 0; //#18524\n } //#18524\n $k[$j++] = 9999; //#18524\n $1.nextKs = $a(); //#18524\n $1.isECI = $a($1.msglen); //#18525\n for (var _4u = $1.msglen - 1; _4u >= 0; _4u -= 1) { //#18554\n $1.i = _4u; //#18527\n $1.barchar = $get($1.msg, $1.i); //#18528\n var _50 = $get($1.Kexcl, $1.barchar) !== undefined; //#18529\n if (_50) { //#18533\n $put($1.nextKs, $1.i, 0); //#18530\n $put($1.numKs, $1.i, $f($get($1.numKs, $1.i + 1) + 1)); //#18531\n } else { //#18533\n $put($1.nextKs, $1.i, $f($get($1.nextKs, $1.i + 1) + 1)); //#18533\n } //#18533\n var _5F = $get($1.Nexcl, $1.barchar) !== undefined; //#18535\n if (_5F) { //#18539\n $put($1.nextNs, $1.i, 0); //#18536\n $put($1.numNs, $1.i, $f($get($1.numNs, $1.i + 1) + 1)); //#18537\n } else { //#18539\n $put($1.nextNs, $1.i, $f($get($1.nextNs, $1.i + 1) + 1)); //#18539\n } //#18539\n var _5U = $get($1.Bexcl, $1.barchar) !== undefined; //#18541\n if (_5U) { //#18545\n $put($1.nextBs, $1.i, 0); //#18542\n $put($1.numBs, $1.i, $f($get($1.numBs, $1.i + 1) + 1)); //#18543\n } else { //#18545\n $put($1.nextBs, $1.i, $f($get($1.nextBs, $1.i + 1) + 1)); //#18545\n } //#18545\n var _5j = $get($1.Aexcl, $1.barchar) !== undefined; //#18547\n if (_5j) { //#18551\n $put($1.nextAs, $1.i, 0); //#18548\n $put($1.numAs, $1.i, $f($get($1.numAs, $1.i + 1) + 1)); //#18549\n } else { //#18551\n $put($1.nextAs, $1.i, $f($get($1.nextAs, $1.i + 1) + 1)); //#18551\n } //#18551\n $put($1.isECI, $1.i, $1.barchar <= -1000000); //#18553\n } //#18553\n $k[$j++] = Infinity; //#18555\n var _5z = $1.numKs; //#18555\n for (var _60 = 0, _61 = _5z.length; _60 < _61; _60++) { //#18555\n $k[$j++] = ~~($f($get(_5z, _60) + 1) / 2); //#18555\n } //#18555\n $1.numKs = $a(); //#18555\n $1.KbeforeB = function() {\n var _67 = $get($k[--$j], $1.ver); //#18557\n $k[$j++] = $ge($1.numK, _67) && ($get($1.nextBs, $f(($1.numK * 2) + $1.i)) == 0); //#18557\n }; //#18557\n $1.KbeforeA = function() {\n var _6F = $get($k[--$j], $1.ver); //#18558\n $k[$j++] = $ge($1.numK, _6F) && ($get($1.nextAs, $f(($1.numK * 2) + $1.i)) == 0); //#18558\n }; //#18558\n $1.KbeforeN = function() {\n var _6N = $get($k[--$j], $1.ver); //#18559\n $k[$j++] = $ge($1.numK, _6N) && ($get($1.nextNs, $f(($1.numK * 2) + $1.i)) == 0); //#18559\n }; //#18559\n $1.KbeforeE = function() {\n var _6V = $get($k[--$j], $1.ver); //#18560\n $k[$j++] = $ge($1.numK, _6V) && (($f(($1.numK * 2) + $1.i)) == $1.msglen); //#18560\n }; //#18560\n $1.AbeforeK = function() {\n var _6c = $get($k[--$j], $1.ver); //#18561\n $k[$j++] = $ge($1.numA, _6c) && ($get($1.nextKs, $f($1.numA + $1.i)) == 0); //#18561\n }; //#18561\n $1.AbeforeB = function() {\n var _6k = $get($k[--$j], $1.ver); //#18562\n $k[$j++] = $ge($1.numA, _6k) && ($get($1.nextBs, $f($1.numA + $1.i)) == 0); //#18562\n }; //#18562\n $1.AbeforeN = function() {\n var _6s = $get($k[--$j], $1.ver); //#18563\n $k[$j++] = $ge($1.numA, _6s) && ($get($1.nextNs, $f($1.numA + $1.i)) == 0); //#18563\n }; //#18563\n $1.AbeforeE = function() {\n var _70 = $get($k[--$j], $1.ver); //#18564\n $k[$j++] = $ge($1.numA, _70) && ($f($1.numA + $1.i) == $1.msglen); //#18564\n }; //#18564\n $1.NbeforeK = function() {\n var _77 = $get($k[--$j], $1.ver); //#18565\n $k[$j++] = $ge($1.numN, _77) && ($get($1.nextKs, $f($1.numN + $1.i)) == 0); //#18565\n }; //#18565\n $1.NbeforeB = function() {\n var _7F = $get($k[--$j], $1.ver); //#18566\n $k[$j++] = $ge($1.numN, _7F) && ($get($1.nextBs, $f($1.numN + $1.i)) == 0); //#18566\n }; //#18566\n $1.NbeforeA = function() {\n var _7N = $get($k[--$j], $1.ver); //#18567\n $k[$j++] = $ge($1.numN, _7N) && ($get($1.nextAs, $f($1.numN + $1.i)) == 0); //#18567\n }; //#18567\n $1.NbeforeE = function() {\n var _7V = $get($k[--$j], $1.ver); //#18568\n $k[$j++] = $ge($1.numN, _7V) && ($f($1.numN + $1.i) == $1.msglen); //#18568\n }; //#18568\n if ($ne($1.version, \"unset\")) { //#18599\n $k[$j++] = Infinity; //#18594\n for (var _7a = 0; _7a <= 9; _7a += 1) { //#18581\n $k[$j++] = $cvrs($s(2), _7a, 10); //#18581\n $k[$j++] = $1.v1to9; //#18581\n } //#18581\n for (var _7e = 10; _7e <= 26; _7e += 1) { //#18582\n $k[$j++] = $cvrs($s(2), _7e, 10); //#18582\n $k[$j++] = $1.v10to26; //#18582\n } //#18582\n for (var _7i = 27; _7i <= 40; _7i += 1) { //#18583\n $k[$j++] = $cvrs($s(2), _7i, 10); //#18583\n $k[$j++] = $1.v27to40; //#18583\n } //#18583\n $k[$j++] = \"M1\"; //#18594\n $k[$j++] = $1.vM1; //#18594\n $k[$j++] = \"M2\"; //#18594\n $k[$j++] = $1.vM2; //#18594\n $k[$j++] = \"M3\"; //#18594\n $k[$j++] = $1.vM3; //#18594\n $k[$j++] = \"M4\"; //#18594\n $k[$j++] = $1.vM4; //#18594\n $k[$j++] = \"R7x43\"; //#18594\n $k[$j++] = $1.vR7x43; //#18594\n $k[$j++] = \"R7x59\"; //#18594\n $k[$j++] = $1.vR7x59; //#18594\n $k[$j++] = \"R7x77\"; //#18594\n $k[$j++] = $1.vR7x77; //#18594\n $k[$j++] = \"R7x99\"; //#18594\n $k[$j++] = $1.vR7x99; //#18594\n $k[$j++] = \"R7x139\"; //#18594\n $k[$j++] = $1.vR7x139; //#18594\n $k[$j++] = \"R9x43\"; //#18594\n $k[$j++] = $1.vR9x43; //#18594\n $k[$j++] = \"R9x59\"; //#18594\n $k[$j++] = $1.vR9x59; //#18594\n $k[$j++] = \"R9x77\"; //#18594\n $k[$j++] = $1.vR9x77; //#18594\n $k[$j++] = \"R9x99\"; //#18594\n $k[$j++] = $1.vR9x99; //#18594\n $k[$j++] = \"R9x139\"; //#18594\n $k[$j++] = $1.vR9x139; //#18594\n $k[$j++] = \"R11x27\"; //#18594\n $k[$j++] = $1.vR11x27; //#18594\n $k[$j++] = \"R11x43\"; //#18594\n $k[$j++] = $1.vR11x43; //#18594\n $k[$j++] = \"R11x59\"; //#18594\n $k[$j++] = $1.vR11x59; //#18594\n $k[$j++] = \"R11x77\"; //#18594\n $k[$j++] = $1.vR11x77; //#18594\n $k[$j++] = \"R11x99\"; //#18594\n $k[$j++] = $1.vR11x99; //#18594\n $k[$j++] = \"R11x139\"; //#18594\n $k[$j++] = $1.vR11x139; //#18594\n $k[$j++] = \"R13x27\"; //#18594\n $k[$j++] = $1.vR13x27; //#18594\n $k[$j++] = \"R13x43\"; //#18594\n $k[$j++] = $1.vR13x43; //#18594\n $k[$j++] = \"R13x59\"; //#18594\n $k[$j++] = $1.vR13x59; //#18594\n $k[$j++] = \"R13x77\"; //#18594\n $k[$j++] = $1.vR13x77; //#18594\n $k[$j++] = \"R13x99\"; //#18594\n $k[$j++] = $1.vR13x99; //#18594\n $k[$j++] = \"R13x139\"; //#18594\n $k[$j++] = $1.vR13x139; //#18594\n $k[$j++] = \"R15x43\"; //#18594\n $k[$j++] = $1.vR15x43; //#18594\n $k[$j++] = \"R15x59\"; //#18594\n $k[$j++] = $1.vR15x59; //#18594\n $k[$j++] = \"R15x77\"; //#18594\n $k[$j++] = $1.vR15x77; //#18594\n $k[$j++] = \"R15x99\"; //#18594\n $k[$j++] = $1.vR15x99; //#18594\n $k[$j++] = \"R15x139\"; //#18594\n $k[$j++] = $1.vR15x139; //#18594\n $k[$j++] = \"R17x43\"; //#18594\n $k[$j++] = $1.vR17x43; //#18594\n $k[$j++] = \"R17x59\"; //#18594\n $k[$j++] = $1.vR17x59; //#18594\n $k[$j++] = \"R17x77\"; //#18594\n $k[$j++] = $1.vR17x77; //#18594\n $k[$j++] = \"R17x99\"; //#18594\n $k[$j++] = $1.vR17x99; //#18594\n $k[$j++] = \"R17x139\"; //#18594\n $k[$j++] = $1.vR17x139; //#18594\n var _8O = $get($d(), $1.version); //#18595\n $k[$j++] = 'verset'; //#18595\n $k[$j++] = _8O; //#18595\n $k[$j++] = Infinity; //#18595\n var _8P = $k[--$j]; //#18595\n var _8Q = $k[--$j]; //#18595\n $k[$j++] = _8P; //#18595\n $k[$j++] = _8Q; //#18595\n var _8R = $a(); //#18595\n $1[$k[--$j]] = _8R; //#18595\n } else { //#18599\n if ($eq($1.format, \"full\")) { //#18598\n $1.verset = $a([$1.v1to9, $1.v10to26, $1.v27to40]); //#18598\n } //#18598\n if ($eq($1.format, \"micro\")) { //#18599\n $1.verset = $a([$1.vM1, $1.vM2, $1.vM3, $1.vM4]); //#18599\n } //#18599\n } //#18599\n $k[$j++] = Infinity; //#18604\n for (var _8e = 0, _8f = 39; _8e < _8f; _8e++) { //#18604\n $k[$j++] = -1; //#18604\n } //#18604\n $1.msgbits = $a(); //#18604\n $1.e = 10000; //#18605\n var _8h = $1.verset; //#18606\n for (var _8i = 0, _8j = _8h.length; _8i < _8j; _8i++) { //#18741\n $1.ver = $get(_8h, _8i); //#18607\n $1.mode = -1; //#18610\n $1.seq = $a([]); //#18610\n $1.i = 0; //#18610\n for (;;) { //#18711\n if ($1.i >= $1.msglen) { //#18611\n break; //#18611\n } //#18611\n $1.numK = $get($1.numKs, $1.i); //#18612\n $1.numB = $get($1.numBs, $1.i); //#18613\n $1.numA = $get($1.numAs, $1.i); //#18614\n $1.numN = $get($1.numNs, $1.i); //#18615\n $1.eci = $get($1.isECI, $1.i); //#18616\n if ($eq($1.ver, $1.vM1) && ($1.numA >= 1)) { //#18617\n $1.seq = -1; //#18617\n break; //#18617\n } //#18617\n if ($eq($1.ver, $1.vM1) && ($1.numB >= 1)) { //#18618\n $1.seq = -1; //#18618\n break; //#18618\n } //#18618\n if ($eq($1.ver, $1.vM1) && ($1.numK >= 1)) { //#18619\n $1.seq = -1; //#18619\n break; //#18619\n } //#18619\n if ($eq($1.ver, $1.vM1) && $1.eci) { //#18620\n $1.seq = -1; //#18620\n break; //#18620\n } //#18620\n if ($eq($1.ver, $1.vM2) && ($1.numB >= 1)) { //#18621\n $1.seq = -1; //#18621\n break; //#18621\n } //#18621\n if ($eq($1.ver, $1.vM2) && ($1.numK >= 1)) { //#18622\n $1.seq = -1; //#18622\n break; //#18622\n } //#18622\n if ($eq($1.ver, $1.vM2) && $1.eci) { //#18623\n $1.seq = -1; //#18623\n break; //#18623\n } //#18623\n if ($eq($1.ver, $1.vM3) && $1.eci) { //#18624\n $1.seq = -1; //#18624\n break; //#18624\n } //#18624\n if ($eq($1.ver, $1.vM4) && $1.eci) { //#18625\n $1.seq = -1; //#18625\n break; //#18625\n } //#18625\n if ($ge($1.ver, $1.vR7x43) && $1.eci) { //#18626\n $1.seq = -1; //#18626\n break; //#18626\n } //#18626\n for (;;) { //#18691\n if ($1.eci) { //#18630\n $k[$j++] = $1.E; //#18629\n break; //#18629\n } //#18629\n if ($ge($1.ver, $1.vR7x43)) { //#18633\n $k[$j++] = $1.B; //#18632\n break; //#18632\n } //#18632\n if ($1.mode == -1) { //#18652\n $k[$j++] = $a([1, 1, 1, $1.e, $1.e, 1, 1]); //#18635\n $1.KbeforeA(); //#18635\n if ($k[--$j]) { //#18635\n $k[$j++] = $1.K; //#18635\n break; //#18635\n } //#18635\n $k[$j++] = $a([1, 1, 1, $1.e, $1.e, 1, 1]); //#18636\n $1.KbeforeN(); //#18636\n if ($k[--$j]) { //#18636\n $k[$j++] = $1.K; //#18636\n break; //#18636\n } //#18636\n $k[$j++] = $a([5, 5, 6, $1.e, $1.e, 2, 3]); //#18637\n $1.KbeforeB(); //#18637\n if ($k[--$j]) { //#18637\n $k[$j++] = $1.K; //#18637\n break; //#18637\n } //#18637\n $k[$j++] = $a([1, 1, 1, $1.e, $1.e, 1, 1]); //#18638\n $1.KbeforeE(); //#18638\n if ($k[--$j]) { //#18638\n $k[$j++] = $1.K; //#18638\n break; //#18638\n } //#18638\n if ($1.numK >= 1) { //#18639\n $k[$j++] = $1.B; //#18639\n break; //#18639\n } //#18639\n $k[$j++] = $a([6, 7, 8, $1.e, $1.e, 3, 4]); //#18640\n $1.AbeforeB(); //#18640\n if ($k[--$j]) { //#18640\n $k[$j++] = $1.A; //#18640\n break; //#18640\n } //#18640\n $k[$j++] = $a([1, 1, 1, $1.e, 1, 1, 1]); //#18641\n $1.AbeforeN(); //#18641\n if ($k[--$j]) { //#18641\n $k[$j++] = $1.A; //#18641\n break; //#18641\n } //#18641\n $k[$j++] = $a([1, 1, 1, $1.e, 1, 1, 1]); //#18642\n $1.AbeforeE(); //#18642\n if ($k[--$j]) { //#18642\n $k[$j++] = $1.A; //#18642\n break; //#18642\n } //#18642\n if ($1.numA >= 1) { //#18645\n var _AF = $ne($1.ver, $1.vM2) ? $1.B : $1.A; //#18644\n $k[$j++] = _AF; //#18644\n break; //#18644\n } //#18644\n $k[$j++] = $a([4, 4, 5, $1.e, $1.e, 2, 3]); //#18646\n $1.NbeforeB(); //#18646\n if ($k[--$j]) { //#18646\n $k[$j++] = $1.N; //#18646\n break; //#18646\n } //#18646\n $k[$j++] = $a([1, 1, 1, $1.e, $1.e, 1, 1]); //#18647\n $1.NbeforeB(); //#18647\n if ($k[--$j]) { //#18647\n $k[$j++] = $1.B; //#18647\n break; //#18647\n } //#18647\n $k[$j++] = $a([7, 8, 9, $1.e, 3, 4, 5]); //#18648\n $1.NbeforeA(); //#18648\n if ($k[--$j]) { //#18648\n $k[$j++] = $1.N; //#18648\n break; //#18648\n } //#18648\n $k[$j++] = $a([1, 1, 1, $1.e, 1, 1, 1]); //#18649\n $1.NbeforeA(); //#18649\n if ($k[--$j]) { //#18649\n $k[$j++] = $1.A; //#18649\n break; //#18649\n } //#18649\n if ($1.numN >= 1) { //#18650\n $k[$j++] = $1.N; //#18650\n break; //#18650\n } //#18650\n $k[$j++] = $1.B; //#18651\n break; //#18651\n } //#18651\n if ($1.mode == $1.B) { //#18667\n $k[$j++] = $a([9, 12, 13, $1.e, $1.e, 4, 5]); //#18654\n $1.KbeforeB(); //#18654\n if ($k[--$j]) { //#18654\n $k[$j++] = $1.K; //#18654\n break; //#18654\n } //#18654\n $k[$j++] = $a([9, 10, 12, $1.e, $1.e, 4, 5]); //#18655\n $1.KbeforeA(); //#18655\n if ($k[--$j]) { //#18655\n $k[$j++] = $1.K; //#18655\n break; //#18655\n } //#18655\n $k[$j++] = $a([9, 10, 11, $1.e, $1.e, 5, 6]); //#18656\n $1.KbeforeN(); //#18656\n if ($k[--$j]) { //#18656\n $k[$j++] = $1.K; //#18656\n break; //#18656\n } //#18656\n $k[$j++] = $a([4, 5, 6, $1.e, $1.e, 2, 3]); //#18657\n $1.KbeforeE(); //#18657\n if ($k[--$j]) { //#18657\n $k[$j++] = $1.K; //#18657\n break; //#18657\n } //#18657\n $k[$j++] = $a([11, 12, 14, $1.e, $1.e, 5, 7]); //#18658\n $1.AbeforeK(); //#18658\n if ($k[--$j]) { //#18658\n $k[$j++] = $1.A; //#18658\n break; //#18658\n } //#18658\n $k[$j++] = $a([11, 15, 16, $1.e, $1.e, 6, 7]); //#18659\n $1.AbeforeB(); //#18659\n if ($k[--$j]) { //#18659\n $k[$j++] = $1.A; //#18659\n break; //#18659\n } //#18659\n $k[$j++] = $a([12, 13, 15, $1.e, $1.e, 6, 8]); //#18660\n $1.AbeforeN(); //#18660\n if ($k[--$j]) { //#18660\n $k[$j++] = $1.A; //#18660\n break; //#18660\n } //#18660\n $k[$j++] = $a([6, 7, 8, $1.e, $1.e, 3, 4]); //#18661\n $1.AbeforeE(); //#18661\n if ($k[--$j]) { //#18661\n $k[$j++] = $1.A; //#18661\n break; //#18661\n } //#18661\n $k[$j++] = $a([6, 7, 8, $1.e, $1.e, 3, 4]); //#18662\n $1.NbeforeK(); //#18662\n if ($k[--$j]) { //#18662\n $k[$j++] = $1.N; //#18662\n break; //#18662\n } //#18662\n $k[$j++] = $a([6, 8, 9, $1.e, $1.e, 3, 4]); //#18663\n $1.NbeforeB(); //#18663\n if ($k[--$j]) { //#18663\n $k[$j++] = $1.N; //#18663\n break; //#18663\n } //#18663\n $k[$j++] = $a([6, 7, 8, $1.e, $1.e, 3, 4]); //#18664\n $1.NbeforeA(); //#18664\n if ($k[--$j]) { //#18664\n $k[$j++] = $1.N; //#18664\n break; //#18664\n } //#18664\n $k[$j++] = $a([3, 4, 5, $1.e, $1.e, 2, 3]); //#18665\n $1.NbeforeE(); //#18665\n if ($k[--$j]) { //#18665\n $k[$j++] = $1.N; //#18665\n break; //#18665\n } //#18665\n $k[$j++] = $1.B; //#18666\n break; //#18666\n } //#18666\n if ($1.mode == $1.A) { //#18676\n if ($1.numK >= 1) { //#18669\n $k[$j++] = $1.K; //#18669\n break; //#18669\n } //#18669\n if ($1.numB >= 1) { //#18670\n $k[$j++] = $1.B; //#18670\n break; //#18670\n } //#18670\n $k[$j++] = $a([13, 15, 17, $1.e, 5, 7, 9]); //#18671\n $1.NbeforeA(); //#18671\n if ($k[--$j]) { //#18671\n $k[$j++] = $1.N; //#18671\n break; //#18671\n } //#18671\n $k[$j++] = $a([13, 17, 18, $1.e, $1.e, 7, 9]); //#18672\n $1.NbeforeB(); //#18672\n if ($k[--$j]) { //#18672\n $k[$j++] = $1.N; //#18672\n break; //#18672\n } //#18672\n $k[$j++] = $a([7, 8, 9, $1.e, 3, 4, 5]); //#18673\n $1.NbeforeE(); //#18673\n if ($k[--$j]) { //#18673\n $k[$j++] = $1.N; //#18673\n break; //#18673\n } //#18673\n if (($1.numA >= 1) || ($1.numN >= 1)) { //#18674\n $k[$j++] = $1.A; //#18674\n break; //#18674\n } //#18674\n $k[$j++] = $1.B; //#18675\n break; //#18675\n } //#18675\n if ($1.mode == $1.N) { //#18683\n if ($1.numK >= 1) { //#18678\n $k[$j++] = $1.K; //#18678\n break; //#18678\n } //#18678\n if ($1.numB >= 1) { //#18679\n $k[$j++] = $1.B; //#18679\n break; //#18679\n } //#18679\n if ($1.numA >= 1) { //#18680\n $k[$j++] = $1.A; //#18680\n break; //#18680\n } //#18680\n if ($1.numN >= 1) { //#18681\n $k[$j++] = $1.N; //#18681\n break; //#18681\n } //#18681\n $k[$j++] = $1.B; //#18682\n break; //#18682\n } //#18682\n if ($1.mode == $1.K) { //#18690\n if ($1.numB >= 1) { //#18685\n $k[$j++] = $1.B; //#18685\n break; //#18685\n } //#18685\n if ($1.numA >= 1) { //#18686\n $k[$j++] = $1.A; //#18686\n break; //#18686\n } //#18686\n if ($1.numN >= 1) { //#18687\n $k[$j++] = $1.N; //#18687\n break; //#18687\n } //#18687\n if ($1.numK >= 1) { //#18688\n $k[$j++] = $1.K; //#18688\n break; //#18688\n } //#18688\n $k[$j++] = $1.B; //#18689\n break; //#18689\n } //#18689\n } //#18689\n var _CL = $k[--$j]; //#18692\n $k[$j++] = _CL; //#18692\n if ((_CL == $1.K) && $1.fnc1first) { //#18692\n $j--; //#18692\n $k[$j++] = $1.B; //#18692\n } //#18692\n var _CP = $k[--$j]; //#18693\n $k[$j++] = _CP; //#18709\n if (_CP == $1.mode) { //#18708\n $j--; //#18694\n var _CV = ($1.mode == $1.K) ? 2 : 1; //#18695\n $1.dat = $geti($1.msg, $1.i, _CV); //#18695\n $k[$j++] = Infinity; //#18698\n $aload($1.seq); //#18697\n $k[$j++] = Infinity; //#18698\n var _CY = $k[--$j]; //#18698\n var _CZ = $k[--$j]; //#18698\n $k[$j++] = _CY; //#18698\n $aload(_CZ); //#18698\n $aload($1.dat); //#18698\n var _Cb = $a(); //#18698\n $k[$j++] = _Cb; //#18698\n $1.seq = $a(); //#18698\n } else { //#18708\n $1.mode = $k[--$j]; //#18701\n if ($1.mode == $1.K) { //#18702\n $k[$j++] = $1.K; //#18702\n $k[$j++] = $geti($1.msg, $1.i, $1.numK * 2); //#18702\n } //#18702\n if ($1.mode == $1.B) { //#18703\n $k[$j++] = $1.B; //#18703\n $k[$j++] = $geti($1.msg, $1.i, $1.numB); //#18703\n } //#18703\n if ($1.mode == $1.A) { //#18704\n $k[$j++] = $1.A; //#18704\n $k[$j++] = $geti($1.msg, $1.i, $1.numA); //#18704\n } //#18704\n if ($1.mode == $1.N) { //#18705\n $k[$j++] = $1.N; //#18705\n $k[$j++] = $geti($1.msg, $1.i, $1.numN); //#18705\n } //#18705\n if ($1.mode == $1.E) { //#18706\n $1.mode = -1; //#18706\n $k[$j++] = $1.E; //#18706\n $k[$j++] = $geti($1.msg, $1.i, 1); //#18706\n } //#18706\n $1.dat = $k[--$j]; //#18707\n $1.sw = $k[--$j]; //#18707\n $k[$j++] = Infinity; //#18708\n $aload($1.seq); //#18708\n $k[$j++] = $1.sw; //#18708\n $k[$j++] = $1.dat; //#18708\n $1.seq = $a(); //#18708\n } //#18708\n $1.i = $1.i + $1.dat.length; //#18710\n } //#18710\n for (;;) { //#18740\n if ($1.seq == -1) { //#18715\n break; //#18715\n } //#18715\n $1.bits = $s(23648); //#18716\n $1.j = 0; //#18717\n if ($1.fnc1first) { //#18720\n if ($lt($1.ver, $1.vR7x43)) { //#18719\n $k[$j++] = \"0101\"; //#18719\n } else { //#18719\n $k[$j++] = \"101\"; //#18719\n } //#18719\n $1.addtobits(); //#18719\n } //#18719\n $1.abort = false; //#18721\n for (var _DR = 0, _DQ = $1.seq.length - 1; _DR <= _DQ; _DR += 2) { //#18735\n $1.i = _DR; //#18723\n $1.mode = $get($1.seq, $1.i); //#18724\n $k[$j++] = $get($get($1.mids, $1.ver), $1.mode); //#18725\n $1.addtobits(); //#18725\n $1.chars = $get($1.seq, $1.i + 1); //#18726\n if ($1.mode != $1.E) { //#18733\n $1.cclen = $get($get($1.cclens, $1.ver), $1.mode); //#18728\n if ($1.chars.length >= (~~Math.pow(2, $1.cclen))) { //#18731\n $1.abort = true; //#18730\n break; //#18730\n } //#18730\n $k[$j++] = $1.chars.length; //#18732\n if ($1.mode == $1.K) { //#18732\n var _Dp = $k[--$j]; //#18732\n $k[$j++] = ~~(_Dp / 2); //#18732\n } //#18732\n $k[$j++] = $1.cclen; //#18732\n $1.tobin(); //#18732\n $1.addtobits(); //#18732\n } //#18732\n $k[$j++] = $1.chars; //#18734\n if ($1[$get($1.encfuncs, $1.mode)]() === true) {\n break;\n } //#18734\n $1.addtobits(); //#18734\n } //#18734\n if ($1.abort) { //#18736\n break; //#18736\n } //#18736\n $1.bits = $geti($1.bits, 0, $1.j); //#18737\n $put($1.msgbits, $1.ver, $1.bits); //#18738\n break; //#18739\n } //#18739\n } //#18739\n $1.metrics = $a([$a([\"micro\", \"M1\", $1.vM1, 11, 11, 98, 99, 36, $a([2, 99, 99, 99]), $a([1, 0, -1, -1, -1, -1, -1, -1])]), $a([\"micro\", \"M2\", $1.vM2, 13, 13, 98, 99, 80, $a([5, 6, 99, 99]), $a([1, 0, 1, 0, -1, -1, -1, -1])]), $a([\"micro\", \"M3\", $1.vM3, 15, 15, 98, 99, 132, $a([6, 8, 99, 99]), $a([1, 0, 1, 0, -1, -1, -1, -1])]), $a([\"micro\", \"M4\", $1.vM4, 17, 17, 98, 99, 192, $a([8, 10, 14, 99]), $a([1, 0, 1, 0, 1, 0, -1, -1])]), $a([\"full\", \"1\", $1.v1to9, 21, 21, 98, 99, 208, $a([7, 10, 13, 17]), $a([1, 0, 1, 0, 1, 0, 1, 0])]), $a([\"full\", \"2\", $1.v1to9, 25, 25, 18, 99, 359, $a([10, 16, 22, 28]), $a([1, 0, 1, 0, 1, 0, 1, 0])]), $a([\"full\", \"3\", $1.v1to9, 29, 29, 22, 99, 567, $a([15, 26, 36, 44]), $a([1, 0, 1, 0, 2, 0, 2, 0])]), $a([\"full\", \"4\", $1.v1to9, 33, 33, 26, 99, 807, $a([20, 36, 52, 64]), $a([1, 0, 2, 0, 2, 0, 4, 0])]), $a([\"full\", \"5\", $1.v1to9, 37, 37, 30, 99, 1079, $a([26, 48, 72, 88]), $a([1, 0, 2, 0, 2, 2, 2, 2])]), $a([\"full\", \"6\", $1.v1to9, 41, 41, 34, 99, 1383, $a([36, 64, 96, 112]), $a([2, 0, 4, 0, 4, 0, 4, 0])]), $a([\"full\", \"7\", $1.v1to9, 45, 45, 22, 38, 1568, $a([40, 72, 108, 130]), $a([2, 0, 4, 0, 2, 4, 4, 1])]), $a([\"full\", \"8\", $1.v1to9, 49, 49, 24, 42, 1936, $a([48, 88, 132, 156]), $a([2, 0, 2, 2, 4, 2, 4, 2])]), $a([\"full\", \"9\", $1.v1to9, 53, 53, 26, 46, 2336, $a([60, 110, 160, 192]), $a([2, 0, 3, 2, 4, 4, 4, 4])]), $a([\"full\", \"10\", $1.v10to26, 57, 57, 28, 50, 2768, $a([72, 130, 192, 224]), $a([2, 2, 4, 1, 6, 2, 6, 2])]), $a([\"full\", \"11\", $1.v10to26, 61, 61, 30, 54, 3232, $a([80, 150, 224, 264]), $a([4, 0, 1, 4, 4, 4, 3, 8])]), $a([\"full\", \"12\", $1.v10to26, 65, 65, 32, 58, 3728, $a([96, 176, 260, 308]), $a([2, 2, 6, 2, 4, 6, 7, 4])]), $a([\"full\", \"13\", $1.v10to26, 69, 69, 34, 62, 4256, $a([104, 198, 288, 352]), $a([4, 0, 8, 1, 8, 4, 12, 4])]), $a([\"full\", \"14\", $1.v10to26, 73, 73, 26, 46, 4651, $a([120, 216, 320, 384]), $a([3, 1, 4, 5, 11, 5, 11, 5])]), $a([\"full\", \"15\", $1.v10to26, 77, 77, 26, 48, 5243, $a([132, 240, 360, 432]), $a([5, 1, 5, 5, 5, 7, 11, 7])]), $a([\"full\", \"16\", $1.v10to26, 81, 81, 26, 50, 5867, $a([144, 280, 408, 480]), $a([5, 1, 7, 3, 15, 2, 3, 13])]), $a([\"full\", \"17\", $1.v10to26, 85, 85, 30, 54, 6523, $a([168, 308, 448, 532]), $a([1, 5, 10, 1, 1, 15, 2, 17])]), $a([\"full\", \"18\", $1.v10to26, 89, 89, 30, 56, 7211, $a([180, 338, 504, 588]), $a([5, 1, 9, 4, 17, 1, 2, 19])]), $a([\"full\", \"19\", $1.v10to26, 93, 93, 30, 58, 7931, $a([196, 364, 546, 650]), $a([3, 4, 3, 11, 17, 4, 9, 16])]), $a([\"full\", \"20\", $1.v10to26, 97, 97, 34, 62, 8683, $a([224, 416, 600, 700]), $a([3, 5, 3, 13, 15, 5, 15, 10])]), $a([\"full\", \"21\", $1.v10to26, 101, 101, 28, 50, 9252, $a([224, 442, 644, 750]), $a([4, 4, 17, 0, 17, 6, 19, 6])]), $a([\"full\", \"22\", $1.v10to26, 105, 105, 26, 50, 10068, $a([252, 476, 690, 816]), $a([2, 7, 17, 0, 7, 16, 34, 0])]), $a([\"full\", \"23\", $1.v10to26, 109, 109, 30, 54, 10916, $a([270, 504, 750, 900]), $a([4, 5, 4, 14, 11, 14, 16, 14])]), $a([\"full\", \"24\", $1.v10to26, 113, 113, 28, 54, 11796, $a([300, 560, 810, 960]), $a([6, 4, 6, 14, 11, 16, 30, 2])]), $a([\"full\", \"25\", $1.v10to26, 117, 117, 32, 58, 12708, $a([312, 588, 870, 1050]), $a([8, 4, 8, 13, 7, 22, 22, 13])]), $a([\"full\", \"26\", $1.v10to26, 121, 121, 30, 58, 13652, $a([336, 644, 952, 1110]), $a([10, 2, 19, 4, 28, 6, 33, 4])]), $a([\"full\", \"27\", $1.v27to40, 125, 125, 34, 62, 14628, $a([360, 700, 1020, 1200]), $a([8, 4, 22, 3, 8, 26, 12, 28])]), $a([\"full\", \"28\", $1.v27to40, 129, 129, 26, 50, 15371, $a([390, 728, 1050, 1260]), $a([3, 10, 3, 23, 4, 31, 11, 31])]), $a([\"full\", \"29\", $1.v27to40, 133, 133, 30, 54, 16411, $a([420, 784, 1140, 1350]), $a([7, 7, 21, 7, 1, 37, 19, 26])]), $a([\"full\", \"30\", $1.v27to40, 137, 137, 26, 52, 17483, $a([450, 812, 1200, 1440]), $a([5, 10, 19, 10, 15, 25, 23, 25])]), $a([\"full\", \"31\", $1.v27to40, 141, 141, 30, 56, 18587, $a([480, 868, 1290, 1530]), $a([13, 3, 2, 29, 42, 1, 23, 28])]), $a([\"full\", \"32\", $1.v27to40, 145, 145, 34, 60, 19723, $a([510, 924, 1350, 1620]), $a([17, 0, 10, 23, 10, 35, 19, 35])]), $a([\"full\", \"33\", $1.v27to40, 149, 149, 30, 58, 20891, $a([540, 980, 1440, 1710]), $a([17, 1, 14, 21, 29, 19, 11, 46])]), $a([\"full\", \"34\", $1.v27to40, 153, 153, 34, 62, 22091, $a([570, 1036, 1530, 1800]), $a([13, 6, 14, 23, 44, 7, 59, 1])]), $a([\"full\", \"35\", $1.v27to40, 157, 157, 30, 54, 23008, $a([570, 1064, 1590, 1890]), $a([12, 7, 12, 26, 39, 14, 22, 41])]), $a([\"full\", \"36\", $1.v27to40, 161, 161, 24, 50, 24272, $a([600, 1120, 1680, 1980]), $a([6, 14, 6, 34, 46, 10, 2, 64])]), $a([\"full\", \"37\", $1.v27to40, 165, 165, 28, 54, 25568, $a([630, 1204, 1770, 2100]), $a([17, 4, 29, 14, 49, 10, 24, 46])]), $a([\"full\", \"38\", $1.v27to40, 169, 169, 32, 58, 26896, $a([660, 1260, 1860, 2220]), $a([4, 18, 13, 32, 48, 14, 42, 32])]), $a([\"full\", \"39\", $1.v27to40, 173, 173, 26, 54, 28256, $a([720, 1316, 1950, 2310]), $a([20, 4, 40, 7, 43, 22, 10, 67])]), $a([\"full\", \"40\", $1.v27to40, 177, 177, 30, 58, 29648, $a([750, 1372, 2040, 2430]), $a([19, 6, 18, 31, 34, 34, 20, 61])]), $a([\"rmqr\", \"R7x43\", $1.vR7x43, 7, 43, 22, 99, 104, $a([99, 7, 99, 10]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R7x59\", $1.vR7x59, 7, 59, 20, 40, 171, $a([99, 9, 99, 14]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R7x77\", $1.vR7x77, 7, 77, 26, 52, 261, $a([99, 12, 99, 22]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R7x99\", $1.vR7x99, 7, 99, 24, 50, 358, $a([99, 16, 99, 30]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R7x139\", $1.vR7x139, 7, 139, 28, 56, 545, $a([99, 24, 99, 44]), $a([-1, -1, 1, 0, -1, -1, 2, 0])]), $a([\"rmqr\", \"R9x43\", $1.vR9x43, 9, 43, 22, 99, 170, $a([99, 9, 99, 14]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R9x59\", $1.vR9x59, 9, 59, 20, 40, 267, $a([99, 12, 99, 22]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R9x77\", $1.vR9x77, 9, 77, 26, 52, 393, $a([99, 18, 99, 32]), $a([-1, -1, 1, 0, -1, -1, 1, 1])]), $a([\"rmqr\", \"R9x99\", $1.vR9x99, 9, 99, 24, 50, 532, $a([99, 24, 99, 44]), $a([-1, -1, 1, 0, -1, -1, 2, 0])]), $a([\"rmqr\", \"R9x139\", $1.vR9x139, 9, 139, 28, 56, 797, $a([99, 36, 99, 66]), $a([-1, -1, 1, 1, -1, -1, 3, 0])]), $a([\"rmqr\", \"R11x27\", $1.vR11x27, 11, 27, 98, 99, 122, $a([99, 8, 99, 10]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R11x43\", $1.vR11x43, 11, 43, 22, 99, 249, $a([99, 12, 99, 20]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R11x59\", $1.vR11x59, 11, 59, 20, 40, 376, $a([99, 16, 99, 32]), $a([-1, -1, 1, 0, -1, -1, 1, 1])]), $a([\"rmqr\", \"R11x77\", $1.vR11x77, 11, 77, 26, 52, 538, $a([99, 24, 99, 44]), $a([-1, -1, 1, 0, -1, -1, 1, 1])]), $a([\"rmqr\", \"R11x99\", $1.vR11x99, 11, 99, 24, 50, 719, $a([99, 32, 99, 60]), $a([-1, -1, 1, 1, -1, -1, 1, 1])]), $a([\"rmqr\", \"R11x139\", $1.vR11x139, 11, 139, 28, 56, 1062, $a([99, 48, 99, 90]), $a([-1, -1, 2, 0, -1, -1, 3, 0])]), $a([\"rmqr\", \"R13x27\", $1.vR13x27, 13, 27, 98, 99, 172, $a([99, 9, 99, 14]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R13x43\", $1.vR13x43, 13, 43, 22, 99, 329, $a([99, 14, 99, 28]), $a([-1, -1, 1, 0, -1, -1, 1, 0])]), $a([\"rmqr\", \"R13x59\", $1.vR13x59, 13, 59, 20, 40, 486, $a([99, 22, 99, 40]), $a([-1, -1, 1, 0, -1, -1, 2, 0])]), $a([\"rmqr\", \"R13x77\", $1.vR13x77, 13, 77, 26, 52, 684, $a([99, 32, 99, 56]), $a([-1, -1, 1, 1, -1, -1, 1, 1])]), $a([\"rmqr\", \"R13x99\", $1.vR13x99, 13, 99, 24, 50, 907, $a([99, 40, 99, 78]), $a([-1, -1, 1, 1, -1, -1, 1, 2])]), $a([\"rmqr\", \"R13x139\", $1.vR13x139, 13, 139, 28, 56, 1328, $a([99, 60, 99, 112]), $a([-1, -1, 2, 1, -1, -1, 2, 2])]), $a([\"rmqr\", \"R15x43\", $1.vR15x43, 15, 43, 22, 99, 409, $a([99, 18, 99, 36]), $a([-1, -1, 1, 0, -1, -1, 1, 1])]), $a([\"rmqr\", \"R15x59\", $1.vR15x59, 15, 59, 20, 40, 596, $a([99, 26, 99, 48]), $a([-1, -1, 1, 0, -1, -1, 2, 0])]), $a([\"rmqr\", \"R15x77\", $1.vR15x77, 15, 77, 26, 52, 830, $a([99, 36, 99, 72]), $a([-1, -1, 1, 1, -1, -1, 2, 1])]), $a([\"rmqr\", \"R15x99\", $1.vR15x99, 15, 99, 24, 50, 1095, $a([99, 48, 99, 88]), $a([-1, -1, 2, 0, -1, -1, 4, 0])]), $a([\"rmqr\", \"R15x139\", $1.vR15x139, 15, 139, 28, 56, 1594, $a([99, 72, 99, 130]), $a([-1, -1, 2, 1, -1, -1, 1, 4])]), $a([\"rmqr\", \"R17x43\", $1.vR17x43, 17, 43, 22, 99, 489, $a([99, 22, 99, 40]), $a([-1, -1, 1, 0, -1, -1, 1, 1])]), $a([\"rmqr\", \"R17x59\", $1.vR17x59, 17, 59, 20, 40, 706, $a([99, 32, 99, 60]), $a([-1, -1, 2, 0, -1, -1, 2, 0])]), $a([\"rmqr\", \"R17x77\", $1.vR17x77, 17, 77, 26, 52, 976, $a([99, 44, 99, 84]), $a([-1, -1, 2, 0, -1, -1, 1, 2])]), $a([\"rmqr\", \"R17x99\", $1.vR17x99, 17, 99, 24, 50, 1283, $a([99, 60, 99, 104]), $a([-1, -1, 2, 1, -1, -1, 4, 0])]), $a([\"rmqr\", \"R17x139\", $1.vR17x139, 17, 139, 28, 56, 1860, $a([99, 80, 99, 156]), $a([-1, -1, 4, 0, -1, -1, 2, 4])])]); //#18823\n $k[$j++] = 'eclval'; //#18824\n $search(\"LMQH\", $1.eclevel); //#18824\n $j--; //#18824\n var _Iz = $k[--$j]; //#18824\n var _J0 = $k[--$j]; //#18824\n $k[$j++] = _Iz.length; //#18824\n $k[$j++] = _J0; //#18824\n $j--; //#18824\n var _J1 = $k[--$j]; //#18824\n var _J2 = $k[--$j]; //#18824\n $k[$j++] = _J1; //#18824\n $k[$j++] = _J2; //#18824\n $j--; //#18824\n var _J3 = $k[--$j]; //#18824\n $1[$k[--$j]] = _J3; //#18824\n for (var _J7 = 0, _J6 = $1.metrics.length - 1; _J7 <= _J6; _J7 += 1) { //#18863\n $1.i = _J7; //#18826\n $1.m = $get($1.metrics, $1.i); //#18827\n $1.frmt = $get($1.m, 0); //#18828\n $1.vers = $get($1.m, 1); //#18829\n $1.vergrp = $get($1.m, 2); //#18830\n $1.verind = $1.i - 44; //#18831\n $1.rows = $get($1.m, 3); //#18832\n $1.cols = $get($1.m, 4); //#18833\n $1.asp2 = $get($1.m, 5); //#18834\n $1.asp3 = $get($1.m, 6); //#18835\n $1.nmod = $get($1.m, 7); //#18836\n $1.ncws = ~~($1.nmod / 8); //#18837\n $1.rbit = $1.nmod % 8; //#18838\n $1.lc4b = false; //#18839\n if ($eq($1.vers, \"M1\") || $eq($1.vers, \"M3\")) { //#18844\n $1.ncws = $1.ncws + 1; //#18841\n $1.rbit = 0; //#18842\n $1.lc4b = true; //#18843\n } //#18843\n $1.ecws = $get($get($1.m, 8), $1.eclval); //#18845\n $1.dcws = $f($1.ncws - $1.ecws); //#18846\n var _Jf = $1.lc4b ? 4 : 0; //#18847\n $1.dmod = $f(($1.dcws * 8) - _Jf); //#18847\n $1.ecb1 = $get($get($1.m, 9), $1.eclval * 2); //#18848\n $1.ecb2 = $get($get($1.m, 9), $f(($1.eclval * 2) + 1)); //#18849\n $1.okay = true; //#18850\n if ($ne($1.format, $1.frmt)) { //#18851\n $1.okay = false; //#18851\n } //#18851\n if ($eq($1.frmt, \"micro\") && $1.fnc1first) { //#18852\n $1.okay = false; //#18852\n } //#18852\n if ($ne($1.version, \"unset\") && $ne($1.version, $1.vers)) { //#18853\n $1.okay = false; //#18853\n } //#18853\n if (($1.ecb1 == -1) || ($1.ecb2 == -1)) { //#18854\n $1.okay = false; //#18854\n } //#18854\n $1.verbits = $get($1.msgbits, $1.vergrp); //#18855\n if ($1.verbits == -1) { //#18859\n $1.okay = false; //#18857\n } else { //#18859\n if ($1.verbits.length > $1.dmod) { //#18859\n $1.okay = false; //#18859\n } //#18859\n } //#18859\n $1.term = $geti(\"000000000\", 0, $get($1.termlens, $1.vergrp)); //#18861\n if ($1.okay) { //#18862\n break; //#18862\n } //#18862\n } //#18862\n if (!$1.okay) { //#18867\n $k[$j++] = 'bwipp.qrcodeNoValidSymbol'; //#18866\n $k[$j++] = \"No valid symbol available\"; //#18866\n bwipp_raiseerror(); //#18866\n } //#18866\n $1.format = $1.frmt; //#18869\n $1.version = $1.vers; //#18870\n $1.msgbits = $1.verbits; //#18871\n $1.dcpb = ~~($1.dcws / $f($1.ecb1 + $1.ecb2)); //#18872\n $1.ecpb = (~~($1.ncws / $f($1.ecb1 + $1.ecb2))) - $1.dcpb; //#18873\n var _KJ = $1.term; //#18876\n var _KK = $1.dmod; //#18876\n var _KL = $1.msgbits; //#18876\n var _KM = $1.term; //#18876\n var _KN = _KM.length; //#18876\n var _KO = $f(_KK - _KL.length); //#18876\n if ($f(_KK - _KL.length) > _KM.length) { //#18876\n var _ = _KN; //#18876\n _KN = _KO; //#18876\n _KO = _; //#18876\n } //#18876\n $1.term = $geti(_KJ, 0, _KO); //#18876\n var _KS = $s($1.msgbits.length + $1.term.length); //#18877\n $puti(_KS, 0, $1.msgbits); //#18878\n $puti(_KS, $1.msgbits.length, $1.term); //#18879\n $1.msgbits = _KS; //#18880\n $1.pad = $s($1.dmod); //#18883\n for (var _Ka = 0, _KZ = $1.pad.length - 1; _Ka <= _KZ; _Ka += 1) { //#18884\n $put($1.pad, _Ka, 48); //#18884\n } //#18884\n $puti($1.pad, 0, $1.msgbits); //#18885\n $1.padstrs = $a([\"11101100\", \"00010001\"]); //#18886\n $1.padnum = 0; //#18887\n var _Ki = $1.lc4b ? 5 : 1; //#18888\n for (var _Kk = ~~(Math.ceil($1.msgbits.length / 8) * 8), _Kj = $f($1.dmod - _Ki); _Kk <= _Kj; _Kk += 8) { //#18891\n $puti($1.pad, _Kk, $get($1.padstrs, $1.padnum)); //#18889\n $1.padnum = ($1.padnum + 1) % 2; //#18890\n } //#18890\n $1.cws = $a($1.dcws); //#18894\n for (var _Ku = 0, _Kt = $1.cws.length - 1; _Ku <= _Kt; _Ku += 1) { //#18906\n $1.c = _Ku; //#18896\n $1.bpcw = 8; //#18897\n if ($1.lc4b && ($1.c == ($1.cws.length - 1))) { //#18898\n $1.bpcw = 4; //#18898\n } //#18898\n $1.cwb = $geti($1.pad, $1.c * 8, $1.bpcw); //#18899\n $1.cw = 0; //#18900\n for (var _L4 = 0, _L3 = $1.bpcw - 1; _L4 <= _L3; _L4 += 1) { //#18904\n $1.i = _L4; //#18902\n $1.cw = $f($1.cw + ((~~(Math.pow(2, ($1.bpcw - $1.i) - 1))) * $f($get($1.cwb, $1.i) - 48))); //#18903\n } //#18903\n $put($1.cws, $1.c, $1.cw); //#18905\n } //#18905\n if ($1.lc4b) { //#18909\n var _LF = $1.cws; //#18909\n var _LG = $1.cws; //#18909\n $put(_LF, _LG.length - 1, $get(_LF, _LG.length - 1) << 4); //#18909\n } //#18909\n var _LJ = $get($1.options, 'debugcws') !== undefined; //#18911\n if (_LJ) { //#18911\n $k[$j++] = 'bwipp.debugcws'; //#18911\n $k[$j++] = $1.cws; //#18911\n bwipp_raiseerror(); //#18911\n } //#18911\n $k[$j++] = Infinity; //#18914\n $k[$j++] = 1; //#18914\n for (var _LL = 0, _LM = 255; _LL < _LM; _LL++) { //#18914\n var _LN = $k[--$j]; //#18914\n var _LO = _LN * 2; //#18914\n $k[$j++] = _LN; //#18914\n $k[$j++] = _LO; //#18914\n if (_LO >= 256) { //#18914\n var _LP = $k[--$j]; //#18914\n $k[$j++] = _LP ^ 285; //#18914\n } //#18914\n } //#18914\n $1.rsalog = $a(); //#18914\n $1.rslog = $a(256); //#18915\n for (var _LS = 1; _LS <= 255; _LS += 1) { //#18916\n $put($1.rslog, $get($1.rsalog, _LS), _LS); //#18916\n } //#18916\n $1.rsprod = function() {\n var _LW = $k[--$j]; //#18920\n var _LX = $k[--$j]; //#18920\n $k[$j++] = _LX; //#18924\n $k[$j++] = _LW; //#18924\n if ((_LW != 0) && (_LX != 0)) { //#18923\n var _La = $get($1.rslog, $k[--$j]); //#18921\n var _Lf = $get($1.rsalog, $f(_La + $get($1.rslog, $k[--$j])) % 255); //#18921\n $k[$j++] = _Lf; //#18921\n } else { //#18923\n $j -= 2; //#18923\n $k[$j++] = 0; //#18923\n } //#18923\n }; //#18925\n $k[$j++] = Infinity; //#18928\n $k[$j++] = 1; //#18928\n for (var _Lh = 0, _Li = $1.ecpb; _Lh < _Li; _Lh++) { //#18928\n $k[$j++] = 0; //#18928\n } //#18928\n $1.coeffs = $a(); //#18928\n for (var _Lm = 0, _Ll = $1.ecpb - 1; _Lm <= _Ll; _Lm += 1) { //#18937\n $1.i = _Lm; //#18930\n $put($1.coeffs, $1.i + 1, $get($1.coeffs, $1.i)); //#18931\n for (var _Lt = $1.i; _Lt >= 1; _Lt -= 1) { //#18935\n $1.j = _Lt; //#18933\n $k[$j++] = $1.coeffs; //#18934\n $k[$j++] = $1.j; //#18934\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#18934\n $k[$j++] = $get($1.coeffs, $1.j); //#18934\n $k[$j++] = $get($1.rsalog, $1.i); //#18934\n $1.rsprod(); //#18934\n var _M5 = $k[--$j]; //#18934\n var _M6 = $k[--$j]; //#18934\n var _M7 = $k[--$j]; //#18934\n $put($k[--$j], _M7, $xo(_M6, _M5)); //#18934\n } //#18934\n $k[$j++] = $1.coeffs; //#18936\n $k[$j++] = 0; //#18936\n $k[$j++] = $get($1.coeffs, 0); //#18936\n $k[$j++] = $get($1.rsalog, $1.i); //#18936\n $1.rsprod(); //#18936\n var _MF = $k[--$j]; //#18936\n var _MG = $k[--$j]; //#18936\n $put($k[--$j], _MG, _MF); //#18936\n } //#18936\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#18938\n $1.rscodes = function() {\n $1.rscws = $k[--$j]; //#18942\n $1.rsnd = $1.rscws.length; //#18943\n $k[$j++] = Infinity; //#18944\n $forall($1.rscws); //#18944\n for (var _MP = 0, _MQ = $1.ecpb; _MP < _MQ; _MP++) { //#18944\n $k[$j++] = 0; //#18944\n } //#18944\n $1.rscws = $a(); //#18944\n for (var _MU = 0, _MT = $1.rsnd - 1; _MU <= _MT; _MU += 1) { //#18952\n $1.m = _MU; //#18946\n $1.k = $get($1.rscws, $1.m); //#18947\n for (var _Ma = 0, _MZ = $1.ecpb - 1; _Ma <= _MZ; _Ma += 1) { //#18951\n $1.j = _Ma; //#18949\n $k[$j++] = $1.rscws; //#18950\n $k[$j++] = ($1.m + $1.j) + 1; //#18950\n $k[$j++] = $get($1.coeffs, ($1.ecpb - $1.j) - 1); //#18950\n $k[$j++] = $1.k; //#18950\n $1.rsprod(); //#18950\n var _Mn = $k[--$j]; //#18950\n var _Mo = $k[--$j]; //#18950\n $put($k[--$j], _Mo, $xo(_Mn, $get($1.rscws, ($1.m + $1.j) + 1))); //#18950\n } //#18950\n } //#18950\n $k[$j++] = $geti($1.rscws, $1.rsnd, $1.ecpb); //#18953\n }; //#18954\n $1.dcwsb = $a($f($1.ecb1 + $1.ecb2)); //#18957\n $1.ecwsb = $a($f($1.ecb1 + $1.ecb2)); //#18958\n for (var _N2 = 0, _N1 = $f($1.ecb1 - 1); _N2 <= _N1; _N2 += 1) { //#18963\n $1.i = _N2; //#18960\n $put($1.dcwsb, $1.i, $geti($1.cws, $1.i * $1.dcpb, $1.dcpb)); //#18961\n $k[$j++] = $1.ecwsb; //#18962\n $k[$j++] = $1.i; //#18962\n $k[$j++] = $get($1.dcwsb, $1.i); //#18962\n $1.rscodes(); //#18962\n var _NF = $k[--$j]; //#18962\n var _NG = $k[--$j]; //#18962\n $put($k[--$j], _NG, _NF); //#18962\n } //#18962\n for (var _NK = 0, _NJ = $f($1.ecb2 - 1); _NK <= _NJ; _NK += 1) { //#18968\n $1.i = _NK; //#18965\n $put($1.dcwsb, $f($1.ecb1 + $1.i), $geti($1.cws, $f(($1.ecb1 * $1.dcpb) + ($1.i * ($1.dcpb + 1))), $1.dcpb + 1)); //#18966\n $k[$j++] = $1.ecwsb; //#18967\n $k[$j++] = $f($1.ecb1 + $1.i); //#18967\n $k[$j++] = $get($1.dcwsb, $f($1.ecb1 + $1.i)); //#18967\n $1.rscodes(); //#18967\n var _Nc = $k[--$j]; //#18967\n var _Nd = $k[--$j]; //#18967\n $put($k[--$j], _Nd, _Nc); //#18967\n } //#18967\n $1.cws = $a($1.ncws); //#18971\n $1.cw = 0; //#18972\n for (var _Nj = 0, _Ni = $1.dcpb; _Nj <= _Ni; _Nj += 1) { //#18982\n $1.i = _Nj; //#18974\n for (var _Nn = 0, _Nm = $f($f($1.ecb1 + $1.ecb2) - 1); _Nn <= _Nm; _Nn += 1) { //#18981\n $1.j = _Nn; //#18976\n if ($1.i < $get($1.dcwsb, $1.j).length) { //#18980\n $put($1.cws, $1.cw, $get($get($1.dcwsb, $1.j), $1.i)); //#18978\n $1.cw = $1.cw + 1; //#18979\n } //#18979\n } //#18979\n } //#18979\n for (var _O2 = 0, _O1 = $1.ecpb - 1; _O2 <= _O1; _O2 += 1) { //#18990\n $1.i = _O2; //#18984\n for (var _O6 = 0, _O5 = $f($f($1.ecb1 + $1.ecb2) - 1); _O6 <= _O5; _O6 += 1) { //#18989\n $1.j = _O6; //#18986\n $put($1.cws, $1.cw, $get($get($1.ecwsb, $1.j), $1.i)); //#18987\n $1.cw = $1.cw + 1; //#18988\n } //#18988\n } //#18988\n if ($1.rbit > 0) { //#18998\n $1.pad = $a($1.cws.length + 1); //#18994\n $puti($1.pad, 0, $1.cws); //#18995\n $put($1.pad, $1.pad.length - 1, 0); //#18996\n $1.cws = $1.pad; //#18997\n } //#18997\n if ($1.lc4b) { //#19009\n var _OO = $1.cws; //#19002\n var _OP = $1.dcws; //#19002\n $put(_OO, $f(_OP - 1), $get(_OO, $f(_OP - 1)) >>> 4); //#19002\n for (var _OU = $f($1.dcws - 1), _OT = $1.ncws - 2; _OU <= _OT; _OU += 1) { //#19007\n $1.i = _OU; //#19004\n $put($1.cws, $1.i, ($get($1.cws, $1.i) & 15) << 4); //#19005\n $put($1.cws, $1.i, (($get($1.cws, $1.i + 1) >>> 4) & 15) | $get($1.cws, $1.i)); //#19006\n } //#19006\n $put($1.cws, $1.ncws - 1, ($get($1.cws, $1.ncws - 1) & 15) << 4); //#19008\n } //#19008\n var _Oo = $get($1.options, 'debugecc') !== undefined; //#19011\n if (_Oo) { //#19011\n $k[$j++] = 'bwipp.debugecc'; //#19011\n $k[$j++] = $1.cws; //#19011\n bwipp_raiseerror(); //#19011\n } //#19011\n $k[$j++] = Infinity; //#19014\n for (var _Os = 0, _Ot = $1.rows * $1.cols; _Os < _Ot; _Os++) { //#19014\n $k[$j++] = -1; //#19014\n } //#19014\n $1.pixs = $a(); //#19014\n $1.qmv = function() {\n var _Ow = $k[--$j]; //#19015\n var _Ox = $k[--$j]; //#19015\n $k[$j++] = $f(_Ox + (_Ow * $1.cols)); //#19015\n }; //#19015\n if ($eq($1.format, \"full\")) { //#19024\n for (var _P1 = 8, _P0 = $f($1.cols - 9); _P1 <= _P0; _P1 += 1) { //#19023\n $1.i = _P1; //#19020\n $k[$j++] = $1.pixs; //#19021\n $k[$j++] = $1.i; //#19021\n $k[$j++] = 6; //#19021\n $1.qmv(); //#19021\n var _P5 = $k[--$j]; //#19021\n $put($k[--$j], _P5, ($1.i + 1) % 2); //#19021\n $k[$j++] = $1.pixs; //#19022\n $k[$j++] = 6; //#19022\n $k[$j++] = $1.i; //#19022\n $1.qmv(); //#19022\n var _PA = $k[--$j]; //#19022\n $put($k[--$j], _PA, ($1.i + 1) % 2); //#19022\n } //#19022\n } //#19022\n if ($eq($1.format, \"micro\")) { //#19031\n for (var _PF = 8, _PE = $f($1.cols - 1); _PF <= _PE; _PF += 1) { //#19030\n $1.i = _PF; //#19027\n $k[$j++] = $1.pixs; //#19028\n $k[$j++] = $1.i; //#19028\n $k[$j++] = 0; //#19028\n $1.qmv(); //#19028\n var _PJ = $k[--$j]; //#19028\n $put($k[--$j], _PJ, ($1.i + 1) % 2); //#19028\n $k[$j++] = $1.pixs; //#19029\n $k[$j++] = 0; //#19029\n $k[$j++] = $1.i; //#19029\n $1.qmv(); //#19029\n var _PO = $k[--$j]; //#19029\n $put($k[--$j], _PO, ($1.i + 1) % 2); //#19029\n } //#19029\n } //#19029\n if ($eq($1.format, \"rmqr\")) { //#19050\n for (var _PT = 3, _PS = $f($1.cols - 4); _PT <= _PS; _PT += 1) { //#19037\n $1.i = _PT; //#19034\n $k[$j++] = $1.pixs; //#19035\n $k[$j++] = $1.i; //#19035\n $k[$j++] = 0; //#19035\n $1.qmv(); //#19035\n var _PX = $k[--$j]; //#19035\n $put($k[--$j], _PX, ($1.i + 1) % 2); //#19035\n $k[$j++] = $1.pixs; //#19036\n $k[$j++] = $1.i; //#19036\n $k[$j++] = $f($1.rows - 1); //#19036\n $1.qmv(); //#19036\n var _Pd = $k[--$j]; //#19036\n $put($k[--$j], _Pd, ($1.i + 1) % 2); //#19036\n } //#19036\n for (var _Ph = 3, _Pg = $f($1.rows - 4); _Ph <= _Pg; _Ph += 1) { //#19042\n $1.i = _Ph; //#19039\n $k[$j++] = $1.pixs; //#19040\n $k[$j++] = 0; //#19040\n $k[$j++] = $1.i; //#19040\n $1.qmv(); //#19040\n var _Pl = $k[--$j]; //#19040\n $put($k[--$j], _Pl, ($1.i + 1) % 2); //#19040\n $k[$j++] = $1.pixs; //#19041\n $k[$j++] = $f($1.cols - 1); //#19041\n $k[$j++] = $1.i; //#19041\n $1.qmv(); //#19041\n var _Pr = $k[--$j]; //#19041\n $put($k[--$j], _Pr, ($1.i + 1) % 2); //#19041\n } //#19041\n for (var _Py = $f($1.asp2 - 1), _Pz = $f($1.asp3 - $1.asp2), _Px = $f($1.cols - 13); _Pz < 0 ? _Py >= _Px : _Py <= _Px; _Py += _Pz) { //#19049\n $1.i = _Py; //#19044\n for (var _Q2 = 3, _Q1 = $f($1.rows - 4); _Q2 <= _Q1; _Q2 += 1) { //#19048\n $1.j = _Q2; //#19046\n $k[$j++] = $1.pixs; //#19047\n $k[$j++] = $1.i; //#19047\n $k[$j++] = $1.j; //#19047\n $1.qmv(); //#19047\n var _Q7 = $k[--$j]; //#19047\n $put($k[--$j], _Q7, ($1.j + 1) % 2); //#19047\n } //#19047\n } //#19047\n } //#19047\n $1.fpat = $a([$a([1, 1, 1, 1, 1, 1, 1, 0]), $a([1, 0, 0, 0, 0, 0, 1, 0]), $a([1, 0, 1, 1, 1, 0, 1, 0]), $a([1, 0, 1, 1, 1, 0, 1, 0]), $a([1, 0, 1, 1, 1, 0, 1, 0]), $a([1, 0, 0, 0, 0, 0, 1, 0]), $a([1, 1, 1, 1, 1, 1, 1, 0]), $a([0, 0, 0, 0, 0, 0, 0, 0])]); //#19062\n $1.fsubpat = $a([$a([1, 1, 1, 1, 1, 9, 9, 9]), $a([1, 0, 0, 0, 1, 9, 9, 9]), $a([1, 0, 1, 0, 1, 9, 9, 9]), $a([1, 0, 0, 0, 1, 9, 9, 9]), $a([1, 1, 1, 1, 1, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9])]); //#19072\n $1.fcorpat = $a([$a([1, 1, 1, 9, 9, 9, 9, 9]), $a([1, 0, 9, 9, 9, 9, 9, 9]), $a([1, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9])]); //#19082\n $1.fnullpat = $a([$a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9, 9, 9, 9])]); //#19092\n var _Qy = new Map([\n [\"full\", $a([$1.fpat, $1.fpat, $1.fpat, $1.fnullpat])],\n [\"micro\", $a([$1.fpat, $1.fnullpat, $1.fnullpat, $1.fnullpat])],\n [\"rmqr\", $a([$1.fpat, $1.fcorpat, $1.fcorpat, $1.fsubpat])]\n ]); //#19097\n $1.fpats = $get(_Qy, $1.format); //#19098\n for (var _R1 = 0; _R1 <= 7; _R1 += 1) { //#19112\n $1.y = _R1; //#19100\n for (var _R2 = 0; _R2 <= 7; _R2 += 1) { //#19111\n $1.x = _R2; //#19102\n $1.fpb0 = $get($get($get($1.fpats, 0), $1.y), $1.x); //#19103\n $1.fpb1 = $get($get($get($1.fpats, 1), $1.y), $1.x); //#19104\n $1.fpb2 = $get($get($get($1.fpats, 2), $1.y), $1.x); //#19105\n $1.fpb3 = $get($get($get($1.fpats, 3), $1.y), $1.x); //#19106\n if (($1.fpb0 != 9) && ($1.y < $1.rows)) { //#19107\n $k[$j++] = $1.pixs; //#19107\n $k[$j++] = $1.x; //#19107\n $k[$j++] = $1.y; //#19107\n $1.qmv(); //#19107\n var _RY = $k[--$j]; //#19107\n $put($k[--$j], _RY, $1.fpb0); //#19107\n } //#19107\n if ($1.fpb1 != 9) { //#19108\n $k[$j++] = $1.pixs; //#19108\n $k[$j++] = $f($f($1.cols - $1.x) - 1); //#19108\n $k[$j++] = $1.y; //#19108\n $1.qmv(); //#19108\n var _Rg = $k[--$j]; //#19108\n $put($k[--$j], _Rg, $1.fpb1); //#19108\n } //#19108\n if ($1.fpb2 != 9) { //#19109\n $k[$j++] = $1.pixs; //#19109\n $k[$j++] = $1.x; //#19109\n $k[$j++] = $f($f($1.rows - $1.y) - 1); //#19109\n $1.qmv(); //#19109\n var _Ro = $k[--$j]; //#19109\n $put($k[--$j], _Ro, $1.fpb2); //#19109\n } //#19109\n if ($1.fpb3 != 9) { //#19110\n $k[$j++] = $1.pixs; //#19110\n $k[$j++] = $f($f($1.cols - $1.x) - 1); //#19110\n $k[$j++] = $f($f($1.rows - $1.y) - 1); //#19110\n $1.qmv(); //#19110\n var _Rx = $k[--$j]; //#19110\n $put($k[--$j], _Rx, $1.fpb3); //#19110\n } //#19110\n } //#19110\n } //#19110\n $1.putalgnpat = function() {\n $1.py = $k[--$j]; //#19116\n $1.px = $k[--$j]; //#19117\n for (var _S1 = 0; _S1 <= 4; _S1 += 1) { //#19127\n $1.pb = _S1; //#19119\n for (var _S2 = 0; _S2 <= 4; _S2 += 1) { //#19126\n $1.pa = _S2; //#19121\n $1.algnb = $get($get($1.algnpat, $1.pb), $1.pa); //#19122\n if ($1.algnb != 9) { //#19125\n $k[$j++] = $1.pixs; //#19124\n $k[$j++] = $f($1.px + $1.pa); //#19124\n $k[$j++] = $f($1.py + $1.pb); //#19124\n $1.qmv(); //#19124\n var _SF = $k[--$j]; //#19124\n $put($k[--$j], _SF, $1.algnb); //#19124\n } //#19124\n } //#19124\n } //#19124\n }; //#19128\n if ($eq($1.format, \"full\")) { //#19149\n $1.algnpat = $a([$a([1, 1, 1, 1, 1]), $a([1, 0, 0, 0, 1]), $a([1, 0, 1, 0, 1]), $a([1, 0, 0, 0, 1]), $a([1, 1, 1, 1, 1])]); //#19136\n for (var _ST = $f($1.asp2 - 2), _SU = $f($1.asp3 - $1.asp2), _SS = $f($1.cols - 13); _SU < 0 ? _ST >= _SS : _ST <= _SS; _ST += _SU) { //#19141\n $1.i = _ST; //#19138\n $k[$j++] = $1.i; //#19139\n $k[$j++] = 4; //#19139\n $1.putalgnpat(); //#19139\n $k[$j++] = 4; //#19140\n $k[$j++] = $1.i; //#19140\n $1.putalgnpat(); //#19140\n } //#19140\n for (var _Sc = $f($1.asp2 - 2), _Sd = $f($1.asp3 - $1.asp2), _Sb = $f($1.cols - 9); _Sd < 0 ? _Sc >= _Sb : _Sc <= _Sb; _Sc += _Sd) { //#19148\n $1.x = _Sc; //#19143\n for (var _Sj = $f($1.asp2 - 2), _Sk = $f($1.asp3 - $1.asp2), _Si = $f($1.rows - 9); _Sk < 0 ? _Sj >= _Si : _Sj <= _Si; _Sj += _Sk) { //#19147\n $1.y = _Sj; //#19145\n $k[$j++] = $1.x; //#19146\n $k[$j++] = $1.y; //#19146\n $1.putalgnpat(); //#19146\n } //#19146\n } //#19146\n } //#19146\n if ($eq($1.format, \"rmqr\")) { //#19163\n $1.algnpat = $a([$a([1, 1, 1, 9, 9]), $a([1, 0, 1, 9, 9]), $a([1, 1, 1, 9, 9]), $a([9, 9, 9, 9, 9]), $a([9, 9, 9, 9, 9])]); //#19157\n for (var _Sz = $f($1.asp2 - 2), _T0 = $f($1.asp3 - $1.asp2), _Sy = $f($1.cols - 13); _T0 < 0 ? _Sz >= _Sy : _Sz <= _Sy; _Sz += _T0) { //#19162\n $1.i = _Sz; //#19159\n $k[$j++] = $1.i; //#19160\n $k[$j++] = 0; //#19160\n $1.putalgnpat(); //#19160\n $k[$j++] = $1.i; //#19161\n $k[$j++] = $f($1.rows - 3); //#19161\n $1.putalgnpat(); //#19161\n } //#19161\n } //#19161\n var _W1 = new Map([\n [\"full\", $a([$a([$a([0, 8]), $a([8, $f($1.cols - 1)])]), $a([$a([1, 8]), $a([8, $f($1.cols - 2)])]), $a([$a([2, 8]), $a([8, $f($1.cols - 3)])]), $a([$a([3, 8]), $a([8, $f($1.cols - 4)])]), $a([$a([4, 8]), $a([8, $f($1.cols - 5)])]), $a([$a([5, 8]), $a([8, $f($1.cols - 6)])]), $a([$a([7, 8]), $a([8, $f($1.cols - 7)])]), $a([$a([8, 8]), $a([$f($1.cols - 8), 8])]), $a([$a([8, 7]), $a([$f($1.cols - 7), 8])]), $a([$a([8, 5]), $a([$f($1.cols - 6), 8])]), $a([$a([8, 4]), $a([$f($1.cols - 5), 8])]), $a([$a([8, 3]), $a([$f($1.cols - 4), 8])]), $a([$a([8, 2]), $a([$f($1.cols - 3), 8])]), $a([$a([8, 1]), $a([$f($1.cols - 2), 8])]), $a([$a([8, 0]), $a([$f($1.cols - 1), 8])])])],\n [\"micro\", $a([$a([$a([1, 8])]), $a([$a([2, 8])]), $a([$a([3, 8])]), $a([$a([4, 8])]), $a([$a([5, 8])]), $a([$a([6, 8])]), $a([$a([7, 8])]), $a([$a([8, 8])]), $a([$a([8, 7])]), $a([$a([8, 6])]), $a([$a([8, 5])]), $a([$a([8, 4])]), $a([$a([8, 3])]), $a([$a([8, 2])]), $a([$a([8, 1])])])],\n [\"rmqr\", $a([$a([$a([11, 3]), $a([$f($1.cols - 3), $f($1.rows - 6)])]), $a([$a([11, 2]), $a([$f($1.cols - 4), $f($1.rows - 6)])]), $a([$a([11, 1]), $a([$f($1.cols - 5), $f($1.rows - 6)])]), $a([$a([10, 5]), $a([$f($1.cols - 6), $f($1.rows - 2)])]), $a([$a([10, 4]), $a([$f($1.cols - 6), $f($1.rows - 3)])]), $a([$a([10, 3]), $a([$f($1.cols - 6), $f($1.rows - 4)])]), $a([$a([10, 2]), $a([$f($1.cols - 6), $f($1.rows - 5)])]), $a([$a([10, 1]), $a([$f($1.cols - 6), $f($1.rows - 6)])]), $a([$a([9, 5]), $a([$f($1.cols - 7), $f($1.rows - 2)])]), $a([$a([9, 4]), $a([$f($1.cols - 7), $f($1.rows - 3)])]), $a([$a([9, 3]), $a([$f($1.cols - 7), $f($1.rows - 4)])]), $a([$a([9, 2]), $a([$f($1.cols - 7), $f($1.rows - 5)])]), $a([$a([9, 1]), $a([$f($1.cols - 7), $f($1.rows - 6)])]), $a([$a([8, 5]), $a([$f($1.cols - 8), $f($1.rows - 2)])]), $a([$a([8, 4]), $a([$f($1.cols - 8), $f($1.rows - 3)])]), $a([$a([8, 3]), $a([$f($1.cols - 8), $f($1.rows - 4)])]), $a([$a([8, 2]), $a([$f($1.cols - 8), $f($1.rows - 5)])]), $a([$a([8, 1]), $a([$f($1.cols - 8), $f($1.rows - 6)])])])]\n ]); //#19185\n $1.formatmap = $get(_W1, $1.format); //#19187\n $forall($1.formatmap, function() { //#19190\n $forall($k[--$j], function() { //#19189\n $forall($k[--$j]); //#19189\n $1.qmv(); //#19189\n $put($1.pixs, $k[--$j], 1); //#19189\n }); //#19189\n }); //#19189\n if ($eq($1.format, \"full\") && ($1.cols >= 45)) { //#19206\n $1.versionmap = $a([$a([$a([$f($1.cols - 9), 5]), $a([5, $f($1.cols - 9)])]), $a([$a([$f($1.cols - 10), 5]), $a([5, $f($1.cols - 10)])]), $a([$a([$f($1.cols - 11), 5]), $a([5, $f($1.cols - 11)])]), $a([$a([$f($1.cols - 9), 4]), $a([4, $f($1.cols - 9)])]), $a([$a([$f($1.cols - 10), 4]), $a([4, $f($1.cols - 10)])]), $a([$a([$f($1.cols - 11), 4]), $a([4, $f($1.cols - 11)])]), $a([$a([$f($1.cols - 9), 3]), $a([3, $f($1.cols - 9)])]), $a([$a([$f($1.cols - 10), 3]), $a([3, $f($1.cols - 10)])]), $a([$a([$f($1.cols - 11), 3]), $a([3, $f($1.cols - 11)])]), $a([$a([$f($1.cols - 9), 2]), $a([2, $f($1.cols - 9)])]), $a([$a([$f($1.cols - 10), 2]), $a([2, $f($1.cols - 10)])]), $a([$a([$f($1.cols - 11), 2]), $a([2, $f($1.cols - 11)])]), $a([$a([$f($1.cols - 9), 1]), $a([1, $f($1.cols - 9)])]), $a([$a([$f($1.cols - 10), 1]), $a([1, $f($1.cols - 10)])]), $a([$a([$f($1.cols - 11), 1]), $a([1, $f($1.cols - 11)])]), $a([$a([$f($1.cols - 9), 0]), $a([0, $f($1.cols - 9)])]), $a([$a([$f($1.cols - 10), 0]), $a([0, $f($1.cols - 10)])]), $a([$a([$f($1.cols - 11), 0]), $a([0, $f($1.cols - 11)])])]); //#19204\n } else { //#19206\n $1.versionmap = $a([]); //#19206\n } //#19206\n var _Xf = $1.versionmap; //#19208\n for (var _Xg = 0, _Xh = _Xf.length; _Xg < _Xh; _Xg++) { //#19210\n $forall($get(_Xf, _Xg), function() { //#19209\n $forall($k[--$j]); //#19209\n $1.qmv(); //#19209\n $put($1.pixs, $k[--$j], 0); //#19209\n }); //#19209\n } //#19209\n if ($eq($1.format, \"full\")) { //#19215\n $k[$j++] = $1.pixs; //#19214\n $k[$j++] = 8; //#19214\n $k[$j++] = $f($1.rows - 8); //#19214\n $1.qmv(); //#19214\n var _Xp = $k[--$j]; //#19214\n $put($k[--$j], _Xp, 0); //#19214\n } //#19214\n var _Y9 = $a([function() {\n var _Xr = $k[--$j]; //#19220\n var _Xs = $k[--$j]; //#19220\n $k[$j++] = $f(_Xs + _Xr) % 2; //#19220\n }, function() {\n var _Xt = $k[--$j]; //#19221\n var _Xu = $k[--$j]; //#19221\n $k[$j++] = _Xt; //#19221\n $k[$j++] = _Xu; //#19221\n $j--; //#19221\n var _Xv = $k[--$j]; //#19221\n $k[$j++] = _Xv % 2; //#19221\n }, function() {\n $j--; //#19222\n var _Xw = $k[--$j]; //#19222\n $k[$j++] = _Xw % 3; //#19222\n }, function() {\n var _Xx = $k[--$j]; //#19223\n var _Xy = $k[--$j]; //#19223\n $k[$j++] = $f(_Xy + _Xx) % 3; //#19223\n }, function() {\n var _Xz = $k[--$j]; //#19224\n var _Y0 = $k[--$j]; //#19224\n $k[$j++] = ((~~(_Xz / 2)) + (~~(_Y0 / 3))) % 2; //#19224\n }, function() {\n var _Y1 = $k[--$j]; //#19225\n var _Y3 = $k[--$j] * _Y1; //#19225\n $k[$j++] = $f((_Y3 % 2) + (_Y3 % 3)); //#19225\n }, function() {\n var _Y4 = $k[--$j]; //#19226\n var _Y6 = $k[--$j] * _Y4; //#19226\n $k[$j++] = ($f((_Y6 % 2) + (_Y6 % 3))) % 2; //#19226\n }, function() {\n var _Y7 = $k[--$j]; //#19227\n var _Y8 = $k[--$j]; //#19227\n $k[$j++] = ($f(((_Y8 * _Y7) % 3) + ($f(_Y8 + _Y7) % 2))) % 2; //#19227\n }]); //#19227\n var _YK = $a([function() {\n var _YA = $k[--$j]; //#19230\n var _YB = $k[--$j]; //#19230\n $k[$j++] = _YA; //#19230\n $k[$j++] = _YB; //#19230\n $j--; //#19230\n var _YC = $k[--$j]; //#19230\n $k[$j++] = _YC % 2; //#19230\n }, function() {\n var _YD = $k[--$j]; //#19231\n var _YE = $k[--$j]; //#19231\n $k[$j++] = ((~~(_YD / 2)) + (~~(_YE / 3))) % 2; //#19231\n }, function() {\n var _YF = $k[--$j]; //#19232\n var _YH = $k[--$j] * _YF; //#19232\n $k[$j++] = ($f((_YH % 2) + (_YH % 3))) % 2; //#19232\n }, function() {\n var _YI = $k[--$j]; //#19233\n var _YJ = $k[--$j]; //#19233\n $k[$j++] = ($f(((_YJ * _YI) % 3) + ($f(_YJ + _YI) % 2))) % 2; //#19233\n }]); //#19233\n var _YN = $a([function() {\n var _YL = $k[--$j]; //#19236\n var _YM = $k[--$j]; //#19236\n $k[$j++] = ((~~(_YL / 2)) + (~~(_YM / 3))) % 2; //#19236\n }]); //#19236\n var _YO = new Map([\n [\"full\", _Y9],\n [\"micro\", _YK],\n [\"rmqr\", _YN]\n ]); //#19236\n $1.maskfuncs = $get(_YO, $1.format); //#19238\n if ($1.mask != -1) { //#19242\n $1.maskfuncs = $a([$get($1.maskfuncs, $1.mask - 1)]); //#19240\n $1.bestmaskval = $1.mask - 1; //#19241\n } //#19241\n $1.masks = $a($1.maskfuncs.length); //#19243\n for (var _Yb = 0, _Ya = $1.masks.length - 1; _Yb <= _Ya; _Yb += 1) { //#19257\n $1.m = _Yb; //#19245\n $1.mask = $a($1.rows * $1.cols); //#19246\n for (var _Yh = 0, _Yg = $f($1.rows - 1); _Yh <= _Yg; _Yh += 1) { //#19255\n $1.j = _Yh; //#19248\n for (var _Yk = 0, _Yj = $f($1.cols - 1); _Yk <= _Yj; _Yk += 1) { //#19254\n $1.i = _Yk; //#19250\n $k[$j++] = $1.i; //#19251\n $k[$j++] = $1.j; //#19251\n if ($get($1.maskfuncs, $1.m)() === true) {\n break;\n } //#19251\n var _Yq = $k[--$j]; //#19251\n $k[$j++] = _Yq == 0; //#19252\n $k[$j++] = $1.pixs; //#19252\n $k[$j++] = $1.i; //#19252\n $k[$j++] = $1.j; //#19252\n $1.qmv(); //#19252\n var _Yu = $k[--$j]; //#19252\n var _Yw = $get($k[--$j], _Yu); //#19252\n var _Yx = $k[--$j]; //#19252\n var _Yy = (_Yx && (_Yw == -1)) ? 1 : 0; //#19252\n $k[$j++] = _Yy; //#19253\n $k[$j++] = $1.mask; //#19253\n $k[$j++] = $1.i; //#19253\n $k[$j++] = $1.j; //#19253\n $1.qmv(); //#19253\n var _Z2 = $k[--$j]; //#19253\n var _Z3 = $k[--$j]; //#19253\n $put(_Z3, _Z2, $k[--$j]); //#19253\n } //#19253\n } //#19253\n $put($1.masks, $1.m, $1.mask); //#19256\n } //#19256\n var _ZA = $ne($1.format, \"rmqr\") ? 1 : 2; //#19260\n $1.posx = $f($1.cols - _ZA); //#19260\n $1.posy = $f($1.rows - 1); //#19261\n $1.dir = -1; //#19262\n $1.col = 1; //#19263\n $1.num = 0; //#19264\n for (;;) { //#19287\n if ($1.posx < 0) { //#19266\n break; //#19266\n } //#19266\n $k[$j++] = $1.pixs; //#19267\n $k[$j++] = $1.posx; //#19267\n $k[$j++] = $1.posy; //#19267\n $1.qmv(); //#19267\n var _ZG = $k[--$j]; //#19267\n if ($get($k[--$j], _ZG) == -1) { //#19271\n var _ZL = $get($1.cws, ~~($1.num / 8)); //#19268\n var _ZN = -(7 - ($1.num % 8)); //#19268\n $k[$j++] = ((_ZN < 0 ? _ZL >>> -_ZN : _ZL << _ZN)) & 1; //#19269\n $k[$j++] = $1.pixs; //#19269\n $k[$j++] = $1.posx; //#19269\n $k[$j++] = $1.posy; //#19269\n $1.qmv(); //#19269\n var _ZR = $k[--$j]; //#19269\n var _ZS = $k[--$j]; //#19269\n $put(_ZS, _ZR, $k[--$j]); //#19269\n $1.num = $1.num + 1; //#19270\n } //#19270\n if ($1.col == 1) { //#19284\n $1.col = 0; //#19273\n $1.posx = $f($1.posx - 1); //#19274\n } else { //#19284\n $1.col = 1; //#19276\n $1.posx = $f($1.posx + 1); //#19277\n $1.posy = $f($1.posy + $1.dir); //#19278\n if (($1.posy < 0) || ($1.posy >= $1.rows)) { //#19285\n $1.dir = $1.dir * -1; //#19280\n $1.posy = $f($1.posy + $1.dir); //#19281\n $1.posx = $f($1.posx - 2); //#19282\n if ($eq($1.format, \"full\") && ($1.posx == 6)) { //#19284\n $1.posx = $f($1.posx - 1); //#19284\n } //#19284\n } //#19284\n } //#19284\n } //#19284\n $1.evalfulln1n3 = function() {\n $1.scrle = $k[--$j]; //#19291\n $k[$j++] = 'scr1'; //#19293\n $k[$j++] = 0; //#19293\n $forall($1.scrle, function() { //#19293\n var _Zm = $k[--$j]; //#19293\n $k[$j++] = _Zm; //#19293\n if (_Zm >= 5) { //#19293\n var _Zn = $k[--$j]; //#19293\n var _Zp = $f($f($k[--$j] + _Zn) - 2); //#19293\n $k[$j++] = _Zp; //#19293\n $k[$j++] = _Zp; //#19293\n } //#19293\n $j--; //#19293\n }); //#19293\n var _Zq = $k[--$j]; //#19293\n $1[$k[--$j]] = _Zq; //#19293\n $1.scr3 = 0; //#19295\n for (var _Zu = 3, _Zt = $1.scrle.length - 3; _Zu <= _Zt; _Zu += 2) { //#19310\n $1.j = _Zu; //#19297\n if (($get($1.scrle, $1.j) % 3) == 0) { //#19309\n $1.fact = ~~($get($1.scrle, $1.j) / 3); //#19299\n var _a3 = $geti($1.scrle, $1.j - 2, 5); //#19300\n for (var _a4 = 0, _a5 = _a3.length; _a4 < _a5; _a4++) { //#19300\n $k[$j++] = $get(_a3, _a4) == $1.fact; //#19300\n } //#19300\n var _a8 = $k[--$j]; //#19300\n var _a9 = $k[--$j]; //#19300\n var _aA = $k[--$j]; //#19300\n $k[$j++] = $an(_a9, _a8); //#19300\n $k[$j++] = _aA; //#19300\n $j--; //#19300\n var _aB = $k[--$j]; //#19300\n var _aC = $k[--$j]; //#19300\n var _aD = $k[--$j]; //#19300\n if (_aD && (_aC && _aB)) { //#19308\n if (($1.j == 3) || (($1.j + 4) >= $1.scrle.length)) { //#19305\n $1.scr3 = $1.scr3 + 40; //#19302\n } else { //#19305\n if (($get($1.scrle, $1.j - 3) >= 4) || ($get($1.scrle, $1.j + 3) >= 4)) { //#19306\n $1.scr3 = $1.scr3 + 40; //#19305\n } //#19305\n } //#19305\n } //#19305\n } //#19305\n } //#19305\n $k[$j++] = $1.scr1; //#19311\n $k[$j++] = $1.scr3; //#19311\n }; //#19312\n $1.evalfull = function() {\n $1.sym = $k[--$j]; //#19316\n $1.n1 = 0; //#19318\n $1.n2 = 0; //#19318\n $1.n3 = 0; //#19318\n $1.rle = $a($f($1.cols + 1)); //#19319\n $1.lastpairs = $a($1.cols); //#19320\n $1.thispairs = $a($1.cols); //#19321\n $1.colsadd1 = $f($1.cols + 1); //#19322\n for (var _ab = 0, _aa = $f($1.cols - 1); _ab <= _aa; _ab += 1) { //#19361\n $1.i = _ab; //#19324\n $k[$j++] = Infinity; //#19327\n var _ad = $1.cols; //#19328\n $k[$j++] = 0; //#19330\n $k[$j++] = 0; //#19330\n for (var _af = $1.i, _ag = _ad, _ae = $f((_ad * _ad) - 1); _ag < 0 ? _af >= _ae : _af <= _ae; _af += _ag) { //#19330\n var _ai = $get($1.sym, _af); //#19329\n var _aj = $k[--$j]; //#19329\n $k[$j++] = _ai; //#19329\n if ($eq(_aj, _ai)) { //#19329\n var _ak = $k[--$j]; //#19329\n var _al = $k[--$j]; //#19329\n $k[$j++] = $f(_al + 1); //#19329\n $k[$j++] = _ak; //#19329\n } else { //#19329\n var _am = $k[--$j]; //#19329\n $k[$j++] = 1; //#19329\n $k[$j++] = _am; //#19329\n } //#19329\n } //#19329\n $j--; //#19331\n var _ao = $counttomark() + 2; //#19332\n $astore($geti($1.rle, 0, _ao - 2)); //#19332\n $1.evalfulln1n3(); //#19333\n $1.n3 = $f($k[--$j] + $1.n3); //#19333\n $1.n1 = $f($k[--$j] + $1.n1); //#19333\n $j--; //#19334\n $1.symrow = $geti($1.sym, $1.i * $1.cols, $1.cols); //#19337\n $k[$j++] = Infinity; //#19338\n var _az = $1.symrow; //#19339\n $k[$j++] = 0; //#19341\n $k[$j++] = 0; //#19341\n for (var _b0 = 0, _b1 = _az.length; _b0 < _b1; _b0++) { //#19341\n var _b2 = $get(_az, _b0); //#19341\n var _b3 = $k[--$j]; //#19340\n $k[$j++] = _b2; //#19340\n if ($eq(_b3, _b2)) { //#19340\n var _b4 = $k[--$j]; //#19340\n var _b5 = $k[--$j]; //#19340\n $k[$j++] = $f(_b5 + 1); //#19340\n $k[$j++] = _b4; //#19340\n } else { //#19340\n var _b6 = $k[--$j]; //#19340\n $k[$j++] = 1; //#19340\n $k[$j++] = _b6; //#19340\n } //#19340\n } //#19340\n $j--; //#19342\n var _b8 = $counttomark() + 2; //#19343\n $astore($geti($1.rle, 0, _b8 - 2)); //#19343\n $1.evalfulln1n3(); //#19344\n $1.n3 = $f($k[--$j] + $1.n3); //#19344\n $1.n1 = $f($k[--$j] + $1.n1); //#19344\n $j--; //#19345\n var _bE = $1.thispairs; //#19348\n $1.thispairs = $1.lastpairs; //#19348\n $1.lastpairs = _bE; //#19348\n var _bI = ($get($1.symrow, 0) == 1) ? 0 : 1; //#19349\n var _bJ = $1.symrow; //#19350\n $k[$j++] = _bI; //#19350\n for (var _bK = 0, _bL = _bJ.length; _bK < _bL; _bK++) { //#19350\n var _bM = $get(_bJ, _bK); //#19350\n var _bN = $k[--$j]; //#19350\n $k[$j++] = $f(_bN + _bM); //#19350\n $k[$j++] = _bM; //#19350\n } //#19350\n $j--; //#19351\n $astore($1.thispairs); //#19352\n $j--; //#19352\n if ($1.i > 0) { //#19359\n $k[$j++] = Infinity; //#19354\n $aload($1.lastpairs); //#19355\n $aload($1.thispairs); //#19355\n $k[$j++] = $1.n2; //#19356\n for (var _bU = 0, _bV = $1.cols; _bU < _bV; _bU++) { //#19356\n var _bW = $k[--$j]; //#19356\n var _bX = $k[--$j]; //#19356\n $k[$j++] = _bW; //#19356\n $k[$j++] = _bX; //#19356\n var _bZ = $k[$j - 1 - $1.colsadd1]; //#19356\n if (($f($k[--$j] + _bZ) & 3) == 0) { //#19356\n var _bb = $k[--$j]; //#19356\n $k[$j++] = $f(_bb + 3); //#19356\n } //#19356\n } //#19356\n $1.n2 = $k[--$j]; //#19357\n $cleartomark(); //#19358\n } //#19358\n } //#19358\n $k[$j++] = 'dark'; //#19364\n $k[$j++] = 0; //#19364\n $forall($1.sym, function() { //#19364\n var _be = $k[--$j]; //#19364\n var _bf = $k[--$j]; //#19364\n $k[$j++] = $f(_bf + _be); //#19364\n }); //#19364\n var _bg = $k[--$j]; //#19364\n $1[$k[--$j]] = _bg; //#19364\n var _bj = $1.cols; //#19365\n $1.n4 = (~~((Math.abs($f((($1.dark * 100) / (_bj * _bj)) - 50))) / 5)) * 10; //#19365\n $k[$j++] = $f(($f($f($1.n1 + $1.n2) + $1.n3)) + $1.n4); //#19367\n }; //#19368\n $1.evalmicro = function() {\n $1.sym = $k[--$j]; //#19372\n $1.dkrhs = 0; //#19373\n $1.dkbot = 0; //#19373\n for (var _br = 1, _bq = $f($1.cols - 1); _br <= _bq; _br += 1) { //#19378\n $1.i = _br; //#19375\n $k[$j++] = 'dkrhs'; //#19376\n $k[$j++] = $1.dkrhs; //#19376\n $k[$j++] = $1.sym; //#19376\n $k[$j++] = $f($1.cols - 1); //#19376\n $k[$j++] = $1.i; //#19376\n $1.qmv(); //#19376\n var _bw = $k[--$j]; //#19376\n var _by = $get($k[--$j], _bw); //#19376\n var _bz = $k[--$j]; //#19376\n $1[$k[--$j]] = $f(_bz + _by); //#19376\n $k[$j++] = 'dkbot'; //#19377\n $k[$j++] = $1.dkbot; //#19377\n $k[$j++] = $1.sym; //#19377\n $k[$j++] = $1.i; //#19377\n $k[$j++] = $f($1.cols - 1); //#19377\n $1.qmv(); //#19377\n var _c5 = $k[--$j]; //#19377\n var _c7 = $get($k[--$j], _c5); //#19377\n var _c8 = $k[--$j]; //#19377\n $1[$k[--$j]] = $f(_c8 + _c7); //#19377\n } //#19377\n if ($1.dkrhs <= $1.dkbot) { //#19382\n $k[$j++] = -(($1.dkrhs * 16) + $1.dkbot); //#19380\n } else { //#19382\n $k[$j++] = -(($1.dkbot * 16) + $1.dkrhs); //#19382\n } //#19382\n }; //#19384\n $1.bestscore = 999999999; //#19387\n for (var _cI = 0, _cH = $1.masks.length - 1; _cI <= _cH; _cI += 1) { //#19409\n $1.m = _cI; //#19389\n $1.masksym = $a($1.rows * $1.cols); //#19390\n for (var _cP = 0, _cO = $f(($1.rows * $1.cols) - 1); _cP <= _cO; _cP += 1) { //#19394\n $1.i = _cP; //#19392\n $put($1.masksym, $1.i, $xo($get($1.pixs, $1.i), $get($get($1.masks, $1.m), $1.i))); //#19393\n } //#19393\n if ($1.masks.length != 1) { //#19407\n if ($eq($1.format, \"full\")) { //#19399\n $k[$j++] = $1.masksym; //#19397\n $1.evalfull(); //#19397\n $1.score = $k[--$j]; //#19397\n } else { //#19399\n $k[$j++] = $1.masksym; //#19399\n $1.evalmicro(); //#19399\n $1.score = $k[--$j]; //#19399\n } //#19399\n if ($1.score < $1.bestscore) { //#19405\n $1.bestsym = $1.masksym; //#19402\n $1.bestmaskval = $1.m; //#19403\n $1.bestscore = $1.score; //#19404\n } //#19404\n } else { //#19407\n $1.bestsym = $1.masksym; //#19407\n } //#19407\n } //#19407\n $1.pixs = $1.bestsym; //#19410\n if ($eq($1.format, \"full\")) { //#19415\n $k[$j++] = $1.pixs; //#19414\n $k[$j++] = 8; //#19414\n $k[$j++] = $f($1.cols - 8); //#19414\n $1.qmv(); //#19414\n var _cq = $k[--$j]; //#19414\n $put($k[--$j], _cq, 1); //#19414\n } //#19414\n if ($eq($1.format, \"full\")) { //#19433\n $1.fmtvals = $a([21522, 20773, 24188, 23371, 17913, 16590, 20375, 19104, 30660, 29427, 32170, 30877, 26159, 25368, 27713, 26998, 5769, 5054, 7399, 6608, 1890, 597, 3340, 2107, 13663, 12392, 16177, 14854, 9396, 8579, 11994, 11245]); //#19424\n $k[$j++] = 'ecid'; //#19425\n $search(\"MLHQ\", $1.eclevel); //#19425\n $j--; //#19425\n var _cv = $k[--$j]; //#19425\n var _cw = $k[--$j]; //#19425\n $k[$j++] = _cv.length; //#19425\n $k[$j++] = _cw; //#19425\n $j--; //#19425\n var _cx = $k[--$j]; //#19425\n var _cy = $k[--$j]; //#19425\n $k[$j++] = _cx; //#19425\n $k[$j++] = _cy; //#19425\n $j--; //#19425\n var _cz = $k[--$j]; //#19425\n $1[$k[--$j]] = _cz; //#19425\n $1.fmtval = $get($1.fmtvals, ($1.ecid << 3) + $1.bestmaskval); //#19426\n for (var _d7 = 0, _d6 = $1.formatmap.length - 1; _d7 <= _d6; _d7 += 1) { //#19432\n $1.i = _d7; //#19428\n $forall($get($1.formatmap, $1.i), function() { //#19431\n var _dC = $k[--$j]; //#19430\n $k[$j++] = $1.pixs; //#19430\n $aload(_dC); //#19430\n $1.qmv(); //#19430\n var _dD = $1.fmtval; //#19430\n var _dF = -(14 - $1.i); //#19430\n var _dG = $k[--$j]; //#19430\n $put($k[--$j], _dG, ((_dF < 0 ? _dD >>> -_dF : _dD << _dF)) & 1); //#19430\n }); //#19430\n } //#19430\n } //#19430\n if ($eq($1.format, \"micro\")) { //#19447\n $1.fmtvals = $a([17477, 16754, 20011, 19228, 21934, 20633, 24512, 23287, 26515, 25252, 28157, 26826, 30328, 29519, 31766, 31009, 1758, 1001, 3248, 2439, 5941, 4610, 7515, 6252, 9480, 8255, 12134, 10833, 13539, 12756, 16013, 15290]); //#19440\n $1.symid = $get($get($a([$a([0]), $a([1, 2]), $a([3, 4]), $a([5, 6, 7])]), ~~($f($1.cols - 11) / 2)), $1.eclval); //#19441\n $1.fmtval = $get($1.fmtvals, ($1.symid << 2) + $1.bestmaskval); //#19442\n for (var _dZ = 0, _dY = $1.formatmap.length - 1; _dZ <= _dY; _dZ += 1) { //#19446\n $1.i = _dZ; //#19444\n $k[$j++] = $1.pixs; //#19445\n $aload($get($get($1.formatmap, $1.i), 0)); //#19445\n $1.qmv(); //#19445\n var _df = $1.fmtval; //#19445\n var _dh = -(14 - $1.i); //#19445\n var _di = $k[--$j]; //#19445\n $put($k[--$j], _di, ((_dh < 0 ? _df >>> -_dh : _df << _dh)) & 1); //#19445\n } //#19445\n } //#19445\n if ($eq($1.format, \"rmqr\")) { //#19477\n $1.fmtvals1 = $a([129714, 124311, 121821, 115960, 112748, 108361, 104707, 99878, 98062, 90155, 89697, 82244, 81360, 74485, 72895, 66458, 61898, 61167, 53413, 53120, 45844, 44081, 37499, 36190, 29814, 27475, 21785, 19004, 13992, 10637, 6087, 2274, 258919, 257090, 250376, 249133, 242105, 241308, 233686, 233459, 227035, 223742, 219060, 215185, 209925, 207648, 202090, 199247, 194591, 190266, 186736, 181845, 178881, 173540, 170926, 165003, 163235, 156294, 154828, 148457, 147325, 139352, 138770, 131383]); //#19458\n $1.fmtvals2 = $a([133755, 136542, 142100, 144433, 149669, 153472, 158154, 161519, 167879, 168162, 175784, 176525, 183577, 184892, 191606, 193363, 196867, 204326, 204908, 212809, 213981, 220408, 221874, 228759, 230591, 236442, 239056, 244469, 247393, 252228, 255758, 260139, 942, 7307, 8897, 15844, 16752, 24149, 24607, 32570, 34322, 39223, 42877, 47192, 50380, 56297, 58787, 64134, 67798, 71667, 76217, 79516, 84488, 87341, 93031, 95298, 101738, 102991, 109573, 111392, 118708, 118929, 126683, 127486]); //#19468\n $k[$j++] = 'fmtvalu'; //#19469\n $search(\"MH\", $1.eclevel); //#19469\n $j--; //#19469\n var _do = $k[--$j]; //#19469\n var _dp = $k[--$j]; //#19469\n $k[$j++] = _do.length; //#19469\n $k[$j++] = _dp; //#19469\n $j--; //#19469\n var _dq = $k[--$j]; //#19469\n var _dr = $k[--$j]; //#19469\n $k[$j++] = _dq; //#19469\n $k[$j++] = _dr; //#19469\n $j--; //#19469\n var _ds = $k[--$j]; //#19469\n $1[$k[--$j]] = (_ds << 5) + $1.verind; //#19469\n $1.fmtval1 = $get($1.fmtvals1, $1.fmtvalu); //#19470\n $1.fmtval2 = $get($1.fmtvals2, $1.fmtvalu); //#19471\n for (var _e3 = 0, _e2 = $1.formatmap.length - 1; _e3 <= _e2; _e3 += 1) { //#19476\n $1.i = _e3; //#19473\n $k[$j++] = $1.pixs; //#19474\n $aload($get($get($1.formatmap, $1.i), 0)); //#19474\n $1.qmv(); //#19474\n var _e9 = $1.fmtval1; //#19474\n var _eB = -(17 - $1.i); //#19474\n var _eC = $k[--$j]; //#19474\n $put($k[--$j], _eC, ((_eB < 0 ? _e9 >>> -_eB : _e9 << _eB)) & 1); //#19474\n $k[$j++] = $1.pixs; //#19475\n $aload($get($get($1.formatmap, $1.i), 1)); //#19475\n $1.qmv(); //#19475\n var _eJ = $1.fmtval2; //#19475\n var _eL = -(17 - $1.i); //#19475\n var _eM = $k[--$j]; //#19475\n $put($k[--$j], _eM, ((_eL < 0 ? _eJ >>> -_eL : _eJ << _eL)) & 1); //#19475\n } //#19475\n } //#19475\n if ($eq($1.format, \"full\") && ($1.cols >= 45)) { //#19495\n $1.vervals = $a([31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136957, 141498, 145311, 150283, 152622, 158308, 161089, 167017]); //#19487\n $1.verval = $get($1.vervals, (~~($f($1.cols - 17) / 4)) - 7); //#19488\n for (var _eW = 0, _eV = $1.versionmap.length - 1; _eW <= _eV; _eW += 1) { //#19494\n $1.i = _eW; //#19490\n $forall($get($1.versionmap, $1.i), function() { //#19493\n var _eb = $k[--$j]; //#19492\n $k[$j++] = $1.pixs; //#19492\n $forall(_eb); //#19492\n $1.qmv(); //#19492\n var _ec = $1.verval; //#19492\n var _ee = -(17 - $1.i); //#19492\n var _ef = $k[--$j]; //#19492\n $put($k[--$j], _ef, ((_ee < 0 ? _ec >>> -_ee : _ec << _ee)) & 1); //#19492\n }); //#19492\n } //#19492\n } //#19492\n var _en = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.cols],\n [\"pixy\", $1.rows],\n [\"height\", ($1.rows * 2) / 72],\n [\"width\", ($1.cols * 2) / 72],\n [\"opt\", $1.options]\n ]); //#19505\n $k[$j++] = _en; //#19508\n if (!$1.dontdraw) { //#19508\n bwipp_renmatrix(); //#19508\n } //#19508\n}\n\nfunction bwipp_swissqrcode() {\n var $1 = {}; //#19539\n $1.options = $k[--$j]; //#19541\n $1.barcode = $k[--$j]; //#19542\n $1.dontdraw = false; //#19544\n $1.parse = false; //#19546\n $forall($1.options, function() { //#19557\n var _3 = $k[--$j]; //#19557\n $1[$k[--$j]] = _3; //#19557\n }); //#19557\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#19563\n $1.fncvals = _6; //#19564\n $k[$j++] = 'barcode'; //#19565\n $k[$j++] = $1.barcode; //#19565\n $k[$j++] = $1.fncvals; //#19565\n bwipp_parseinput(); //#19565\n var _9 = $k[--$j]; //#19565\n $1[$k[--$j]] = _9; //#19565\n $1.barlen = $1.barcode.length; //#19566\n delete $1.options[\"parse\"]; //#19567\n if ($1.barcode.length > 997) { //#19572\n $k[$j++] = 'bwipp.swissqrcodeBadLength'; //#19571\n $k[$j++] = \"Swiss QR Code input must not exceed 997 digits\"; //#19571\n bwipp_raiseerror(); //#19571\n } //#19571\n $put($1.options, \"dontdraw\", true); //#19575\n $k[$j++] = 'args'; //#19576\n $k[$j++] = $1.barcode; //#19576\n $k[$j++] = $1.options; //#19576\n bwipp_qrcode(); //#19576\n var _H = $k[--$j]; //#19576\n $1[$k[--$j]] = _H; //#19576\n $put($1.args, \"opt\", $1.options); //#19578\n $k[$j++] = $1.args; //#19647\n if (!$1.dontdraw) { //#19647\n $$.save(); //#19592\n var _N = $$.currpos(); //#19593\n $$.translate(_N.x, _N.y); //#19593\n var _O = 72 / 25.4; //#19594\n $$.scale(_O, _O); //#19594\n $$.save(); //#19597\n $$.newpath(); //#19598\n $$.moveto(0, 0); //#19599\n $$.lineto(46, 0); //#19600\n $$.lineto(46, 46); //#19601\n $$.lineto(0, 46); //#19602\n $$.closepath(); //#19603\n $$.moveto(19.5, 19.5); //#19604\n $$.lineto(19.5, 26.5); //#19605\n $$.lineto(26.5, 26.5); //#19606\n $$.lineto(26.5, 19.5); //#19607\n $$.closepath(); //#19608\n $$.clip(); //#19609\n $$.save(); //#19612\n $$.moveto(0, 0); //#19613\n var _R = (46 / $get($1.args, \"pixx\")) / 2; //#19614\n $$.scale(_R, _R); //#19614\n bwipp_renmatrix(); //#19615\n $$.restore(); //#19616\n $$.restore(); //#19618\n $$.translate(19.5, 19.5); //#19621\n var _S = 7 / 83; //#19622\n $$.scale(_S, _S); //#19622\n $$.newpath(); //#19624\n $$.moveto(6, 6); //#19625\n $$.lineto(6, 77); //#19626\n $$.lineto(77, 77); //#19627\n $$.lineto(77, 6); //#19628\n $$.closepath(); //#19629\n $$.moveto(49, 18); //#19630\n $$.lineto(49, 34); //#19631\n $$.lineto(65, 34); //#19632\n $$.lineto(65, 49); //#19633\n $$.lineto(49, 49); //#19634\n $$.lineto(49, 65); //#19635\n $$.lineto(34, 65); //#19636\n $$.lineto(34, 49); //#19637\n $$.lineto(18, 49); //#19638\n $$.lineto(18, 34); //#19639\n $$.lineto(34, 34); //#19640\n $$.lineto(34, 18); //#19641\n $$.closepath(); //#19642\n $$.setrgbcolor(0, 0, 0); //#19643\n $$.fill(); //#19643\n $$.restore(); //#19645\n } //#19645\n}\n\nfunction bwipp_microqrcode() {\n var $1 = {}; //#19677\n $1.options = $k[--$j]; //#19679\n $1.barcode = $k[--$j]; //#19680\n $1.dontdraw = false; //#19682\n $forall($1.options, function() { //#19693\n var _3 = $k[--$j]; //#19693\n $1[$k[--$j]] = _3; //#19693\n }); //#19693\n $put($1.options, \"dontdraw\", true); //#19696\n $put($1.options, \"format\", \"micro\"); //#19697\n $k[$j++] = 'args'; //#19699\n $k[$j++] = $1.barcode; //#19699\n $k[$j++] = $1.options; //#19699\n bwipp_qrcode(); //#19699\n var _9 = $k[--$j]; //#19699\n $1[$k[--$j]] = _9; //#19699\n $put($1.args, \"opt\", $1.options); //#19701\n $k[$j++] = $1.args; //#19704\n if (!$1.dontdraw) { //#19704\n bwipp_renmatrix(); //#19704\n } //#19704\n}\n\nfunction bwipp_rectangularmicroqrcode() {\n var $1 = {}; //#19734\n $1.options = $k[--$j]; //#19736\n $1.barcode = $k[--$j]; //#19737\n $1.dontdraw = false; //#19739\n $forall($1.options, function() { //#19750\n var _3 = $k[--$j]; //#19750\n $1[$k[--$j]] = _3; //#19750\n }); //#19750\n $put($1.options, \"dontdraw\", true); //#19753\n $put($1.options, \"format\", \"rmqr\"); //#19754\n $k[$j++] = 'args'; //#19756\n $k[$j++] = $1.barcode; //#19756\n $k[$j++] = $1.options; //#19756\n bwipp_qrcode(); //#19756\n var _9 = $k[--$j]; //#19756\n $1[$k[--$j]] = _9; //#19756\n $put($1.args, \"opt\", $1.options); //#19758\n $k[$j++] = $1.args; //#19761\n if (!$1.dontdraw) { //#19761\n bwipp_renmatrix(); //#19761\n } //#19761\n}\n\nfunction bwipp_maxicode() {\n var $1 = {}; //#19791\n $1.options = $k[--$j]; //#19793\n $1.barcode = $k[--$j]; //#19794\n $1.dontdraw = false; //#19796\n $1.mode = -1; //#19797\n $1.sam = -1; //#19798\n $1.parse = false; //#19799\n $1.parsefnc = false; //#19800\n $forall($1.options, function() { //#19811\n var _3 = $k[--$j]; //#19811\n $1[$k[--$j]] = _3; //#19811\n }); //#19811\n $1.mode = ~~$1.mode; //#19813\n $1.sam = ~~$1.sam; //#19814\n var _9 = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true]\n ]); //#19820\n $1.fncvals = _9; //#19822\n $k[$j++] = 'msg'; //#19823\n $k[$j++] = $1.barcode; //#19823\n $k[$j++] = $1.fncvals; //#19823\n bwipp_parseinput(); //#19823\n var _C = $k[--$j]; //#19823\n $1[$k[--$j]] = _C; //#19823\n $1.msglen = $1.msg.length; //#19824\n if (($1.mode == 2) || ($1.mode == 3)) { //#19863\n $1.barcode = $s($1.msglen); //#19830\n for (var _L = 0, _K = $1.msglen - 1; _L <= _K; _L += 1) { //#19836\n $1.i = _L; //#19832\n if ($get($1.msg, $1.i) > 0) { //#19835\n $put($1.barcode, $1.i, $get($1.msg, $1.i)); //#19834\n } //#19834\n } //#19834\n $1.barlen = $1.barcode.length; //#19837\n if ($eq($geti($1.barcode, 0, 7), \"\\x5b\\x29\\x3e\\x1e\\x30\\x31\\x1d\")) { //#19844\n $1.fid = $geti($1.barcode, 0, 9); //#19841\n $1.barcode = $geti($1.barcode, 9, $1.barlen - 9); //#19842\n } else { //#19844\n $1.fid = \"\"; //#19844\n } //#19844\n $search($1.barcode, \"\\x1d\"); //#19848\n $j--; //#19848\n $1.pcode = $k[--$j]; //#19848\n $j--; //#19849\n $search($k[--$j], \"\\x1d\"); //#19849\n $j--; //#19849\n $1.ccode = $k[--$j]; //#19849\n $j--; //#19850\n $search($k[--$j], \"\\x1d\"); //#19850\n $j--; //#19850\n $1.scode = $k[--$j]; //#19850\n $j--; //#19851\n $1.barcode = $k[--$j]; //#19851\n var _l = $s($1.barcode.length + $1.fid.length); //#19854\n $puti(_l, 0, $1.fid); //#19855\n $puti(_l, $1.fid.length, $1.barcode); //#19856\n $1.barcode = _l; //#19857\n $1.barlen = $1.barcode.length; //#19858\n $k[$j++] = Infinity; //#19860\n var _q = $1.barcode; //#19860\n for (var _r = 0, _s = _q.length; _r < _s; _r++) { //#19860\n $k[$j++] = $get(_q, _r); //#19860\n } //#19860\n $1.msg = $a(); //#19860\n $1.msglen = $1.msg.length; //#19861\n } //#19861\n $1.eci = -1; //#19866\n $1.pad = -2; //#19866\n $1.ns = -3; //#19866\n $1.la = -4; //#19867\n $1.lb = -5; //#19867\n $1.sa = -6; //#19868\n $1.sb = -7; //#19868\n $1.sc = -8; //#19868\n $1.sd = -9; //#19868\n $1.se = -10; //#19868\n $1.sa2 = -11; //#19869\n $1.sa3 = -12; //#19869\n $1.lkc = -13; //#19870\n $1.lkd = -14; //#19870\n $1.lke = -15; //#19870\n $1.pd2 = -16; //#19871\n $1.pd3 = -17; //#19871\n $1.charmaps = $a([$a([13, \"`\", 192, 224, 0]), $a([\"A\", \"a\", 193, 225, 1]), $a([\"B\", \"b\", 194, 226, 2]), $a([\"C\", \"c\", 195, 227, 3]), $a([\"D\", \"d\", 196, 228, 4]), $a([\"E\", \"e\", 197, 229, 5]), $a([\"F\", \"f\", 198, 230, 6]), $a([\"G\", \"g\", 199, 231, 7]), $a([\"H\", \"h\", 200, 232, 8]), $a([\"I\", \"i\", 201, 233, 9]), $a([\"J\", \"j\", 202, 234, 10]), $a([\"K\", \"k\", 203, 235, 11]), $a([\"L\", \"l\", 204, 236, 12]), $a([\"M\", \"m\", 205, 237, 13]), $a([\"N\", \"n\", 206, 238, 14]), $a([\"O\", \"o\", 207, 239, 15]), $a([\"P\", \"p\", 208, 240, 16]), $a([\"Q\", \"q\", 209, 241, 17]), $a([\"R\", \"r\", 210, 242, 18]), $a([\"S\", \"s\", 211, 243, 19]), $a([\"T\", \"t\", 212, 244, 20]), $a([\"U\", \"u\", 213, 245, 21]), $a([\"V\", \"v\", 214, 246, 22]), $a([\"W\", \"w\", 215, 247, 23]), $a([\"X\", \"x\", 216, 248, 24]), $a([\"Y\", \"y\", 217, 249, 25]), $a([\"Z\", \"z\", 218, 250, 26]), $a([$1.eci, $1.eci, $1.eci, $1.eci, $1.eci]), $a([28, 28, 28, 28, $1.pad]), $a([29, 29, 29, 29, $1.pad]), $a([30, 30, 30, 30, 27]), $a([$1.ns, $1.ns, $1.ns, $1.ns, $1.ns]), $a([\" \", \"{\", 219, 251, 28]), $a([$1.pad, $1.pad, 220, 252, 29]), $a([\"\\\"\", \"}\", 221, 253, 30]), $a([\"#\", \"~\", 222, 254, 31]), $a([\"$\", 127, 223, 255, 159]), $a([\"%\", \";\", 170, 161, 160]), $a([\"&\", \"<\", 172, 168, 162]), $a([\"'\", \"=\", 177, 171, 163]), $a([40, \">\", 178, 175, 164]), $a([41, \"?\", 179, 176, 165]), $a([\"*\", \"[\", 181, 180, 166]), $a([\"+\", 92, 185, 183, 167]), $a([\",\", \"]\", 186, 184, 169]), $a([\"-\", \"^\", 188, 187, 173]), $a([\".\", \"_\", 189, 191, 174]), $a([\"/\", \" \", 190, 138, 182]), $a([\"0\", \",\", 128, 139, 149]), $a([\"1\", \".\", 129, 140, 150]), $a([\"2\", \"/\", 130, 141, 151]), $a([\"3\", \":\", 131, 142, 152]), $a([\"4\", \"@\", 132, 143, 153]), $a([\"5\", \"!\", 133, 144, 154]), $a([\"6\", \"|\", 134, 145, 155]), $a([\"7\", $1.pd2, 135, 146, 156]), $a([\"8\", $1.sa2, 136, 147, 157]), $a([\"9\", $1.sa3, 137, 148, 158]), $a([\":\", $1.pd3, $1.la, $1.la, $1.la]), $a([$1.sb, $1.sa, \" \", \" \", \" \"]), $a([$1.sc, $1.sc, $1.lkc, $1.sc, $1.sc]), $a([$1.sd, $1.sd, $1.sd, $1.lkd, $1.sd]), $a([$1.se, $1.se, $1.se, $1.se, $1.lke]), $a([$1.lb, $1.la, $1.lb, $1.lb, $1.lb])]); //#19940\n $1.charvals = $a([new Map, new Map, new Map, new Map, new Map]); //#19943\n for (var _2j = 0, _2i = $1.charmaps.length - 1; _2j <= _2i; _2j += 1) { //#19952\n $1.i = _2j; //#19945\n $1.encs = $get($1.charmaps, $1.i); //#19946\n for (var _2n = 0; _2n <= 4; _2n += 1) { //#19951\n $1.j = _2n; //#19948\n var _2q = $get($1.encs, $1.j); //#19949\n $k[$j++] = _2q; //#19949\n if ($eq($type(_2q), 'stringtype')) { //#19949\n var _2t = $get($k[--$j], 0); //#19949\n $k[$j++] = _2t; //#19949\n } //#19949\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#19950\n } //#19950\n } //#19950\n $1.seta = $get($1.charvals, 0); //#19953\n $1.setb = $get($1.charvals, 1); //#19954\n $1.setc = $get($1.charvals, 2); //#19955\n $1.setd = $get($1.charvals, 3); //#19956\n $1.sete = $get($1.charvals, 4); //#19957\n $k[$j++] = Infinity; //#19960\n for (var _3A = 0, _3B = $1.msglen + 1; _3A < _3B; _3A++) { //#19960\n $k[$j++] = 0; //#19960\n } //#19960\n $1.nseq = $a(); //#19960\n for (var _3E = $1.msglen - 1; _3E >= 0; _3E -= 1) { //#19968\n $1.i = _3E; //#19962\n var _3H = $get($1.msg, $1.i); //#19963\n if ((_3H >= 48) && (_3H <= 57)) { //#19966\n $put($1.nseq, $1.i, $f($get($1.nseq, $1.i + 1) + 1)); //#19964\n } else { //#19966\n $put($1.nseq, $1.i, 0); //#19966\n } //#19966\n } //#19966\n $1.nseq = $geti($1.nseq, 0, $1.msglen); //#19969\n $1.prefixinset = function() {\n $k[$j++] = 0; //#19976\n for (;;) { //#19976\n var _3S = $k[--$j]; //#19974\n var _3T = $k[--$j]; //#19974\n $k[$j++] = _3T; //#19974\n $k[$j++] = _3S; //#19974\n if (_3S >= _3T.length) { //#19974\n break; //#19974\n } //#19974\n var _3U = $k[--$j]; //#19975\n var _3V = $k[--$j]; //#19975\n var _3X = $k[--$j]; //#19975\n var _3Y = $get(_3X, $get(_3V, _3U)) !== undefined; //#19975\n $k[$j++] = _3X; //#19975\n $k[$j++] = _3V; //#19975\n $k[$j++] = _3U; //#19975\n if (_3Y) { //#19975\n var _3Z = $k[--$j]; //#19975\n $k[$j++] = $f(_3Z + 1); //#19975\n } else { //#19975\n break; //#19975\n } //#19975\n } //#19975\n var _3a = $k[--$j]; //#19977\n var _3b = $k[--$j]; //#19977\n $k[$j++] = _3a; //#19977\n $k[$j++] = _3b; //#19977\n $j--; //#19977\n var _3c = $k[--$j]; //#19977\n var _3d = $k[--$j]; //#19977\n $k[$j++] = _3c; //#19977\n $k[$j++] = _3d; //#19977\n $j--; //#19977\n }; //#19978\n $1.enc = function() {\n var _3e = $k[--$j]; //#19981\n $put($1.out, $1.j, $get(_3e, $k[--$j])); //#19981\n $1.j = $1.j + 1; //#19982\n }; //#19983\n $1.out = $a(144); //#19985\n $1.i = 0; //#19986\n $1.j = 0; //#19986\n $1.cset = \"seta\"; //#19986\n for (;;) { //#20138\n if ($1.i == $1.msglen) { //#19995\n if ($ne($1.cset, \"seta\") && $ne($1.cset, \"setb\")) { //#19993\n $k[$j++] = $1.la; //#19991\n $k[$j++] = $1[$1.cset]; //#19991\n $1.enc(); //#19991\n $1.cset = \"seta\"; //#19992\n } //#19992\n break; //#19994\n } //#19994\n for (;;) { //#20137\n if ($get($1.msg, $1.i) <= -1000000) { //#20024\n $k[$j++] = $1.eci; //#19999\n $k[$j++] = $1[$1.cset]; //#19999\n $1.enc(); //#19999\n var _41 = $f((-$get($1.msg, $1.i)) - 1000000); //#20001\n $k[$j++] = _41; //#20019\n if (_41 <= 31) { //#20018\n var _42 = $k[--$j]; //#20002\n $k[$j++] = _42 & 63; //#20003\n $astore($a(1)); //#20003\n } else { //#20018\n var _44 = $k[--$j]; //#20004\n $k[$j++] = _44; //#20019\n if (_44 <= 1023) { //#20018\n var _45 = $k[--$j]; //#20005\n $k[$j++] = ((_45 >>> 6) & 31) | 32; //#20007\n $k[$j++] = _45 & 63; //#20007\n $astore($a(2)); //#20007\n } else { //#20018\n var _47 = $k[--$j]; //#20008\n $k[$j++] = _47; //#20019\n if (_47 <= 32767) { //#20018\n var _48 = $k[--$j]; //#20009\n $k[$j++] = ((_48 >>> 12) & 47) | 48; //#20012\n $k[$j++] = (_48 >>> 6) & 63; //#20012\n $k[$j++] = _48 & 63; //#20012\n $astore($a(3)); //#20012\n } else { //#20018\n var _4A = $k[--$j]; //#20014\n $k[$j++] = ((_4A >>> 18) & 55) | 56; //#20018\n $k[$j++] = (_4A >>> 12) & 63; //#20018\n $k[$j++] = (_4A >>> 6) & 63; //#20018\n $k[$j++] = _4A & 63; //#20018\n $astore($a(4)); //#20018\n } //#20018\n } //#20018\n } //#20018\n var _4C = $k[--$j]; //#20020\n $puti($1.out, $1.j, _4C); //#20020\n $1.j = _4C.length + $1.j; //#20021\n $1.i = $1.i + 1; //#20022\n break; //#20023\n } //#20023\n if ($get($1.nseq, $1.i) >= 9) { //#20035\n var _4M = $geti($1.msg, $1.i, 9); //#20028\n $k[$j++] = 0; //#20028\n for (var _4N = 0, _4O = _4M.length; _4N < _4O; _4N++) { //#20028\n var _4Q = $k[--$j]; //#20028\n $k[$j++] = ($f(_4Q + $f($get(_4M, _4N) - 48))) * 10; //#20028\n } //#20028\n var _4R = $k[--$j]; //#20028\n $k[$j++] = ~~(_4R / 10); //#20029\n for (var _4S = 0, _4T = 4; _4S < _4T; _4S++) { //#20029\n var _4U = $k[--$j]; //#20029\n $k[$j++] = _4U & 63; //#20029\n $k[$j++] = _4U >>> 6; //#20029\n } //#20029\n $k[$j++] = $get($1[$1.cset], $1.ns); //#20030\n for (var _4Z = 0; _4Z <= 10; _4Z += 2) { //#20030\n var _4a = $k[$j - 1 - _4Z]; //#20030\n $k[$j++] = _4a; //#20030\n } //#20030\n $astore($a(6)); //#20030\n var _4c = $k[--$j]; //#20030\n var _4d = $k[--$j]; //#20030\n var _4e = $k[--$j]; //#20030\n var _4f = $k[--$j]; //#20030\n var _4g = $k[--$j]; //#20030\n var _4h = $k[--$j]; //#20030\n var _4i = $k[--$j]; //#20030\n $k[$j++] = _4c; //#20030\n $k[$j++] = _4i; //#20030\n $k[$j++] = _4h; //#20030\n $k[$j++] = _4g; //#20030\n $k[$j++] = _4f; //#20030\n $k[$j++] = _4e; //#20030\n $k[$j++] = _4d; //#20030\n for (var _4j = 0, _4k = 6; _4j < _4k; _4j++) { //#20030\n $j--; //#20030\n } //#20030\n $puti($1.out, $1.j, $k[--$j]); //#20031\n $1.i = $1.i + 9; //#20032\n $1.j = $1.j + 6; //#20033\n break; //#20034\n } //#20034\n $1.char1 = $get($1.msg, $1.i); //#20038\n $k[$j++] = 'char2'; //#20039\n if (($1.i + 1) < $1.msglen) { //#20039\n $k[$j++] = $get($1.msg, $1.i + 1); //#20039\n } else { //#20039\n $k[$j++] = -99; //#20039\n } //#20039\n var _4y = $k[--$j]; //#20039\n $1[$k[--$j]] = _4y; //#20039\n $k[$j++] = 'char3'; //#20040\n if (($1.i + 2) < $1.msglen) { //#20040\n $k[$j++] = $get($1.msg, $1.i + 2); //#20040\n } else { //#20040\n $k[$j++] = -99; //#20040\n } //#20040\n var _55 = $k[--$j]; //#20040\n $1[$k[--$j]] = _55; //#20040\n var _5A = $get($1[$1.cset], $1.char1) !== undefined; //#20043\n if (_5A) { //#20047\n $k[$j++] = $1.char1; //#20044\n $k[$j++] = $1[$1.cset]; //#20044\n $1.enc(); //#20044\n $1.i = $1.i + 1; //#20045\n break; //#20046\n } //#20046\n var _5I = $get($1.setb, $1.char1) !== undefined; //#20050\n if ($eq($1.cset, \"seta\") && _5I) { //#20060\n var _5L = $get($1.setb, $1.char2) !== undefined; //#20051\n if (_5L) { //#20057\n $k[$j++] = $1.lb; //#20052\n $k[$j++] = $1.seta; //#20052\n $1.enc(); //#20052\n $1.cset = \"setb\"; //#20053\n } else { //#20057\n $k[$j++] = $1.sb; //#20055\n $k[$j++] = $1.seta; //#20055\n $1.enc(); //#20055\n $k[$j++] = $1.char1; //#20056\n $k[$j++] = $1.setb; //#20056\n $1.enc(); //#20056\n $1.i = $1.i + 1; //#20057\n } //#20057\n break; //#20059\n } //#20059\n var _5W = $get($1.seta, $1.char1) !== undefined; //#20063\n if ($eq($1.cset, \"setb\") && _5W) { //#20088\n var _5X = $1.seta; //#20064\n var _5Y = $1.msg; //#20064\n var _5Z = $1.i; //#20064\n var _5a = $1.msglen; //#20064\n var _5b = $1.i; //#20064\n var _5c = _5a - _5b; //#20064\n var _5d = 4; //#20064\n if (4 > (_5a - _5b)) { //#20064\n var _ = _5c; //#20064\n _5c = _5d; //#20064\n _5d = _; //#20064\n } //#20064\n $k[$j++] = 'p'; //#20064\n $k[$j++] = _5X; //#20064\n $k[$j++] = $geti(_5Y, _5Z, _5d); //#20064\n $1.prefixinset(); //#20064\n var _5f = $k[--$j]; //#20064\n $1[$k[--$j]] = _5f; //#20064\n if ($1.p == 1) { //#20069\n $k[$j++] = $1.sa; //#20066\n $k[$j++] = $1.setb; //#20066\n $1.enc(); //#20066\n $k[$j++] = $1.char1; //#20067\n $k[$j++] = $1.seta; //#20067\n $1.enc(); //#20067\n $1.i = $1.i + 1; //#20068\n } //#20068\n if ($1.p == 2) { //#20075\n $k[$j++] = $1.sa2; //#20071\n $k[$j++] = $1.setb; //#20071\n $1.enc(); //#20071\n $k[$j++] = $1.char1; //#20072\n $k[$j++] = $1.seta; //#20072\n $1.enc(); //#20072\n $k[$j++] = $1.char2; //#20073\n $k[$j++] = $1.seta; //#20073\n $1.enc(); //#20073\n $1.i = $1.i + 2; //#20074\n } //#20074\n if ($1.p == 3) { //#20082\n $k[$j++] = $1.sa3; //#20077\n $k[$j++] = $1.setb; //#20077\n $1.enc(); //#20077\n $k[$j++] = $1.char1; //#20078\n $k[$j++] = $1.seta; //#20078\n $1.enc(); //#20078\n $k[$j++] = $1.char2; //#20079\n $k[$j++] = $1.seta; //#20079\n $1.enc(); //#20079\n $k[$j++] = $1.char3; //#20080\n $k[$j++] = $1.seta; //#20080\n $1.enc(); //#20080\n $1.i = $1.i + 3; //#20081\n } //#20081\n if ($1.p >= 4) { //#20086\n $k[$j++] = $1.la; //#20084\n $k[$j++] = $1.setb; //#20084\n $1.enc(); //#20084\n $1.cset = \"seta\"; //#20085\n } //#20085\n break; //#20087\n } //#20087\n var _6A = $get($1.seta, $1.char1) !== undefined; //#20091\n if (_6A) { //#20095\n $k[$j++] = $1.la; //#20092\n $k[$j++] = $1[$1.cset]; //#20092\n $1.enc(); //#20092\n $1.cset = \"seta\"; //#20093\n break; //#20094\n } //#20094\n var _6G = $get($1.setb, $1.char1) !== undefined; //#20096\n if (_6G) { //#20100\n $k[$j++] = $1.lb; //#20097\n $k[$j++] = $1[$1.cset]; //#20097\n $1.enc(); //#20097\n $1.cset = \"setb\"; //#20098\n break; //#20099\n } //#20099\n var _6M = $get($1.setc, $1.char1) !== undefined; //#20103\n if (_6M) { //#20103\n $1.setx = \"setc\"; //#20103\n $1.sx = $1.sc; //#20103\n $1.lkx = $1.lkc; //#20103\n } //#20103\n var _6R = $get($1.setd, $1.char1) !== undefined; //#20104\n if (_6R) { //#20104\n $1.setx = \"setd\"; //#20104\n $1.sx = $1.sd; //#20104\n $1.lkx = $1.lkd; //#20104\n } //#20104\n var _6W = $get($1.sete, $1.char1) !== undefined; //#20105\n if (_6W) { //#20105\n $1.setx = \"sete\"; //#20105\n $1.sx = $1.se; //#20105\n $1.lkx = $1.lke; //#20105\n } //#20105\n var _6a = $1[$1.setx]; //#20108\n var _6b = $1.msg; //#20108\n var _6c = $1.i; //#20108\n var _6d = $1.msglen; //#20108\n var _6e = $1.i; //#20108\n var _6f = _6d - _6e; //#20108\n var _6g = 4; //#20108\n if (4 > (_6d - _6e)) { //#20108\n var _ = _6f; //#20108\n _6f = _6g; //#20108\n _6g = _; //#20108\n } //#20108\n $k[$j++] = 'p'; //#20108\n $k[$j++] = _6a; //#20108\n $k[$j++] = $geti(_6b, _6c, _6g); //#20108\n $1.prefixinset(); //#20108\n var _6i = $k[--$j]; //#20108\n $1[$k[--$j]] = _6i; //#20108\n if ($1.p == 1) { //#20113\n $k[$j++] = $1.sx; //#20110\n $k[$j++] = $1[$1.cset]; //#20110\n $1.enc(); //#20110\n $k[$j++] = $1.char1; //#20111\n $k[$j++] = $1[$1.setx]; //#20111\n $1.enc(); //#20111\n $1.i = $1.i + 1; //#20112\n } //#20112\n if ($1.p == 2) { //#20120\n $k[$j++] = $1.sx; //#20115\n $k[$j++] = $1[$1.cset]; //#20115\n $1.enc(); //#20115\n $k[$j++] = $1.char1; //#20116\n $k[$j++] = $1[$1.setx]; //#20116\n $1.enc(); //#20116\n $k[$j++] = $1.sx; //#20117\n $k[$j++] = $1[$1.cset]; //#20117\n $1.enc(); //#20117\n $k[$j++] = $1.char2; //#20118\n $k[$j++] = $1[$1.setx]; //#20118\n $1.enc(); //#20118\n $1.i = $1.i + 2; //#20119\n } //#20119\n if ($1.p == 3) { //#20129\n $k[$j++] = $1.sx; //#20122\n $k[$j++] = $1[$1.cset]; //#20122\n $1.enc(); //#20122\n $k[$j++] = $1.char1; //#20123\n $k[$j++] = $1[$1.setx]; //#20123\n $1.enc(); //#20123\n $k[$j++] = $1.sx; //#20124\n $k[$j++] = $1[$1.cset]; //#20124\n $1.enc(); //#20124\n $k[$j++] = $1.char2; //#20125\n $k[$j++] = $1[$1.setx]; //#20125\n $1.enc(); //#20125\n $k[$j++] = $1.sx; //#20126\n $k[$j++] = $1[$1.cset]; //#20126\n $1.enc(); //#20126\n $k[$j++] = $1.char3; //#20127\n $k[$j++] = $1[$1.setx]; //#20127\n $1.enc(); //#20127\n $1.i = $1.i + 3; //#20128\n } //#20128\n if ($1.p >= 4) { //#20134\n $k[$j++] = $1.sx; //#20131\n $k[$j++] = $1[$1.cset]; //#20131\n $1.enc(); //#20131\n $k[$j++] = $1.lkx; //#20132\n $k[$j++] = $1[$1.setx]; //#20132\n $1.enc(); //#20132\n $1.cset = $1.setx; //#20133\n } //#20133\n break; //#20136\n } //#20136\n } //#20136\n $1.encmsg = $geti($1.out, 0, $1.j); //#20139\n $1.padval = $get($1[$1.cset], $1.pad); //#20140\n $1.sami = $a([]); //#20143\n if ($1.sam != -1) { //#20148\n $1.sami = $a(2); //#20145\n $put($1.sami, 0, $get($1.seta, $1.pad)); //#20146\n $put($1.sami, 1, (((~~($1.sam / 10)) - 1) * 8) + (($1.sam % 10) - 1)); //#20147\n } //#20147\n $k[$j++] = Infinity; //#20149\n $aload($1.sami); //#20149\n $aload($1.encmsg); //#20149\n $1.encmsg = $a(); //#20149\n if (($1.mode == 2) || ($1.mode == 3)) { //#20204\n var _7v = $strcpy($s(4), \"0000\"); //#20155\n var _7y = $cvrs($s(4), ~~$1.mode, 2); //#20155\n $puti(_7v, 4 - _7y.length, _7y); //#20155\n $1.mdb = _7v; //#20155\n var _80 = $strcpy($s(10), \"0000000000\"); //#20156\n var _83 = $cvrs($s(10), ~~$z($1.ccode), 2); //#20156\n $puti(_80, 10 - _83.length, _83); //#20156\n $1.ccb = _80; //#20156\n var _85 = $strcpy($s(10), \"0000000000\"); //#20157\n var _88 = $cvrs($s(10), ~~$z($1.scode), 2); //#20157\n $puti(_85, 10 - _88.length, _88); //#20157\n $1.scb = _85; //#20157\n $1.pcb = $strcpy($s(36), \"000000000000000000000000000000000000\"); //#20158\n if ($1.mode == 2) { //#20171\n var _8F = $cvrs($s(6), $1.pcode.length, 2); //#20161\n $puti($1.pcb, 6 - _8F.length, _8F); //#20161\n var _8J = $cvrs($s(30), ~~$z($1.pcode), 2); //#20162\n $puti($1.pcb, 36 - _8J.length, _8J); //#20162\n } else { //#20171\n $k[$j++] = Infinity; //#20167\n var _8L = $strcpy($s(6), \" \"); //#20166\n $k[$j++] = _8L; //#20166\n $k[$j++] = _8L; //#20166\n $k[$j++] = 0; //#20166\n if ($1.pcode.length > 6) { //#20166\n $k[$j++] = $geti($1.pcode, 0, 6); //#20166\n } else { //#20166\n $k[$j++] = $1.pcode; //#20166\n } //#20166\n var _8Q = $k[--$j]; //#20166\n var _8R = $k[--$j]; //#20166\n $puti($k[--$j], _8R, _8Q); //#20166\n $forall($k[--$j], function() { //#20167\n var _8W = $get($1.seta, $k[--$j]); //#20167\n $k[$j++] = _8W; //#20167\n }); //#20167\n $1.pccw = $a(); //#20167\n for (var _8Y = 0; _8Y <= 5; _8Y += 1) { //#20172\n $1.i = _8Y; //#20170\n var _8e = $cvrs($s(6), $get($1.pccw, $1.i), 2); //#20171\n $puti($1.pcb, ((6 * $1.i) + 6) - _8e.length, _8e); //#20171\n } //#20171\n } //#20171\n $1.scm = $s(60); //#20176\n $puti($1.scm, 2, $1.mdb); //#20177\n $puti($1.scm, 38, $geti($1.pcb, 0, 4)); //#20178\n $puti($1.scm, 30, $geti($1.pcb, 4, 6)); //#20179\n $puti($1.scm, 24, $geti($1.pcb, 10, 6)); //#20180\n $puti($1.scm, 18, $geti($1.pcb, 16, 6)); //#20181\n $puti($1.scm, 12, $geti($1.pcb, 22, 6)); //#20182\n $puti($1.scm, 6, $geti($1.pcb, 28, 6)); //#20183\n $puti($1.scm, 0, $geti($1.pcb, 34, 2)); //#20184\n $puti($1.scm, 52, $geti($1.ccb, 0, 2)); //#20185\n $puti($1.scm, 42, $geti($1.ccb, 2, 6)); //#20186\n $puti($1.scm, 36, $geti($1.ccb, 8, 2)); //#20187\n $puti($1.scm, 54, $geti($1.scb, 0, 6)); //#20188\n $puti($1.scm, 48, $geti($1.scb, 6, 4)); //#20189\n $1.pri = $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); //#20192\n for (var _9K = 0; _9K <= 59; _9K += 1) { //#20198\n $1.i = _9K; //#20194\n $1.ps = ~~($1.i / 6); //#20195\n $1.ep = (~~(Math.pow(2, 5 - ($1.i % 6)))) * ($get($1.scm, $1.i) - 48); //#20196\n $put($1.pri, $1.ps, $f($get($1.pri, $1.ps) + $1.ep)); //#20197\n } //#20197\n $k[$j++] = Infinity; //#20201\n for (var _9W = 0, _9X = 84; _9W < _9X; _9W++) { //#20201\n $k[$j++] = $1.padval; //#20201\n } //#20201\n $1.sec = $a(); //#20201\n $puti($1.sec, 0, $1.encmsg); //#20202\n } //#20202\n if (((($1.mode == 4) || ($1.mode == 5)) || ($1.mode == 6)) || ($1.mode == -1)) { //#20223\n if ($1.mode == -1) { //#20212\n var _9i = ($1.encmsg.length <= 77) ? 5 : 4; //#20211\n $1.mode = _9i; //#20211\n } //#20211\n $k[$j++] = Infinity; //#20215\n var _9k = ($1.mode == 5) ? 78 : 94; //#20215\n for (var _9l = 0, _9m = _9k; _9l < _9m; _9l++) { //#20215\n $k[$j++] = $1.padval; //#20215\n } //#20215\n $1.cws = $a(); //#20215\n $put($1.cws, 0, $1.mode); //#20216\n $puti($1.cws, 1, $1.encmsg); //#20217\n $1.pri = $geti($1.cws, 0, 10); //#20220\n $1.sec = $geti($1.cws, 10, $1.cws.length - 10); //#20221\n } //#20221\n $k[$j++] = Infinity; //#20226\n $k[$j++] = 1; //#20226\n for (var _9y = 0, _9z = 63; _9y < _9z; _9y++) { //#20226\n var _A0 = $k[--$j]; //#20226\n var _A1 = _A0 * 2; //#20226\n $k[$j++] = _A0; //#20226\n $k[$j++] = _A1; //#20226\n if (_A1 >= 64) { //#20226\n var _A2 = $k[--$j]; //#20226\n $k[$j++] = _A2 ^ 67; //#20226\n } //#20226\n } //#20226\n $1.rsalog = $a(); //#20226\n $1.rslog = $a(64); //#20227\n for (var _A5 = 1; _A5 <= 63; _A5 += 1) { //#20228\n $put($1.rslog, $get($1.rsalog, _A5), _A5); //#20228\n } //#20228\n $1.rsprod = function() {\n var _A9 = $k[--$j]; //#20232\n var _AA = $k[--$j]; //#20232\n $k[$j++] = _AA; //#20236\n $k[$j++] = _A9; //#20236\n if ((_A9 != 0) && (_AA != 0)) { //#20235\n var _AD = $get($1.rslog, $k[--$j]); //#20233\n var _AI = $get($1.rsalog, $f(_AD + $get($1.rslog, $k[--$j])) % 63); //#20233\n $k[$j++] = _AI; //#20233\n } else { //#20235\n $j -= 2; //#20235\n $k[$j++] = 0; //#20235\n } //#20235\n }; //#20237\n $1.rscodes = function() {\n $1.rsnum = $k[--$j]; //#20242\n $1.cwb = $k[--$j]; //#20243\n $k[$j++] = Infinity; //#20246\n $k[$j++] = 1; //#20246\n for (var _AM = 0, _AN = $1.rsnum; _AM < _AN; _AM++) { //#20246\n $k[$j++] = 0; //#20246\n } //#20246\n $1.coeffs = $a(); //#20246\n for (var _AR = 1, _AQ = $1.rsnum; _AR <= _AQ; _AR += 1) { //#20255\n $1.i = _AR; //#20248\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#20249\n for (var _AY = $1.i - 1; _AY >= 1; _AY -= 1) { //#20253\n $1.j = _AY; //#20251\n $k[$j++] = $1.coeffs; //#20252\n $k[$j++] = $1.j; //#20252\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#20252\n $k[$j++] = $get($1.coeffs, $1.j); //#20252\n $k[$j++] = $get($1.rsalog, $1.i); //#20252\n $1.rsprod(); //#20252\n var _Ak = $k[--$j]; //#20252\n var _Al = $k[--$j]; //#20252\n var _Am = $k[--$j]; //#20252\n $put($k[--$j], _Am, $xo(_Al, _Ak)); //#20252\n } //#20252\n $k[$j++] = $1.coeffs; //#20254\n $k[$j++] = 0; //#20254\n $k[$j++] = $get($1.coeffs, 0); //#20254\n $k[$j++] = $get($1.rsalog, $1.i); //#20254\n $1.rsprod(); //#20254\n var _Au = $k[--$j]; //#20254\n var _Av = $k[--$j]; //#20254\n $put($k[--$j], _Av, _Au); //#20254\n } //#20254\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#20256\n $k[$j++] = Infinity; //#20259\n for (var _B1 = 0, _B2 = $1.rsnum; _B1 < _B2; _B1++) { //#20259\n $k[$j++] = 0; //#20259\n } //#20259\n $1.ecb = $a(); //#20259\n for (var _B6 = 0, _B5 = $1.cwb.length - 1; _B6 <= _B5; _B6 += 1) { //#20268\n $1.t = $xo($get($1.cwb, _B6), $get($1.ecb, 0)); //#20261\n for (var _BC = $1.ecb.length - 1; _BC >= 0; _BC -= 1) { //#20267\n $1.i = _BC; //#20263\n $1.p = ($1.ecb.length - $1.i) - 1; //#20264\n $k[$j++] = $1.ecb; //#20265\n $k[$j++] = $1.p; //#20265\n $k[$j++] = $1.t; //#20265\n $k[$j++] = $get($1.coeffs, $1.i); //#20265\n $1.rsprod(); //#20265\n var _BL = $k[--$j]; //#20265\n var _BM = $k[--$j]; //#20265\n $put($k[--$j], _BM, _BL); //#20265\n if ($1.i > 0) { //#20266\n $put($1.ecb, $1.p, $xo($get($1.ecb, $1.p + 1), $get($1.ecb, $1.p))); //#20266\n } //#20266\n } //#20266\n } //#20266\n $k[$j++] = $1.ecb; //#20270\n }; //#20272\n $k[$j++] = Infinity; //#20275\n for (var _Ba = 0, _BZ = $1.sec.length - 1; _Ba <= _BZ; _Ba += 2) { //#20275\n $k[$j++] = $get($1.sec, _Ba); //#20275\n } //#20275\n $1.seco = $a(); //#20275\n $k[$j++] = Infinity; //#20276\n for (var _Bg = 1, _Bf = $1.sec.length - 1; _Bg <= _Bf; _Bg += 2) { //#20276\n $k[$j++] = $get($1.sec, _Bg); //#20276\n } //#20276\n $1.sece = $a(); //#20276\n var _Bl = ($1.sec.length == 84) ? 20 : 28; //#20279\n $1.scodes = _Bl; //#20279\n $k[$j++] = 'secochk'; //#20280\n $k[$j++] = $1.seco; //#20280\n $k[$j++] = $1.scodes; //#20280\n $1.rscodes(); //#20280\n var _Bo = $k[--$j]; //#20280\n $1[$k[--$j]] = _Bo; //#20280\n $k[$j++] = 'secechk'; //#20281\n $k[$j++] = $1.sece; //#20281\n $k[$j++] = $1.scodes; //#20281\n $1.rscodes(); //#20281\n var _Bs = $k[--$j]; //#20281\n $1[$k[--$j]] = _Bs; //#20281\n $k[$j++] = Infinity; //#20284\n for (var _Bw = 0, _Bv = $1.scodes - 1; _Bw <= _Bv; _Bw += 1) { //#20284\n $k[$j++] = $get($1.secochk, _Bw); //#20284\n $k[$j++] = $get($1.secechk, _Bw); //#20284\n } //#20284\n $1.secchk = $a(); //#20284\n $k[$j++] = Infinity; //#20291\n $aload($1.pri); //#20288\n $k[$j++] = $1.pri; //#20289\n $k[$j++] = 10; //#20289\n $1.rscodes(); //#20289\n $aload($k[--$j]); //#20289\n $aload($1.sec); //#20290\n $aload($1.secchk); //#20291\n $1.codewords = $a(); //#20291\n $k[$j++] = Infinity; //#20295\n for (var _C8 = 0, _C9 = 864; _C8 < _C9; _C8++) { //#20295\n $k[$j++] = 0; //#20295\n } //#20295\n $1.mods = $a(); //#20295\n for (var _CB = 0; _CB <= 143; _CB += 1) { //#20300\n $1.i = _CB; //#20297\n $k[$j++] = Infinity; //#20298\n var _CG = $cvrs($s(6), $get($1.codewords, $1.i), 2); //#20298\n for (var _CH = 0, _CI = _CG.length; _CH < _CI; _CH++) { //#20298\n $k[$j++] = $get(_CG, _CH) - 48; //#20298\n } //#20298\n $1.cw = $a(); //#20298\n $puti($1.mods, (6 * $1.i) + (6 - $1.cw.length), $1.cw); //#20299\n } //#20299\n $1.modmap = $a([469, 529, 286, 316, 347, 346, 673, 672, 703, 702, 647, 676, 283, 282, 313, 312, 370, 610, 618, 379, 378, 409, 408, 439, 705, 704, 559, 589, 588, 619, 458, 518, 640, 701, 675, 674, 285, 284, 315, 314, 310, 340, 531, 289, 288, 319, 349, 348, 456, 486, 517, 516, 471, 470, 369, 368, 399, 398, 429, 428, 549, 548, 579, 578, 609, 608, 649, 648, 679, 678, 709, 708, 639, 638, 669, 668, 699, 698, 279, 278, 309, 308, 339, 338, 381, 380, 411, 410, 441, 440, 561, 560, 591, 590, 621, 620, 547, 546, 577, 576, 607, 606, 367, 366, 397, 396, 427, 426, 291, 290, 321, 320, 351, 350, 651, 650, 681, 680, 711, 710, 1, 0, 31, 30, 61, 60, 3, 2, 33, 32, 63, 62, 5, 4, 35, 34, 65, 64, 7, 6, 37, 36, 67, 66, 9, 8, 39, 38, 69, 68, 11, 10, 41, 40, 71, 70, 13, 12, 43, 42, 73, 72, 15, 14, 45, 44, 75, 74, 17, 16, 47, 46, 77, 76, 19, 18, 49, 48, 79, 78, 21, 20, 51, 50, 81, 80, 23, 22, 53, 52, 83, 82, 25, 24, 55, 54, 85, 84, 27, 26, 57, 56, 87, 86, 117, 116, 147, 146, 177, 176, 115, 114, 145, 144, 175, 174, 113, 112, 143, 142, 173, 172, 111, 110, 141, 140, 171, 170, 109, 108, 139, 138, 169, 168, 107, 106, 137, 136, 167, 166, 105, 104, 135, 134, 165, 164, 103, 102, 133, 132, 163, 162, 101, 100, 131, 130, 161, 160, 99, 98, 129, 128, 159, 158, 97, 96, 127, 126, 157, 156, 95, 94, 125, 124, 155, 154, 93, 92, 123, 122, 153, 152, 91, 90, 121, 120, 151, 150, 181, 180, 211, 210, 241, 240, 183, 182, 213, 212, 243, 242, 185, 184, 215, 214, 245, 244, 187, 186, 217, 216, 247, 246, 189, 188, 219, 218, 249, 248, 191, 190, 221, 220, 251, 250, 193, 192, 223, 222, 253, 252, 195, 194, 225, 224, 255, 254, 197, 196, 227, 226, 257, 256, 199, 198, 229, 228, 259, 258, 201, 200, 231, 230, 261, 260, 203, 202, 233, 232, 263, 262, 205, 204, 235, 234, 265, 264, 207, 206, 237, 236, 267, 266, 297, 296, 327, 326, 357, 356, 295, 294, 325, 324, 355, 354, 293, 292, 323, 322, 353, 352, 277, 276, 307, 306, 337, 336, 275, 274, 305, 304, 335, 334, 273, 272, 303, 302, 333, 332, 271, 270, 301, 300, 331, 330, 361, 360, 391, 390, 421, 420, 363, 362, 393, 392, 423, 422, 365, 364, 395, 394, 425, 424, 383, 382, 413, 412, 443, 442, 385, 384, 415, 414, 445, 444, 387, 386, 417, 416, 447, 446, 477, 476, 507, 506, 537, 536, 475, 474, 505, 504, 535, 534, 473, 472, 503, 502, 533, 532, 455, 454, 485, 484, 515, 514, 453, 452, 483, 482, 513, 512, 451, 450, 481, 480, 511, 510, 541, 540, 571, 570, 601, 600, 543, 542, 573, 572, 603, 602, 545, 544, 575, 574, 605, 604, 563, 562, 593, 592, 623, 622, 565, 564, 595, 594, 625, 624, 567, 566, 597, 596, 627, 626, 657, 656, 687, 686, 717, 716, 655, 654, 685, 684, 715, 714, 653, 652, 683, 682, 713, 712, 637, 636, 667, 666, 697, 696, 635, 634, 665, 664, 695, 694, 633, 632, 663, 662, 693, 692, 631, 630, 661, 660, 691, 690, 721, 720, 751, 750, 781, 780, 723, 722, 753, 752, 783, 782, 725, 724, 755, 754, 785, 784, 727, 726, 757, 756, 787, 786, 729, 728, 759, 758, 789, 788, 731, 730, 761, 760, 791, 790, 733, 732, 763, 762, 793, 792, 735, 734, 765, 764, 795, 794, 737, 736, 767, 766, 797, 796, 739, 738, 769, 768, 799, 798, 741, 740, 771, 770, 801, 800, 743, 742, 773, 772, 803, 802, 745, 744, 775, 774, 805, 804, 747, 746, 777, 776, 807, 806, 837, 836, 867, 866, 897, 896, 835, 834, 865, 864, 895, 894, 833, 832, 863, 862, 893, 892, 831, 830, 861, 860, 891, 890, 829, 828, 859, 858, 889, 888, 827, 826, 857, 856, 887, 886, 825, 824, 855, 854, 885, 884, 823, 822, 853, 852, 883, 882, 821, 820, 851, 850, 881, 880, 819, 818, 849, 848, 879, 878, 817, 816, 847, 846, 877, 876, 815, 814, 845, 844, 875, 874, 813, 812, 843, 842, 873, 872, 811, 810, 841, 840, 871, 870, 901, 900, 931, 930, 961, 960, 903, 902, 933, 932, 963, 962, 905, 904, 935, 934, 965, 964, 907, 906, 937, 936, 967, 966, 909, 908, 939, 938, 969, 968, 911, 910, 941, 940, 971, 970, 913, 912, 943, 942, 973, 972, 915, 914, 945, 944, 975, 974, 917, 916, 947, 946, 977, 976, 919, 918, 949, 948, 979, 978, 921, 920, 951, 950, 981, 980, 923, 922, 953, 952, 983, 982, 925, 924, 955, 954, 985, 984, 927, 926, 957, 956, 987, 986, 58, 89, 88, 118, 149, 148, 178, 209, 208, 238, 269, 268, 298, 329, 328, 358, 389, 388, 418, 449, 448, 478, 509, 508, 538, 569, 568, 598, 629, 628, 658, 689, 688, 718, 749, 748, 778, 809, 808, 838, 869, 868, 898, 929, 928, 958, 989, 988]); //#20348\n $1.pixs = $a(864); //#20351\n $1.j = 0; //#20352\n for (var _CT = 0, _CS = $1.mods.length - 1; _CT <= _CS; _CT += 1) { //#20359\n $1.i = _CT; //#20354\n if ($get($1.mods, $1.i) == 1) { //#20358\n $put($1.pixs, $1.j, $get($1.modmap, $1.i)); //#20356\n $1.j = $1.j + 1; //#20357\n } //#20357\n } //#20357\n $k[$j++] = Infinity; //#20360\n var _Cf = $geti($1.pixs, 0, $1.j); //#20360\n for (var _Cg = 0, _Ch = _Cf.length; _Cg < _Ch; _Cg++) { //#20360\n $k[$j++] = $get(_Cf, _Cg); //#20360\n } //#20360\n $k[$j++] = 28; //#20360\n $k[$j++] = 29; //#20360\n $k[$j++] = 280; //#20360\n $k[$j++] = 281; //#20360\n $k[$j++] = 311; //#20360\n $k[$j++] = 457; //#20360\n $k[$j++] = 488; //#20360\n $k[$j++] = 500; //#20360\n $k[$j++] = 530; //#20360\n $k[$j++] = 670; //#20360\n $k[$j++] = 700; //#20360\n $k[$j++] = 677; //#20360\n $k[$j++] = 707; //#20360\n $1.pixs = $a(); //#20360\n var _Cm = new Map([\n [\"ren\", bwipp_renmaximatrix],\n [\"pixs\", $1.pixs],\n [\"opt\", $1.options]\n ]); //#20366\n $k[$j++] = _Cm; //#20369\n if (!$1.dontdraw) { //#20369\n bwipp_renmaximatrix(); //#20369\n } //#20369\n}\n\nfunction bwipp_azteccode() {\n var $1 = {}; //#20399\n $1.options = $k[--$j]; //#20401\n $1.barcode = $k[--$j]; //#20402\n $1.dontdraw = false; //#20404\n $1.format = \"unset\"; //#20405\n $1.readerinit = false; //#20406\n $1.layers = -1; //#20407\n $1.eclevel = 23; //#20408\n $1.ecaddchars = 3; //#20409\n $1.raw = false; //#20410\n $1.parse = false; //#20411\n $1.parsefnc = false; //#20412\n $forall($1.options, function() { //#20423\n var _3 = $k[--$j]; //#20423\n $1[$k[--$j]] = _3; //#20423\n }); //#20423\n $1.layers = ~~$1.layers; //#20425\n $1.eclevel = +$1.eclevel; //#20426\n $1.ecaddchars = ~~$1.ecaddchars; //#20427\n $1.fn1 = -1; //#20430\n var _B = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true],\n [\"FNC1\", $1.fn1]\n ]); //#20435\n $1.fncvals = _B; //#20436\n $k[$j++] = 'msg'; //#20437\n $k[$j++] = $1.barcode; //#20437\n $k[$j++] = $1.fncvals; //#20437\n bwipp_parseinput(); //#20437\n var _E = $k[--$j]; //#20437\n $1[$k[--$j]] = _E; //#20437\n $1.msglen = $1.msg.length; //#20438\n $1.msgbits = \"\"; //#20441\n if ($ne($1.format, \"rune\") && $1.raw) { //#20442\n $1.msgbits = $1.barcode; //#20442\n } //#20442\n if ($ne($1.format, \"rune\") && (!$1.raw)) { //#20780\n $1.U = 0; //#20446\n $1.L = 1; //#20446\n $1.M = 2; //#20446\n $1.P = 3; //#20446\n $1.D = 4; //#20446\n $1.B = 5; //#20446\n $1.lu = -2; //#20449\n $1.ll = -3; //#20449\n $1.lm = -4; //#20449\n $1.lp = -5; //#20450\n $1.ld = -6; //#20450\n $1.su = -7; //#20450\n $1.sp = -8; //#20451\n $1.sb = -9; //#20451\n $1.fl = -10; //#20451\n $1.p2 = -11; //#20452\n $1.p3 = -12; //#20452\n $1.p4 = -13; //#20452\n $1.p5 = -14; //#20452\n $1.charmaps = $a([$a([$1.sp, $1.sp, $1.sp, $1.fl, $1.sp]), $a([32, 32, 32, 13, 32]), $a([\"A\", \"a\", 1, $1.p2, \"0\"]), $a([\"B\", \"b\", 2, $1.p3, \"1\"]), $a([\"C\", \"c\", 3, $1.p4, \"2\"]), $a([\"D\", \"d\", 4, $1.p5, \"3\"]), $a([\"E\", \"e\", 5, \"!\", \"4\"]), $a([\"F\", \"f\", 6, \"\\\"\", \"5\"]), $a([\"G\", \"g\", 7, \"#\", \"6\"]), $a([\"H\", \"h\", 8, \"$\", \"7\"]), $a([\"I\", \"i\", 9, \"%\", \"8\"]), $a([\"J\", \"j\", 10, \"&\", \"9\"]), $a([\"K\", \"k\", 11, \"'\", \",\"]), $a([\"L\", \"l\", 12, 40, \".\"]), $a([\"M\", \"m\", 13, 41, $1.lu]), $a([\"N\", \"n\", 27, \"*\", $1.su]), $a([\"O\", \"o\", 28, \"+\", -99]), $a([\"P\", \"p\", 29, \",\", -99]), $a([\"Q\", \"q\", 30, \"-\", -99]), $a([\"R\", \"r\", 31, \".\", -99]), $a([\"S\", \"s\", \"@\", \"/\", -99]), $a([\"T\", \"t\", 92, \":\", -99]), $a([\"U\", \"u\", \"^\", \";\", -99]), $a([\"V\", \"v\", \"_\", \"<\", -99]), $a([\"W\", \"w\", \"`\", \"=\", -99]), $a([\"X\", \"x\", \"|\", \">\", -99]), $a([\"Y\", \"y\", \"~\", \"?\", -99]), $a([\"Z\", \"z\", 127, \"[\", -99]), $a([$1.ll, $1.su, $1.ll, \"]\", -99]), $a([$1.lm, $1.lm, $1.lu, \"{\", -99]), $a([$1.ld, $1.ld, $1.lp, \"}\", -99]), $a([$1.sb, $1.sb, $1.sb, $1.lu, -99])]); //#20489\n $1.charvals = $a([new Map, new Map, new Map, new Map, new Map]); //#20492\n for (var _1K = 0, _1J = $1.charmaps.length - 1; _1K <= _1J; _1K += 1) { //#20501\n $1.i = _1K; //#20494\n $1.encs = $get($1.charmaps, $1.i); //#20495\n for (var _1O = 0; _1O <= 4; _1O += 1) { //#20500\n $1.j = _1O; //#20497\n var _1R = $get($1.encs, $1.j); //#20498\n $k[$j++] = _1R; //#20498\n if ($eq($type(_1R), 'stringtype')) { //#20498\n var _1U = $get($k[--$j], 0); //#20498\n $k[$j++] = _1U; //#20498\n } //#20498\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#20499\n } //#20499\n } //#20499\n var _1e = new Map([\n [\"\\x0d\\x0a\", $1.p2],\n [\". \", $1.p3],\n [\", \", $1.p4],\n [\": \", $1.p5]\n ]); //#20508\n $1.pcomp = _1e; //#20509\n $1.e = 10000; //#20511\n $1.latlen = $a([$a([0, 5, 5, 10, 5, 10]), $a([9, 0, 5, 10, 5, 10]), $a([5, 5, 0, 5, 10, 10]), $a([5, 10, 10, 0, 10, 15]), $a([4, 9, 9, 14, 0, 14]), $a([0, 0, 0, 0, 0, 0])]); //#20521\n $1.latseq = $a([$a([$a([]), $a([$1.ll]), $a([$1.lm]), $a([$1.lm, $1.lp]), $a([$1.ld]), $a([$1.sb])]), $a([$a([$1.ld, $1.lu]), $a([]), $a([$1.lm]), $a([$1.lm, $1.lp]), $a([$1.ld]), $a([$1.sb])]), $a([$a([$1.lu]), $a([$1.ll]), $a([]), $a([$1.lp]), $a([$1.lu, $1.ld]), $a([$1.sb])]), $a([$a([$1.lu]), $a([$1.lu, $1.ll]), $a([$1.lu, $1.lm]), $a([]), $a([$1.lu, $1.ld]), $a([$1.lu, $1.sb])]), $a([$a([$1.lu]), $a([$1.lu, $1.ll]), $a([$1.lu, $1.lm]), $a([$1.lu, $1.lm, $1.lp]), $a([]), $a([$1.lu, $1.sb])]), $a([$a([$1.lu]), $a([$1.ll]), $a([$1.lm]), $a([]), $a([]), $a([])])]); //#20531\n $1.shftlen = $a([$a([$1.e, $1.e, $1.e, 5, $1.e]), $a([5, $1.e, $1.e, 5, $1.e]), $a([$1.e, $1.e, $1.e, 5, $1.e]), $a([$1.e, $1.e, $1.e, $1.e, $1.e]), $a([4, $1.e, $1.e, 4, $1.e])]); //#20540\n $1.charsize = function() {\n var _3X = $k[--$j]; //#20543\n $k[$j++] = _3X; //#20554\n if (_3X >= 0) { //#20552\n $j--; //#20545\n var _3a = $get($a([5, 5, 5, 5, 4, 8]), $k[--$j]); //#20545\n $k[$j++] = _3a; //#20545\n } else { //#20552\n var _3b = $k[--$j]; //#20547\n var _3c = $k[--$j]; //#20547\n $k[$j++] = _3b; //#20547\n $k[$j++] = _3c; //#20547\n $j--; //#20547\n var _3d = $k[--$j]; //#20548\n $k[$j++] = _3d; //#20553\n if (_3d == $1.fn1) { //#20552\n $j--; //#20549\n $k[$j++] = 8; //#20549\n } else { //#20552\n var _3g = $f((-$k[--$j]) - 1000000); //#20551\n $k[$j++] = _3g; //#20551\n if (_3g == 0) { //#20551\n $j--; //#20551\n $k[$j++] = 1; //#20551\n } //#20551\n var _3h = $k[--$j]; //#20552\n $k[$j++] = (((~~(Math.log(_3h) / Math.log(10))) + 1) * 4) + 8; //#20552\n } //#20552\n } //#20552\n }; //#20555\n $1.curlen = $a([0, $1.e, $1.e, $1.e, $1.e, $1.e]); //#20558\n $1.curseq = $a([$a([]), $a([]), $a([]), $a([]), $a([]), $a([])]); //#20559\n $1.backto = $1.U; //#20561\n $1.lastchar = \"\"; //#20562\n $forall($1.msg, function() { //#20664\n $1.char = $k[--$j]; //#20567\n for (;;) { //#20593\n $1.imp = false; //#20571\n var _44 = $a([$1.U, $1.L, $1.M, $1.P, $1.D, $1.B]); //#20572\n for (var _45 = 0, _46 = _44.length; _45 < _46; _45++) { //#20591\n $1.x = $get(_44, _45); //#20573\n var _4E = $a([$1.U, $1.L, $1.M, $1.P, $1.D, $1.B]); //#20574\n for (var _4F = 0, _4G = _4E.length; _4F < _4G; _4F++) { //#20590\n $1.y = $get(_4E, _4F); //#20575\n if (($1.x != $1.B) || ($1.y == $1.backto)) { //#20589\n $1.cost = $f($get($1.curlen, $1.x) + $get($get($1.latlen, $1.x), $1.y)); //#20577\n if ($1.cost < $get($1.curlen, $1.y)) { //#20588\n $put($1.curlen, $1.y, $1.cost); //#20579\n $k[$j++] = $1.curseq; //#20582\n $k[$j++] = $1.y; //#20582\n $k[$j++] = Infinity; //#20582\n $aload($get($1.curseq, $1.x)); //#20581\n $aload($get($get($1.latseq, $1.x), $1.y)); //#20582\n var _4l = $a(); //#20582\n var _4m = $k[--$j]; //#20583\n $put($k[--$j], _4m, _4l); //#20583\n if ($1.y == $1.B) { //#20586\n $k[$j++] = 'backto'; //#20585\n if (($1.x == $1.P) || ($1.x == $1.D)) { //#20585\n $k[$j++] = $1.U; //#20585\n } else { //#20585\n $k[$j++] = $1.x; //#20585\n } //#20585\n var _4w = $k[--$j]; //#20585\n $1[$k[--$j]] = _4w; //#20585\n } //#20585\n $1.imp = true; //#20587\n } //#20587\n } //#20587\n } //#20587\n } //#20587\n if (!$1.imp) { //#20592\n break; //#20592\n } //#20592\n } //#20592\n $1.nxtlen = $a([$1.e, $1.e, $1.e, $1.e, $1.e, $1.e]); //#20596\n $1.nxtseq = $a(6); //#20597\n var _5D = $a([$1.U, $1.L, $1.M, $1.P, $1.D, $1.B]); //#20599\n for (var _5E = 0, _5F = _5D.length; _5E < _5F; _5E++) { //#20638\n $1.x = $get(_5D, _5E); //#20600\n for (;;) { //#20636\n if ($1.char >= 0) { //#20608\n if ($1.x != $1.B) { //#20606\n var _5O = $get($get($1.charvals, $1.x), $1.char) !== undefined; //#20606\n if (!_5O) { //#20606\n break; //#20606\n } //#20606\n } //#20606\n } else { //#20608\n if ($1.x != $1.P) { //#20608\n break; //#20608\n } //#20608\n } //#20608\n $k[$j++] = 'cost'; //#20612\n $k[$j++] = $get($1.curlen, $1.x); //#20612\n $k[$j++] = $1.x; //#20612\n $k[$j++] = $1.char; //#20612\n $1.charsize(); //#20612\n var _5W = $k[--$j]; //#20612\n var _5X = $k[--$j]; //#20612\n $1[$k[--$j]] = $f(_5X + _5W); //#20612\n if ($1.cost < $get($1.nxtlen, $1.x)) { //#20616\n $put($1.nxtlen, $1.x, $1.cost); //#20614\n $k[$j++] = $1.nxtseq; //#20615\n $k[$j++] = $1.x; //#20615\n $k[$j++] = Infinity; //#20615\n $aload($get($1.curseq, $1.x)); //#20615\n $k[$j++] = $1.char; //#20615\n var _5m = $a(); //#20615\n var _5n = $k[--$j]; //#20615\n $put($k[--$j], _5n, _5m); //#20615\n } //#20615\n if ($1.x == $1.B) { //#20619\n break; //#20619\n } //#20619\n var _5w = $a([$1.U, $1.L, $1.M, $1.P, $1.D]); //#20620\n for (var _5x = 0, _5y = _5w.length; _5x < _5y; _5x++) { //#20633\n $1.y = $get(_5w, _5x); //#20621\n if ($ne($1.x, $1.y)) { //#20632\n $k[$j++] = 'cost'; //#20623\n $k[$j++] = $f($get($1.curlen, $1.y) + $get($get($1.shftlen, $1.y), $1.x)); //#20623\n $k[$j++] = $1.x; //#20623\n $k[$j++] = $1.char; //#20623\n $1.charsize(); //#20623\n var _6C = $k[--$j]; //#20623\n var _6D = $k[--$j]; //#20623\n $1[$k[--$j]] = $f(_6D + _6C); //#20623\n if ($1.cost < $get($1.nxtlen, $1.y)) { //#20631\n $put($1.nxtlen, $1.y, $1.cost); //#20625\n $k[$j++] = $1.nxtseq; //#20629\n $k[$j++] = $1.y; //#20629\n $k[$j++] = Infinity; //#20629\n $aload($get($1.curseq, $1.y)); //#20627\n var _6T = ($1.x == $1.U) ? $1.su : $1.sp; //#20628\n $k[$j++] = _6T; //#20629\n $k[$j++] = $1.char; //#20629\n var _6V = $a(); //#20629\n var _6W = $k[--$j]; //#20630\n $put($k[--$j], _6W, _6V); //#20630\n } //#20630\n } //#20630\n } //#20630\n break; //#20635\n } //#20635\n } //#20635\n if ($ne($1.lastchar, \"\") && ($1.char >= 0)) { //#20649\n var _6a = $s(2); //#20642\n $put(_6a, 0, $1.lastchar); //#20642\n $put(_6a, 1, $1.char); //#20642\n $1.pchars = _6a; //#20642\n var _6f = $get($1.pcomp, $1.pchars) !== undefined; //#20643\n if (_6f) { //#20648\n if ($lt($get($1.curlen, $1.P), $get($1.nxtlen, $1.P))) { //#20647\n $put($1.nxtlen, $1.P, $get($1.curlen, $1.P)); //#20645\n $k[$j++] = $1.nxtseq; //#20646\n $k[$j++] = $1.P; //#20646\n $k[$j++] = Infinity; //#20646\n $aload($get($1.curseq, $1.P)); //#20646\n $j--; //#20646\n $k[$j++] = $get($1.pcomp, $1.pchars); //#20646\n var _6z = $a(); //#20646\n var _70 = $k[--$j]; //#20646\n $put($k[--$j], _70, _6z); //#20646\n } //#20646\n } //#20646\n } //#20646\n if ($ne($get($1.nxtseq, $1.B), null)) { //#20658\n $1.numbytes = 0; //#20653\n $forall($get($1.nxtseq, $1.B), function() { //#20656\n if ($k[--$j] == $1.sb) { //#20655\n $k[$j++] = 0; //#20655\n } else { //#20655\n $k[$j++] = $1.numbytes + 1; //#20655\n } //#20655\n $1.numbytes = $k[--$j]; //#20655\n }); //#20655\n if ($1.numbytes == 32) { //#20657\n $put($1.nxtlen, $1.B, $f($get($1.nxtlen, $1.B) + 11)); //#20657\n } //#20657\n } //#20657\n $1.curlen = $1.nxtlen; //#20660\n $1.curseq = $1.nxtseq; //#20661\n $k[$j++] = 'lastchar'; //#20662\n if ($1.char >= 0) { //#20662\n $k[$j++] = $1.char; //#20662\n } else { //#20662\n $k[$j++] = \"\"; //#20662\n } //#20662\n var _7M = $k[--$j]; //#20662\n $1[$k[--$j]] = _7M; //#20662\n }); //#20662\n $1.minseq = $1.e; //#20667\n var _7V = $a([$1.U, $1.L, $1.M, $1.P, $1.D, $1.B]); //#20668\n for (var _7W = 0, _7X = _7V.length; _7W < _7X; _7W++) { //#20674\n $1.i = $get(_7V, _7W); //#20669\n if ($get($1.curlen, $1.i) < $1.minseq) { //#20673\n $1.minseq = $get($1.curlen, $1.i); //#20671\n $1.seq = $get($1.curseq, $1.i); //#20672\n } //#20672\n } //#20672\n $1.tobin = function() {\n var _7k = $s($k[--$j]); //#20678\n $k[$j++] = _7k; //#20678\n for (var _7m = 0, _7l = _7k.length - 1; _7m <= _7l; _7m += 1) { //#20678\n var _7n = $k[--$j]; //#20678\n $put(_7n, _7m, 48); //#20678\n $k[$j++] = _7n; //#20678\n } //#20678\n var _7o = $k[--$j]; //#20679\n var _7r = $cvrs($s(_7o.length), $k[--$j], 2); //#20679\n $puti(_7o, _7o.length - _7r.length, _7r); //#20679\n $k[$j++] = _7o; //#20679\n }; //#20680\n $1.encu = function() {\n var _7w = $get($get($1.charvals, $1.U), $k[--$j]); //#20682\n $k[$j++] = _7w; //#20682\n $k[$j++] = 5; //#20682\n $1.tobin(); //#20682\n }; //#20682\n $1.encl = function() {\n var _81 = $get($get($1.charvals, $1.L), $k[--$j]); //#20683\n $k[$j++] = _81; //#20683\n $k[$j++] = 5; //#20683\n $1.tobin(); //#20683\n }; //#20683\n $1.encm = function() {\n var _86 = $get($get($1.charvals, $1.M), $k[--$j]); //#20684\n $k[$j++] = _86; //#20684\n $k[$j++] = 5; //#20684\n $1.tobin(); //#20684\n }; //#20684\n $1.encd = function() {\n var _8B = $get($get($1.charvals, $1.D), $k[--$j]); //#20685\n $k[$j++] = _8B; //#20685\n $k[$j++] = 4; //#20685\n $1.tobin(); //#20685\n }; //#20685\n $1.encp = function() {\n var _8C = $k[--$j]; //#20688\n $k[$j++] = _8C; //#20705\n if (_8C == $1.fn1) { //#20704\n $j--; //#20689\n $k[$j++] = \"00000000\"; //#20689\n } else { //#20704\n var _8E = $k[--$j]; //#20691\n $k[$j++] = _8E; //#20705\n if (_8E <= -1000000) { //#20704\n var _8G = $f((-$k[--$j]) - 1000000); //#20692\n $k[$j++] = _8G; //#20692\n $k[$j++] = _8G; //#20692\n if (_8G == 0) { //#20692\n $j--; //#20692\n $k[$j++] = 1; //#20692\n } //#20692\n var _8I = ~~(Math.log($k[--$j]) / Math.log(10)); //#20694\n var _8J = $s(((_8I + 1) * 4) + 8); //#20694\n $puti(_8J, 0, \"00000\"); //#20695\n $k[$j++] = _8I; //#20696\n $k[$j++] = _8J; //#20696\n $k[$j++] = _8J; //#20696\n $k[$j++] = _8I + 1; //#20696\n $k[$j++] = 3; //#20696\n $1.tobin(); //#20696\n var _8K = $k[--$j]; //#20696\n $puti($k[--$j], 5, _8K); //#20696\n var _8M = $k[--$j]; //#20697\n var _8N = $k[--$j]; //#20697\n var _8O = $k[--$j]; //#20697\n $k[$j++] = _8M; //#20701\n $k[$j++] = _8O; //#20701\n for (var _8P = _8N; _8P >= 0; _8P -= 1) { //#20701\n var _8Q = $k[--$j]; //#20698\n var _8R = $k[--$j]; //#20699\n $k[$j++] = _8R; //#20700\n $k[$j++] = ~~(_8Q / 10); //#20700\n $k[$j++] = _8R; //#20700\n $k[$j++] = (_8P * 4) + 8; //#20700\n $k[$j++] = $f((_8Q % 10) + 2); //#20700\n $k[$j++] = 4; //#20700\n $1.tobin(); //#20700\n var _8S = $k[--$j]; //#20700\n var _8T = $k[--$j]; //#20700\n $puti($k[--$j], _8T, _8S); //#20700\n } //#20700\n $j--; //#20702\n } else { //#20704\n var _8Z = $get($get($1.charvals, $1.P), $k[--$j]); //#20704\n $k[$j++] = _8Z; //#20704\n $k[$j++] = 5; //#20704\n $1.tobin(); //#20704\n } //#20704\n } //#20704\n }; //#20706\n $1.encfuncs = $a(['encu', 'encl', 'encm', 'encp', 'encd']); //#20708\n $1.addtomsgbits = function() {\n $1.v = $k[--$j]; //#20711\n $puti($1.msgbits, $1.j, $1.v); //#20712\n $1.j = $1.j + $1.v.length; //#20713\n }; //#20714\n $1.state = $1.U; //#20717\n $1.msgbits = $s($1.minseq); //#20718\n $1.i = 0; //#20719\n $1.j = 0; //#20719\n for (;;) { //#20778\n if ($1.i >= $1.seq.length) { //#20720\n break; //#20720\n } //#20720\n if ($1.state != $1.B) { //#20773\n $1.char = $get($1.seq, $1.i); //#20724\n $k[$j++] = $1.char; //#20727\n if ($1[$get($1.encfuncs, $1.state)]() === true) {\n break;\n } //#20727\n $1.addtomsgbits(); //#20727\n $1.i = $1.i + 1; //#20728\n if (($1.char == $1.su) || ($1.char == $1.sp)) { //#20734\n $k[$j++] = $get($1.seq, $1.i); //#20732\n if ($1.char == $1.su) { //#20732\n $1.encu(); //#20732\n } else { //#20732\n $1.encp(); //#20732\n } //#20732\n $1.addtomsgbits(); //#20732\n $1.i = $1.i + 1; //#20733\n } //#20733\n if ($1.char == $1.lu) { //#20737\n $1.state = $1.U; //#20737\n } //#20737\n if ($1.char == $1.ll) { //#20738\n $1.state = $1.L; //#20738\n } //#20738\n if ($1.char == $1.lm) { //#20739\n $1.state = $1.M; //#20739\n } //#20739\n if ($1.char == $1.lp) { //#20740\n $1.state = $1.P; //#20740\n } //#20740\n if ($1.char == $1.ld) { //#20741\n $1.state = $1.D; //#20741\n } //#20741\n if ($1.char == $1.sb) { //#20742\n $1.state = $1.B; //#20742\n } //#20742\n } else { //#20773\n $1.numbytes = 0; //#20747\n for (;;) { //#20751\n if (($1.i + $1.numbytes) >= $1.seq.length) { //#20748\n break; //#20748\n } //#20748\n if ($get($1.seq, $1.i + $1.numbytes) < 0) { //#20749\n break; //#20749\n } //#20749\n $1.numbytes = $1.numbytes + 1; //#20750\n } //#20750\n if ($1.numbytes <= 31) { //#20758\n $k[$j++] = $1.numbytes; //#20755\n $k[$j++] = 5; //#20755\n $1.tobin(); //#20755\n $1.addtomsgbits(); //#20755\n } else { //#20758\n $k[$j++] = 0; //#20757\n $k[$j++] = 5; //#20757\n $1.tobin(); //#20757\n $1.addtomsgbits(); //#20757\n $k[$j++] = $1.numbytes - 31; //#20758\n $k[$j++] = 11; //#20758\n $1.tobin(); //#20758\n $1.addtomsgbits(); //#20758\n } //#20758\n for (var _9b = 0, _9c = $1.numbytes; _9b < _9c; _9b++) { //#20765\n $k[$j++] = $get($1.seq, $1.i); //#20763\n $k[$j++] = 8; //#20763\n $1.tobin(); //#20763\n $1.addtomsgbits(); //#20763\n $1.i = $1.i + 1; //#20764\n } //#20764\n if ($1.i < $1.seq.length) { //#20774\n $1.char = $get($1.seq, $1.i); //#20769\n $1.i = $1.i + 1; //#20770\n if ($1.char == $1.lu) { //#20771\n $1.state = $1.U; //#20771\n } //#20771\n if ($1.char == $1.ll) { //#20772\n $1.state = $1.L; //#20772\n } //#20772\n if ($1.char == $1.lm) { //#20773\n $1.state = $1.M; //#20773\n } //#20773\n } //#20773\n } //#20773\n } //#20773\n } //#20773\n $1.metrics = $a([$a([\"rune\", 0, 0, 0, 6]), $a([\"compact\", 1, 1, 17, 6]), $a([\"full\", 1, 1, 21, 6]), $a([\"compact\", 2, 0, 40, 6]), $a([\"full\", 2, 1, 48, 6]), $a([\"compact\", 3, 0, 51, 8]), $a([\"full\", 3, 1, 60, 8]), $a([\"compact\", 4, 0, 76, 8]), $a([\"full\", 4, 1, 88, 8]), $a([\"full\", 5, 1, 120, 8]), $a([\"full\", 6, 1, 156, 8]), $a([\"full\", 7, 1, 196, 8]), $a([\"full\", 8, 1, 240, 8]), $a([\"full\", 9, 1, 230, 10]), $a([\"full\", 10, 1, 272, 10]), $a([\"full\", 11, 1, 316, 10]), $a([\"full\", 12, 1, 364, 10]), $a([\"full\", 13, 1, 416, 10]), $a([\"full\", 14, 1, 470, 10]), $a([\"full\", 15, 1, 528, 10]), $a([\"full\", 16, 1, 588, 10]), $a([\"full\", 17, 1, 652, 10]), $a([\"full\", 18, 1, 720, 10]), $a([\"full\", 19, 1, 790, 10]), $a([\"full\", 20, 1, 864, 10]), $a([\"full\", 21, 1, 940, 10]), $a([\"full\", 22, 1, 1020, 10]), $a([\"full\", 23, 0, 920, 12]), $a([\"full\", 24, 0, 992, 12]), $a([\"full\", 25, 0, 1066, 12]), $a([\"full\", 26, 0, 1144, 12]), $a([\"full\", 27, 0, 1224, 12]), $a([\"full\", 28, 0, 1306, 12]), $a([\"full\", 29, 0, 1392, 12]), $a([\"full\", 30, 0, 1480, 12]), $a([\"full\", 31, 0, 1570, 12]), $a([\"full\", 32, 0, 1664, 12])]); //#20797\n $1.i = 0; //#20799\n for (;;) { //#20817\n $1.m = $get($1.metrics, $1.i); //#20801\n $1.frmt = $get($1.m, 0); //#20802\n $1.mlyr = $get($1.m, 1); //#20803\n $1.icap = $get($1.m, 2); //#20804\n $1.ncws = $get($1.m, 3); //#20805\n $1.bpcw = $get($1.m, 4); //#20806\n $1.numecw = ~~(Math.ceil($f((($1.ncws * $1.eclevel) / 100) + $1.ecaddchars))); //#20807\n if ($1.msgbits.length == 0) { //#20808\n $1.numecw = 0; //#20808\n } //#20808\n $1.numdcw = $f($1.ncws - $1.numecw); //#20809\n $1.okay = true; //#20810\n if ($ne($1.format, \"unset\") && $ne($1.format, $1.frmt)) { //#20811\n $1.okay = false; //#20811\n } //#20811\n if ($1.readerinit && ($1.icap != 1)) { //#20812\n $1.okay = false; //#20812\n } //#20812\n if (($1.layers != -1) && ($1.layers != $1.mlyr)) { //#20813\n $1.okay = false; //#20813\n } //#20813\n if ((~~Math.ceil($1.msgbits.length / $1.bpcw)) > $1.numdcw) { //#20814\n $1.okay = false; //#20814\n } //#20814\n if ($1.okay) { //#20815\n break; //#20815\n } //#20815\n $1.i = $1.i + 1; //#20816\n } //#20816\n $1.layers = $1.mlyr; //#20818\n $1.format = $1.frmt; //#20819\n $1.allzero = function() {\n var _B6 = $k[--$j]; //#20822\n $k[$j++] = $eq(_B6, $geti(\"000000000000\", 0, _B6.length)); //#20822\n }; //#20822\n $1.allones = function() {\n var _B8 = $k[--$j]; //#20823\n $k[$j++] = $eq(_B8, $geti(\"111111111111\", 0, _B8.length)); //#20823\n }; //#20823\n $1.cws = $a($1.ncws); //#20824\n $1.m = 0; //#20825\n $1.c = 0; //#20825\n for (;;) { //#20852\n if ($1.msgbits.length <= $1.m) { //#20827\n break; //#20827\n } //#20827\n if (($1.msgbits.length - $1.m) >= $1.bpcw) { //#20841\n $1.cwb = $geti($1.msgbits, $1.m, $f($1.bpcw - 1)); //#20829\n $1.cwf = $geti($1.msgbits, $f($f($1.m + $1.bpcw) - 1), 1); //#20830\n $k[$j++] = $1.cwb; //#20831\n $1.allzero(); //#20831\n if ($k[--$j]) { //#20831\n $1.cwf = \"1\"; //#20831\n $1.m = $1.m - 1; //#20831\n } //#20831\n $k[$j++] = $1.cwb; //#20832\n $1.allones(); //#20832\n if ($k[--$j]) { //#20832\n $1.cwf = \"0\"; //#20832\n $1.m = $1.m - 1; //#20832\n } //#20832\n var _BV = $s(12); //#20834\n $puti(_BV, 0, $1.cwb); //#20834\n $puti(_BV, $f($1.bpcw - 1), $1.cwf); //#20835\n $1.cwb = $geti(_BV, 0, $1.bpcw); //#20837\n } else { //#20841\n $1.cwb = $geti($1.msgbits, $1.m, $1.msgbits.length - $1.m); //#20839\n var _Bh = $strcpy($s(12), \"111111111111\"); //#20840\n $puti(_Bh, 0, $1.cwb); //#20840\n $1.cwb = $geti(_Bh, 0, $1.bpcw); //#20840\n $k[$j++] = $1.cwb; //#20841\n $1.allones(); //#20841\n if ($k[--$j]) { //#20841\n $puti($1.cwb, $1.cwb.length - 1, \"0\"); //#20841\n } //#20841\n } //#20841\n $1.cw = 0; //#20844\n for (var _Br = 0, _Bq = $f($1.bpcw - 1); _Br <= _Bq; _Br += 1) { //#20848\n $1.i = _Br; //#20846\n $1.cw = $f($1.cw + ((~~(Math.pow(2, $f($f($1.bpcw - $1.i) - 1)))) * $f($get($1.cwb, $1.i) - 48))); //#20847\n } //#20847\n $put($1.cws, $1.c, $1.cw); //#20849\n $1.m = $f($1.m + $1.bpcw); //#20850\n $1.c = $1.c + 1; //#20851\n } //#20851\n $1.cws = $geti($1.cws, 0, $1.c); //#20853\n $1.rscodes = function() {\n $1.rspm = $k[--$j]; //#20858\n $1.rsgf = $k[--$j]; //#20859\n $1.rsnc = $k[--$j]; //#20860\n $1.rscws = $k[--$j]; //#20861\n $k[$j++] = Infinity; //#20864\n $k[$j++] = 1; //#20864\n for (var _CC = 0, _CD = $f($1.rsgf - 1); _CC < _CD; _CC++) { //#20864\n var _CE = $k[--$j]; //#20864\n var _CF = _CE * 2; //#20864\n $k[$j++] = _CE; //#20864\n $k[$j++] = _CF; //#20864\n if (_CF >= $1.rsgf) { //#20864\n var _CI = $k[--$j]; //#20864\n $k[$j++] = $xo(_CI, $1.rspm); //#20864\n } //#20864\n } //#20864\n $1.rsalog = $a(); //#20864\n $1.rslog = $a($1.rsgf); //#20865\n for (var _CO = 1, _CN = $f($1.rsgf - 1); _CO <= _CN; _CO += 1) { //#20866\n $put($1.rslog, $get($1.rsalog, _CO), _CO); //#20866\n } //#20866\n $1.rsprod = function() {\n var _CS = $k[--$j]; //#20870\n var _CT = $k[--$j]; //#20870\n $k[$j++] = _CT; //#20874\n $k[$j++] = _CS; //#20874\n if ((_CS != 0) && (_CT != 0)) { //#20873\n var _CW = $get($1.rslog, $k[--$j]); //#20871\n var _Cc = $get($1.rsalog, $f(_CW + $get($1.rslog, $k[--$j])) % $f($1.rsgf - 1)); //#20871\n $k[$j++] = _Cc; //#20871\n } else { //#20873\n $j -= 2; //#20873\n $k[$j++] = 0; //#20873\n } //#20873\n }; //#20875\n $k[$j++] = Infinity; //#20878\n $k[$j++] = 1; //#20878\n for (var _Ce = 0, _Cf = $1.rsnc; _Ce < _Cf; _Ce++) { //#20878\n $k[$j++] = 0; //#20878\n } //#20878\n $1.coeffs = $a(); //#20878\n for (var _Cj = 1, _Ci = $1.rsnc; _Cj <= _Ci; _Cj += 1) { //#20887\n $1.i = _Cj; //#20880\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#20881\n for (var _Cq = $1.i - 1; _Cq >= 1; _Cq -= 1) { //#20885\n $1.j = _Cq; //#20883\n $k[$j++] = $1.coeffs; //#20884\n $k[$j++] = $1.j; //#20884\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#20884\n $k[$j++] = $get($1.coeffs, $1.j); //#20884\n $k[$j++] = $get($1.rsalog, $1.i); //#20884\n $1.rsprod(); //#20884\n var _D2 = $k[--$j]; //#20884\n var _D3 = $k[--$j]; //#20884\n var _D4 = $k[--$j]; //#20884\n $put($k[--$j], _D4, $xo(_D3, _D2)); //#20884\n } //#20884\n $k[$j++] = $1.coeffs; //#20886\n $k[$j++] = 0; //#20886\n $k[$j++] = $get($1.coeffs, 0); //#20886\n $k[$j++] = $get($1.rsalog, $1.i); //#20886\n $1.rsprod(); //#20886\n var _DC = $k[--$j]; //#20886\n var _DD = $k[--$j]; //#20886\n $put($k[--$j], _DD, _DC); //#20886\n } //#20886\n $1.nd = $1.rscws.length; //#20890\n $k[$j++] = Infinity; //#20891\n $forall($1.rscws); //#20891\n for (var _DI = 0, _DJ = $1.rsnc; _DI < _DJ; _DI++) { //#20891\n $k[$j++] = 0; //#20891\n } //#20891\n $k[$j++] = 0; //#20891\n $1.rscws = $a(); //#20891\n for (var _DN = 0, _DM = $1.nd - 1; _DN <= _DM; _DN += 1) { //#20898\n $1.k = $xo($get($1.rscws, _DN), $get($1.rscws, $1.nd)); //#20893\n for (var _DV = 0, _DU = $f($1.rsnc - 1); _DV <= _DU; _DV += 1) { //#20897\n $1.j = _DV; //#20895\n $k[$j++] = $1.rscws; //#20896\n $k[$j++] = $1.nd + $1.j; //#20896\n $k[$j++] = $get($1.rscws, ($1.nd + $1.j) + 1); //#20896\n $k[$j++] = $1.k; //#20896\n $k[$j++] = $get($1.coeffs, $f($f($1.rsnc - $1.j) - 1)); //#20896\n $1.rsprod(); //#20896\n var _Di = $k[--$j]; //#20896\n var _Dj = $k[--$j]; //#20896\n var _Dk = $k[--$j]; //#20896\n $put($k[--$j], _Dk, $xo(_Dj, _Di)); //#20896\n } //#20896\n } //#20896\n $k[$j++] = $geti($1.rscws, 0, $1.rscws.length - 1); //#20901\n }; //#20903\n if ($eq($1.format, \"full\")) { //#20916\n $1.mode = ($f($1.layers - 1) << 11) + ($1.cws.length - 1); //#20907\n if ($1.readerinit) { //#20908\n $1.mode = $1.mode | 1024; //#20908\n } //#20908\n $1.mode = $a([($1.mode & 61440) >>> 12, ($1.mode & 3840) >>> 8, ($1.mode & 240) >>> 4, $1.mode & 15]); //#20914\n $k[$j++] = 'mode'; //#20915\n $k[$j++] = $1.mode; //#20915\n $k[$j++] = 6; //#20915\n $k[$j++] = 16; //#20915\n $k[$j++] = 19; //#20915\n $1.rscodes(); //#20915\n var _E0 = $k[--$j]; //#20915\n $1[$k[--$j]] = _E0; //#20915\n } //#20915\n if ($eq($1.format, \"compact\")) { //#20925\n $1.mode = ($f($1.layers - 1) << 6) + ($1.cws.length - 1); //#20918\n if ($1.readerinit) { //#20919\n $1.mode = $1.mode | 32; //#20919\n } //#20919\n $1.mode = $a([($1.mode & 240) >>> 4, $1.mode & 15]); //#20923\n $k[$j++] = 'mode'; //#20924\n $k[$j++] = $1.mode; //#20924\n $k[$j++] = 5; //#20924\n $k[$j++] = 16; //#20924\n $k[$j++] = 19; //#20924\n $1.rscodes(); //#20924\n var _EB = $k[--$j]; //#20924\n $1[$k[--$j]] = _EB; //#20924\n } //#20924\n if ($eq($1.format, \"rune\")) { //#20934\n $1.mode = ~~$z($1.barcode); //#20927\n $1.mode = $a([($1.mode & 240) >>> 4, $1.mode & 15]); //#20931\n $k[$j++] = 'mode'; //#20932\n $k[$j++] = $1.mode; //#20932\n $k[$j++] = 5; //#20932\n $k[$j++] = 16; //#20932\n $k[$j++] = 19; //#20932\n $1.rscodes(); //#20932\n var _EJ = $k[--$j]; //#20932\n $1[$k[--$j]] = _EJ; //#20932\n $k[$j++] = Infinity; //#20933\n var _EL = $1.mode; //#20933\n for (var _EM = 0, _EN = _EL.length; _EM < _EN; _EM++) { //#20933\n $k[$j++] = $get(_EL, _EM) ^ 10; //#20933\n } //#20933\n $1.mode = $a(); //#20933\n } //#20933\n $1.modebits = $s($1.mode.length * 4); //#20935\n for (var _EU = 0, _ET = $1.modebits.length - 1; _EU <= _ET; _EU += 1) { //#20936\n $puti($1.modebits, _EU, \"0\"); //#20936\n } //#20936\n for (var _EY = 0, _EX = $1.mode.length - 1; _EY <= _EX; _EY += 1) { //#20940\n $1.i = _EY; //#20938\n var _Ee = $cvrs($s(4), $get($1.mode, $1.i), 2); //#20939\n $puti($1.modebits, (4 - _Ee.length) + (4 * $1.i), _Ee); //#20939\n } //#20939\n $1.rsparams = $a([$a([]), $a([]), $a([]), $a([]), $a([]), $a([]), $a([64, 67]), $a([]), $a([256, 301]), $a([]), $a([1024, 1033]), $a([]), $a([4096, 4201])]); //#20952\n $k[$j++] = 'cws'; //#20953\n $k[$j++] = $1.cws; //#20953\n $k[$j++] = $f($1.ncws - $1.cws.length); //#20953\n $forall($get($1.rsparams, $1.bpcw)); //#20953\n $1.rscodes(); //#20953\n var _F0 = $k[--$j]; //#20953\n $1[$k[--$j]] = _F0; //#20953\n if ($eq($1.format, \"full\")) { //#20957\n $1.databits = $s($f((($1.layers * $1.layers) * 16) + ($1.layers * 112))); //#20955\n } else { //#20957\n $1.databits = $s($f((($1.layers * $1.layers) * 16) + ($1.layers * 88))); //#20957\n } //#20957\n for (var _FD = 0, _FC = $1.databits.length - 1; _FD <= _FC; _FD += 1) { //#20959\n $puti($1.databits, _FD, \"0\"); //#20959\n } //#20959\n for (var _FH = 0, _FG = $f($1.ncws - 1); _FH <= _FG; _FH += 1) { //#20965\n $1.i = _FH; //#20961\n var _FO = $cvrs($s($1.bpcw), $get($1.cws, $1.i), 2); //#20962\n $puti($1.databits, $f(($f($f($1.bpcw - _FO.length) + ($1.bpcw * $1.i))) + ($f($1.databits.length - ($1.ncws * $1.bpcw)))), _FO); //#20964\n } //#20964\n $1.cmv = function() {\n var _FW = $k[--$j]; //#20968\n var _FX = $k[--$j]; //#20968\n $k[$j++] = $f(($f(_FX - (_FW * $1.size))) + $1.mid); //#20968\n }; //#20968\n $1.lmv = function() {\n $1.lbit = $k[--$j]; //#20972\n $1.llyr = $k[--$j]; //#20973\n $1.lwid = $f($1.fw + ($1.llyr * 4)); //#20974\n $1.ldir = ~~((~~($1.lbit / 2)) / $1.lwid); //#20975\n if ($1.ldir == 0) { //#20980\n $k[$j++] = $f(((-(~~($f($1.lwid - 1) / 2))) + 1) + ((~~($1.lbit / 2)) % $1.lwid)); //#20979\n $k[$j++] = $f(($f((~~(($1.fw - 1) / 2)) + ($1.llyr * 2))) + ($1.lbit % 2)); //#20979\n $1.cmv(); //#20979\n } //#20979\n if ($1.ldir == 1) { //#20985\n $k[$j++] = $f(($f((~~($1.fw / 2)) + ($1.llyr * 2))) + ($1.lbit % 2)); //#20984\n $k[$j++] = $f(((~~($f($1.lwid - 1) / 2)) - 1) - ((~~($1.lbit / 2)) % $1.lwid)); //#20984\n $1.cmv(); //#20984\n } //#20984\n if ($1.ldir == 2) { //#20990\n $k[$j++] = -($f(((-(~~($1.lwid / 2))) + 1) + ((~~($1.lbit / 2)) % $1.lwid))); //#20989\n $k[$j++] = -($f(($f((~~($1.fw / 2)) + ($1.llyr * 2))) + ($1.lbit % 2))); //#20989\n $1.cmv(); //#20989\n } //#20989\n if ($1.ldir == 3) { //#20995\n $k[$j++] = -($f(($f((~~(($1.fw - 1) / 2)) + ($1.llyr * 2))) + ($1.lbit % 2))); //#20994\n $k[$j++] = -($f(((~~($1.lwid / 2)) - 1) - ((~~($1.lbit / 2)) % $1.lwid))); //#20994\n $1.cmv(); //#20994\n } //#20994\n }; //#20996\n if ($eq($1.format, \"full\")) { //#21000\n $1.fw = 12; //#21000\n } else { //#21000\n $1.fw = 9; //#21000\n } //#21000\n $1.size = $f(($f($1.fw + ($1.layers * 4))) + 2); //#21001\n $k[$j++] = Infinity; //#21002\n for (var _GC = 0, _GD = $1.size * $1.size; _GC < _GD; _GC++) { //#21002\n $k[$j++] = -1; //#21002\n } //#21002\n $1.pixs = $a(); //#21002\n $1.mid = $f(((~~($f($1.size - 1) / 2)) * $1.size) + (~~($f($1.size - 1) / 2))); //#21003\n $1.i = 0; //#21006\n for (var _GK = 1, _GJ = $1.layers; _GK <= _GJ; _GK += 1) { //#21014\n $1.layer = _GK; //#21008\n for (var _GO = 0, _GN = (($1.fw + ($1.layer * 4)) * 8) - 1; _GO <= _GN; _GO += 1) { //#21013\n $1.pos = _GO; //#21010\n $k[$j++] = $1.pixs; //#21011\n $k[$j++] = $1.layer; //#21011\n $k[$j++] = $1.pos; //#21011\n $1.lmv(); //#21011\n var _GW = $k[--$j]; //#21011\n $put($k[--$j], _GW, $get($1.databits, ($1.databits.length - $1.i) - 1) - 48); //#21011\n $1.i = $1.i + 1; //#21012\n } //#21012\n } //#21012\n if ($eq($1.format, \"full\")) { //#21041\n $1.fw = 13; //#21018\n $1.size = $f(($f(($f($1.fw + ($1.layers * 4))) + 2)) + ((~~($f(($f($1.layers + 10.5) / 7.5) - 1))) * 2)); //#21019\n $1.mid = ~~(($1.size * $1.size) / 2); //#21020\n $k[$j++] = Infinity; //#21021\n for (var _Gh = 0, _Gi = $1.size * $1.size; _Gh < _Gi; _Gh++) { //#21021\n $k[$j++] = -2; //#21021\n } //#21021\n $1.npixs = $a(); //#21021\n for (var _Gm = 0, _Gl = ~~($1.size / 2); _Gm <= _Gl; _Gm += 16) { //#21031\n $1.i = _Gm; //#21023\n for (var _Gp = 0, _Go = $f($1.size - 1); _Gp <= _Go; _Gp += 1) { //#21030\n $1.j = _Gp; //#21025\n $k[$j++] = $1.npixs; //#21026\n $k[$j++] = (-(~~($1.size / 2))) + $1.j; //#21026\n $k[$j++] = $1.i; //#21026\n $1.cmv(); //#21026\n var _Gy = $k[--$j]; //#21026\n $puti($k[--$j], _Gy, $a([((((~~($1.size / 2)) + $1.j) + $1.i) + 1) % 2])); //#21026\n $k[$j++] = $1.npixs; //#21027\n $k[$j++] = (-(~~($1.size / 2))) + $1.j; //#21027\n $k[$j++] = -$1.i; //#21027\n $1.cmv(); //#21027\n var _H8 = $k[--$j]; //#21027\n $puti($k[--$j], _H8, $a([((((~~($1.size / 2)) + $1.j) + $1.i) + 1) % 2])); //#21027\n $k[$j++] = $1.npixs; //#21028\n $k[$j++] = $1.i; //#21028\n $k[$j++] = (-(~~($1.size / 2))) + $1.j; //#21028\n $1.cmv(); //#21028\n var _HI = $k[--$j]; //#21028\n $puti($k[--$j], _HI, $a([((((~~($1.size / 2)) + $1.j) + $1.i) + 1) % 2])); //#21028\n $k[$j++] = $1.npixs; //#21029\n $k[$j++] = -$1.i; //#21029\n $k[$j++] = (-(~~($1.size / 2))) + $1.j; //#21029\n $1.cmv(); //#21029\n var _HS = $k[--$j]; //#21029\n $puti($k[--$j], _HS, $a([((((~~($1.size / 2)) + $1.j) + $1.i) + 1) % 2])); //#21029\n } //#21029\n } //#21029\n $1.j = 0; //#21032\n for (var _HW = 0, _HV = $1.npixs.length - 1; _HW <= _HV; _HW += 1) { //#21039\n $1.i = _HW; //#21034\n if ($get($1.npixs, $1.i) == -2) { //#21038\n $put($1.npixs, $1.i, $get($1.pixs, $1.j)); //#21036\n $1.j = $1.j + 1; //#21037\n } //#21037\n } //#21037\n $1.pixs = $1.npixs; //#21040\n } //#21040\n $1.fw = ~~($1.fw / 2); //#21044\n for (var _Hl = -$1.fw, _Hk = $1.fw; _Hl <= _Hk; _Hl += 1) { //#21053\n $1.i = _Hl; //#21046\n for (var _Hp = -$1.fw, _Ho = $1.fw; _Hp <= _Ho; _Hp += 1) { //#21052\n $1.j = _Hp; //#21048\n $k[$j++] = $1.pixs; //#21049\n $k[$j++] = $1.i; //#21049\n $k[$j++] = $1.j; //#21049\n $1.cmv(); //#21049\n if (Math.abs($1.i) > Math.abs($1.j)) { //#21050\n $k[$j++] = Math.abs($1.i); //#21050\n } else { //#21050\n $k[$j++] = Math.abs($1.j); //#21050\n } //#21050\n var _Hx = $k[--$j]; //#21050\n var _Hy = $k[--$j]; //#21051\n $put($k[--$j], _Hy, $f(_Hx + 1) % 2); //#21051\n } //#21051\n } //#21051\n var _Ia = $a([$a([-($1.fw + 1), $1.fw, 1]), $a([-($1.fw + 1), $1.fw + 1, 1]), $a([-$1.fw, $1.fw + 1, 1]), $a([$1.fw + 1, $1.fw + 1, 1]), $a([$1.fw + 1, $1.fw, 1]), $a([$1.fw + 1, -$1.fw, 1]), $a([$1.fw, $1.fw + 1, 0]), $a([$1.fw + 1, -($1.fw + 1), 0]), $a([$1.fw, -($1.fw + 1), 0]), $a([-$1.fw, -($1.fw + 1), 0]), $a([-($1.fw + 1), -($1.fw + 1), 0]), $a([-($1.fw + 1), -$1.fw, 0])]); //#21061\n for (var _Ib = 0, _Ic = _Ia.length; _Ib < _Ic; _Ib++) { //#21062\n $k[$j++] = $1.pixs; //#21062\n $forall($get(_Ia, _Ib)); //#21062\n var _If = $k[--$j]; //#21062\n var _Ig = $k[--$j]; //#21062\n var _Ih = $k[--$j]; //#21062\n $k[$j++] = _If; //#21062\n $k[$j++] = _Ih; //#21062\n $k[$j++] = _Ig; //#21062\n $1.cmv(); //#21062\n var _Ii = $k[--$j]; //#21062\n var _Ij = $k[--$j]; //#21062\n $put($k[--$j], _Ii, _Ij); //#21062\n } //#21062\n if ($eq($1.format, \"full\")) { //#21078\n $1.modemap = $a([$a([-5, 7]), $a([-4, 7]), $a([-3, 7]), $a([-2, 7]), $a([-1, 7]), $a([1, 7]), $a([2, 7]), $a([3, 7]), $a([4, 7]), $a([5, 7]), $a([7, 5]), $a([7, 4]), $a([7, 3]), $a([7, 2]), $a([7, 1]), $a([7, -1]), $a([7, -2]), $a([7, -3]), $a([7, -4]), $a([7, -5]), $a([5, -7]), $a([4, -7]), $a([3, -7]), $a([2, -7]), $a([1, -7]), $a([-1, -7]), $a([-2, -7]), $a([-3, -7]), $a([-4, -7]), $a([-5, -7]), $a([-7, -5]), $a([-7, -4]), $a([-7, -3]), $a([-7, -2]), $a([-7, -1]), $a([-7, 1]), $a([-7, 2]), $a([-7, 3]), $a([-7, 4]), $a([-7, 5])]); //#21071\n } else { //#21078\n $1.modemap = $a([$a([-3, 5]), $a([-2, 5]), $a([-1, 5]), $a([0, 5]), $a([1, 5]), $a([2, 5]), $a([3, 5]), $a([5, 3]), $a([5, 2]), $a([5, 1]), $a([5, 0]), $a([5, -1]), $a([5, -2]), $a([5, -3]), $a([3, -5]), $a([2, -5]), $a([1, -5]), $a([0, -5]), $a([-1, -5]), $a([-2, -5]), $a([-3, -5]), $a([-5, -3]), $a([-5, -2]), $a([-5, -1]), $a([-5, 0]), $a([-5, 1]), $a([-5, 2]), $a([-5, 3])]); //#21078\n } //#21078\n for (var _Jw = 0, _Jv = $1.modemap.length - 1; _Jw <= _Jv; _Jw += 1) { //#21083\n $1.i = _Jw; //#21081\n $k[$j++] = $1.pixs; //#21082\n $forall($get($1.modemap, $1.i)); //#21082\n $1.cmv(); //#21082\n var _K4 = $k[--$j]; //#21082\n $put($k[--$j], _K4, $get($1.modebits, $1.i) - 48); //#21082\n } //#21082\n var _KC = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.size],\n [\"pixy\", $1.size],\n [\"height\", ($1.size * 2) / 72],\n [\"width\", ($1.size * 2) / 72],\n [\"opt\", $1.options]\n ]); //#21092\n $k[$j++] = _KC; //#21095\n if (!$1.dontdraw) { //#21095\n bwipp_renmatrix(); //#21095\n } //#21095\n}\n\nfunction bwipp_azteccodecompact() {\n var $1 = {}; //#21125\n $1.options = $k[--$j]; //#21127\n $1.barcode = $k[--$j]; //#21128\n $1.dontdraw = false; //#21130\n $forall($1.options, function() { //#21141\n var _3 = $k[--$j]; //#21141\n $1[$k[--$j]] = _3; //#21141\n }); //#21141\n $put($1.options, \"dontdraw\", true); //#21144\n $put($1.options, \"format\", \"compact\"); //#21145\n $k[$j++] = 'args'; //#21147\n $k[$j++] = $1.barcode; //#21147\n $k[$j++] = $1.options; //#21147\n bwipp_azteccode(); //#21147\n var _9 = $k[--$j]; //#21147\n $1[$k[--$j]] = _9; //#21147\n $put($1.args, \"opt\", $1.options); //#21149\n $k[$j++] = $1.args; //#21152\n if (!$1.dontdraw) { //#21152\n bwipp_renmatrix(); //#21152\n } //#21152\n}\n\nfunction bwipp_aztecrune() {\n var $1 = {}; //#21182\n $1.options = $k[--$j]; //#21184\n $1.barcode = $k[--$j]; //#21185\n $1.dontdraw = false; //#21187\n $forall($1.options, function() { //#21198\n var _3 = $k[--$j]; //#21198\n $1[$k[--$j]] = _3; //#21198\n }); //#21198\n $put($1.options, \"dontdraw\", true); //#21201\n $put($1.options, \"format\", \"rune\"); //#21202\n $k[$j++] = 'args'; //#21204\n $k[$j++] = $1.barcode; //#21204\n $k[$j++] = $1.options; //#21204\n bwipp_azteccode(); //#21204\n var _9 = $k[--$j]; //#21204\n $1[$k[--$j]] = _9; //#21204\n $put($1.args, \"opt\", $1.options); //#21206\n $k[$j++] = $1.args; //#21209\n if (!$1.dontdraw) { //#21209\n bwipp_renmatrix(); //#21209\n } //#21209\n}\n\nfunction bwipp_codeone() {\n var $1 = {}; //#21239\n $1.options = $k[--$j]; //#21241\n $1.barcode = $k[--$j]; //#21242\n $1.dontdraw = false; //#21244\n $1.version = \"unset\"; //#21245\n $1.parse = false; //#21246\n $1.parsefnc = false; //#21247\n $forall($1.options, function() { //#21258\n var _3 = $k[--$j]; //#21258\n $1[$k[--$j]] = _3; //#21258\n }); //#21258\n $1.stype = $eq($geti($1.version, 0, 1), \"S\"); //#21260\n if ($1.stype) { //#21895\n $1.vals = $a([\"1\", \"1010\", \"1100100\", \"1111101000\", \"10011100010000\", \"11000011010100000\", \"11110100001001000000\", \"100110001001011010000000\", \"101111101011110000100000000\", \"111011100110101100101000000000\", \"1001010100000010111110010000000000\", \"1011101001000011101101110100000000000\", \"1110100011010100101001010001000000000000\", \"10010001100001001110011100101010000000000000\", \"10110101111001100010000011110100100000000000000\", \"11100011010111111010100100110001101000000000000000\", \"100011100001101111001001101111110000010000000000000000\", \"101100011010001010111100001011101100010100000000000000000\"]); //#21282\n $1.normalize = function() {\n $1.base = $k[--$j]; //#21285\n $1.num = $k[--$j]; //#21286\n for (var _C = $1.num.length - 1; _C >= 1; _C -= 1) { //#21291\n $1.i = _C; //#21288\n var _D = $1.num; //#21289\n var _E = $1.i; //#21289\n $put(_D, _E - 1, $f($get(_D, _E - 1) + (~~($get($1.num, $1.i) / $1.base)))); //#21289\n $put($1.num, $1.i, $get($1.num, $1.i) % $1.base); //#21290\n } //#21290\n for (;;) { //#21297\n if ($lt($get($1.num, 0), $1.base)) { //#21293\n break; //#21293\n } //#21293\n $k[$j++] = Infinity; //#21294\n $k[$j++] = 0; //#21294\n $forall($1.num); //#21294\n $1.num = $a(); //#21294\n $put($1.num, 0, $f($get($1.num, 0) + (~~($get($1.num, 1) / $1.base)))); //#21295\n $put($1.num, 1, $get($1.num, 1) % $1.base); //#21296\n } //#21296\n $k[$j++] = Infinity; //#21299\n $1.i = true; //#21299\n var _f = $1.num; //#21299\n for (var _g = 0, _h = _f.length; _g < _h; _g++) { //#21299\n var _i = $get(_f, _g); //#21299\n $k[$j++] = _i; //#21299\n if ((_i == 0) && $1.i) { //#21299\n $j--; //#21299\n } else { //#21299\n $1.i = false; //#21299\n } //#21299\n } //#21299\n $1.num = $a(); //#21299\n if ($1.num.length == 0) { //#21300\n $1.num = $a([0]); //#21300\n } //#21300\n $k[$j++] = $1.num; //#21301\n }; //#21302\n $1.bigadd = function() {\n var _o = $k[--$j]; //#21305\n var _p = $k[--$j]; //#21305\n $1.offset = Math.abs(_o.length - _p.length); //#21306\n if (_o.length < _p.length) { //#21307\n var _ = _o; //#21307\n _o = _p; //#21307\n _p = _; //#21307\n } //#21307\n $1.a = _o; //#21308\n $1.b = _p; //#21308\n for (var _s = 0, _r = $1.b.length - 1; _s <= _r; _s += 1) { //#21311\n var _t = $1.a; //#21310\n var _u = $1.offset; //#21310\n $put(_t, _s + _u, $f($get(_t, _s + _u) + $get($1.b, _s))); //#21310\n } //#21310\n $k[$j++] = $1.a; //#21312\n }; //#21313\n $1.barlen = $1.barcode.length; //#21315\n $1.v = $a([1]); //#21318\n for (var _13 = 0, _12 = $1.barlen - 1; _13 <= _12; _13 += 1) { //#21323\n $1.i = _13; //#21320\n $k[$j++] = Infinity; //#21321\n $forall($get($1.vals, $1.i), function() { //#21321\n var _17 = $k[--$j]; //#21321\n $k[$j++] = $f(_17 - 48) * $f($get($1.barcode, ($1.barlen - $1.i) - 1) - 48); //#21321\n }); //#21321\n var _1C = $a(); //#21321\n $k[$j++] = _1C; //#21322\n $k[$j++] = $1.v; //#21322\n $1.bigadd(); //#21322\n $1.v = $k[--$j]; //#21322\n } //#21322\n $k[$j++] = 'v'; //#21324\n $k[$j++] = $1.v; //#21324\n $k[$j++] = 2; //#21324\n $1.normalize(); //#21324\n var _1G = $k[--$j]; //#21324\n $1[$k[--$j]] = _1G; //#21324\n $k[$j++] = Infinity; //#21327\n for (var _1J = 0, _1K = (5 - ($1.v.length % 5)) % 5; _1J < _1K; _1J++) { //#21327\n $k[$j++] = 0; //#21327\n } //#21327\n $aload($1.v); //#21327\n $1.v = $a(); //#21327\n $1.cws = $a(~~($1.v.length / 5)); //#21328\n for (var _1R = 0, _1Q = $1.cws.length - 1; _1R <= _1Q; _1R += 1) { //#21334\n $1.i = _1R; //#21330\n var _1U = $geti($1.v, $1.i * 5, 5); //#21331\n $k[$j++] = 0; //#21332\n for (var _1V = 0, _1W = _1U.length; _1V < _1W; _1V++) { //#21332\n var _1Y = $k[--$j]; //#21332\n $k[$j++] = $f(_1Y + $get(_1U, _1V)) * 2; //#21332\n } //#21332\n $put($1.cws, $1.i, ~~($k[--$j] / 2)); //#21333\n } //#21333\n $1.metrics = $a([$a([\"S-10\", 8, 11, 10, 4, 4, 1, 99, 99, 99]), $a([\"S-20\", 8, 21, 20, 8, 8, 1, 99, 99, 99]), $a([\"S-30\", 8, 31, 30, 12, 12, 1, 99, 99, 99])]); //#21342\n } else { //#21895\n $1.fnc1 = -1; //#21347\n $1.fnc3 = -2; //#21347\n var _1k = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true],\n [\"FNC1\", $1.fnc1],\n [\"FNC3\", $1.fnc3]\n ]); //#21353\n $1.fncvals = _1k; //#21354\n $k[$j++] = 'msg'; //#21355\n $k[$j++] = $1.barcode; //#21355\n $k[$j++] = $1.fncvals; //#21355\n bwipp_parseinput(); //#21355\n var _1n = $k[--$j]; //#21355\n $1[$k[--$j]] = _1n; //#21355\n $1.msglen = $1.msg.length; //#21356\n $1.lC = -5; //#21359\n $1.lB = -6; //#21359\n $1.lX = -7; //#21359\n $1.lT = -8; //#21359\n $1.lD = -9; //#21359\n $1.unl = -10; //#21359\n $1.fnc2 = -11; //#21360\n $1.fnc4 = -12; //#21360\n $1.sft1 = -13; //#21360\n $1.sft2 = -14; //#21360\n $1.sft3 = -15; //#21360\n $1.eci = -16; //#21360\n $1.pad = -17; //#21360\n $1.fnc1lD = -18; //#21360\n $1.unlcw = 255; //#21361\n $1.eciesc = 92; //#21364\n var _1q = $1.msg; //#21365\n $k[$j++] = 'numecis'; //#21365\n $k[$j++] = 0; //#21365\n for (var _1r = 0, _1s = _1q.length; _1r < _1s; _1r++) { //#21365\n if ($get(_1q, _1r) <= -1000000) { //#21365\n var _1u = $k[--$j]; //#21365\n $k[$j++] = $f(_1u + 1); //#21365\n } //#21365\n } //#21365\n var _1v = $k[--$j]; //#21365\n $1[$k[--$j]] = _1v; //#21365\n if ($1.numecis > 0) { //#21392\n $1.msgtmp = $a($f(($f(($1.msg.length * 2) + ($1.numecis * 6))) + 2)); //#21367\n $put($1.msgtmp, 0, $1.pad); //#21368\n $put($1.msgtmp, 1, $1.eciesc); //#21369\n $1.j = 2; //#21370\n for (var _27 = 0, _26 = $1.msg.length - 1; _27 <= _26; _27 += 1) { //#21389\n var _29 = $get($1.msg, _27); //#21372\n $k[$j++] = _29; //#21388\n if (_29 <= -1000000) { //#21386\n var _2D = $geti($cvrs($s(7), -$k[--$j], 10), 1, 6); //#21374\n for (var _2E = 0, _2F = _2D.length; _2E < _2F; _2E++) { //#21374\n $k[$j++] = $get(_2D, _2E); //#21374\n } //#21374\n $astore($a(6)); //#21374\n $puti($1.msgtmp, $1.j + 1, $k[--$j]); //#21375\n $put($1.msgtmp, $1.j, $1.eciesc); //#21376\n $1.j = $1.j + 7; //#21377\n } else { //#21386\n var _2P = $k[--$j]; //#21379\n $k[$j++] = _2P; //#21387\n if (_2P != $1.eciesc) { //#21386\n $put($1.msgtmp, $1.j, $k[--$j]); //#21380\n $1.j = $1.j + 1; //#21381\n } else { //#21386\n $j--; //#21383\n $put($1.msgtmp, $1.j, $1.eciesc); //#21384\n $put($1.msgtmp, $1.j + 1, $1.eciesc); //#21385\n $1.j = $1.j + 2; //#21386\n } //#21386\n } //#21386\n } //#21386\n $1.msg = $geti($1.msgtmp, 0, $1.j); //#21390\n $1.msglen = $1.msg.length; //#21391\n } //#21391\n $1.metrics = $a([$a([\"A\", 16, 18, 16, 10, 10, 1, 4, 99, 6]), $a([\"B\", 22, 22, 20, 19, 16, 1, 4, 99, 8]), $a([\"C\", 28, 32, 28, 44, 26, 1, 4, 22, 11]), $a([\"D\", 40, 42, 36, 91, 44, 1, 4, 16, 16]), $a([\"E\", 52, 54, 48, 182, 70, 1, 4, 22, 22]), $a([\"F\", 70, 76, 68, 370, 140, 2, 4, 22, 31]), $a([\"G\", 104, 98, 88, 732, 280, 4, 6, 21, 47]), $a([\"H\", 148, 134, 120, 1480, 560, 8, 6, 20, 69]), $a([\"T-16\", 16, 17, 16, 10, 10, 1, 99, 99, 99]), $a([\"T-32\", 16, 33, 32, 24, 16, 1, 99, 99, 99]), $a([\"T-48\", 16, 49, 48, 38, 22, 1, 99, 99, 99])]); //#21408\n $1.fullcws = $a([]); //#21411\n var _2t = $1.metrics; //#21412\n for (var _2u = 0, _2v = _2t.length; _2u < _2v; _2u++) { //#21423\n $1.m = $get(_2t, _2u); //#21413\n $1.vers = $get($1.m, 0); //#21414\n $1.dcws = $get($1.m, 4); //#21415\n $1.okay = true; //#21416\n if ($eq($1.version, \"unset\")) { //#21420\n if ($1.vers.length != 1) { //#21418\n $1.okay = false; //#21418\n } //#21418\n } else { //#21420\n if ($ne($1.version, $1.vers)) { //#21420\n $1.okay = false; //#21420\n } //#21420\n } //#21420\n if ($1.okay) { //#21422\n $k[$j++] = Infinity; //#21422\n $aload($1.fullcws); //#21422\n $k[$j++] = $1.dcws; //#21422\n $1.fullcws = $a(); //#21422\n } //#21422\n } //#21422\n $k[$j++] = Infinity; //#21424\n for (var _39 = 0, _3A = 1480; _39 < _3A; _39++) { //#21424\n $k[$j++] = 10000; //#21424\n } //#21424\n $1.numremcws = $a(); //#21424\n var _3C = $1.fullcws; //#21425\n for (var _3D = 0, _3E = _3C.length; _3D < _3E; _3D++) { //#21425\n $put($1.numremcws, $f($get(_3C, _3D) - 1), 1); //#21425\n } //#21425\n for (var _3H = 1478; _3H >= 0; _3H -= 1) { //#21431\n $1.i = _3H; //#21427\n if ($get($1.numremcws, $1.i) != 1) { //#21430\n $put($1.numremcws, $1.i, $f($get($1.numremcws, $1.i + 1) + 1)); //#21429\n } //#21429\n } //#21429\n $k[$j++] = Infinity; //#21442\n for (var _3Q = 0; _3Q <= 128; _3Q += 1) { //#21434\n $k[$j++] = _3Q; //#21434\n $k[$j++] = _3Q + 1; //#21434\n } //#21434\n $k[$j++] = $1.pad; //#21439\n $k[$j++] = 129; //#21439\n for (var _3S = 0; _3S <= 99; _3S += 1) { //#21439\n var _3U = $cvrs($s(2), _3S, 10); //#21437\n var _3W = $strcpy($s(2), \"00\"); //#21437\n $puti(_3W, 2 - _3U.length, _3U); //#21437\n $k[$j++] = _3W; //#21438\n $k[$j++] = _3S + 130; //#21438\n } //#21438\n var _3e = $a([$1.lC, $1.lB, $1.fnc1, $1.fnc2, $1.fnc3, $1.fnc4, $1.fnc1lD]); //#21440\n $k[$j++] = 229; //#21440\n for (var _3f = 0, _3g = _3e.length; _3f < _3g; _3f++) { //#21440\n var _3j = $f($k[--$j] + 1); //#21440\n $k[$j++] = $get(_3e, _3f); //#21440\n $k[$j++] = _3j; //#21440\n $k[$j++] = _3j; //#21440\n } //#21440\n $j--; //#21440\n $k[$j++] = $1.lX; //#21442\n $k[$j++] = 238; //#21442\n $k[$j++] = $1.lT; //#21442\n $k[$j++] = 239; //#21442\n $1.Avals = $d(); //#21444\n $k[$j++] = Infinity; //#21446\n var _3n = $1.Avals; //#21446\n for (var _3s = _3n.size, _3r = _3n.keys(), _3q = 0; _3q < _3s; _3q++) { //#21446\n var _3o = _3r.next().value; //#21446\n $k[$j++] = _3o; //#21446\n $k[$j++] = _3n.get(_3o); //#21446\n $k[$j++] = Infinity; //#21446\n var _3t = $k[--$j]; //#21446\n var _3u = $k[--$j]; //#21446\n $k[$j++] = _3t; //#21446\n $k[$j++] = _3u; //#21446\n var _3v = $a(); //#21446\n $k[$j++] = _3v; //#21446\n } //#21446\n $1.Avals = $d(); //#21447\n $k[$j++] = Infinity; //#21455\n $k[$j++] = $1.sft1; //#21454\n $k[$j++] = 0; //#21454\n $k[$j++] = $1.sft2; //#21454\n $k[$j++] = 1; //#21454\n $k[$j++] = $1.sft3; //#21454\n $k[$j++] = 2; //#21454\n $k[$j++] = 32; //#21454\n $k[$j++] = 3; //#21454\n for (var _40 = 48; _40 <= 57; _40 += 1) { //#21454\n $k[$j++] = _40; //#21454\n $k[$j++] = _40 - 44; //#21454\n } //#21454\n for (var _41 = 65; _41 <= 90; _41 += 1) { //#21455\n $k[$j++] = _41; //#21455\n $k[$j++] = _41 - 51; //#21455\n } //#21455\n $1.CNvals = $d(); //#21456\n $k[$j++] = Infinity; //#21457\n for (var _43 = 0; _43 <= 31; _43 += 1) { //#21457\n $k[$j++] = _43; //#21457\n $k[$j++] = _43; //#21457\n } //#21457\n $1.C1vals = $d(); //#21457\n $k[$j++] = Infinity; //#21466\n for (var _45 = 33; _45 <= 47; _45 += 1) { //#21459\n $k[$j++] = _45; //#21459\n $k[$j++] = _45 - 33; //#21459\n } //#21459\n for (var _46 = 58; _46 <= 64; _46 += 1) { //#21460\n $k[$j++] = _46; //#21460\n $k[$j++] = _46 - 43; //#21460\n } //#21460\n for (var _47 = 91; _47 <= 95; _47 += 1) { //#21461\n $k[$j++] = _47; //#21461\n $k[$j++] = _47 - 69; //#21461\n } //#21461\n $k[$j++] = $1.fnc1; //#21466\n $k[$j++] = 27; //#21466\n $k[$j++] = $1.fnc2; //#21466\n $k[$j++] = 28; //#21466\n $k[$j++] = $1.fnc3; //#21466\n $k[$j++] = 29; //#21466\n $k[$j++] = $1.fnc4; //#21466\n $k[$j++] = 30; //#21466\n $k[$j++] = $1.pad; //#21466\n $k[$j++] = 31; //#21466\n $1.C2vals = $d(); //#21467\n $k[$j++] = Infinity; //#21468\n for (var _4E = 96; _4E <= 127; _4E += 1) { //#21468\n $k[$j++] = _4E; //#21468\n $k[$j++] = _4E - 96; //#21468\n } //#21468\n $1.C3vals = $d(); //#21468\n $k[$j++] = Infinity; //#21473\n var _4G = $1.CNvals; //#21470\n for (var _4L = _4G.size, _4K = _4G.keys(), _4J = 0; _4J < _4L; _4J++) { //#21470\n var _4H = _4K.next().value; //#21470\n $k[$j++] = _4H; //#21470\n $k[$j++] = _4G.get(_4H); //#21470\n $k[$j++] = Infinity; //#21470\n var _4M = $k[--$j]; //#21470\n var _4N = $k[--$j]; //#21470\n $k[$j++] = _4M; //#21470\n $k[$j++] = _4N; //#21470\n var _4O = $a(); //#21470\n $k[$j++] = _4O; //#21470\n } //#21470\n var _4P = $1.C1vals; //#21471\n for (var _4U = _4P.size, _4T = _4P.keys(), _4S = 0; _4S < _4U; _4S++) { //#21471\n var _4Q = _4T.next().value; //#21471\n $k[$j++] = _4Q; //#21471\n $k[$j++] = _4P.get(_4Q); //#21471\n $k[$j++] = Infinity; //#21471\n var _4V = $k[--$j]; //#21471\n var _4W = $k[--$j]; //#21471\n $k[$j++] = _4V; //#21471\n $k[$j++] = $get($1.CNvals, $1.sft1); //#21471\n $k[$j++] = _4W; //#21471\n var _4a = $a(); //#21471\n $k[$j++] = _4a; //#21471\n } //#21471\n var _4b = $1.C2vals; //#21472\n for (var _4g = _4b.size, _4f = _4b.keys(), _4e = 0; _4e < _4g; _4e++) { //#21472\n var _4c = _4f.next().value; //#21472\n $k[$j++] = _4c; //#21472\n $k[$j++] = _4b.get(_4c); //#21472\n $k[$j++] = Infinity; //#21472\n var _4h = $k[--$j]; //#21472\n var _4i = $k[--$j]; //#21472\n $k[$j++] = _4h; //#21472\n $k[$j++] = $get($1.CNvals, $1.sft2); //#21472\n $k[$j++] = _4i; //#21472\n var _4m = $a(); //#21472\n $k[$j++] = _4m; //#21472\n } //#21472\n var _4n = $1.C3vals; //#21473\n for (var _4s = _4n.size, _4r = _4n.keys(), _4q = 0; _4q < _4s; _4q++) { //#21473\n var _4o = _4r.next().value; //#21473\n $k[$j++] = _4o; //#21473\n $k[$j++] = _4n.get(_4o); //#21473\n $k[$j++] = Infinity; //#21473\n var _4t = $k[--$j]; //#21473\n var _4u = $k[--$j]; //#21473\n $k[$j++] = _4t; //#21473\n $k[$j++] = $get($1.CNvals, $1.sft3); //#21473\n $k[$j++] = _4u; //#21473\n var _4y = $a(); //#21473\n $k[$j++] = _4y; //#21473\n } //#21473\n $1.Cvals = $d(); //#21474\n $k[$j++] = Infinity; //#21482\n $k[$j++] = $1.sft1; //#21481\n $k[$j++] = 0; //#21481\n $k[$j++] = $1.sft2; //#21481\n $k[$j++] = 1; //#21481\n $k[$j++] = $1.sft3; //#21481\n $k[$j++] = 2; //#21481\n $k[$j++] = 32; //#21481\n $k[$j++] = 3; //#21481\n for (var _53 = 48; _53 <= 57; _53 += 1) { //#21481\n $k[$j++] = _53; //#21481\n $k[$j++] = _53 - 44; //#21481\n } //#21481\n for (var _54 = 97; _54 <= 122; _54 += 1) { //#21482\n $k[$j++] = _54; //#21482\n $k[$j++] = _54 - 83; //#21482\n } //#21482\n $1.TNvals = $d(); //#21483\n $k[$j++] = Infinity; //#21484\n for (var _56 = 0; _56 <= 31; _56 += 1) { //#21484\n $k[$j++] = _56; //#21484\n $k[$j++] = _56; //#21484\n } //#21484\n $1.T1vals = $d(); //#21484\n $k[$j++] = Infinity; //#21493\n for (var _58 = 33; _58 <= 47; _58 += 1) { //#21486\n $k[$j++] = _58; //#21486\n $k[$j++] = _58 - 33; //#21486\n } //#21486\n for (var _59 = 58; _59 <= 64; _59 += 1) { //#21487\n $k[$j++] = _59; //#21487\n $k[$j++] = _59 - 43; //#21487\n } //#21487\n for (var _5A = 91; _5A <= 95; _5A += 1) { //#21488\n $k[$j++] = _5A; //#21488\n $k[$j++] = _5A - 69; //#21488\n } //#21488\n $k[$j++] = $1.fnc1; //#21493\n $k[$j++] = 27; //#21493\n $k[$j++] = $1.fnc2; //#21493\n $k[$j++] = 28; //#21493\n $k[$j++] = $1.fnc3; //#21493\n $k[$j++] = 29; //#21493\n $k[$j++] = $1.fnc4; //#21493\n $k[$j++] = 30; //#21493\n $k[$j++] = $1.pad; //#21493\n $k[$j++] = 31; //#21493\n $1.T2vals = $d(); //#21494\n $k[$j++] = Infinity; //#21498\n $k[$j++] = 96; //#21497\n $k[$j++] = 0; //#21497\n for (var _5H = 65; _5H <= 90; _5H += 1) { //#21497\n $k[$j++] = _5H; //#21497\n $k[$j++] = _5H - 64; //#21497\n } //#21497\n for (var _5I = 123; _5I <= 127; _5I += 1) { //#21498\n $k[$j++] = _5I; //#21498\n $k[$j++] = _5I - 96; //#21498\n } //#21498\n $1.T3vals = $d(); //#21499\n $k[$j++] = Infinity; //#21504\n var _5K = $1.TNvals; //#21501\n for (var _5P = _5K.size, _5O = _5K.keys(), _5N = 0; _5N < _5P; _5N++) { //#21501\n var _5L = _5O.next().value; //#21501\n $k[$j++] = _5L; //#21501\n $k[$j++] = _5K.get(_5L); //#21501\n $k[$j++] = Infinity; //#21501\n var _5Q = $k[--$j]; //#21501\n var _5R = $k[--$j]; //#21501\n $k[$j++] = _5Q; //#21501\n $k[$j++] = _5R; //#21501\n var _5S = $a(); //#21501\n $k[$j++] = _5S; //#21501\n } //#21501\n var _5T = $1.T1vals; //#21502\n for (var _5Y = _5T.size, _5X = _5T.keys(), _5W = 0; _5W < _5Y; _5W++) { //#21502\n var _5U = _5X.next().value; //#21502\n $k[$j++] = _5U; //#21502\n $k[$j++] = _5T.get(_5U); //#21502\n $k[$j++] = Infinity; //#21502\n var _5Z = $k[--$j]; //#21502\n var _5a = $k[--$j]; //#21502\n $k[$j++] = _5Z; //#21502\n $k[$j++] = $get($1.TNvals, $1.sft1); //#21502\n $k[$j++] = _5a; //#21502\n var _5e = $a(); //#21502\n $k[$j++] = _5e; //#21502\n } //#21502\n var _5f = $1.T2vals; //#21503\n for (var _5k = _5f.size, _5j = _5f.keys(), _5i = 0; _5i < _5k; _5i++) { //#21503\n var _5g = _5j.next().value; //#21503\n $k[$j++] = _5g; //#21503\n $k[$j++] = _5f.get(_5g); //#21503\n $k[$j++] = Infinity; //#21503\n var _5l = $k[--$j]; //#21503\n var _5m = $k[--$j]; //#21503\n $k[$j++] = _5l; //#21503\n $k[$j++] = $get($1.TNvals, $1.sft2); //#21503\n $k[$j++] = _5m; //#21503\n var _5q = $a(); //#21503\n $k[$j++] = _5q; //#21503\n } //#21503\n var _5r = $1.T3vals; //#21504\n for (var _5w = _5r.size, _5v = _5r.keys(), _5u = 0; _5u < _5w; _5u++) { //#21504\n var _5s = _5v.next().value; //#21504\n $k[$j++] = _5s; //#21504\n $k[$j++] = _5r.get(_5s); //#21504\n $k[$j++] = Infinity; //#21504\n var _5x = $k[--$j]; //#21504\n var _5y = $k[--$j]; //#21504\n $k[$j++] = _5x; //#21504\n $k[$j++] = $get($1.TNvals, $1.sft3); //#21504\n $k[$j++] = _5y; //#21504\n var _62 = $a(); //#21504\n $k[$j++] = _62; //#21504\n } //#21504\n $1.Tvals = $d(); //#21505\n for (var _64 = 128; _64 <= 255; _64 += 1) { //#21513\n $1.i = _64; //#21509\n $k[$j++] = $1.Avals; //#21510\n $k[$j++] = $1.i; //#21510\n $k[$j++] = Infinity; //#21510\n $aload($get($1.Avals, $1.fnc4)); //#21510\n $aload($get($1.Avals, $1.i - 128)); //#21510\n var _6D = $a(); //#21510\n var _6E = $k[--$j]; //#21510\n $put($k[--$j], _6E, _6D); //#21510\n $k[$j++] = $1.Cvals; //#21511\n $k[$j++] = $1.i; //#21511\n $k[$j++] = Infinity; //#21511\n $aload($get($1.Cvals, $1.fnc4)); //#21511\n $aload($get($1.Cvals, $1.i - 128)); //#21511\n var _6O = $a(); //#21511\n var _6P = $k[--$j]; //#21511\n $put($k[--$j], _6P, _6O); //#21511\n $k[$j++] = $1.Tvals; //#21512\n $k[$j++] = $1.i; //#21512\n $k[$j++] = Infinity; //#21512\n $aload($get($1.Tvals, $1.fnc4)); //#21512\n $aload($get($1.Tvals, $1.i - 128)); //#21512\n var _6Z = $a(); //#21512\n var _6a = $k[--$j]; //#21512\n $put($k[--$j], _6a, _6Z); //#21512\n } //#21512\n $k[$j++] = Infinity; //#21521\n $k[$j++] = 13; //#21520\n $k[$j++] = 0; //#21520\n $k[$j++] = 42; //#21520\n $k[$j++] = 1; //#21520\n $k[$j++] = 62; //#21520\n $k[$j++] = 2; //#21520\n $k[$j++] = 32; //#21520\n $k[$j++] = 3; //#21520\n for (var _6c = 48; _6c <= 57; _6c += 1) { //#21520\n $k[$j++] = _6c; //#21520\n $k[$j++] = _6c - 44; //#21520\n } //#21520\n for (var _6d = 65; _6d <= 90; _6d += 1) { //#21521\n $k[$j++] = _6d; //#21521\n $k[$j++] = _6d - 51; //#21521\n } //#21521\n $1.Xvals = $d(); //#21522\n $k[$j++] = Infinity; //#21524\n var _6f = $1.Xvals; //#21524\n for (var _6k = _6f.size, _6j = _6f.keys(), _6i = 0; _6i < _6k; _6i++) { //#21524\n var _6g = _6j.next().value; //#21524\n $k[$j++] = _6g; //#21524\n $k[$j++] = _6f.get(_6g); //#21524\n $k[$j++] = Infinity; //#21524\n var _6l = $k[--$j]; //#21524\n var _6m = $k[--$j]; //#21524\n $k[$j++] = _6l; //#21524\n $k[$j++] = _6m; //#21524\n var _6n = $a(); //#21524\n $k[$j++] = _6n; //#21524\n } //#21524\n $1.Xvals = $d(); //#21525\n $k[$j++] = Infinity; //#21528\n for (var _6p = 0; _6p <= 255; _6p += 1) { //#21528\n $k[$j++] = _6p; //#21528\n $k[$j++] = _6p; //#21528\n } //#21528\n $1.Bvals = $d(); //#21529\n $k[$j++] = Infinity; //#21531\n var _6r = $1.Bvals; //#21531\n for (var _6w = _6r.size, _6v = _6r.keys(), _6u = 0; _6u < _6w; _6u++) { //#21531\n var _6s = _6v.next().value; //#21531\n $k[$j++] = _6s; //#21531\n $k[$j++] = _6r.get(_6s); //#21531\n $k[$j++] = Infinity; //#21531\n var _6x = $k[--$j]; //#21531\n var _6y = $k[--$j]; //#21531\n $k[$j++] = _6x; //#21531\n $k[$j++] = _6y; //#21531\n var _6z = $a(); //#21531\n $k[$j++] = _6z; //#21531\n } //#21531\n $1.Bvals = $d(); //#21532\n $1.encvals = $a([$1.Avals, $1.Cvals, $1.Tvals, $1.Xvals, -1, $1.Bvals]); //#21534\n $k[$j++] = Infinity; //#21536\n for (var _78 = 0, _79 = $1.msglen; _78 < _79; _78++) { //#21536\n $k[$j++] = 0; //#21536\n } //#21536\n $k[$j++] = 0; //#21536\n $1.numD = $a(); //#21536\n $k[$j++] = Infinity; //#21537\n for (var _7C = 0, _7D = $1.msglen; _7C < _7D; _7C++) { //#21537\n $k[$j++] = 0; //#21537\n } //#21537\n $k[$j++] = 9999; //#21537\n $1.nextXterm = $a(); //#21537\n $k[$j++] = Infinity; //#21538\n for (var _7G = 0, _7H = $1.msglen; _7G < _7H; _7G++) { //#21538\n $k[$j++] = 0; //#21538\n } //#21538\n $k[$j++] = 9999; //#21538\n $1.nextNonX = $a(); //#21538\n for (var _7K = $1.msglen - 1; _7K >= 0; _7K -= 1) { //#21555\n $1.i = _7K; //#21540\n $1.barchar = $get($1.msg, $1.i); //#21541\n if (($1.barchar >= 48) && ($1.barchar <= 57)) { //#21544\n $put($1.numD, $1.i, $f($get($1.numD, $1.i + 1) + 1)); //#21543\n } //#21543\n if ((($1.barchar == 13) || ($1.barchar == 42)) || ($1.barchar == 62)) { //#21548\n $put($1.nextXterm, $1.i, 0); //#21546\n } else { //#21548\n $put($1.nextXterm, $1.i, $f($get($1.nextXterm, $1.i + 1) + 1)); //#21548\n } //#21548\n var _7h = $get($1.Xvals, $1.barchar) !== undefined; //#21550\n if (!_7h) { //#21553\n $put($1.nextNonX, $1.i, 0); //#21551\n } else { //#21553\n $put($1.nextNonX, $1.i, $f($get($1.nextNonX, $1.i + 1) + 1)); //#21553\n } //#21553\n } //#21553\n $k[$j++] = Infinity; //#21556\n var _7p = $1.nextXterm; //#21556\n for (var _7q = 0, _7r = _7p.length; _7q < _7r; _7q++) { //#21556\n var _7s = $get(_7p, _7q); //#21556\n $k[$j++] = _7s; //#21556\n if (_7s > 10000) { //#21556\n $j--; //#21556\n $k[$j++] = 10000; //#21556\n } //#21556\n } //#21556\n $1.nextXterm = $a(); //#21556\n $k[$j++] = Infinity; //#21557\n var _7u = $1.nextNonX; //#21557\n for (var _7v = 0, _7w = _7u.length; _7v < _7w; _7v++) { //#21557\n var _7x = $get(_7u, _7v); //#21557\n $k[$j++] = _7x; //#21557\n if (_7x > 10000) { //#21557\n $j--; //#21557\n $k[$j++] = 10000; //#21557\n } //#21557\n } //#21557\n $1.nextNonX = $a(); //#21557\n $1.isD = function() {\n $k[$j++] = ($1.char >= 48) && ($1.char <= 57); //#21559\n }; //#21559\n $1.isC = function() {\n var _83 = $get($1.CNvals, $1.char) !== undefined; //#21560\n $k[$j++] = _83; //#21560\n }; //#21560\n $1.isT = function() {\n var _86 = $get($1.TNvals, $1.char) !== undefined; //#21561\n $k[$j++] = _86; //#21561\n }; //#21561\n $1.isX = function() {\n var _89 = $get($1.Xvals, $1.char) !== undefined; //#21562\n $k[$j++] = _89; //#21562\n }; //#21562\n $1.isEA = function() {\n $k[$j++] = $1.char > 127; //#21563\n }; //#21563\n $1.isFN = function() {\n $k[$j++] = $1.char < 0; //#21564\n }; //#21564\n $1.XtermFirst = function() {\n var _8C = $k[--$j]; //#21565\n $k[$j++] = $lt($get($1.nextXterm, _8C), $get($1.nextNonX, _8C)); //#21565\n }; //#21565\n $1.A = 0; //#21567\n $1.C = 1; //#21567\n $1.T = 2; //#21567\n $1.X = 3; //#21567\n $1.D = 4; //#21567\n $1.B = 5; //#21567\n $1.lookup = function() {\n $1.ac = 1; //#21570\n $1.cc = 2; //#21570\n $1.tc = 2; //#21570\n $1.xc = 2; //#21570\n $1.bc = 3; //#21570\n if ($1.mode == $1.A) { //#21571\n $1.ac = 0; //#21571\n $1.cc = 1; //#21571\n $1.tc = 1; //#21571\n $1.xc = 1; //#21571\n $1.bc = 2; //#21571\n } //#21571\n if ($1.mode == $1.C) { //#21572\n $1.cc = 0; //#21572\n } //#21572\n if ($1.mode == $1.T) { //#21573\n $1.tc = 0; //#21573\n } //#21573\n if ($1.mode == $1.X) { //#21574\n $1.xc = 0; //#21574\n } //#21574\n if ($1.mode == $1.B) { //#21575\n $1.bc = 0; //#21575\n } //#21575\n for (var _8R = 0, _8S = 1; _8R < _8S; _8R++) { //#21603\n $1.k = 0; //#21577\n for (;;) { //#21602\n if (($1.i + $1.k) == $1.msglen) { //#21584\n var _8a = $a([$1.ac, $1.cc, $1.tc, $1.xc]); //#21579\n $k[$j++] = true; //#21579\n for (var _8b = 0, _8c = _8a.length; _8b < _8c; _8b++) { //#21579\n var _8f = $k[--$j]; //#21579\n $k[$j++] = _8f && ($1.bc <= Math.ceil($get(_8a, _8b))); //#21579\n } //#21579\n if ($k[--$j]) { //#21579\n $k[$j++] = $1.B; //#21579\n break; //#21579\n } //#21579\n var _8m = $a([$1.cc, $1.tc, $1.xc, $1.bc]); //#21580\n $k[$j++] = true; //#21580\n for (var _8n = 0, _8o = _8m.length; _8n < _8o; _8n++) { //#21580\n var _8r = $k[--$j]; //#21580\n $k[$j++] = _8r && ($1.ac <= Math.ceil($get(_8m, _8n))); //#21580\n } //#21580\n if ($k[--$j]) { //#21580\n $k[$j++] = $1.A; //#21580\n break; //#21580\n } //#21580\n var _8w = $a([$1.tc, $1.xc]); //#21581\n $k[$j++] = true; //#21581\n for (var _8x = 0, _8y = _8w.length; _8x < _8y; _8x++) { //#21581\n var _91 = $k[--$j]; //#21581\n $k[$j++] = _91 && (Math.ceil($1.cc) <= Math.ceil($get(_8w, _8x))); //#21581\n } //#21581\n if ($k[--$j]) { //#21581\n $k[$j++] = $1.C; //#21581\n break; //#21581\n } //#21581\n var _95 = $a([$1.xc]); //#21582\n $k[$j++] = true; //#21582\n for (var _96 = 0, _97 = _95.length; _96 < _97; _96++) { //#21582\n var _9A = $k[--$j]; //#21582\n $k[$j++] = _9A && (Math.ceil($1.tc) <= Math.ceil($get(_95, _96))); //#21582\n } //#21582\n if ($k[--$j]) { //#21582\n $k[$j++] = $1.T; //#21582\n break; //#21582\n } //#21582\n $k[$j++] = $1.X; //#21583\n break; //#21583\n } //#21583\n $1.char = $get($1.msg, $1.i + $1.k); //#21585\n $k[$j++] = 'ac'; //#21586\n $k[$j++] = $1.ac; //#21586\n $1.isD(); //#21586\n if ($k[--$j]) { //#21586\n var _9K = $k[--$j]; //#21586\n $k[$j++] = $f(_9K + (1 / 2)); //#21586\n } else { //#21586\n $1.isEA(); //#21586\n if ($k[--$j]) { //#21586\n var _9M = $k[--$j]; //#21586\n $k[$j++] = Math.ceil(_9M) + 2; //#21586\n } else { //#21586\n var _9N = $k[--$j]; //#21586\n $k[$j++] = Math.ceil(_9N) + 1; //#21586\n } //#21586\n } //#21586\n var _9O = $k[--$j]; //#21586\n $1[$k[--$j]] = _9O; //#21586\n $k[$j++] = 'cc'; //#21587\n $k[$j++] = $1.cc; //#21587\n $1.isC(); //#21587\n if ($k[--$j]) { //#21587\n var _9S = $k[--$j]; //#21587\n $k[$j++] = $f(_9S + 0.6666667); //#21587\n } else { //#21587\n $1.isEA(); //#21587\n if ($k[--$j]) { //#21587\n var _9U = $k[--$j]; //#21587\n $k[$j++] = $f(_9U + 2.6666667); //#21587\n } else { //#21587\n var _9V = $k[--$j]; //#21587\n $k[$j++] = $f(_9V + 1.3333334); //#21587\n } //#21587\n } //#21587\n var _9W = $k[--$j]; //#21587\n $1[$k[--$j]] = _9W; //#21587\n $k[$j++] = 'tc'; //#21588\n $k[$j++] = $1.tc; //#21588\n $1.isT(); //#21588\n if ($k[--$j]) { //#21588\n var _9a = $k[--$j]; //#21588\n $k[$j++] = $f(_9a + 0.6666667); //#21588\n } else { //#21588\n $1.isEA(); //#21588\n if ($k[--$j]) { //#21588\n var _9c = $k[--$j]; //#21588\n $k[$j++] = $f(_9c + 2.6666667); //#21588\n } else { //#21588\n var _9d = $k[--$j]; //#21588\n $k[$j++] = $f(_9d + 1.3333334); //#21588\n } //#21588\n } //#21588\n var _9e = $k[--$j]; //#21588\n $1[$k[--$j]] = _9e; //#21588\n $k[$j++] = 'xc'; //#21589\n $k[$j++] = $1.xc; //#21589\n $1.isX(); //#21589\n if ($k[--$j]) { //#21589\n var _9i = $k[--$j]; //#21589\n $k[$j++] = $f(_9i + 0.6666667); //#21589\n } else { //#21589\n $1.isEA(); //#21589\n if ($k[--$j]) { //#21589\n var _9k = $k[--$j]; //#21589\n $k[$j++] = $f(_9k + 4.3333334); //#21589\n } else { //#21589\n var _9l = $k[--$j]; //#21589\n $k[$j++] = $f(_9l + 3.3333334); //#21589\n } //#21589\n } //#21589\n var _9m = $k[--$j]; //#21589\n $1[$k[--$j]] = _9m; //#21589\n $k[$j++] = 'bc'; //#21590\n $k[$j++] = $1.bc; //#21590\n $1.isFN(); //#21590\n if ($k[--$j]) { //#21590\n var _9q = $k[--$j]; //#21590\n $k[$j++] = $f(_9q + 3); //#21590\n } else { //#21590\n var _9r = $k[--$j]; //#21590\n $k[$j++] = $f(_9r + 1); //#21590\n } //#21590\n var _9s = $k[--$j]; //#21590\n $1[$k[--$j]] = _9s; //#21590\n if ($1.k >= 3) { //#21600\n var _9z = $a([$1.ac, $1.cc, $1.tc, $1.xc]); //#21592\n $k[$j++] = true; //#21592\n for (var _A0 = 0, _A1 = _9z.length; _A0 < _A1; _A0++) { //#21592\n var _A4 = $k[--$j]; //#21592\n $k[$j++] = _A4 && (($1.bc + 1) <= Math.ceil($get(_9z, _A0))); //#21592\n } //#21592\n if ($k[--$j]) { //#21592\n $k[$j++] = $1.B; //#21592\n break; //#21592\n } //#21592\n var _AB = $a([$1.cc, $1.tc, $1.xc, $1.bc]); //#21593\n $k[$j++] = true; //#21593\n for (var _AC = 0, _AD = _AB.length; _AC < _AD; _AC++) { //#21593\n var _AG = $k[--$j]; //#21593\n $k[$j++] = _AG && (($1.ac + 1) <= Math.ceil($get(_AB, _AC))); //#21593\n } //#21593\n if ($k[--$j]) { //#21593\n $k[$j++] = $1.A; //#21593\n break; //#21593\n } //#21593\n var _AN = $a([$1.ac, $1.cc, $1.xc, $1.bc]); //#21594\n $k[$j++] = true; //#21594\n for (var _AO = 0, _AP = _AN.length; _AO < _AP; _AO++) { //#21594\n var _AS = $k[--$j]; //#21594\n $k[$j++] = _AS && ((Math.ceil($1.tc) + 1) <= Math.ceil($get(_AN, _AO))); //#21594\n } //#21594\n if ($k[--$j]) { //#21594\n $k[$j++] = $1.T; //#21594\n break; //#21594\n } //#21594\n var _AX = $a([$1.ac, $1.tc]); //#21595\n $k[$j++] = true; //#21595\n for (var _AY = 0, _AZ = _AX.length; _AY < _AZ; _AY++) { //#21595\n var _Ac = $k[--$j]; //#21595\n $k[$j++] = _Ac && ((Math.ceil($1.cc) + 1) <= Math.ceil($get(_AX, _AY))); //#21595\n } //#21595\n if ($k[--$j]) { //#21598\n if (Math.ceil($1.cc) < Math.ceil($1.xc)) { //#21596\n $k[$j++] = $1.C; //#21596\n break; //#21596\n } //#21596\n if ($1.cc == $1.xc) { //#21597\n $k[$j++] = ($1.i + $1.k) + 1; //#21597\n $1.XtermFirst(); //#21597\n if ($k[--$j]) { //#21597\n $k[$j++] = $1.X; //#21597\n break; //#21597\n } else { //#21597\n $k[$j++] = $1.C; //#21597\n break; //#21597\n } //#21597\n } //#21597\n } //#21597\n var _As = $a([$1.ac, $1.cc, $1.tc, $1.bc]); //#21599\n $k[$j++] = true; //#21599\n for (var _At = 0, _Au = _As.length; _At < _Au; _At++) { //#21599\n var _Ax = $k[--$j]; //#21599\n $k[$j++] = _Ax && ((Math.ceil($1.xc) + 1) <= Math.ceil($get(_As, _At))); //#21599\n } //#21599\n if ($k[--$j]) { //#21599\n $k[$j++] = $1.X; //#21599\n break; //#21599\n } //#21599\n } //#21599\n $1.k = $1.k + 1; //#21601\n } //#21601\n } //#21601\n }; //#21604\n $1.addtocws = function() {\n var _B1 = $k[--$j]; //#21607\n $puti($1.cws, $1.j, _B1); //#21607\n $1.j = _B1.length + $1.j; //#21608\n }; //#21609\n $1.tobin = function() {\n var _B6 = $s($k[--$j]); //#21612\n $k[$j++] = _B6; //#21612\n for (var _B8 = 0, _B7 = _B6.length - 1; _B8 <= _B7; _B8 += 1) { //#21612\n var _B9 = $k[--$j]; //#21612\n $put(_B9, _B8, 48); //#21612\n $k[$j++] = _B9; //#21612\n } //#21612\n var _BA = $k[--$j]; //#21613\n var _BD = $cvrs($s(_BA.length), $k[--$j], 2); //#21613\n $puti(_BA, _BA.length - _BD.length, _BD); //#21613\n $k[$j++] = _BA; //#21614\n $k[$j++] = Infinity; //#21614\n var _BE = $k[--$j]; //#21614\n var _BF = $k[--$j]; //#21614\n $k[$j++] = _BE; //#21614\n $forall(_BF, function() { //#21614\n var _BG = $k[--$j]; //#21614\n $k[$j++] = $f(_BG - 48); //#21614\n }); //#21614\n var _BH = $a(); //#21614\n $k[$j++] = _BH; //#21614\n }; //#21615\n $1.encA = function() {\n for (var _BI = 0, _BJ = 1; _BI < _BJ; _BI++) { //#21659\n if ($get($1.numD, $1.i) >= 21) { //#21623\n $1.Dbits = $a([1, 1, 1, 1]); //#21620\n $1.mode = $1.D; //#21621\n break; //#21622\n } //#21622\n var _BR = $get($1.numD, $1.i); //#21624\n if ((_BR >= 13) && ($f(_BR + $1.i) == $1.msglen)) { //#21628\n $1.Dbits = $a([1, 1, 1, 1]); //#21625\n $1.mode = $1.D; //#21626\n break; //#21627\n } //#21627\n if ($get($1.numD, $1.i) >= 2) { //#21633\n var _BZ = $s(2); //#21630\n $put(_BZ, 0, $get($1.msg, $1.i)); //#21630\n $put(_BZ, 1, $get($1.msg, $1.i + 1)); //#21630\n $k[$j++] = $get($1.Avals, _BZ); //#21630\n $1.addtocws(); //#21630\n $1.i = $1.i + 2; //#21631\n break; //#21632\n } //#21632\n if ($get($1.msg, $1.i) == $1.fnc1) { //#21649\n if ($get($1.numD, $1.i + 1) >= 15) { //#21641\n $k[$j++] = $get($1.Avals, $1.fnc1lD); //#21636\n $1.addtocws(); //#21636\n $1.i = $1.i + 1; //#21637\n $1.Dbits = $a([]); //#21638\n $1.mode = $1.D; //#21639\n break; //#21640\n } //#21640\n var _By = $get($1.numD, $1.i + 1); //#21642\n if ((_By >= 7) && (($f($f(_By + $1.i) + 1)) == $1.msglen)) { //#21648\n $k[$j++] = $get($1.Avals, $1.fnc1lD); //#21643\n $1.addtocws(); //#21643\n $1.i = $1.i + 1; //#21644\n $1.Dbits = $a([]); //#21645\n $1.mode = $1.D; //#21646\n break; //#21647\n } //#21647\n } //#21647\n $k[$j++] = 'newmode'; //#21650\n $1.lookup(); //#21650\n var _C7 = $k[--$j]; //#21650\n $1[$k[--$j]] = _C7; //#21650\n if ($1.newmode != $1.mode) { //#21655\n $k[$j++] = $get($1.Avals, $get($a([-1, $1.lC, $1.lT, $1.lX, $1.lD, $1.lB]), $1.newmode)); //#21652\n $1.addtocws(); //#21652\n $1.mode = $1.newmode; //#21653\n break; //#21654\n } //#21654\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#21656\n $1.addtocws(); //#21656\n $1.i = $1.i + 1; //#21657\n break; //#21658\n } //#21658\n }; //#21660\n $1.CTXvalstocws = function() {\n $1.in = $k[--$j]; //#21663\n $k[$j++] = Infinity; //#21664\n for (var _CV = 0, _CU = $1.in.length - 1; _CV <= _CU; _CV += 3) { //#21668\n var _CX = $geti($1.in, _CV, 3); //#21666\n $k[$j++] = 0; //#21666\n for (var _CY = 0, _CZ = _CX.length; _CY < _CZ; _CY++) { //#21666\n var _Cb = $k[--$j]; //#21666\n $k[$j++] = $f(_Cb + $get(_CX, _CY)) * 40; //#21666\n } //#21666\n var _Cd = (~~($k[--$j] / 40)) + 1; //#21667\n $k[$j++] = ~~(_Cd / 256); //#21667\n $k[$j++] = _Cd % 256; //#21667\n } //#21667\n $astore($a($counttomark())); //#21669\n var _Cg = $k[--$j]; //#21669\n var _Ch = $k[--$j]; //#21669\n $k[$j++] = _Cg; //#21669\n $k[$j++] = _Ch; //#21669\n $j--; //#21669\n }; //#21670\n $1.encCTX = function() {\n $1.p = 0; //#21673\n $1.ctxvals = $a(2220); //#21674\n for (;;) { //#21771\n if ($1.i == $1.msglen) { //#21678\n break; //#21678\n } //#21678\n if (($1.p % 3) == 0) { //#21766\n if ($get($1.numD, $1.i) >= 12) { //#21685\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#21681\n $1.CTXvalstocws(); //#21681\n $1.addtocws(); //#21681\n $k[$j++] = $a([$1.unlcw]); //#21682\n $1.addtocws(); //#21682\n $1.mode = $1.A; //#21683\n break; //#21684\n } //#21684\n var _Cx = $get($1.numD, $1.i); //#21686\n if ((_Cx >= 8) && ($f(_Cx + $1.i) == $1.msglen)) { //#21691\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#21687\n $1.CTXvalstocws(); //#21687\n $1.addtocws(); //#21687\n $k[$j++] = $a([$1.unlcw]); //#21688\n $1.addtocws(); //#21688\n $1.mode = $1.A; //#21689\n break; //#21690\n } //#21690\n if ($1.mode == $1.X) { //#21713\n var _DC = $get($1.Xvals, $get($1.msg, $1.i)) !== undefined; //#21693\n if (!_DC) { //#21701\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#21694\n $1.CTXvalstocws(); //#21694\n $1.addtocws(); //#21694\n if (($get($1.numremcws, $1.j) != 1) || ($get($1.msg, $1.i) > 127)) { //#21698\n $k[$j++] = $a([$1.unlcw]); //#21697\n $1.addtocws(); //#21697\n } //#21697\n $1.mode = $1.A; //#21699\n break; //#21700\n } //#21700\n if (($1.i + 1) < $1.msglen) { //#21707\n var _DV = $get($1.Xvals, $get($1.msg, $1.i + 1)) !== undefined; //#21703\n if (!_DV) { //#21703\n break; //#21703\n } //#21703\n if (($1.i + 2) < $1.msglen) { //#21706\n var _Dc = $get($1.Xvals, $get($1.msg, $1.i + 2)) !== undefined; //#21705\n if (!_Dc) { //#21705\n break; //#21705\n } //#21705\n } //#21705\n } //#21705\n } else { //#21713\n $1.lookup(); //#21709\n if ($k[--$j] != $1.mode) { //#21714\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#21710\n $1.CTXvalstocws(); //#21710\n $1.addtocws(); //#21710\n $k[$j++] = $a([$1.unlcw]); //#21711\n $1.addtocws(); //#21711\n $1.mode = $1.A; //#21712\n break; //#21713\n } //#21713\n } //#21713\n if (($1.msglen - $1.i) <= 3) { //#21765\n $1.remcws = $get($1.numremcws, $1.j + ((~~($1.p / 3)) * 2)); //#21717\n $k[$j++] = Infinity; //#21723\n var _Dv = $geti($1.msg, $1.i, $1.msglen - $1.i); //#21719\n for (var _Dw = 0, _Dx = _Dv.length; _Dw < _Dx; _Dw++) { //#21725\n var _Dy = $get(_Dv, _Dw); //#21725\n var _E2 = $get($get($1.encvals, $1.mode), _Dy) !== undefined; //#21720\n $k[$j++] = _Dy; //#21724\n if (_E2) { //#21723\n $aload($get($get($1.encvals, $1.mode), $k[--$j])); //#21721\n } else { //#21723\n $j--; //#21723\n $k[$j++] = -1; //#21723\n $k[$j++] = -1; //#21723\n $k[$j++] = -1; //#21723\n $k[$j++] = -1; //#21723\n } //#21723\n } //#21723\n $1.remvals = $a(); //#21723\n if (($1.remcws == 2) && ($1.remvals.length == 3)) { //#21736\n $k[$j++] = Infinity; //#21731\n $aload($geti($1.ctxvals, 0, $1.p)); //#21730\n $aload($1.remvals); //#21731\n var _EF = $a(); //#21731\n $k[$j++] = _EF; //#21732\n $1.CTXvalstocws(); //#21732\n $1.addtocws(); //#21732\n $1.mode = $1.A; //#21733\n $1.i = $1.msglen; //#21734\n break; //#21735\n } //#21735\n if ((($1.remcws == 2) && ($1.remvals.length == 2)) && ($1.mode != $1.X)) { //#21747\n $k[$j++] = Infinity; //#21742\n $aload($geti($1.ctxvals, 0, $1.p)); //#21740\n $aload($1.remvals); //#21741\n $aload($get($get($1.encvals, $1.mode), $1.sft1)); //#21742\n var _EV = $a(); //#21742\n $k[$j++] = _EV; //#21743\n $1.CTXvalstocws(); //#21743\n $1.addtocws(); //#21743\n $1.mode = $1.A; //#21744\n $1.i = $1.msglen; //#21745\n break; //#21746\n } //#21746\n if (($1.remcws == 2) && ($1.remvals.length == 1)) { //#21756\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#21750\n $1.CTXvalstocws(); //#21750\n $1.addtocws(); //#21750\n $k[$j++] = $a([$1.unlcw]); //#21751\n $1.addtocws(); //#21751\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#21752\n $1.addtocws(); //#21752\n $1.mode = $1.A; //#21753\n $1.i = $1.msglen; //#21754\n break; //#21755\n } //#21755\n if (($1.remcws == 1) && ($1.remvals.length == 1)) { //#21764\n $k[$j++] = $geti($1.ctxvals, 0, $1.p); //#21759\n $1.CTXvalstocws(); //#21759\n $1.addtocws(); //#21759\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#21760\n $1.addtocws(); //#21760\n $1.mode = $1.A; //#21761\n $1.i = $1.msglen; //#21762\n break; //#21763\n } //#21763\n } //#21763\n } //#21763\n var _F4 = $get($get($1.encvals, $1.mode), $get($1.msg, $1.i)); //#21767\n $puti($1.ctxvals, $1.p, _F4); //#21768\n $1.p = _F4.length + $1.p; //#21769\n $1.i = $1.i + 1; //#21770\n } //#21770\n if ($1.mode != $1.A) { //#21795\n for (;;) { //#21779\n if (($1.p % 3) == 0) { //#21776\n break; //#21776\n } //#21776\n $1.i = $1.i - 1; //#21777\n $1.p = $1.p - $get($get($1.encvals, $1.mode), $get($1.msg, $1.i)).length; //#21778\n } //#21778\n $k[$j++] = Infinity; //#21781\n $aload($geti($1.ctxvals, 0, $1.p)); //#21781\n var _FO = $a(); //#21781\n $k[$j++] = _FO; //#21782\n $1.CTXvalstocws(); //#21782\n $1.addtocws(); //#21782\n $k[$j++] = $a([$1.unlcw]); //#21783\n $1.addtocws(); //#21783\n $1.mode = $1.A; //#21784\n if ($1.i != $1.msglen) { //#21794\n if ($get($1.numD, $1.i) >= 2) { //#21792\n var _FX = $s(2); //#21788\n $put(_FX, 0, $get($1.msg, $1.i)); //#21788\n $put(_FX, 1, $get($1.msg, $1.i + 1)); //#21788\n $k[$j++] = $get($1.Avals, _FX); //#21788\n $1.addtocws(); //#21788\n $1.i = $1.i + 2; //#21789\n } else { //#21792\n $k[$j++] = $get($1.Avals, $get($1.msg, $1.i)); //#21791\n $1.addtocws(); //#21791\n $1.i = $1.i + 1; //#21792\n } //#21792\n } //#21792\n } //#21792\n }; //#21797\n $1.encD = function() {\n for (;;) { //#21856\n if ($get($1.numD, $1.i) < 3) { //#21846\n $1.Drem = (8 - ($1.Dbits.length % 8)) % 8; //#21805\n $1.remcws = $get($1.numremcws, $1.j + (~~($1.Dbits.length / 8))); //#21806\n if (((($f($get($1.numremcws, ($1.j + (~~($1.Dbits.length / 8))) - 1) - 1) == 0) && ($1.Drem == 0)) || (($1.remcws == 1) && ($1.Drem != 0))) && ($1.i == $1.msglen)) { //#21815\n if (($1.Drem == 4) || ($1.Drem == 6)) { //#21812\n $k[$j++] = Infinity; //#21812\n $aload($1.Dbits); //#21812\n $k[$j++] = 1; //#21812\n $k[$j++] = 1; //#21812\n $k[$j++] = 1; //#21812\n $k[$j++] = 1; //#21812\n $1.Dbits = $a(); //#21812\n } //#21812\n if (($1.Drem == 2) || ($1.Drem == 6)) { //#21813\n $k[$j++] = Infinity; //#21813\n $aload($1.Dbits); //#21813\n $k[$j++] = 0; //#21813\n $k[$j++] = 1; //#21813\n $1.Dbits = $a(); //#21813\n } //#21813\n break; //#21814\n } //#21814\n if ((((($1.i == ($1.msglen - 1)) && ($get($1.numD, $1.i) == 1)) || (($1.i == ($1.msglen - 2)) && ($get($1.numD, $1.i) == 2))) && ($1.remcws == 1)) && ($1.Drem == 0)) { //#21820\n break; //#21820\n } //#21820\n if (!(((($1.i == ($1.msglen - 1)) && ($get($1.numD, $1.i) == 1)) && ($1.remcws == 1)) && (($1.Drem == 4) || ($1.Drem == 6)))) { //#21827\n $k[$j++] = Infinity; //#21825\n $aload($1.Dbits); //#21825\n $k[$j++] = 1; //#21825\n $k[$j++] = 1; //#21825\n $k[$j++] = 1; //#21825\n $k[$j++] = 1; //#21825\n $k[$j++] = 1; //#21825\n $k[$j++] = 1; //#21825\n $1.Dbits = $a(); //#21825\n $1.Drem = (8 - ($1.Dbits.length % 8)) % 8; //#21826\n } //#21826\n if (($1.Drem == 4) || ($1.Drem == 6)) { //#21838\n if ($get($1.numD, $1.i) >= 1) { //#21835\n $k[$j++] = Infinity; //#21832\n $aload($1.Dbits); //#21832\n $k[$j++] = $f($f($get($1.msg, $1.i) - 48) + 1); //#21832\n $k[$j++] = 4; //#21832\n $1.tobin(); //#21832\n $aload($k[--$j]); //#21832\n $1.Dbits = $a(); //#21832\n $1.i = $1.i + 1; //#21833\n } else { //#21835\n $k[$j++] = Infinity; //#21835\n $aload($1.Dbits); //#21835\n $k[$j++] = 1; //#21835\n $k[$j++] = 1; //#21835\n $k[$j++] = 1; //#21835\n $k[$j++] = 1; //#21835\n $1.Dbits = $a(); //#21835\n } //#21835\n $1.Drem = $1.Drem - 4; //#21837\n } //#21837\n if ($1.Drem == 2) { //#21842\n $k[$j++] = Infinity; //#21840\n $aload($1.Dbits); //#21840\n $k[$j++] = 0; //#21840\n $k[$j++] = 1; //#21840\n $1.Dbits = $a(); //#21840\n $1.Drem = 0; //#21841\n } //#21841\n break; //#21844\n } //#21844\n $k[$j++] = Infinity; //#21852\n $aload($1.Dbits); //#21850\n var _Gu = $geti($1.msg, $1.i, 3); //#21851\n $k[$j++] = 0; //#21851\n for (var _Gv = 0, _Gw = _Gu.length; _Gv < _Gw; _Gv++) { //#21851\n var _Gy = $k[--$j]; //#21851\n $k[$j++] = ($f(_Gy + $f($get(_Gu, _Gv) - 48))) * 10; //#21851\n } //#21851\n var _Gz = $k[--$j]; //#21851\n $k[$j++] = (~~(_Gz / 10)) + 1; //#21852\n $k[$j++] = 10; //#21852\n $1.tobin(); //#21852\n $aload($k[--$j]); //#21852\n $1.Dbits = $a(); //#21852\n $1.i = $1.i + 3; //#21854\n } //#21854\n $k[$j++] = Infinity; //#21858\n for (var _H5 = 0, _H4 = $1.Dbits.length - 1; _H5 <= _H4; _H5 += 8) { //#21861\n var _H7 = $geti($1.Dbits, _H5, 8); //#21860\n $k[$j++] = 0; //#21860\n for (var _H8 = 0, _H9 = _H7.length; _H8 < _H9; _H8++) { //#21860\n var _HB = $k[--$j]; //#21860\n $k[$j++] = $f(_HB + $get(_H7, _H8)) * 2; //#21860\n } //#21860\n var _HC = $k[--$j]; //#21860\n $k[$j++] = ~~(_HC / 2); //#21860\n } //#21860\n $astore($a($counttomark())); //#21862\n var _HF = $k[--$j]; //#21862\n var _HG = $k[--$j]; //#21862\n $k[$j++] = _HF; //#21862\n $k[$j++] = _HG; //#21862\n $j--; //#21862\n $1.addtocws(); //#21862\n $1.mode = $1.A; //#21863\n }; //#21865\n $1.encB = function() {\n $1.p = 0; //#21868\n $1.bvals = $a(1480); //#21868\n for (;;) { //#21875\n if ($1.i == $1.msglen) { //#21869\n break; //#21869\n } //#21869\n if ($get($1.msg, $1.i) < 0) { //#21870\n break; //#21870\n } //#21870\n $1.lookup(); //#21871\n if ($k[--$j] != $1.mode) { //#21871\n break; //#21871\n } //#21871\n $put($1.bvals, $1.p, $get($1.msg, $1.i)); //#21872\n $1.p = $1.p + 1; //#21873\n $1.i = $1.i + 1; //#21874\n } //#21874\n $1.remcws = $f($get($1.numremcws, $1.j + $1.p) - 1); //#21876\n $k[$j++] = Infinity; //#21883\n if (($1.remcws == 0) && ($1.i == $1.msglen)) { //#21881\n $k[$j++] = 0; //#21879\n } else { //#21881\n if ($1.p < 250) { //#21881\n $k[$j++] = $1.p; //#21881\n } else { //#21881\n $k[$j++] = (~~($1.p / 250)) + 249; //#21881\n $k[$j++] = $1.p % 250; //#21881\n } //#21881\n } //#21881\n $aload($geti($1.bvals, 0, $1.p)); //#21883\n $1.bvals = $a(); //#21883\n $k[$j++] = $1.bvals; //#21885\n $1.addtocws(); //#21885\n $1.mode = $1.A; //#21886\n }; //#21887\n $1.cws = $a(1480); //#21890\n $1.mode = $1.A; //#21891\n $1.i = 0; //#21891\n $1.j = 0; //#21891\n for (;;) { //#21894\n if ($1.i >= $1.msglen) { //#21892\n break; //#21892\n } //#21892\n if ($1[$get($a(['encA', 'encCTX', 'encCTX', 'encCTX', 'encD', 'encB']), $1.mode)]() === true) {\n break;\n } //#21893\n } //#21893\n $1.cws = $geti($1.cws, 0, $1.j); //#21895\n } //#21895\n $1.i = 0; //#21900\n for (;;) { //#21920\n $1.m = $get($1.metrics, $1.i); //#21902\n $1.vers = $get($1.m, 0); //#21903\n $1.rows = $get($1.m, 1); //#21904\n $1.cols = $get($1.m, 2); //#21905\n $1.dcol = $get($1.m, 3); //#21906\n $1.dcws = $get($1.m, 4); //#21907\n $1.rscw = $get($1.m, 5); //#21908\n $1.rsbl = $get($1.m, 6); //#21909\n $1.riso = $get($1.m, 7); //#21910\n $1.risi = $get($1.m, 8); //#21911\n $1.risl = $get($1.m, 9); //#21912\n $1.dcpb = ~~($1.dcws / $1.rsbl); //#21913\n $1.ecpb = ~~($1.rscw / $1.rsbl); //#21914\n $1.okay = true; //#21915\n if ($ne($1.version, \"unset\") && $ne($1.version, $1.vers)) { //#21916\n $1.okay = false; //#21916\n } //#21916\n if ($1.cws.length > $1.dcws) { //#21917\n $1.okay = false; //#21917\n } //#21917\n if ($1.okay) { //#21918\n break; //#21918\n } //#21918\n $1.i = $1.i + 1; //#21919\n } //#21919\n if (!$1.stype) { //#21926\n $k[$j++] = Infinity; //#21924\n $aload($1.cws); //#21924\n for (var _Ib = 0, _Ic = $f($1.dcws - $1.cws.length); _Ib < _Ic; _Ib++) { //#21924\n $k[$j++] = 129; //#21924\n } //#21924\n $1.cws = $a(); //#21924\n } else { //#21926\n $k[$j++] = Infinity; //#21926\n for (var _Ig = 0, _Ih = $f($1.dcws - $1.cws.length); _Ig < _Ih; _Ig++) { //#21926\n $k[$j++] = 0; //#21926\n } //#21926\n $aload($1.cws); //#21926\n $1.cws = $a(); //#21926\n } //#21926\n var _Il = $get($1.options, 'debugcws') !== undefined; //#21929\n if (_Il) { //#21929\n $k[$j++] = 'bwipp.debugcws'; //#21929\n $k[$j++] = $1.cws; //#21929\n bwipp_raiseerror(); //#21929\n } //#21929\n $1.cwbs = $a($1.rsbl); //#21932\n $1.ecbs = $a($1.rsbl); //#21933\n for (var _It = 0, _Is = $f($1.rsbl - 1); _It <= _Is; _It += 1) { //#21942\n $1.i = _It; //#21935\n $1.cwb = $a($1.dcpb); //#21936\n for (var _Iy = 0, _Ix = $1.dcpb - 1; _Iy <= _Ix; _Iy += 1) { //#21940\n $1.j = _Iy; //#21938\n $put($1.cwb, $1.j, $get($1.cws, $f(($1.j * $1.rsbl) + $1.i))); //#21939\n } //#21939\n $put($1.cwbs, $1.i, $1.cwb); //#21941\n } //#21941\n var _JA = $1.stype ? 32 : 256; //#21945\n $1.gf = _JA; //#21945\n $1['gf-1'] = $1.gf - 1; //#21946\n var _JD = $1.stype ? 37 : 301; //#21947\n $1.pm = _JD; //#21947\n $k[$j++] = Infinity; //#21948\n $k[$j++] = 1; //#21948\n for (var _JF = 0, _JG = $1[\"gf-1\"]; _JF < _JG; _JF++) { //#21948\n var _JH = $k[--$j]; //#21948\n var _JI = _JH * 2; //#21948\n $k[$j++] = _JH; //#21948\n $k[$j++] = _JI; //#21948\n if (_JI >= $1.gf) { //#21948\n var _JL = $k[--$j]; //#21948\n $k[$j++] = _JL ^ $1.pm; //#21948\n } //#21948\n } //#21948\n $1.rsalog = $a(); //#21948\n $1.rslog = $a($1.gf); //#21949\n for (var _JR = 1, _JQ = $1[\"gf-1\"]; _JR <= _JQ; _JR += 1) { //#21950\n $put($1.rslog, $get($1.rsalog, _JR), _JR); //#21950\n } //#21950\n $1.rsprod = function() {\n var _JV = $k[--$j]; //#21952\n var _JW = $k[--$j]; //#21952\n $k[$j++] = _JW; //#21956\n $k[$j++] = _JV; //#21956\n if ((_JV != 0) && (_JW != 0)) { //#21955\n var _JZ = $get($1.rslog, $k[--$j]); //#21953\n var _Jf = $get($1.rsalog, $f(_JZ + $get($1.rslog, $k[--$j])) % $1[\"gf-1\"]); //#21953\n $k[$j++] = _Jf; //#21953\n } else { //#21955\n $j -= 2; //#21955\n $k[$j++] = 0; //#21955\n } //#21955\n }; //#21957\n $k[$j++] = Infinity; //#21960\n $k[$j++] = 1; //#21960\n for (var _Jh = 0, _Ji = $1.ecpb; _Jh < _Ji; _Jh++) { //#21960\n $k[$j++] = 0; //#21960\n } //#21960\n $1.coeffs = $a(); //#21960\n for (var _Jm = 0, _Jl = $1.ecpb - 1; _Jm <= _Jl; _Jm += 1) { //#21969\n $1.i = _Jm; //#21962\n $put($1.coeffs, $1.i + 1, $get($1.coeffs, $1.i)); //#21963\n for (var _Jt = $1.i; _Jt >= 1; _Jt -= 1) { //#21967\n $1.j = _Jt; //#21965\n $k[$j++] = $1.coeffs; //#21966\n $k[$j++] = $1.j; //#21966\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#21966\n $k[$j++] = $get($1.coeffs, $1.j); //#21966\n $k[$j++] = $get($1.rsalog, $1.i); //#21966\n $1.rsprod(); //#21966\n var _K5 = $k[--$j]; //#21966\n var _K6 = $k[--$j]; //#21966\n var _K7 = $k[--$j]; //#21966\n $put($k[--$j], _K7, $xo(_K6, _K5)); //#21966\n } //#21966\n $k[$j++] = $1.coeffs; //#21968\n $k[$j++] = 0; //#21968\n $k[$j++] = $get($1.coeffs, 0); //#21968\n $k[$j++] = $get($1.rsalog, $1.i); //#21968\n $1.rsprod(); //#21968\n var _KF = $k[--$j]; //#21968\n var _KG = $k[--$j]; //#21968\n $put($k[--$j], _KG, _KF); //#21968\n } //#21968\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#21970\n for (var _KN = 0, _KM = $1.cwbs.length - 1; _KN <= _KM; _KN += 1) { //#21985\n $1.i = _KN; //#21974\n $k[$j++] = Infinity; //#21975\n $aload($get($1.cwbs, $1.i)); //#21975\n for (var _KS = 0, _KT = $1.ecpb; _KS < _KT; _KS++) { //#21975\n $k[$j++] = 0; //#21975\n } //#21975\n $1.rscws = $a(); //#21975\n for (var _KX = 0, _KW = $1.dcpb - 1; _KX <= _KW; _KX += 1) { //#21983\n $1.m = _KX; //#21977\n $1.k = $get($1.rscws, $1.m); //#21978\n for (var _Kd = 0, _Kc = $1.ecpb - 1; _Kd <= _Kc; _Kd += 1) { //#21982\n $1.j = _Kd; //#21980\n $k[$j++] = $1.rscws; //#21981\n $k[$j++] = ($1.m + $1.j) + 1; //#21981\n $k[$j++] = $get($1.coeffs, ($1.ecpb - $1.j) - 1); //#21981\n $k[$j++] = $1.k; //#21981\n $1.rsprod(); //#21981\n var _Kq = $k[--$j]; //#21981\n var _Kr = $k[--$j]; //#21981\n $put($k[--$j], _Kr, $xo(_Kq, $get($1.rscws, ($1.m + $1.j) + 1))); //#21981\n } //#21981\n } //#21981\n $put($1.ecbs, $1.i, $geti($1.rscws, $1.dcpb, $1.ecpb)); //#21984\n } //#21984\n $k[$j++] = Infinity; //#21988\n $aload($1.cws); //#21988\n for (var _L1 = 0, _L2 = $1.rscw; _L1 < _L2; _L1++) { //#21988\n $k[$j++] = 0; //#21988\n } //#21988\n $1.cws = $a(); //#21988\n for (var _L6 = 0, _L5 = $f($1.rscw - 1); _L6 <= _L5; _L6 += 1) { //#21992\n $1.i = _L6; //#21990\n $put($1.cws, $f($1.dcws + $1.i), $get($get($1.ecbs, $1.i % $1.rsbl), ~~($1.i / $1.rsbl))); //#21991\n } //#21991\n var _LK = $1.stype ? 5 : 8; //#21995\n $1.mmat = $a($f($1.dcws + $1.rscw) * _LK); //#21995\n $1.r = 0; //#21996\n $1.c = 0; //#21996\n var _LN = $1.stype ? 2 : 1; //#21997\n for (var _LQ = 0, _LR = _LN, _LP = $1.cws.length - 1; _LR < 0 ? _LQ >= _LP : _LQ <= _LP; _LQ += _LR) { //#22018\n $1.i = _LQ; //#21998\n if (!$1.stype) { //#22012\n var _LU = $strcpy($s(8), \"00000000\"); //#22000\n var _LZ = $cvrs($s(8), $get($1.cws, $1.i), 2); //#22000\n $puti(_LU, 8 - _LZ.length, _LZ); //#22001\n $k[$j++] = _LU; //#22001\n $k[$j++] = Infinity; //#22001\n var _La = $k[--$j]; //#22001\n var _Lb = $k[--$j]; //#22001\n $k[$j++] = _La; //#22001\n $forall(_Lb, function() { //#22001\n var _Lc = $k[--$j]; //#22001\n $k[$j++] = $f(_Lc - 48); //#22001\n }); //#22001\n var _Ld = $a(); //#22001\n $1.top = $geti(_Ld, 0, 4); //#22002\n $1.bot = $geti(_Ld, 4, 4); //#22003\n } else { //#22012\n var _Lh = $strcpy($s(5), \"00000\"); //#22005\n var _Lm = $cvrs($s(5), $get($1.cws, $1.i), 2); //#22005\n $puti(_Lh, 5 - _Lm.length, _Lm); //#22006\n $k[$j++] = _Lh; //#22006\n $k[$j++] = Infinity; //#22006\n var _Ln = $k[--$j]; //#22006\n var _Lo = $k[--$j]; //#22006\n $k[$j++] = _Ln; //#22006\n $forall(_Lo, function() { //#22006\n var _Lp = $k[--$j]; //#22006\n $k[$j++] = $f(_Lp - 48); //#22006\n }); //#22006\n $1.c1 = $a(); //#22007\n var _Ls = $strcpy($s(5), \"00000\"); //#22008\n var _Lx = $cvrs($s(5), $get($1.cws, $1.i + 1), 2); //#22008\n $puti(_Ls, 5 - _Lx.length, _Lx); //#22009\n $k[$j++] = _Ls; //#22009\n $k[$j++] = Infinity; //#22009\n var _Ly = $k[--$j]; //#22009\n var _Lz = $k[--$j]; //#22009\n $k[$j++] = _Ly; //#22009\n $forall(_Lz, function() { //#22009\n var _M0 = $k[--$j]; //#22009\n $k[$j++] = $f(_M0 - 48); //#22009\n }); //#22009\n $1.c2 = $a(); //#22010\n $k[$j++] = Infinity; //#22011\n $aload($geti($1.c1, 0, 3)); //#22011\n $aload($geti($1.c2, 0, 2)); //#22011\n $1.top = $a(); //#22011\n $k[$j++] = Infinity; //#22012\n $aload($geti($1.c1, 3, 2)); //#22012\n $aload($geti($1.c2, 2, 3)); //#22012\n $1.bot = $a(); //#22012\n } //#22012\n $puti($1.mmat, $f(($1.r * $1.dcol) + $1.c), $1.top); //#22014\n $puti($1.mmat, $f((($1.r + 1) * $1.dcol) + $1.c), $1.bot); //#22015\n $1.c = $1.c + $1.top.length; //#22016\n if ($1.c == $1.dcol) { //#22017\n $1.c = 0; //#22017\n $1.r = $1.r + 2; //#22017\n } //#22017\n } //#22017\n $1.mmv = function() {\n var _MS = $k[--$j]; //#22021\n var _MT = $k[--$j]; //#22021\n $k[$j++] = $f(_MT + (_MS * $1.cols)); //#22021\n }; //#22021\n $k[$j++] = Infinity; //#22022\n for (var _MW = 0, _MX = $1.rows * $1.cols; _MW < _MX; _MW++) { //#22022\n $k[$j++] = -1; //#22022\n } //#22022\n $1.pixs = $a(); //#22022\n var _N3 = $a([function() {\n for (var _Ma = 0, _Mb = $1.cols; _Ma < _Mb; _Ma++) { //#22026\n $k[$j++] = 0; //#22026\n } //#22026\n }, function() {\n for (var _Md = 0, _Me = $1.cols; _Md < _Me; _Md++) { //#22027\n $k[$j++] = 1; //#22027\n } //#22027\n }, function() {\n $k[$j++] = 0; //#22028\n for (var _Mg = 0, _Mh = $f($1.cols - 2); _Mg < _Mh; _Mg++) { //#22028\n $k[$j++] = 1; //#22028\n } //#22028\n $k[$j++] = 0; //#22028\n }, function() {\n $k[$j++] = 0; //#22029\n $k[$j++] = 1; //#22029\n for (var _Mj = 0, _Mk = $f($1.cols - 4); _Mj < _Mk; _Mj++) { //#22029\n $k[$j++] = 0; //#22029\n } //#22029\n $k[$j++] = 1; //#22029\n $k[$j++] = 0; //#22029\n }, function() {\n for (var _Mm = 0, _Mn = ~~($f($1.cols - 1) / 2); _Mm < _Mn; _Mm++) { //#22030\n $k[$j++] = -1; //#22030\n } //#22030\n $k[$j++] = 1; //#22030\n for (var _Mp = 0, _Mq = ~~($f($1.cols - 1) / 2); _Mp < _Mq; _Mp++) { //#22030\n $k[$j++] = -1; //#22030\n } //#22030\n }, function() {\n for (var _Ms = 0, _Mt = ~~($f($1.cols - 1) / 2); _Ms < _Mt; _Ms++) { //#22031\n $k[$j++] = -1; //#22031\n } //#22031\n $k[$j++] = 0; //#22031\n for (var _Mv = 0, _Mw = ~~($f($1.cols - 1) / 2); _Mv < _Mw; _Mv++) { //#22031\n $k[$j++] = -1; //#22031\n } //#22031\n }, function() {\n $k[$j++] = 1; //#22032\n for (var _My = 0, _Mz = $f($1.cols - 2); _My < _Mz; _My++) { //#22032\n $k[$j++] = 0; //#22032\n } //#22032\n $k[$j++] = 1; //#22032\n }, function() {\n $k[$j++] = 1; //#22033\n $k[$j++] = 0; //#22033\n for (var _N1 = 0, _N2 = $f($1.cols - 4); _N1 < _N2; _N1++) { //#22033\n $k[$j++] = 1; //#22033\n } //#22033\n $k[$j++] = 0; //#22033\n $k[$j++] = 1; //#22033\n }]); //#22033\n $1.artifact = _N3; //#22034\n var _N4 = new Map([\n [\"A\", \"121343\"],\n [\"B\", \"12134343\"],\n [\"C\", \"12121343\"],\n [\"D\", \"1213434343\"],\n [\"E\", \"1212134343\"],\n [\"F\", \"1212121343\"],\n [\"G\", \"121213434343\"],\n [\"H\", \"121212134343\"],\n [\"S\", \"56661278\"],\n [\"T\", \"5666666666127878\"]\n ]); //#22045\n $1.cpat = $get(_N4, $geti($1.vers, 0, 1)); //#22046\n $k[$j++] = $1.pixs; //#22047\n $k[$j++] = 0; //#22047\n $k[$j++] = ~~($f($1.rows - $1.cpat.length) / 2); //#22047\n $1.mmv(); //#22047\n $k[$j++] = Infinity; //#22048\n $forall($1.cpat, function() { //#22048\n if ($get($1.artifact, $f($k[--$j] - 49))() === true) {\n return true;\n } //#22048\n }); //#22048\n var _NF = $a(); //#22048\n var _NG = $k[--$j]; //#22048\n $puti($k[--$j], _NG, _NF); //#22048\n for (var _NK = 0, _NJ = $f($1.risl - 1); _NK <= _NJ; _NK += 1) { //#22063\n $1.i = _NK; //#22052\n for (var _NP = $1.riso, _NQ = $1.risi, _NO = $f($1.cols - 1); _NQ < 0 ? _NP >= _NO : _NP <= _NO; _NP += _NQ) { //#22062\n $1.j = _NP; //#22054\n var _NS = (($1.i % 12) == 0) ? 1 : 0; //#22055\n var _NT = $a([1, _NS]); //#22055\n $k[$j++] = _NT; //#22056\n $k[$j++] = _NT; //#22056\n $k[$j++] = $1.pixs; //#22056\n $k[$j++] = $1.j; //#22056\n $k[$j++] = $1.i; //#22056\n $1.mmv(); //#22056\n var _NX = $k[--$j]; //#22057\n var _NY = $k[--$j]; //#22057\n $puti(_NY, _NX, $k[--$j]); //#22057\n if ($1.i != $f($1.risl - 1)) { //#22061\n $k[$j++] = $1.pixs; //#22059\n $k[$j++] = $f($f($1.cols - $1.j) - 2); //#22059\n $k[$j++] = $f($f($1.rows - $1.i) - 1); //#22059\n $1.mmv(); //#22059\n var _Nh = $k[--$j]; //#22060\n var _Ni = $k[--$j]; //#22060\n $puti(_Ni, _Nh, $k[--$j]); //#22060\n } else { //#22061\n $j--; //#22061\n } //#22061\n } //#22061\n } //#22061\n var _ON = new Map([\n [\"A\", $a([$a([12, 5])])],\n [\"B\", $a([$a([16, 7])])],\n [\"C\", $a([$a([26, 12])])],\n [\"D\", $a([])],\n [\"E\", $a([$a([26, 23])])],\n [\"F\", $a([$a([26, 32]), $a([70, 32]), $a([26, 34]), $a([70, 34])])],\n [\"G\", $a([$a([27, 48]), $a([69, 48])])],\n [\"H\", $a([$a([26, 70]), $a([66, 70]), $a([106, 70]), $a([26, 72]), $a([66, 72]), $a([106, 72])])],\n [\"S-10\", $a([])],\n [\"S-20\", $a([$a([10, 4])])],\n [\"S-30\", $a([$a([15, 4]), $a([15, 6])])],\n [\"T-16\", $a([$a([8, 10])])],\n [\"T-32\", $a([$a([16, 10]), $a([16, 12])])],\n [\"T-48\", $a([$a([24, 10]), $a([24, 12]), $a([24, 14])])]\n ]); //#22080\n $forall($get(_ON, $1.vers), function() { //#22081\n var _OR = $k[--$j]; //#22081\n $k[$j++] = $1.pixs; //#22081\n $aload(_OR); //#22081\n $1.mmv(); //#22081\n var _OS = $k[--$j]; //#22081\n $put($k[--$j], _OS, 1); //#22081\n }); //#22081\n $1.j = 0; //#22084\n for (var _OW = 0, _OV = $1.pixs.length - 1; _OW <= _OV; _OW += 1) { //#22091\n $1.i = _OW; //#22086\n if ($get($1.pixs, $1.i) == -1) { //#22090\n $put($1.pixs, $1.i, $get($1.mmat, $1.j)); //#22088\n $1.j = $1.j + 1; //#22089\n } //#22089\n } //#22089\n var _Om = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.cols],\n [\"pixy\", $1.rows],\n [\"height\", ($1.rows / 72) * 2],\n [\"width\", ($1.cols / 72) * 2],\n [\"opt\", $1.options]\n ]); //#22101\n $k[$j++] = _Om; //#22104\n if (!$1.dontdraw) { //#22104\n bwipp_renmatrix(); //#22104\n } //#22104\n}\n\nfunction bwipp_hanxin() {\n var $1 = {}; //#22134\n $1.options = $k[--$j]; //#22136\n $1.barcode = $k[--$j]; //#22137\n $1.dontdraw = false; //#22139\n $1.version = \"unset\"; //#22140\n $1.eclevel = \"unset\"; //#22141\n $1.parse = false; //#22142\n $1.parsefnc = false; //#22143\n $1.mask = -1; //#22144\n $forall($1.options, function() { //#22155\n var _3 = $k[--$j]; //#22155\n $1[$k[--$j]] = _3; //#22155\n }); //#22155\n $1.mask = ~~$1.mask; //#22157\n var _8 = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc]\n ]); //#22162\n $1.fncvals = _8; //#22164\n $k[$j++] = 'msg'; //#22165\n $k[$j++] = $1.barcode; //#22165\n $k[$j++] = $1.fncvals; //#22165\n bwipp_parseinput(); //#22165\n var _B = $k[--$j]; //#22165\n $1[$k[--$j]] = _B; //#22165\n $1.msglen = $1.msg.length; //#22166\n if ($eq($1.eclevel, \"unset\")) { //#22169\n $1.eclevel = \"L2\"; //#22169\n } //#22169\n $1.tobin = function() {\n var _G = $s($k[--$j]); //#22172\n $k[$j++] = _G; //#22172\n for (var _I = 0, _H = _G.length - 1; _I <= _H; _I += 1) { //#22172\n var _J = $k[--$j]; //#22172\n $put(_J, _I, 48); //#22172\n $k[$j++] = _J; //#22172\n } //#22172\n var _K = $k[--$j]; //#22173\n var _N = $cvrs($s(_K.length), $k[--$j], 2); //#22173\n $puti(_K, _K.length - _N.length, _N); //#22174\n $k[$j++] = _K; //#22174\n }; //#22175\n $1.bits = $s((4 + 13) + ($1.msglen * 8)); //#22178\n $puti($1.bits, 0, \"0011\"); //#22179\n $k[$j++] = $1.bits; //#22180\n $k[$j++] = 4; //#22180\n $k[$j++] = $1.msglen; //#22180\n $k[$j++] = 13; //#22180\n $1.tobin(); //#22180\n var _T = $k[--$j]; //#22180\n var _U = $k[--$j]; //#22180\n $puti($k[--$j], _U, _T); //#22180\n for (var _Y = 0, _X = $1.msglen - 1; _Y <= _X; _Y += 1) { //#22184\n $1.i = _Y; //#22182\n $k[$j++] = $1.bits; //#22183\n $k[$j++] = 17 + ($1.i * 8); //#22183\n $k[$j++] = $get($1.msg, $1.i); //#22183\n $k[$j++] = 8; //#22183\n $1.tobin(); //#22183\n var _e = $k[--$j]; //#22183\n var _f = $k[--$j]; //#22183\n $puti($k[--$j], _f, _e); //#22183\n } //#22183\n $1.metrics = $a([$a([\"1\", 23, -1, 0, 205, $a([1, 21, 4]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 17, 8]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 13, 12]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 9, 16]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"2\", 25, -1, 0, 301, $a([1, 31, 6]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 25, 12]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 19, 18]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 15, 22]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"3\", 27, -1, 0, 405, $a([1, 42, 8]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 34, 16]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 26, 24]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 20, 30]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"4\", 29, 14, 1, 439, $a([1, 46, 8]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 38, 16]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 30, 24]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 22, 32]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"5\", 31, 16, 1, 555, $a([1, 57, 12]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 49, 20]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 37, 32]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 14, 20]), $a([1, 13, 22]), $a([0, -1, -1])]), $a([\"6\", 33, 16, 1, 675, $a([1, 70, 14]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 58, 26]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 24, 20]), $a([1, 22, 18]), $a([0, -1, -1]), $a([1, 16, 24]), $a([1, 18, 26]), $a([0, -1, -1])]), $a([\"7\", 35, 17, 1, 805, $a([1, 84, 16]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 70, 30]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 26, 22]), $a([1, 28, 24]), $a([0, -1, -1]), $a([2, 14, 20]), $a([1, 12, 20]), $a([0, -1, -1])]), $a([\"8\", 37, 18, 1, 943, $a([1, 99, 18]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 40, 18]), $a([1, 41, 18]), $a([0, -1, -1]), $a([1, 31, 26]), $a([1, 32, 28]), $a([0, -1, -1]), $a([2, 16, 24]), $a([1, 15, 22]), $a([0, -1, -1])]), $a([\"9\", 39, 19, 1, 1089, $a([1, 114, 22]), $a([0, -1, -1]), $a([0, -1, -1]), $a([2, 48, 20]), $a([0, -1, -1]), $a([0, -1, -1]), $a([2, 24, 20]), $a([1, 26, 22]), $a([0, -1, -1]), $a([2, 18, 28]), $a([1, 18, 26]), $a([0, -1, -1])]), $a([\"10\", 41, 20, 1, 1243, $a([1, 131, 24]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 52, 22]), $a([1, 57, 24]), $a([0, -1, -1]), $a([2, 27, 24]), $a([1, 29, 24]), $a([0, -1, -1]), $a([2, 21, 32]), $a([1, 19, 30]), $a([0, -1, -1])]), $a([\"11\", 43, 14, 2, 1289, $a([1, 135, 26]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 56, 24]), $a([1, 57, 24]), $a([0, -1, -1]), $a([2, 28, 24]), $a([1, 31, 26]), $a([0, -1, -1]), $a([2, 22, 32]), $a([1, 21, 32]), $a([0, -1, -1])]), $a([\"12\", 45, 15, 2, 1455, $a([1, 153, 28]), $a([0, -1, -1]), $a([0, -1, -1]), $a([1, 62, 26]), $a([1, 65, 28]), $a([0, -1, -1]), $a([2, 32, 28]), $a([1, 33, 28]), $a([0, -1, -1]), $a([3, 17, 26]), $a([1, 22, 30]), $a([0, -1, -1])]), $a([\"13\", 47, 16, 2, 1629, $a([1, 86, 16]), $a([1, 85, 16]), $a([0, -1, -1]), $a([1, 71, 30]), $a([1, 72, 30]), $a([0, -1, -1]), $a([2, 37, 32]), $a([1, 35, 30]), $a([0, -1, -1]), $a([3, 20, 30]), $a([1, 21, 32]), $a([0, -1, -1])]), $a([\"14\", 49, 16, 2, 1805, $a([1, 94, 18]), $a([1, 95, 18]), $a([0, -1, -1]), $a([2, 51, 22]), $a([1, 55, 24]), $a([0, -1, -1]), $a([3, 30, 26]), $a([1, 31, 26]), $a([0, -1, -1]), $a([4, 18, 28]), $a([1, 17, 24]), $a([0, -1, -1])]), $a([\"15\", 51, 17, 2, 1995, $a([1, 104, 20]), $a([1, 105, 20]), $a([0, -1, -1]), $a([2, 57, 24]), $a([1, 61, 26]), $a([0, -1, -1]), $a([3, 33, 28]), $a([1, 36, 30]), $a([0, -1, -1]), $a([4, 20, 30]), $a([1, 19, 30]), $a([0, -1, -1])]), $a([\"16\", 53, 17, 2, 2187, $a([1, 115, 22]), $a([1, 114, 22]), $a([0, -1, -1]), $a([2, 65, 28]), $a([1, 61, 26]), $a([0, -1, -1]), $a([3, 38, 32]), $a([1, 33, 30]), $a([0, -1, -1]), $a([5, 19, 28]), $a([1, 14, 24]), $a([0, -1, -1])]), $a([\"17\", 55, 18, 2, 2393, $a([1, 126, 24]), $a([1, 125, 24]), $a([0, -1, -1]), $a([2, 70, 30]), $a([1, 69, 30]), $a([0, -1, -1]), $a([4, 33, 28]), $a([1, 29, 26]), $a([0, -1, -1]), $a([5, 20, 30]), $a([1, 19, 30]), $a([0, -1, -1])]), $a([\"18\", 57, 19, 2, 2607, $a([1, 136, 26]), $a([1, 137, 26]), $a([0, -1, -1]), $a([3, 56, 24]), $a([1, 59, 26]), $a([0, -1, -1]), $a([5, 35, 30]), $a([0, -1, -1]), $a([0, -1, -1]), $a([6, 18, 28]), $a([1, 21, 28]), $a([0, -1, -1])]), $a([\"19\", 59, 20, 2, 2829, $a([1, 148, 28]), $a([1, 149, 28]), $a([0, -1, -1]), $a([3, 61, 26]), $a([1, 64, 28]), $a([0, -1, -1]), $a([7, 24, 20]), $a([1, 23, 22]), $a([0, -1, -1]), $a([6, 20, 30]), $a([1, 21, 32]), $a([0, -1, -1])]), $a([\"20\", 61, 20, 2, 3053, $a([3, 107, 20]), $a([0, -1, -1]), $a([0, -1, -1]), $a([3, 65, 28]), $a([1, 72, 30]), $a([0, -1, -1]), $a([7, 26, 22]), $a([1, 23, 22]), $a([0, -1, -1]), $a([7, 19, 28]), $a([1, 20, 32]), $a([0, -1, -1])]), $a([\"21\", 63, 21, 2, 3291, $a([3, 115, 22]), $a([0, -1, -1]), $a([0, -1, -1]), $a([4, 56, 24]), $a([1, 63, 28]), $a([0, -1, -1]), $a([7, 28, 24]), $a([1, 25, 22]), $a([0, -1, -1]), $a([8, 18, 28]), $a([1, 21, 22]), $a([0, -1, -1])]), $a([\"22\", 65, 16, 3, 3383, $a([2, 116, 22]), $a([1, 122, 24]), $a([0, -1, -1]), $a([4, 56, 24]), $a([1, 72, 30]), $a([0, -1, -1]), $a([7, 28, 24]), $a([1, 32, 26]), $a([0, -1, -1]), $a([8, 18, 28]), $a([1, 24, 30]), $a([0, -1, -1])]), $a([\"23\", 67, 17, 3, 3631, $a([3, 127, 24]), $a([0, -1, -1]), $a([0, -1, -1]), $a([5, 51, 22]), $a([1, 62, 26]), $a([0, -1, -1]), $a([7, 30, 26]), $a([1, 35, 26]), $a([0, -1, -1]), $a([8, 20, 30]), $a([1, 21, 32]), $a([0, -1, -1])]), $a([\"24\", 69, 17, 3, 3887, $a([2, 135, 26]), $a([1, 137, 26]), $a([0, -1, -1]), $a([5, 56, 24]), $a([1, 59, 26]), $a([0, -1, -1]), $a([7, 33, 28]), $a([1, 30, 28]), $a([0, -1, -1]), $a([11, 16, 24]), $a([1, 19, 26]), $a([0, -1, -1])]), $a([\"25\", 71, 18, 3, 4151, $a([3, 105, 20]), $a([1, 121, 22]), $a([0, -1, -1]), $a([5, 61, 26]), $a([1, 57, 26]), $a([0, -1, -1]), $a([9, 28, 24]), $a([1, 28, 22]), $a([0, -1, -1]), $a([10, 19, 28]), $a([1, 18, 30]), $a([0, -1, -1])]), $a([\"26\", 73, 18, 3, 4423, $a([2, 157, 30]), $a([1, 150, 28]), $a([0, -1, -1]), $a([5, 65, 28]), $a([1, 61, 26]), $a([0, -1, -1]), $a([8, 33, 28]), $a([1, 34, 30]), $a([0, -1, -1]), $a([10, 19, 28]), $a([2, 15, 26]), $a([0, -1, -1])]), $a([\"27\", 75, 19, 3, 4703, $a([3, 126, 24]), $a([1, 115, 22]), $a([0, -1, -1]), $a([7, 51, 22]), $a([1, 54, 22]), $a([0, -1, -1]), $a([8, 35, 30]), $a([1, 37, 30]), $a([0, -1, -1]), $a([15, 15, 22]), $a([1, 10, 22]), $a([0, -1, -1])]), $a([\"28\", 77, 19, 3, 4991, $a([4, 105, 20]), $a([1, 103, 20]), $a([0, -1, -1]), $a([7, 56, 24]), $a([1, 45, 18]), $a([0, -1, -1]), $a([10, 31, 26]), $a([1, 27, 26]), $a([0, -1, -1]), $a([10, 17, 26]), $a([3, 20, 28]), $a([1, 21, 28])]), $a([\"29\", 79, 20, 3, 5287, $a([3, 139, 26]), $a([1, 137, 28]), $a([0, -1, -1]), $a([6, 66, 28]), $a([1, 66, 30]), $a([0, -1, -1]), $a([9, 36, 30]), $a([1, 34, 32]), $a([0, -1, -1]), $a([13, 19, 28]), $a([1, 17, 32]), $a([0, -1, -1])]), $a([\"30\", 81, 20, 3, 5591, $a([6, 84, 16]), $a([1, 82, 16]), $a([0, -1, -1]), $a([6, 70, 30]), $a([1, 68, 30]), $a([0, -1, -1]), $a([7, 35, 30]), $a([3, 33, 28]), $a([1, 32, 28]), $a([13, 20, 30]), $a([1, 20, 28]), $a([0, -1, -1])]), $a([\"31\", 83, 21, 3, 5903, $a([5, 105, 20]), $a([1, 94, 18]), $a([0, -1, -1]), $a([6, 74, 32]), $a([1, 71, 30]), $a([0, -1, -1]), $a([11, 33, 28]), $a([1, 34, 32]), $a([0, -1, -1]), $a([13, 19, 28]), $a([3, 16, 26]), $a([0, -1, -1])]), $a([\"32\", 85, 17, 4, 6033, $a([4, 127, 24]), $a([1, 126, 24]), $a([0, -1, -1]), $a([7, 66, 28]), $a([1, 66, 30]), $a([0, -1, -1]), $a([12, 30, 24]), $a([1, 24, 28]), $a([1, 24, 30]), $a([15, 19, 28]), $a([1, 17, 32]), $a([0, -1, -1])]), $a([\"33\", 87, 17, 4, 6353, $a([7, 84, 16]), $a([1, 78, 16]), $a([0, -1, -1]), $a([7, 70, 30]), $a([1, 66, 28]), $a([0, -1, -1]), $a([12, 33, 28]), $a([1, 32, 30]), $a([0, -1, -1]), $a([14, 21, 32]), $a([1, 24, 28]), $a([0, -1, -1])]), $a([\"34\", 89, 18, 4, 6689, $a([5, 117, 22]), $a([1, 117, 24]), $a([0, -1, -1]), $a([8, 66, 28]), $a([1, 58, 26]), $a([0, -1, -1]), $a([11, 38, 32]), $a([1, 34, 32]), $a([0, -1, -1]), $a([15, 20, 30]), $a([2, 17, 26]), $a([0, -1, -1])]), $a([\"35\", 91, 18, 4, 7025, $a([4, 148, 28]), $a([1, 146, 28]), $a([0, -1, -1]), $a([8, 68, 30]), $a([1, 70, 24]), $a([0, -1, -1]), $a([10, 36, 32]), $a([3, 38, 28]), $a([0, -1, -1]), $a([16, 19, 28]), $a([3, 16, 26]), $a([0, -1, -1])]), $a([\"36\", 93, 19, 4, 7377, $a([4, 126, 24]), $a([2, 135, 26]), $a([0, -1, -1]), $a([8, 70, 28]), $a([2, 43, 26]), $a([0, -1, -1]), $a([13, 32, 28]), $a([2, 41, 30]), $a([0, -1, -1]), $a([17, 19, 28]), $a([3, 15, 26]), $a([0, -1, -1])]), $a([\"37\", 95, 19, 4, 7729, $a([5, 136, 26]), $a([1, 132, 24]), $a([0, -1, -1]), $a([5, 67, 30]), $a([4, 68, 28]), $a([1, 69, 28]), $a([14, 35, 30]), $a([1, 32, 24]), $a([0, -1, -1]), $a([18, 18, 26]), $a([3, 16, 28]), $a([1, 14, 28])]), $a([\"38\", 97, 19, 4, 8089, $a([3, 142, 26]), $a([3, 141, 28]), $a([0, -1, -1]), $a([8, 70, 30]), $a([1, 73, 32]), $a([1, 74, 32]), $a([12, 34, 30]), $a([3, 34, 26]), $a([1, 35, 28]), $a([18, 21, 32]), $a([1, 27, 30]), $a([0, -1, -1])]), $a([\"39\", 99, 20, 4, 8465, $a([5, 116, 22]), $a([2, 103, 20]), $a([1, 102, 20]), $a([9, 74, 32]), $a([1, 74, 30]), $a([0, -1, -1]), $a([14, 34, 28]), $a([2, 32, 32]), $a([1, 32, 30]), $a([19, 21, 32]), $a([1, 25, 26]), $a([0, -1, -1])]), $a([\"40\", 101, 20, 4, 8841, $a([7, 116, 22]), $a([1, 117, 22]), $a([0, -1, -1]), $a([11, 65, 28]), $a([1, 58, 24]), $a([0, -1, -1]), $a([15, 38, 32]), $a([1, 27, 28]), $a([0, -1, -1]), $a([20, 20, 30]), $a([1, 20, 32]), $a([1, 21, 32])]), $a([\"41\", 103, 17, 5, 9009, $a([6, 136, 26]), $a([1, 130, 24]), $a([0, -1, -1]), $a([11, 66, 28]), $a([1, 62, 30]), $a([0, -1, -1]), $a([14, 34, 28]), $a([3, 34, 32]), $a([1, 30, 30]), $a([18, 20, 30]), $a([3, 20, 28]), $a([2, 15, 26])]), $a([\"42\", 105, 17, 5, 9401, $a([5, 105, 20]), $a([2, 115, 22]), $a([2, 116, 22]), $a([10, 75, 32]), $a([1, 73, 32]), $a([0, -1, -1]), $a([16, 38, 32]), $a([1, 27, 28]), $a([0, -1, -1]), $a([22, 19, 28]), $a([2, 16, 30]), $a([1, 19, 30])]), $a([\"43\", 107, 18, 5, 9799, $a([6, 147, 28]), $a([1, 146, 28]), $a([0, -1, -1]), $a([11, 66, 28]), $a([2, 65, 30]), $a([0, -1, -1]), $a([18, 33, 28]), $a([2, 33, 30]), $a([0, -1, -1]), $a([22, 21, 32]), $a([1, 28, 30]), $a([0, -1, -1])]), $a([\"44\", 109, 18, 5, 10207, $a([6, 116, 22]), $a([3, 125, 24]), $a([0, -1, -1]), $a([11, 75, 32]), $a([1, 68, 30]), $a([0, -1, -1]), $a([13, 35, 28]), $a([6, 34, 32]), $a([1, 30, 30]), $a([23, 21, 32]), $a([1, 26, 30]), $a([0, -1, -1])]), $a([\"45\", 111, 18, 5, 10623, $a([7, 105, 20]), $a([4, 95, 18]), $a([0, -1, -1]), $a([12, 67, 28]), $a([1, 63, 30]), $a([1, 62, 32]), $a([21, 31, 26]), $a([2, 33, 32]), $a([0, -1, -1]), $a([23, 21, 32]), $a([2, 24, 30]), $a([0, -1, -1])]), $a([\"46\", 113, 19, 5, 11045, $a([10, 116, 22]), $a([0, -1, -1]), $a([0, -1, -1]), $a([12, 74, 32]), $a([1, 78, 30]), $a([0, -1, -1]), $a([18, 37, 32]), $a([1, 39, 30]), $a([1, 41, 28]), $a([25, 21, 32]), $a([1, 27, 28]), $a([0, -1, -1])]), $a([\"47\", 115, 19, 5, 11477, $a([5, 126, 24]), $a([4, 115, 22]), $a([1, 114, 22]), $a([12, 67, 28]), $a([2, 66, 32]), $a([1, 68, 30]), $a([21, 35, 30]), $a([1, 39, 30]), $a([0, -1, -1]), $a([26, 21, 32]), $a([1, 28, 28]), $a([0, -1, -1])]), $a([\"48\", 117, 19, 5, 11917, $a([9, 126, 24]), $a([1, 117, 22]), $a([0, -1, -1]), $a([13, 75, 32]), $a([1, 68, 30]), $a([0, -1, -1]), $a([20, 35, 30]), $a([3, 35, 28]), $a([0, -1, -1]), $a([27, 21, 32]), $a([1, 28, 30]), $a([0, -1, -1])]), $a([\"49\", 119, 17, 6, 12111, $a([9, 126, 24]), $a([1, 137, 26]), $a([0, -1, -1]), $a([13, 71, 30]), $a([2, 68, 32]), $a([0, -1, -1]), $a([20, 37, 32]), $a([1, 39, 28]), $a([1, 38, 28]), $a([24, 20, 32]), $a([5, 25, 28]), $a([0, -1, -1])]), $a([\"50\", 121, 17, 6, 12559, $a([8, 147, 28]), $a([1, 141, 28]), $a([0, -1, -1]), $a([10, 73, 32]), $a([4, 74, 30]), $a([1, 73, 30]), $a([16, 36, 32]), $a([6, 39, 30]), $a([1, 37, 30]), $a([27, 21, 32]), $a([3, 20, 26]), $a([0, -1, -1])]), $a([\"51\", 123, 18, 6, 13025, $a([9, 137, 26]), $a([1, 135, 26]), $a([0, -1, -1]), $a([12, 70, 30]), $a([4, 75, 32]), $a([0, -1, -1]), $a([24, 35, 30]), $a([1, 40, 28]), $a([0, -1, -1]), $a([23, 20, 32]), $a([8, 24, 30]), $a([0, -1, -1])]), $a([\"52\", 125, 18, 6, 13489, $a([14, 95, 18]), $a([1, 86, 18]), $a([0, -1, -1]), $a([13, 73, 32]), $a([3, 77, 30]), $a([0, -1, -1]), $a([24, 35, 30]), $a([2, 35, 28]), $a([0, -1, -1]), $a([26, 21, 32]), $a([5, 21, 30]), $a([1, 23, 30])]), $a([\"53\", 127, 18, 6, 13961, $a([9, 147, 28]), $a([1, 142, 28]), $a([0, -1, -1]), $a([10, 73, 30]), $a([6, 70, 32]), $a([1, 71, 32]), $a([25, 35, 30]), $a([2, 34, 26]), $a([0, -1, -1]), $a([29, 21, 32]), $a([4, 22, 30]), $a([0, -1, -1])]), $a([\"54\", 129, 18, 6, 14441, $a([11, 126, 24]), $a([1, 131, 24]), $a([0, -1, -1]), $a([16, 74, 32]), $a([1, 79, 30]), $a([0, -1, -1]), $a([25, 38, 32]), $a([1, 25, 30]), $a([0, -1, -1]), $a([33, 21, 32]), $a([1, 28, 28]), $a([0, -1, -1])]), $a([\"55\", 131, 19, 6, 14939, $a([14, 105, 20]), $a([1, 99, 18]), $a([0, -1, -1]), $a([19, 65, 28]), $a([1, 72, 28]), $a([0, -1, -1]), $a([24, 37, 32]), $a([2, 40, 30]), $a([1, 41, 30]), $a([31, 21, 32]), $a([4, 24, 32]), $a([0, -1, -1])]), $a([\"56\", 133, 19, 6, 15435, $a([10, 147, 28]), $a([1, 151, 28]), $a([0, -1, -1]), $a([15, 71, 30]), $a([3, 71, 32]), $a([1, 73, 32]), $a([24, 37, 32]), $a([3, 38, 30]), $a([1, 39, 30]), $a([36, 19, 30]), $a([3, 29, 26]), $a([0, -1, -1])]), $a([\"57\", 135, 19, 6, 15939, $a([15, 105, 20]), $a([1, 99, 18]), $a([0, -1, -1]), $a([19, 70, 30]), $a([1, 64, 28]), $a([0, -1, -1]), $a([27, 38, 32]), $a([2, 25, 26]), $a([0, -1, -1]), $a([38, 20, 30]), $a([2, 18, 28]), $a([0, -1, -1])]), $a([\"58\", 137, 17, 7, 16171, $a([14, 105, 20]), $a([1, 113, 22]), $a([1, 114, 22]), $a([17, 67, 30]), $a([3, 92, 32]), $a([0, -1, -1]), $a([30, 35, 30]), $a([1, 41, 30]), $a([0, -1, -1]), $a([36, 21, 32]), $a([1, 26, 30]), $a([1, 27, 30])]), $a([\"59\", 139, 17, 7, 16691, $a([11, 146, 28]), $a([1, 146, 26]), $a([0, -1, -1]), $a([20, 70, 30]), $a([1, 60, 26]), $a([0, -1, -1]), $a([29, 38, 32]), $a([1, 24, 32]), $a([0, -1, -1]), $a([40, 20, 30]), $a([2, 17, 26]), $a([0, -1, -1])]), $a([\"60\", 141, 18, 7, 17215, $a([3, 137, 26]), $a([1, 136, 26]), $a([10, 126, 24]), $a([22, 65, 28]), $a([1, 75, 30]), $a([0, -1, -1]), $a([30, 37, 32]), $a([1, 51, 30]), $a([0, -1, -1]), $a([42, 20, 30]), $a([1, 21, 30]), $a([0, -1, -1])]), $a([\"61\", 143, 18, 7, 17751, $a([12, 126, 24]), $a([2, 118, 22]), $a([1, 116, 22]), $a([19, 74, 32]), $a([1, 74, 30]), $a([1, 72, 28]), $a([30, 38, 32]), $a([2, 29, 30]), $a([0, -1, -1]), $a([39, 20, 32]), $a([2, 37, 26]), $a([1, 38, 26])]), $a([\"62\", 145, 18, 7, 18295, $a([12, 126, 24]), $a([3, 136, 26]), $a([0, -1, -1]), $a([21, 70, 30]), $a([2, 65, 28]), $a([0, -1, -1]), $a([34, 35, 30]), $a([1, 44, 32]), $a([0, -1, -1]), $a([42, 20, 30]), $a([2, 19, 28]), $a([2, 18, 28])]), $a([\"63\", 147, 18, 7, 18847, $a([12, 126, 24]), $a([3, 117, 22]), $a([1, 116, 22]), $a([25, 61, 26]), $a([2, 62, 28]), $a([0, -1, -1]), $a([34, 35, 30]), $a([1, 40, 32]), $a([1, 41, 32]), $a([45, 20, 30]), $a([1, 20, 32]), $a([1, 21, 32])]), $a([\"64\", 149, 19, 7, 19403, $a([15, 105, 20]), $a([2, 115, 22]), $a([2, 116, 22]), $a([25, 65, 28]), $a([1, 72, 28]), $a([0, -1, -1]), $a([18, 35, 30]), $a([17, 37, 32]), $a([1, 50, 32]), $a([42, 20, 30]), $a([6, 19, 28]), $a([1, 15, 28])]), $a([\"65\", 151, 19, 7, 19971, $a([19, 105, 20]), $a([1, 101, 20]), $a([0, -1, -1]), $a([33, 51, 22]), $a([1, 65, 22]), $a([0, -1, -1]), $a([40, 33, 28]), $a([1, 28, 28]), $a([0, -1, -1]), $a([49, 20, 30]), $a([1, 18, 28]), $a([0, -1, -1])]), $a([\"66\", 153, 17, 8, 20229, $a([18, 105, 20]), $a([2, 117, 22]), $a([0, -1, -1]), $a([26, 65, 28]), $a([1, 80, 30]), $a([0, -1, -1]), $a([35, 35, 30]), $a([3, 35, 28]), $a([1, 36, 28]), $a([52, 18, 28]), $a([2, 38, 30]), $a([0, -1, -1])]), $a([\"67\", 155, 17, 8, 20805, $a([26, 84, 16]), $a([0, -1, -1]), $a([0, -1, -1]), $a([26, 70, 30]), $a([0, -1, -1]), $a([0, -1, -1]), $a([45, 31, 26]), $a([1, 9, 26]), $a([0, -1, -1]), $a([52, 20, 30]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"68\", 157, 17, 8, 21389, $a([16, 126, 24]), $a([1, 114, 22]), $a([1, 115, 22]), $a([23, 70, 30]), $a([3, 65, 28]), $a([1, 66, 28]), $a([40, 35, 30]), $a([1, 43, 30]), $a([0, -1, -1]), $a([46, 20, 30]), $a([7, 19, 28]), $a([1, 16, 28])]), $a([\"69\", 159, 18, 8, 21993, $a([19, 116, 22]), $a([1, 105, 22]), $a([0, -1, -1]), $a([20, 70, 30]), $a([7, 66, 28]), $a([1, 63, 28]), $a([40, 35, 30]), $a([1, 42, 32]), $a([1, 43, 32]), $a([54, 20, 30]), $a([1, 19, 30]), $a([0, -1, -1])]), $a([\"70\", 161, 18, 8, 22593, $a([17, 126, 24]), $a([2, 115, 22]), $a([0, -1, -1]), $a([24, 70, 30]), $a([4, 74, 32]), $a([0, -1, -1]), $a([48, 31, 26]), $a([2, 18, 26]), $a([0, -1, -1]), $a([54, 19, 28]), $a([6, 15, 26]), $a([1, 14, 26])]), $a([\"71\", 163, 18, 8, 23201, $a([29, 84, 16]), $a([0, -1, -1]), $a([0, -1, -1]), $a([29, 70, 30]), $a([0, -1, -1]), $a([0, -1, -1]), $a([6, 34, 30]), $a([3, 36, 30]), $a([38, 33, 28]), $a([58, 20, 30]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"72\", 165, 18, 8, 23817, $a([16, 147, 28]), $a([1, 149, 28]), $a([0, -1, -1]), $a([31, 66, 28]), $a([1, 37, 26]), $a([0, -1, -1]), $a([48, 33, 28]), $a([1, 23, 26]), $a([0, -1, -1]), $a([53, 20, 30]), $a([6, 19, 28]), $a([1, 17, 28])]), $a([\"73\", 167, 19, 8, 24453, $a([20, 115, 22]), $a([2, 134, 24]), $a([0, -1, -1]), $a([29, 66, 28]), $a([2, 56, 26]), $a([2, 57, 26]), $a([45, 36, 30]), $a([2, 15, 28]), $a([0, -1, -1]), $a([59, 20, 30]), $a([2, 21, 32]), $a([0, -1, -1])]), $a([\"74\", 169, 19, 8, 25085, $a([17, 147, 28]), $a([1, 134, 26]), $a([0, -1, -1]), $a([26, 70, 30]), $a([5, 75, 32]), $a([0, -1, -1]), $a([47, 35, 30]), $a([1, 48, 32]), $a([0, -1, -1]), $a([64, 18, 28]), $a([2, 33, 30]), $a([1, 35, 30])]), $a([\"75\", 171, 17, 9, 25373, $a([22, 115, 22]), $a([1, 133, 24]), $a([0, -1, -1]), $a([33, 65, 28]), $a([1, 74, 28]), $a([0, -1, -1]), $a([43, 36, 30]), $a([5, 27, 28]), $a([1, 30, 28]), $a([57, 20, 30]), $a([5, 21, 32]), $a([1, 24, 32])]), $a([\"76\", 173, 17, 9, 26021, $a([18, 136, 26]), $a([2, 142, 26]), $a([0, -1, -1]), $a([33, 66, 28]), $a([2, 49, 26]), $a([0, -1, -1]), $a([48, 35, 30]), $a([2, 38, 28]), $a([0, -1, -1]), $a([64, 20, 30]), $a([1, 20, 32]), $a([0, -1, -1])]), $a([\"77\", 175, 17, 9, 26677, $a([19, 126, 24]), $a([2, 135, 26]), $a([1, 136, 26]), $a([32, 66, 28]), $a([2, 55, 26]), $a([2, 56, 26]), $a([49, 36, 30]), $a([2, 18, 32]), $a([0, -1, -1]), $a([65, 18, 28]), $a([5, 27, 30]), $a([1, 29, 30])]), $a([\"78\", 177, 18, 9, 27335, $a([20, 137, 26]), $a([1, 130, 26]), $a([0, -1, -1]), $a([30, 75, 32]), $a([2, 71, 32]), $a([0, -1, -1]), $a([46, 35, 30]), $a([6, 39, 32]), $a([0, -1, -1]), $a([3, 12, 30]), $a([70, 19, 28]), $a([0, -1, -1])]), $a([\"79\", 179, 18, 9, 28007, $a([20, 147, 28]), $a([0, -1, -1]), $a([0, -1, -1]), $a([35, 70, 30]), $a([0, -1, -1]), $a([0, -1, -1]), $a([49, 35, 30]), $a([5, 35, 28]), $a([0, -1, -1]), $a([70, 20, 30]), $a([0, -1, -1]), $a([0, -1, -1])]), $a([\"80\", 181, 18, 9, 28687, $a([21, 136, 26]), $a([1, 155, 28]), $a([0, -1, -1]), $a([34, 70, 30]), $a([1, 64, 28]), $a([1, 65, 28]), $a([54, 35, 30]), $a([1, 45, 30]), $a([0, -1, -1]), $a([68, 20, 30]), $a([3, 18, 28]), $a([1, 19, 28])]), $a([\"81\", 183, 18, 9, 29375, $a([19, 126, 24]), $a([5, 115, 22]), $a([1, 114, 22]), $a([33, 70, 30]), $a([3, 65, 28]), $a([1, 64, 28]), $a([52, 35, 30]), $a([3, 41, 32]), $a([1, 40, 32]), $a([67, 20, 30]), $a([5, 21, 32]), $a([1, 24, 32])]), $a([\"82\", 185, 18, 9, 30071, $a([2, 150, 28]), $a([21, 136, 26]), $a([0, -1, -1]), $a([32, 70, 30]), $a([6, 65, 28]), $a([0, -1, -1]), $a([52, 38, 32]), $a([2, 27, 32]), $a([0, -1, -1]), $a([73, 20, 30]), $a([2, 22, 32]), $a([0, -1, -1])]), $a([\"83\", 187, 17, 10, 30387, $a([21, 126, 24]), $a([4, 136, 26]), $a([0, -1, -1]), $a([30, 74, 32]), $a([6, 73, 30]), $a([0, -1, -1]), $a([54, 35, 30]), $a([4, 40, 32]), $a([0, -1, -1]), $a([75, 20, 30]), $a([1, 20, 28]), $a([0, -1, -1])]), $a([\"84\", 189, 17, 10, 31091, $a([30, 105, 20]), $a([1, 114, 22]), $a([0, -1, -1]), $a([3, 45, 22]), $a([55, 47, 20]), $a([0, -1, -1]), $a([2, 26, 26]), $a([62, 33, 28]), $a([0, -1, -1]), $a([79, 18, 28]), $a([4, 33, 30]), $a([0, -1, -1])])]); //#22525\n $1.eclval = $get($1.eclevel, 1) - 49; //#22527\n for (var _IM = 0; _IM <= 83; _IM += 1) { //#22547\n $1.i = _IM; //#22529\n $1.m = $get($1.metrics, $1.i); //#22530\n $1.vers = $get($1.m, 0); //#22531\n $1.size = $get($1.m, 1); //#22532\n $1.alnk = $get($1.m, 2); //#22533\n $1.alnn = $get($1.m, 3); //#22534\n $1.alnr = $f($1.size - ($1.alnk * $1.alnn)); //#22535\n $1.nmod = $get($1.m, 4); //#22536\n $1.ncws = ~~($1.nmod / 8); //#22537\n $1.rbit = $1.nmod % 8; //#22538\n $1.ecbs = $geti($1.m, 5 + ($1.eclval * 3), 3); //#22539\n var _Ii = $1.ecbs; //#22540\n $k[$j++] = 'ecws'; //#22540\n $k[$j++] = 0; //#22540\n for (var _Ij = 0, _Ik = _Ii.length; _Ij < _Ik; _Ij++) { //#22540\n var _Il = $get(_Ii, _Ij); //#22540\n var _Io = $k[--$j]; //#22540\n $k[$j++] = $f(_Io + ($get(_Il, 0) * $get(_Il, 2))); //#22540\n } //#22540\n var _Ip = $k[--$j]; //#22540\n $1[$k[--$j]] = _Ip; //#22540\n $1.dcws = $f($1.ncws - $1.ecws); //#22541\n $1.dmod = $1.dcws * 8; //#22542\n $1.okay = true; //#22543\n if ($ne($1.version, \"unset\") && $ne($1.version, $1.vers)) { //#22544\n $1.okay = false; //#22544\n } //#22544\n if ($1.bits.length > $1.dmod) { //#22545\n $1.okay = false; //#22545\n } //#22545\n if ($1.okay) { //#22546\n break; //#22546\n } //#22546\n } //#22546\n if (!$1.okay) { //#22551\n $k[$j++] = 'bwipp.hanxinNoValidSymbol'; //#22550\n $k[$j++] = \"No valid symbol available\"; //#22550\n bwipp_raiseerror(); //#22550\n } //#22550\n $1.version = $1.vers; //#22553\n $1.msgbits = $1.bits; //#22554\n $1.e1nb = $get($get($1.ecbs, 0), 0); //#22555\n $1.e2nb = $get($get($1.ecbs, 1), 0); //#22555\n $1.e3nb = $get($get($1.ecbs, 2), 0); //#22555\n $1.e1dcws = $get($get($1.ecbs, 0), 1); //#22556\n $1.e2dcws = $get($get($1.ecbs, 1), 1); //#22556\n $1.e3dcws = $get($get($1.ecbs, 2), 1); //#22556\n $1.e1ecws = $get($get($1.ecbs, 0), 2); //#22557\n $1.e2ecws = $get($get($1.ecbs, 1), 2); //#22557\n $1.e3ecws = $get($get($1.ecbs, 2), 2); //#22557\n $1.pad = $s($1.dmod); //#22560\n for (var _JY = 0, _JX = $1.pad.length - 1; _JY <= _JX; _JY += 1) { //#22561\n $put($1.pad, _JY, 48); //#22561\n } //#22561\n $puti($1.pad, 0, $1.msgbits); //#22562\n $1.cws = $a($1.dcws); //#22565\n for (var _Jg = 0, _Jf = $1.cws.length - 1; _Jg <= _Jf; _Jg += 1) { //#22575\n $1.c = _Jg; //#22567\n $1.cwb = $geti($1.pad, $1.c * 8, 8); //#22568\n $1.cw = 0; //#22569\n for (var _Jk = 0; _Jk <= 7; _Jk += 1) { //#22573\n $1.i = _Jk; //#22571\n $1.cw = $f($1.cw + ((~~(Math.pow(2, (8 - $1.i) - 1))) * $f($get($1.cwb, $1.i) - 48))); //#22572\n } //#22572\n $put($1.cws, $1.c, $1.cw); //#22574\n } //#22574\n $1.rscodes = function() {\n $1.rspm = $k[--$j]; //#22579\n $1.rsgf = $k[--$j]; //#22580\n $1.rsnc = $k[--$j]; //#22581\n $1.rscws = $k[--$j]; //#22582\n $k[$j++] = Infinity; //#22585\n $k[$j++] = 1; //#22585\n for (var _Jy = 0, _Jz = $f($1.rsgf - 1); _Jy < _Jz; _Jy++) { //#22585\n var _K0 = $k[--$j]; //#22585\n var _K1 = _K0 * 2; //#22585\n $k[$j++] = _K0; //#22585\n $k[$j++] = _K1; //#22585\n if (_K1 >= $1.rsgf) { //#22585\n var _K4 = $k[--$j]; //#22585\n $k[$j++] = $xo(_K4, $1.rspm); //#22585\n } //#22585\n } //#22585\n $1.rsalog = $a(); //#22585\n $1.rslog = $a($1.rsgf); //#22586\n for (var _KA = 1, _K9 = $f($1.rsgf - 1); _KA <= _K9; _KA += 1) { //#22587\n $put($1.rslog, $get($1.rsalog, _KA), _KA); //#22587\n } //#22587\n $1.rsprod = function() {\n var _KE = $k[--$j]; //#22591\n var _KF = $k[--$j]; //#22591\n $k[$j++] = _KF; //#22595\n $k[$j++] = _KE; //#22595\n if ((_KE != 0) && (_KF != 0)) { //#22594\n var _KI = $get($1.rslog, $k[--$j]); //#22592\n var _KO = $get($1.rsalog, $f(_KI + $get($1.rslog, $k[--$j])) % $f($1.rsgf - 1)); //#22592\n $k[$j++] = _KO; //#22592\n } else { //#22594\n $j -= 2; //#22594\n $k[$j++] = 0; //#22594\n } //#22594\n }; //#22596\n $k[$j++] = Infinity; //#22599\n $k[$j++] = 1; //#22599\n for (var _KQ = 0, _KR = $1.rsnc; _KQ < _KR; _KQ++) { //#22599\n $k[$j++] = 0; //#22599\n } //#22599\n $1.coeffs = $a(); //#22599\n for (var _KV = 1, _KU = $1.rsnc; _KV <= _KU; _KV += 1) { //#22608\n $1.i = _KV; //#22601\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#22602\n for (var _Kc = $1.i - 1; _Kc >= 1; _Kc -= 1) { //#22606\n $1.j = _Kc; //#22604\n $k[$j++] = $1.coeffs; //#22605\n $k[$j++] = $1.j; //#22605\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#22605\n $k[$j++] = $get($1.coeffs, $1.j); //#22605\n $k[$j++] = $get($1.rsalog, $1.i); //#22605\n $1.rsprod(); //#22605\n var _Ko = $k[--$j]; //#22605\n var _Kp = $k[--$j]; //#22605\n var _Kq = $k[--$j]; //#22605\n $put($k[--$j], _Kq, $xo(_Kp, _Ko)); //#22605\n } //#22605\n $k[$j++] = $1.coeffs; //#22607\n $k[$j++] = 0; //#22607\n $k[$j++] = $get($1.coeffs, 0); //#22607\n $k[$j++] = $get($1.rsalog, $1.i); //#22607\n $1.rsprod(); //#22607\n var _Ky = $k[--$j]; //#22607\n var _Kz = $k[--$j]; //#22607\n $put($k[--$j], _Kz, _Ky); //#22607\n } //#22607\n $1.nd = $1.rscws.length; //#22611\n $k[$j++] = Infinity; //#22612\n $forall($1.rscws); //#22612\n for (var _L4 = 0, _L5 = $1.rsnc; _L4 < _L5; _L4++) { //#22612\n $k[$j++] = 0; //#22612\n } //#22612\n $k[$j++] = 0; //#22612\n $1.rscws = $a(); //#22612\n for (var _L9 = 0, _L8 = $1.nd - 1; _L9 <= _L8; _L9 += 1) { //#22619\n $1.k = $xo($get($1.rscws, _L9), $get($1.rscws, $1.nd)); //#22614\n for (var _LH = 0, _LG = $f($1.rsnc - 1); _LH <= _LG; _LH += 1) { //#22618\n $1.j = _LH; //#22616\n $k[$j++] = $1.rscws; //#22617\n $k[$j++] = $1.nd + $1.j; //#22617\n $k[$j++] = $get($1.rscws, ($1.nd + $1.j) + 1); //#22617\n $k[$j++] = $1.k; //#22617\n $k[$j++] = $get($1.coeffs, $f($f($1.rsnc - $1.j) - 1)); //#22617\n $1.rsprod(); //#22617\n var _LU = $k[--$j]; //#22617\n var _LV = $k[--$j]; //#22617\n var _LW = $k[--$j]; //#22617\n $put($k[--$j], _LW, $xo(_LV, _LU)); //#22617\n } //#22617\n } //#22617\n $k[$j++] = $geti($1.rscws, 0, $1.rscws.length - 1); //#22622\n }; //#22624\n $1.dcwsb = $a($f($f($1.e1nb + $1.e2nb) + $1.e3nb)); //#22627\n $1.ecwsb = $a($1.dcwsb.length); //#22628\n $1.in = 0; //#22629\n $1.out = 0; //#22629\n for (var _Li = 0, _Lj = $1.e1nb; _Li < _Lj; _Li++) { //#22635\n $k[$j++] = $geti($1.cws, $1.in, $1.e1dcws); //#22631\n $k[$j++] = $1.e1ecws; //#22631\n $k[$j++] = 256; //#22631\n $k[$j++] = 355; //#22631\n $1.rscodes(); //#22631\n var _Lp = $k[--$j]; //#22632\n $put($1.dcwsb, $1.out, $geti(_Lp, 0, $1.e1dcws)); //#22632\n $put($1.ecwsb, $1.out, $geti(_Lp, $1.e1dcws, $1.e1ecws)); //#22633\n $1.in = $f($1.in + $1.e1dcws); //#22634\n $1.out = $1.out + 1; //#22634\n } //#22634\n for (var _M3 = 0, _M4 = $1.e2nb; _M3 < _M4; _M3++) { //#22641\n $k[$j++] = $geti($1.cws, $1.in, $1.e2dcws); //#22637\n $k[$j++] = $1.e2ecws; //#22637\n $k[$j++] = 256; //#22637\n $k[$j++] = 355; //#22637\n $1.rscodes(); //#22637\n var _MA = $k[--$j]; //#22638\n $put($1.dcwsb, $1.out, $geti(_MA, 0, $1.e2dcws)); //#22638\n $put($1.ecwsb, $1.out, $geti(_MA, $1.e2dcws, $1.e2ecws)); //#22639\n $1.in = $f($1.in + $1.e2dcws); //#22640\n $1.out = $1.out + 1; //#22640\n } //#22640\n for (var _MO = 0, _MP = $1.e3nb; _MO < _MP; _MO++) { //#22647\n $k[$j++] = $geti($1.cws, $1.in, $1.e3dcws); //#22643\n $k[$j++] = $1.e3ecws; //#22643\n $k[$j++] = 256; //#22643\n $k[$j++] = 355; //#22643\n $1.rscodes(); //#22643\n var _MV = $k[--$j]; //#22644\n $put($1.dcwsb, $1.out, $geti(_MV, 0, $1.e3dcws)); //#22644\n $put($1.ecwsb, $1.out, $geti(_MV, $1.e3dcws, $1.e3ecws)); //#22645\n $1.in = $f($1.in + $1.e3dcws); //#22646\n $1.out = $1.out + 1; //#22646\n } //#22646\n $1.cws = $a($1.ncws); //#22650\n $1.cw = 0; //#22651\n for (var _Mm = 0, _Ml = $1.dcwsb.length - 1; _Mm <= _Ml; _Mm += 1) { //#22656\n $1.i = _Mm; //#22653\n var _Mp = $get($1.dcwsb, $1.i); //#22654\n $puti($1.cws, $1.cw, _Mp); //#22654\n $1.cw = _Mp.length + $1.cw; //#22654\n var _Mv = $get($1.ecwsb, $1.i); //#22655\n $puti($1.cws, $1.cw, _Mv); //#22655\n $1.cw = _Mv.length + $1.cw; //#22655\n } //#22655\n $k[$j++] = Infinity; //#22661\n var _Mz = $1.ncws; //#22660\n var _N0 = 12; //#22660\n var _N1 = _Mz - 1; //#22660\n if ((_Mz - 1) > 12) { //#22660\n var _ = _N0; //#22660\n _N0 = _N1; //#22660\n _N1 = _; //#22660\n } //#22660\n for (var _N3 = 0, _N2 = _N1; _N3 <= _N2; _N3 += 1) { //#22662\n for (var _N6 = _N3, _N5 = $1.ncws - 1; _N6 <= _N5; _N6 += 13) { //#22661\n $k[$j++] = _N6; //#22661\n if (_N6 < $1.ncws) { //#22661\n var _NA = $get($1.cws, $k[--$j]); //#22661\n $k[$j++] = _NA; //#22661\n } else { //#22661\n $j--; //#22661\n } //#22661\n } //#22661\n } //#22661\n $1.cws = $a(); //#22661\n if ($1.rbit > 0) { //#22671\n $1.pad = $a($1.cws.length + 1); //#22667\n $puti($1.pad, 0, $1.cws); //#22668\n $put($1.pad, $1.pad.length - 1, 0); //#22669\n $1.cws = $1.pad; //#22670\n } //#22670\n $k[$j++] = Infinity; //#22674\n for (var _NM = 0, _NN = $1.size * $1.size; _NM < _NN; _NM++) { //#22674\n $k[$j++] = -1; //#22674\n } //#22674\n $1.pixs = $a(); //#22674\n $1.qmv = function() {\n var _NQ = $k[--$j]; //#22675\n var _NR = $k[--$j]; //#22675\n $k[$j++] = $f(_NR + (_NQ * $1.size)); //#22675\n }; //#22675\n if ($1.alnn != 0) { //#22734\n $1.trmv = function() {\n var _NU = $k[--$j]; //#22679\n var _NW = $k[--$j]; //#22679\n $k[$j++] = $f(($f(($f((_NU * $1.size) + $1.size)) - 1)) - _NW); //#22679\n }; //#22679\n $1.aplot = function() {\n var _NX = $k[--$j]; //#22681\n var _NY = $k[--$j]; //#22681\n var _NZ = $k[--$j]; //#22681\n $k[$j++] = _NX; //#22681\n $k[$j++] = _NZ; //#22681\n $k[$j++] = _NY; //#22681\n $k[$j++] = _NX; //#22681\n $k[$j++] = _NY; //#22681\n $k[$j++] = _NZ; //#22681\n $1.trmv(); //#22681\n var _Nb = $k[--$j]; //#22681\n $put($1.pixs, _Nb, $k[--$j]); //#22681\n $1.trmv(); //#22682\n var _Ne = $k[--$j]; //#22682\n $put($1.pixs, _Ne, $k[--$j]); //#22682\n }; //#22683\n $1.i = 0; //#22684\n $1.stag = 0; //#22684\n for (;;) { //#22706\n if ($1.i >= $1.size) { //#22685\n break; //#22685\n } //#22685\n for (var _Nk = 0, _Nj = $f($1.size - 1); _Nk <= _Nj; _Nk += 1) { //#22699\n $1.j = _Nk; //#22687\n if ($f($1.j + $1.alnr) < $1.size) { //#22693\n $k[$j++] = (((((~~($1.j / $1.alnk)) + $1.stag) % 2) == 0) && (!(($1.i == 0) && ($1.j < $1.alnk)))) || (($1.j % $1.alnk) == 0); //#22691\n } else { //#22693\n $k[$j++] = ($f($1.alnn + $1.stag) % 2) == 0; //#22693\n } //#22693\n if ($k[--$j]) { //#22698\n $k[$j++] = $1.j; //#22696\n $k[$j++] = $1.i; //#22696\n $k[$j++] = 1; //#22696\n $1.aplot(); //#22696\n var _O1 = $1.j; //#22697\n var _O2 = $1.i; //#22697\n $k[$j++] = _O1 + 1; //#22697\n $k[$j++] = _O2 + 1; //#22697\n if (((_O2 + 1) < $1.size) && ((_O1 + 1) < $1.size)) { //#22697\n $k[$j++] = 0; //#22697\n $1.aplot(); //#22697\n } else { //#22697\n $j -= 2; //#22697\n } //#22697\n } //#22697\n } //#22697\n if ($f($1.i + $1.alnr) == $1.size) { //#22703\n $1.i = $f($f($1.i + $1.alnr) - 1); //#22701\n } else { //#22703\n $1.i = $f($1.i + $1.alnk); //#22703\n } //#22703\n $1.stag = 1 - $1.stag; //#22705\n } //#22705\n for (var _OH = $1.alnk, _OI = $1.alnk, _OG = $f($1.size - 2); _OI < 0 ? _OH >= _OG : _OH <= _OG; _OH += _OI) { //#22733\n $1.i = _OH; //#22708\n if (((~~($1.i / $1.alnk)) % 2) != 0) { //#22720\n $k[$j++] = $1.pixs; //#22710\n $k[$j++] = 0; //#22710\n $k[$j++] = $1.i - 1; //#22710\n $1.trmv(); //#22710\n var _ON = $k[--$j]; //#22710\n $put($k[--$j], _ON, 0); //#22710\n $k[$j++] = $1.pixs; //#22711\n $k[$j++] = 0; //#22711\n $k[$j++] = $1.i + 1; //#22711\n $1.trmv(); //#22711\n var _OR = $k[--$j]; //#22711\n $put($k[--$j], _OR, 0); //#22711\n $k[$j++] = $1.pixs; //#22712\n $k[$j++] = 1; //#22712\n $k[$j++] = $1.i - 1; //#22712\n $1.trmv(); //#22712\n var _OV = $k[--$j]; //#22712\n $put($k[--$j], _OV, 0); //#22712\n $k[$j++] = $1.pixs; //#22713\n $k[$j++] = 1; //#22713\n $k[$j++] = $1.i; //#22713\n $1.trmv(); //#22713\n var _OZ = $k[--$j]; //#22713\n $put($k[--$j], _OZ, 0); //#22713\n $k[$j++] = $1.pixs; //#22714\n $k[$j++] = 1; //#22714\n $k[$j++] = $1.i + 1; //#22714\n $1.trmv(); //#22714\n var _Od = $k[--$j]; //#22714\n $put($k[--$j], _Od, 0); //#22714\n $k[$j++] = $1.pixs; //#22715\n $k[$j++] = $1.i - 1; //#22715\n $k[$j++] = 0; //#22715\n $1.trmv(); //#22715\n var _Oh = $k[--$j]; //#22715\n $put($k[--$j], _Oh, 0); //#22715\n $k[$j++] = $1.pixs; //#22716\n $k[$j++] = $1.i + 1; //#22716\n $k[$j++] = 0; //#22716\n $1.trmv(); //#22716\n var _Ol = $k[--$j]; //#22716\n $put($k[--$j], _Ol, 0); //#22716\n $k[$j++] = $1.pixs; //#22717\n $k[$j++] = $1.i - 1; //#22717\n $k[$j++] = 1; //#22717\n $1.trmv(); //#22717\n var _Op = $k[--$j]; //#22717\n $put($k[--$j], _Op, 0); //#22717\n $k[$j++] = $1.pixs; //#22718\n $k[$j++] = $1.i; //#22718\n $k[$j++] = 1; //#22718\n $1.trmv(); //#22718\n var _Ot = $k[--$j]; //#22718\n $put($k[--$j], _Ot, 0); //#22718\n $k[$j++] = $1.pixs; //#22719\n $k[$j++] = $1.i + 1; //#22719\n $k[$j++] = 1; //#22719\n $1.trmv(); //#22719\n var _Ox = $k[--$j]; //#22719\n $put($k[--$j], _Ox, 0); //#22719\n } //#22719\n $k[$j++] = $1.pixs; //#22721\n $k[$j++] = $f($1.size - 1); //#22721\n $k[$j++] = $1.i - 1; //#22721\n $1.trmv(); //#22721\n var _P2 = $k[--$j]; //#22721\n if ($get($k[--$j], _P2) != 1) { //#22732\n $k[$j++] = $1.pixs; //#22722\n $k[$j++] = $f($1.size - 1); //#22722\n $k[$j++] = $1.i - 1; //#22722\n $1.trmv(); //#22722\n var _P8 = $k[--$j]; //#22722\n $put($k[--$j], _P8, 0); //#22722\n $k[$j++] = $1.pixs; //#22723\n $k[$j++] = $f($1.size - 2); //#22723\n $k[$j++] = $1.i - 1; //#22723\n $1.trmv(); //#22723\n var _PD = $k[--$j]; //#22723\n $put($k[--$j], _PD, 0); //#22723\n $k[$j++] = $1.pixs; //#22724\n $k[$j++] = $f($1.size - 2); //#22724\n $k[$j++] = $1.i; //#22724\n $1.trmv(); //#22724\n var _PI = $k[--$j]; //#22724\n $put($k[--$j], _PI, 0); //#22724\n $k[$j++] = $1.pixs; //#22725\n $k[$j++] = $f($1.size - 2); //#22725\n $k[$j++] = $1.i + 1; //#22725\n $1.trmv(); //#22725\n var _PN = $k[--$j]; //#22725\n $put($k[--$j], _PN, 0); //#22725\n $k[$j++] = $1.pixs; //#22726\n $k[$j++] = $f($1.size - 1); //#22726\n $k[$j++] = $1.i + 1; //#22726\n $1.trmv(); //#22726\n var _PS = $k[--$j]; //#22726\n $put($k[--$j], _PS, 0); //#22726\n $k[$j++] = $1.pixs; //#22727\n $k[$j++] = $1.i - 1; //#22727\n $k[$j++] = $f($1.size - 1); //#22727\n $1.trmv(); //#22727\n var _PX = $k[--$j]; //#22727\n $put($k[--$j], _PX, 0); //#22727\n $k[$j++] = $1.pixs; //#22728\n $k[$j++] = $1.i - 1; //#22728\n $k[$j++] = $f($1.size - 2); //#22728\n $1.trmv(); //#22728\n var _Pc = $k[--$j]; //#22728\n $put($k[--$j], _Pc, 0); //#22728\n $k[$j++] = $1.pixs; //#22729\n $k[$j++] = $1.i; //#22729\n $k[$j++] = $f($1.size - 2); //#22729\n $1.trmv(); //#22729\n var _Ph = $k[--$j]; //#22729\n $put($k[--$j], _Ph, 0); //#22729\n $k[$j++] = $1.pixs; //#22730\n $k[$j++] = $1.i + 1; //#22730\n $k[$j++] = $f($1.size - 2); //#22730\n $1.trmv(); //#22730\n var _Pm = $k[--$j]; //#22730\n $put($k[--$j], _Pm, 0); //#22730\n $k[$j++] = $1.pixs; //#22731\n $k[$j++] = $1.i + 1; //#22731\n $k[$j++] = $f($1.size - 1); //#22731\n $1.trmv(); //#22731\n var _Pr = $k[--$j]; //#22731\n $put($k[--$j], _Pr, 0); //#22731\n } //#22731\n } //#22731\n } //#22731\n $1.fpat = $a([$a([1, 1, 1, 1, 1, 1, 1, 0]), $a([1, 0, 0, 0, 0, 0, 0, 0]), $a([1, 0, 1, 1, 1, 1, 1, 0]), $a([1, 0, 1, 0, 0, 0, 0, 0]), $a([1, 0, 1, 0, 1, 1, 1, 0]), $a([1, 0, 1, 0, 1, 1, 1, 0]), $a([1, 0, 1, 0, 1, 1, 1, 0]), $a([0, 0, 0, 0, 0, 0, 0, 0])]); //#22746\n $1.fpat2 = $a([$a([1, 1, 1, 0, 1, 0, 1, 0]), $a([1, 1, 1, 0, 1, 0, 1, 0]), $a([1, 1, 1, 0, 1, 0, 1, 0]), $a([0, 0, 0, 0, 1, 0, 1, 0]), $a([1, 1, 1, 1, 1, 0, 1, 0]), $a([0, 0, 0, 0, 0, 0, 1, 0]), $a([1, 1, 1, 1, 1, 1, 1, 0]), $a([0, 0, 0, 0, 0, 0, 0, 0])]); //#22756\n for (var _QD = 0, _QC = $1.fpat.length - 1; _QD <= _QC; _QD += 1) { //#22768\n $1.y = _QD; //#22758\n for (var _QH = 0, _QG = $get($1.fpat, 0).length - 1; _QH <= _QG; _QH += 1) { //#22767\n $1.x = _QH; //#22760\n $1.fpb = $get($get($1.fpat, $1.y), $1.x); //#22761\n $1.fpb2 = $get($get($1.fpat2, $1.y), $1.x); //#22762\n $k[$j++] = $1.pixs; //#22763\n $k[$j++] = $1.x; //#22763\n $k[$j++] = $1.y; //#22763\n $1.qmv(); //#22763\n var _QW = $k[--$j]; //#22763\n $put($k[--$j], _QW, $1.fpb); //#22763\n $k[$j++] = $1.pixs; //#22764\n $k[$j++] = $f($f($1.size - $1.x) - 1); //#22764\n $k[$j++] = $1.y; //#22764\n $1.qmv(); //#22764\n var _Qd = $k[--$j]; //#22764\n $put($k[--$j], _Qd, $1.fpb); //#22764\n $k[$j++] = $1.pixs; //#22765\n $k[$j++] = $f($f($1.size - $1.x) - 1); //#22765\n $k[$j++] = $f($f($1.size - $1.y) - 1); //#22765\n $1.qmv(); //#22765\n var _Ql = $k[--$j]; //#22765\n $put($k[--$j], _Ql, $1.fpb); //#22765\n $k[$j++] = $1.pixs; //#22766\n $k[$j++] = $1.x; //#22766\n $k[$j++] = $f($f($1.size - $1.y) - 1); //#22766\n $1.qmv(); //#22766\n var _Qs = $k[--$j]; //#22766\n $put($k[--$j], _Qs, $1.fpb2); //#22766\n } //#22766\n } //#22766\n $1.functionmap = $a([$a([$a([0, 8]), $a([$f($1.size - 1), $f($1.size - 9)])]), $a([$a([1, 8]), $a([$f($1.size - 2), $f($1.size - 9)])]), $a([$a([2, 8]), $a([$f($1.size - 3), $f($1.size - 9)])]), $a([$a([3, 8]), $a([$f($1.size - 4), $f($1.size - 9)])]), $a([$a([4, 8]), $a([$f($1.size - 5), $f($1.size - 9)])]), $a([$a([5, 8]), $a([$f($1.size - 6), $f($1.size - 9)])]), $a([$a([6, 8]), $a([$f($1.size - 7), $f($1.size - 9)])]), $a([$a([7, 8]), $a([$f($1.size - 8), $f($1.size - 9)])]), $a([$a([8, 8]), $a([$f($1.size - 9), $f($1.size - 9)])]), $a([$a([8, 7]), $a([$f($1.size - 9), $f($1.size - 8)])]), $a([$a([8, 6]), $a([$f($1.size - 9), $f($1.size - 7)])]), $a([$a([8, 5]), $a([$f($1.size - 9), $f($1.size - 6)])]), $a([$a([8, 4]), $a([$f($1.size - 9), $f($1.size - 5)])]), $a([$a([8, 3]), $a([$f($1.size - 9), $f($1.size - 4)])]), $a([$a([8, 2]), $a([$f($1.size - 9), $f($1.size - 3)])]), $a([$a([8, 1]), $a([$f($1.size - 9), $f($1.size - 2)])]), $a([$a([8, 0]), $a([$f($1.size - 9), $f($1.size - 1)])]), $a([$a([$f($1.size - 9), 0]), $a([8, $f($1.size - 1)])]), $a([$a([$f($1.size - 9), 1]), $a([8, $f($1.size - 2)])]), $a([$a([$f($1.size - 9), 2]), $a([8, $f($1.size - 3)])]), $a([$a([$f($1.size - 9), 3]), $a([8, $f($1.size - 4)])]), $a([$a([$f($1.size - 9), 4]), $a([8, $f($1.size - 5)])]), $a([$a([$f($1.size - 9), 5]), $a([8, $f($1.size - 6)])]), $a([$a([$f($1.size - 9), 6]), $a([8, $f($1.size - 7)])]), $a([$a([$f($1.size - 9), 7]), $a([8, $f($1.size - 8)])]), $a([$a([$f($1.size - 9), 8]), $a([8, $f($1.size - 9)])]), $a([$a([$f($1.size - 8), 8]), $a([7, $f($1.size - 9)])]), $a([$a([$f($1.size - 7), 8]), $a([6, $f($1.size - 9)])]), $a([$a([$f($1.size - 6), 8]), $a([5, $f($1.size - 9)])]), $a([$a([$f($1.size - 5), 8]), $a([4, $f($1.size - 9)])]), $a([$a([$f($1.size - 4), 8]), $a([3, $f($1.size - 9)])]), $a([$a([$f($1.size - 3), 8]), $a([2, $f($1.size - 9)])]), $a([$a([$f($1.size - 2), 8]), $a([1, $f($1.size - 9)])]), $a([$a([$f($1.size - 1), 8]), $a([0, $f($1.size - 9)])])]); //#22790\n var _Tf = $1.functionmap; //#22791\n for (var _Tg = 0, _Th = _Tf.length; _Tg < _Th; _Tg++) { //#22793\n $forall($get(_Tf, _Tg), function() { //#22792\n $forall($k[--$j]); //#22792\n $1.qmv(); //#22792\n $put($1.pixs, $k[--$j], 0); //#22792\n }); //#22792\n } //#22792\n var _Ts = $a([function() {\n $j -= 2; //#22796\n $k[$j++] = 1; //#22796\n }, function() {\n var _Tm = $k[--$j]; //#22797\n var _Tn = $k[--$j]; //#22797\n $k[$j++] = $f(_Tn + _Tm) % 2; //#22797\n }, function() {\n var _To = $k[--$j]; //#22798\n var _Tp = $k[--$j]; //#22798\n $k[$j++] = ($f(($f(_To + _Tp) % 3) + (_Tp % 3))) % 2; //#22798\n }, function() {\n var _Tq = $k[--$j]; //#22799\n var _Tr = $k[--$j]; //#22799\n $k[$j++] = ($f((_Tr % _Tq) + ($f((_Tq % _Tr) + ($f((_Tq % 3) + (_Tr % 3))))))) % 2; //#22800\n }]); //#22800\n $1.maskfuncs = _Ts; //#22801\n if ($1.mask != -1) { //#22805\n $1.maskfuncs = $a([$get($1.maskfuncs, $1.mask - 1)]); //#22803\n $1.bestmaskval = $1.mask - 1; //#22804\n } //#22804\n $1.masks = $a($1.maskfuncs.length); //#22806\n for (var _U3 = 0, _U2 = $1.masks.length - 1; _U3 <= _U2; _U3 += 1) { //#22820\n $1.m = _U3; //#22808\n $1.mask = $a($1.size * $1.size); //#22809\n for (var _U9 = 0, _U8 = $f($1.size - 1); _U9 <= _U8; _U9 += 1) { //#22818\n $1.j = _U9; //#22811\n for (var _UC = 0, _UB = $f($1.size - 1); _UC <= _UB; _UC += 1) { //#22817\n $1.i = _UC; //#22813\n $k[$j++] = $1.i + 1; //#22814\n $k[$j++] = $1.j + 1; //#22814\n if ($get($1.maskfuncs, $1.m)() === true) {\n break;\n } //#22814\n var _UI = $k[--$j]; //#22814\n $k[$j++] = _UI == 0; //#22815\n $k[$j++] = $1.pixs; //#22815\n $k[$j++] = $1.i; //#22815\n $k[$j++] = $1.j; //#22815\n $1.qmv(); //#22815\n var _UM = $k[--$j]; //#22815\n var _UO = $get($k[--$j], _UM); //#22815\n var _UP = $k[--$j]; //#22815\n var _UQ = (_UP && (_UO == -1)) ? 1 : 0; //#22815\n $k[$j++] = _UQ; //#22816\n $k[$j++] = $1.mask; //#22816\n $k[$j++] = $1.i; //#22816\n $k[$j++] = $1.j; //#22816\n $1.qmv(); //#22816\n var _UU = $k[--$j]; //#22816\n var _UV = $k[--$j]; //#22816\n $put(_UV, _UU, $k[--$j]); //#22816\n } //#22816\n } //#22816\n $put($1.masks, $1.m, $1.mask); //#22819\n } //#22819\n $1.posx = 0; //#22823\n $1.posy = 0; //#22824\n $1.num = 0; //#22825\n for (;;) { //#22835\n if ($1.posy == $1.size) { //#22827\n break; //#22827\n } //#22827\n $k[$j++] = $1.pixs; //#22828\n $k[$j++] = $1.posx; //#22828\n $k[$j++] = $1.posy; //#22828\n $1.qmv(); //#22828\n var _Uf = $k[--$j]; //#22828\n if ($get($k[--$j], _Uf) == -1) { //#22832\n var _Uk = $get($1.cws, ~~($1.num / 8)); //#22829\n var _Um = -(7 - ($1.num % 8)); //#22829\n $k[$j++] = ((_Um < 0 ? _Uk >>> -_Um : _Uk << _Um)) & 1; //#22830\n $k[$j++] = $1.pixs; //#22830\n $k[$j++] = $1.posx; //#22830\n $k[$j++] = $1.posy; //#22830\n $1.qmv(); //#22830\n var _Uq = $k[--$j]; //#22830\n var _Ur = $k[--$j]; //#22830\n $put(_Ur, _Uq, $k[--$j]); //#22830\n $1.num = $1.num + 1; //#22831\n } //#22831\n $1.posx = $1.posx + 1; //#22833\n if ($1.posx == $1.size) { //#22834\n $1.posx = 0; //#22834\n $1.posy = $1.posy + 1; //#22834\n } //#22834\n } //#22834\n $1.evalfulln1n3 = function() {\n $1.scrle = $k[--$j]; //#22839\n $k[$j++] = 'scr1'; //#22841\n $k[$j++] = 0; //#22841\n $forall($1.scrle, function() { //#22841\n var _V0 = $k[--$j]; //#22841\n $k[$j++] = _V0; //#22841\n if (_V0 >= 3) { //#22841\n var _V1 = $k[--$j]; //#22841\n var _V3 = $f($k[--$j] + (_V1 * 4)); //#22841\n $k[$j++] = _V3; //#22841\n $k[$j++] = _V3; //#22841\n } //#22841\n $j--; //#22841\n }); //#22841\n var _V4 = $k[--$j]; //#22841\n $1[$k[--$j]] = _V4; //#22841\n $1.scr3 = 0; //#22842\n for (var _V8 = 5, _V7 = $1.scrle.length - 1; _V8 <= _V7; _V8 += 2) { //#22858\n $1.j = _V8; //#22845\n if (($get($1.scrle, $1.j) % 3) == 0) { //#22857\n $1.fact = ~~($get($1.scrle, $1.j) / 3); //#22847\n var _VH = $geti($1.scrle, $1.j - 4, 4); //#22848\n for (var _VI = 0, _VJ = _VH.length; _VI < _VJ; _VI++) { //#22848\n $k[$j++] = $get(_VH, _VI) == $1.fact; //#22848\n } //#22848\n var _VM = $k[--$j]; //#22848\n var _VN = $k[--$j]; //#22848\n var _VO = $k[--$j]; //#22848\n var _VP = $k[--$j]; //#22848\n if (_VP && (_VO && (_VN && _VM))) { //#22856\n if (($1.j == 5) || (($1.j + 2) >= $1.scrle.length)) { //#22853\n $1.scr3 = $1.scr3 + 50; //#22850\n } else { //#22853\n if (($get($1.scrle, $1.j - 5) >= 3) || ($get($1.scrle, $1.j + 1) >= 3)) { //#22854\n $1.scr3 = $1.scr3 + 50; //#22853\n } //#22853\n } //#22853\n } //#22853\n } //#22853\n } //#22853\n for (var _Vd = 1, _Vc = $1.scrle.length - 5; _Vd <= _Vc; _Vd += 2) { //#22874\n $1.j = _Vd; //#22861\n if (($get($1.scrle, $1.j) % 3) == 0) { //#22873\n $1.fact = ~~($get($1.scrle, $1.j) / 3); //#22863\n var _Vm = $geti($1.scrle, $1.j + 1, 4); //#22864\n for (var _Vn = 0, _Vo = _Vm.length; _Vn < _Vo; _Vn++) { //#22864\n $k[$j++] = $get(_Vm, _Vn) == $1.fact; //#22864\n } //#22864\n var _Vr = $k[--$j]; //#22864\n var _Vs = $k[--$j]; //#22864\n var _Vt = $k[--$j]; //#22864\n var _Vu = $k[--$j]; //#22864\n if (_Vu && (_Vt && (_Vs && _Vr))) { //#22872\n if (($1.j == 1) || (($1.j + 6) >= $1.scrle.length)) { //#22869\n $1.scr3 = $1.scr3 + 50; //#22866\n } else { //#22869\n if (($get($1.scrle, $1.j - 1) >= 3) || ($get($1.scrle, $1.j + 5) >= 3)) { //#22870\n $1.scr3 = $1.scr3 + 50; //#22869\n } //#22869\n } //#22869\n } //#22869\n } //#22869\n } //#22869\n $k[$j++] = $1.scr1; //#22875\n $k[$j++] = $1.scr3; //#22875\n }; //#22876\n $1.evalfull = function() {\n $1.sym = $k[--$j]; //#22880\n $1.n1 = 0; //#22882\n $1.n3 = 0; //#22882\n $1.rle = $a($f($1.size + 1)); //#22883\n $1.lastpairs = $a($1.size); //#22884\n $1.thispairs = $a($1.size); //#22885\n $1.sizeadd1 = $f($1.size + 1); //#22886\n for (var _WI = 0, _WH = $f($1.size - 1); _WI <= _WH; _WI += 1) { //#22911\n $1.i = _WI; //#22888\n $k[$j++] = Infinity; //#22891\n var _WK = $1.size; //#22892\n $k[$j++] = 0; //#22894\n $k[$j++] = 0; //#22894\n for (var _WM = $1.i, _WN = _WK, _WL = $f((_WK * _WK) - 1); _WN < 0 ? _WM >= _WL : _WM <= _WL; _WM += _WN) { //#22894\n var _WP = $get($1.sym, _WM); //#22893\n var _WQ = $k[--$j]; //#22893\n $k[$j++] = _WP; //#22893\n if ($eq(_WQ, _WP)) { //#22893\n var _WR = $k[--$j]; //#22893\n var _WS = $k[--$j]; //#22893\n $k[$j++] = $f(_WS + 1); //#22893\n $k[$j++] = _WR; //#22893\n } else { //#22893\n var _WT = $k[--$j]; //#22893\n $k[$j++] = 1; //#22893\n $k[$j++] = _WT; //#22893\n } //#22893\n } //#22893\n $j--; //#22895\n var _WV = $counttomark() + 2; //#22896\n $astore($geti($1.rle, 0, _WV - 2)); //#22896\n $1.evalfulln1n3(); //#22897\n $1.n3 = $f($k[--$j] + $1.n3); //#22897\n $1.n1 = $f($k[--$j] + $1.n1); //#22897\n $j--; //#22898\n $1.symrow = $geti($1.sym, $1.i * $1.size, $1.size); //#22901\n $k[$j++] = Infinity; //#22902\n var _Wg = $1.symrow; //#22903\n $k[$j++] = 0; //#22905\n $k[$j++] = 0; //#22905\n for (var _Wh = 0, _Wi = _Wg.length; _Wh < _Wi; _Wh++) { //#22905\n var _Wj = $get(_Wg, _Wh); //#22905\n var _Wk = $k[--$j]; //#22904\n $k[$j++] = _Wj; //#22904\n if ($eq(_Wk, _Wj)) { //#22904\n var _Wl = $k[--$j]; //#22904\n var _Wm = $k[--$j]; //#22904\n $k[$j++] = $f(_Wm + 1); //#22904\n $k[$j++] = _Wl; //#22904\n } else { //#22904\n var _Wn = $k[--$j]; //#22904\n $k[$j++] = 1; //#22904\n $k[$j++] = _Wn; //#22904\n } //#22904\n } //#22904\n $j--; //#22906\n var _Wp = $counttomark() + 2; //#22907\n $astore($geti($1.rle, 0, _Wp - 2)); //#22907\n $1.evalfulln1n3(); //#22908\n $1.n3 = $f($k[--$j] + $1.n3); //#22908\n $1.n1 = $f($k[--$j] + $1.n1); //#22908\n $j--; //#22909\n } //#22909\n $k[$j++] = $f($1.n1 + $1.n3); //#22913\n }; //#22914\n $1.bestscore = 999999999; //#22917\n for (var _Wz = 0, _Wy = $1.masks.length - 1; _Wz <= _Wy; _Wz += 1) { //#22935\n $1.m = _Wz; //#22919\n $1.masksym = $a($1.size * $1.size); //#22920\n for (var _X6 = 0, _X5 = $f(($1.size * $1.size) - 1); _X6 <= _X5; _X6 += 1) { //#22924\n $1.i = _X6; //#22922\n $put($1.masksym, $1.i, $xo($get($1.pixs, $1.i), $get($get($1.masks, $1.m), $1.i))); //#22923\n } //#22923\n if ($1.masks.length != 1) { //#22933\n $k[$j++] = $1.masksym; //#22926\n $1.evalfull(); //#22926\n $1.score = $k[--$j]; //#22926\n if ($1.score < $1.bestscore) { //#22931\n $1.bestsym = $1.masksym; //#22928\n $1.bestmaskval = $1.m; //#22929\n $1.bestscore = $1.score; //#22930\n } //#22930\n } else { //#22933\n $1.bestsym = $1.masksym; //#22933\n } //#22933\n } //#22933\n $1.pixs = $1.bestsym; //#22936\n $1.funval = (((((~~($f($1.size - 21) / 2)) + 20) * 4) + $1.eclval) * 4) + $1.bestmaskval; //#22939\n $k[$j++] = $a([($1.funval & 3840) >>> 8, ($1.funval & 240) >>> 4, $1.funval & 15]); //#22943\n $k[$j++] = 4; //#22943\n $k[$j++] = 16; //#22943\n $k[$j++] = 19; //#22943\n $1.rscodes(); //#22943\n $1.funvals = $k[--$j]; //#22943\n $k[$j++] = Infinity; //#22948\n $forall($1.funvals, function() { //#22947\n $k[$j++] = 4; //#22946\n $1.tobin(); //#22946\n $forall($k[--$j], function() { //#22946\n var _Xb = $k[--$j]; //#22946\n $k[$j++] = $f(_Xb - 48); //#22946\n }); //#22946\n }); //#22946\n $k[$j++] = 0; //#22948\n $k[$j++] = 1; //#22948\n $k[$j++] = 0; //#22948\n $k[$j++] = 1; //#22948\n $k[$j++] = 0; //#22948\n $k[$j++] = 1; //#22948\n $1.funbits = $a(); //#22948\n for (var _Xf = 0, _Xe = $1.functionmap.length - 1; _Xf <= _Xe; _Xf += 1) { //#22955\n $1.i = _Xf; //#22951\n $forall($get($1.functionmap, $1.i), function() { //#22954\n var _Xk = $k[--$j]; //#22953\n $k[$j++] = $1.pixs; //#22953\n $aload(_Xk); //#22953\n $1.qmv(); //#22953\n var _Xo = $k[--$j]; //#22953\n $put($k[--$j], _Xo, $get($1.funbits, $1.i)); //#22953\n }); //#22953\n } //#22953\n var _Xw = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.size],\n [\"pixy\", $1.size],\n [\"height\", ($1.size * 2) / 72],\n [\"width\", ($1.size * 2) / 72],\n [\"opt\", $1.options]\n ]); //#22965\n $k[$j++] = _Xw; //#22968\n if (!$1.dontdraw) { //#22968\n bwipp_renmatrix(); //#22968\n } //#22968\n}\n\nfunction bwipp_dotcode() {\n var $1 = {}; //#22998\n $1.options = $k[--$j]; //#23000\n $1.barcode = $k[--$j]; //#23001\n $1.dontdraw = false; //#23003\n $1.rows = -1; //#23004\n $1.columns = -1; //#23005\n $1.ratio = -1; //#23006\n $1.parse = false; //#23007\n $1.parsefnc = false; //#23008\n $1.raw = false; //#23009\n $1.fast = false; //#23010\n $1.mask = -1; //#23011\n $forall($1.options, function() { //#23022\n var _3 = $k[--$j]; //#23022\n $1[$k[--$j]] = _3; //#23022\n }); //#23022\n $1.rows = ~~$1.rows; //#23024\n $1.columns = ~~$1.columns; //#23025\n $1.ratio = +$1.ratio; //#23026\n $1.mask = ~~$1.mask; //#23027\n if ((($1.ratio == -1) && ($1.rows == -1)) && ($1.columns == -1)) { //#23032\n $1.ratio = 3 / 2; //#23031\n } //#23031\n $1.laa = -1; //#23035\n $1.lab = -2; //#23035\n $1.lac = -3; //#23035\n $1.bin = -4; //#23035\n $1.sfa = -5; //#23036\n $1.sfb = -6; //#23036\n $1.sb2 = -7; //#23036\n $1.sb3 = -8; //#23036\n $1.sb4 = -9; //#23037\n $1.sb5 = -10; //#23037\n $1.sb6 = -11; //#23037\n $1.sfc = -12; //#23037\n $1.sc2 = -13; //#23038\n $1.sc3 = -14; //#23038\n $1.sc4 = -15; //#23038\n $1.sc5 = -16; //#23038\n $1.sc6 = -17; //#23039\n $1.sc7 = -18; //#23039\n $1.bsa = -19; //#23039\n $1.bsb = -20; //#23039\n $1.tma = -21; //#23040\n $1.tmb = -22; //#23040\n $1.tmc = -23; //#23040\n $1.tms = -24; //#23040\n $1.fn1 = -25; //#23041\n $1.fn2 = -26; //#23041\n $1.fn3 = -27; //#23041\n $1.crl = -28; //#23041\n $1.aim = -29; //#23042\n $1.m05 = -30; //#23042\n $1.m06 = -31; //#23042\n $1.m12 = -32; //#23042\n $1.mac = -33; //#23043\n var _G = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"eci\", true],\n [\"FNC1\", $1.fn1],\n [\"FNC3\", $1.fn3]\n ]); //#23052\n $1.fncvals = _G; //#23053\n $k[$j++] = 'msg'; //#23054\n $k[$j++] = $1.barcode; //#23054\n $k[$j++] = $1.fncvals; //#23054\n bwipp_parseinput(); //#23054\n var _J = $k[--$j]; //#23054\n $1[$k[--$j]] = _J; //#23054\n $1.msglen = $1.msg.length; //#23055\n var _M = $1.msg; //#23058\n $k[$j++] = 'numecis'; //#23058\n $k[$j++] = 0; //#23058\n for (var _N = 0, _O = _M.length; _N < _O; _N++) { //#23058\n if ($get(_M, _N) <= -1000000) { //#23058\n var _Q = $k[--$j]; //#23058\n $k[$j++] = $f(_Q + 1); //#23058\n } //#23058\n } //#23058\n var _R = $k[--$j]; //#23058\n $1[$k[--$j]] = _R; //#23058\n $1.msgtmp = $a($f($1.msg.length + ($1.numecis * 6))); //#23059\n $1.j = 0; //#23060\n for (var _Y = 0, _X = $1.msg.length - 1; _Y <= _X; _Y += 1) { //#23071\n var _a = $get($1.msg, _Y); //#23062\n $k[$j++] = _a; //#23070\n if (_a <= -1000000) { //#23069\n var _e = $geti($cvrs($s(7), -$k[--$j], 10), 1, 6); //#23063\n for (var _f = 0, _g = _e.length; _f < _g; _f++) { //#23063\n $k[$j++] = $get(_e, _f); //#23063\n } //#23063\n $astore($a(6)); //#23063\n $puti($1.msgtmp, $1.j + 1, $k[--$j]); //#23064\n $put($1.msgtmp, $1.j, $1.fn2); //#23065\n $1.j = $1.j + 7; //#23066\n } else { //#23069\n $put($1.msgtmp, $1.j, $k[--$j]); //#23068\n $1.j = $1.j + 1; //#23069\n } //#23069\n } //#23069\n $1.msg = $1.msgtmp; //#23072\n $1.msglen = $1.msg.length; //#23073\n $1.charmaps = $a([$a([32, 32, \"00\"]), $a([\"!\", \"!\", \"01\"]), $a([\"\\\"\", \"\\\"\", \"02\"]), $a([\"#\", \"#\", \"03\"]), $a([\"$\", \"$\", \"04\"]), $a([\"%\", \"%\", \"05\"]), $a([\"&\", \"&\", \"06\"]), $a([\"'\", \"'\", \"07\"]), $a([40, 40, \"08\"]), $a([41, 41, \"09\"]), $a([\"*\", \"*\", \"10\"]), $a([\"+\", \"+\", \"11\"]), $a([\",\", \",\", \"12\"]), $a([\"-\", \"-\", \"13\"]), $a([\".\", \".\", \"14\"]), $a([\"/\", \"/\", \"15\"]), $a([\"0\", \"0\", \"16\"]), $a([\"1\", \"1\", \"17\"]), $a([\"2\", \"2\", \"18\"]), $a([\"3\", \"3\", \"19\"]), $a([\"4\", \"4\", \"20\"]), $a([\"5\", \"5\", \"21\"]), $a([\"6\", \"6\", \"22\"]), $a([\"7\", \"7\", \"23\"]), $a([\"8\", \"8\", \"24\"]), $a([\"9\", \"9\", \"25\"]), $a([\":\", \":\", \"26\"]), $a([\";\", \";\", \"27\"]), $a([\"<\", \"<\", \"28\"]), $a([\"=\", \"=\", \"29\"]), $a([\">\", \">\", \"30\"]), $a([\"?\", \"?\", \"31\"]), $a([\"@\", \"@\", \"32\"]), $a([\"A\", \"A\", \"33\"]), $a([\"B\", \"B\", \"34\"]), $a([\"C\", \"C\", \"35\"]), $a([\"D\", \"D\", \"36\"]), $a([\"E\", \"E\", \"37\"]), $a([\"F\", \"F\", \"38\"]), $a([\"G\", \"G\", \"39\"]), $a([\"H\", \"H\", \"40\"]), $a([\"I\", \"I\", \"41\"]), $a([\"J\", \"J\", \"42\"]), $a([\"K\", \"K\", \"43\"]), $a([\"L\", \"L\", \"44\"]), $a([\"M\", \"M\", \"45\"]), $a([\"N\", \"N\", \"46\"]), $a([\"O\", \"O\", \"47\"]), $a([\"P\", \"P\", \"48\"]), $a([\"Q\", \"Q\", \"49\"]), $a([\"R\", \"R\", \"50\"]), $a([\"S\", \"S\", \"51\"]), $a([\"T\", \"T\", \"52\"]), $a([\"U\", \"U\", \"53\"]), $a([\"V\", \"V\", \"54\"]), $a([\"W\", \"W\", \"55\"]), $a([\"X\", \"X\", \"56\"]), $a([\"Y\", \"Y\", \"57\"]), $a([\"Z\", \"Z\", \"58\"]), $a([\"[\", \"[\", \"59\"]), $a([92, 92, \"60\"]), $a([\"]\", \"]\", \"61\"]), $a([\"^\", \"^\", \"62\"]), $a([\"_\", \"_\", \"63\"]), $a([0, \"`\", \"64\"]), $a([1, \"a\", \"65\"]), $a([2, \"b\", \"66\"]), $a([3, \"c\", \"67\"]), $a([4, \"d\", \"68\"]), $a([5, \"e\", \"69\"]), $a([6, \"f\", \"70\"]), $a([7, \"g\", \"71\"]), $a([8, \"h\", \"72\"]), $a([9, \"i\", \"73\"]), $a([10, \"j\", \"74\"]), $a([11, \"k\", \"75\"]), $a([12, \"l\", \"76\"]), $a([13, \"m\", \"77\"]), $a([14, \"n\", \"78\"]), $a([15, \"o\", \"79\"]), $a([16, \"p\", \"80\"]), $a([17, \"q\", \"81\"]), $a([18, \"r\", \"82\"]), $a([19, \"s\", \"83\"]), $a([20, \"t\", \"84\"]), $a([21, \"u\", \"85\"]), $a([22, \"v\", \"86\"]), $a([23, \"w\", \"87\"]), $a([24, \"x\", \"88\"]), $a([25, \"y\", \"89\"]), $a([26, \"z\", \"90\"]), $a([27, \"{\", \"91\"]), $a([28, \"|\", \"92\"]), $a([29, \"}\", \"93\"]), $a([30, \"~\", \"94\"]), $a([31, 127, \"95\"]), $a([$1.sfb, $1.crl, \"96\"]), $a([$1.sb2, 9, \"97\"]), $a([$1.sb3, 28, \"98\"]), $a([$1.sb4, 29, \"99\"]), $a([$1.sb5, 30, $1.aim]), $a([$1.sb6, $1.sfa, $1.laa]), $a([$1.lab, $1.laa, $1.sfb]), $a([$1.sc2, $1.sc2, $1.sb2]), $a([$1.sc3, $1.sc3, $1.sb3]), $a([$1.sc4, $1.sc4, $1.sb4]), $a([$1.lac, $1.lac, $1.lab]), $a([$1.fn1, $1.fn1, $1.fn1]), $a([$1.fn2, $1.fn2, $1.fn2]), $a([$1.fn3, $1.fn3, $1.fn3]), $a([$1.bsa, $1.bsa, $1.bsa]), $a([$1.bsb, $1.bsb, $1.bsb]), $a([$1.bin, $1.bin, $1.bin])]); //#23116\n $1.charvals = $a([new Map, new Map, new Map]); //#23119\n for (var _3W = 0, _3V = $1.charmaps.length - 1; _3W <= _3V; _3W += 1) { //#23128\n $1.i = _3W; //#23121\n $1.encs = $get($1.charmaps, $1.i); //#23122\n for (var _3a = 0; _3a <= 2; _3a += 1) { //#23127\n $1.j = _3a; //#23124\n var _3d = $get($1.encs, $1.j); //#23125\n $k[$j++] = _3d; //#23125\n if ($eq($type(_3d), 'stringtype')) { //#23125\n var _3g = $get($k[--$j], 0); //#23125\n $k[$j++] = _3g; //#23125\n } //#23125\n $put($get($1.charvals, $1.j), $k[--$j], $1.i); //#23126\n } //#23126\n } //#23126\n $1.Avals = $get($1.charvals, 0); //#23129\n $1.Bvals = $get($1.charvals, 1); //#23130\n $put($1.Bvals, $1.m05, 97); //#23131\n $put($1.Bvals, $1.m06, 98); //#23132\n $put($1.Bvals, $1.m12, 99); //#23133\n $put($1.Bvals, $1.mac, 100); //#23134\n $1.Cvals = $get($1.charvals, 2); //#23135\n $k[$j++] = Infinity; //#23137\n var _4A = $a([$1.sc2, $1.sc3, $1.sc4, $1.sc5, $1.sc6, $1.sc7, $1.tma, $1.tmb, $1.tmc, $1.tms]); //#23137\n $k[$j++] = 102; //#23137\n for (var _4B = 0, _4C = _4A.length; _4B < _4C; _4B++) { //#23137\n var _4F = $f($k[--$j] + 1); //#23137\n $k[$j++] = $get(_4A, _4B); //#23137\n $k[$j++] = _4F; //#23137\n $k[$j++] = _4F; //#23137\n } //#23137\n $j--; //#23137\n $1.BINvals = $d(); //#23138\n $k[$j++] = Infinity; //#23141\n for (var _4I = 0, _4J = $1.msglen + 1; _4I < _4J; _4I++) { //#23141\n $k[$j++] = 0; //#23141\n } //#23141\n $1.nDigits = $a(); //#23141\n $k[$j++] = Infinity; //#23142\n for (var _4M = 0, _4N = $1.msglen + 1; _4M < _4N; _4M++) { //#23142\n $k[$j++] = false; //#23142\n } //#23142\n $1.SeventeenTen = $a(); //#23142\n $k[$j++] = Infinity; //#23143\n for (var _4Q = 0, _4R = $1.msglen + 1; _4Q < _4R; _4Q++) { //#23143\n $k[$j++] = false; //#23143\n } //#23143\n $1.ECI = $a(); //#23143\n $k[$j++] = Infinity; //#23144\n for (var _4U = 0, _4V = $1.msglen + 1; _4U < _4V; _4U++) { //#23144\n $k[$j++] = false; //#23144\n } //#23144\n $1.DatumA = $a(); //#23144\n $k[$j++] = Infinity; //#23145\n for (var _4Y = 0, _4Z = $1.msglen + 1; _4Y < _4Z; _4Y++) { //#23145\n $k[$j++] = false; //#23145\n } //#23145\n $1.DatumB = $a(); //#23145\n $k[$j++] = Infinity; //#23146\n for (var _4c = 0, _4d = $1.msglen + 1; _4c < _4d; _4c++) { //#23146\n $k[$j++] = false; //#23146\n } //#23146\n $1.DatumC = $a(); //#23146\n $k[$j++] = Infinity; //#23147\n for (var _4g = 0, _4h = $1.msglen + 8; _4g < _4h; _4g++) { //#23147\n $k[$j++] = false; //#23147\n } //#23147\n $1.Binary = $a(); //#23147\n $k[$j++] = Infinity; //#23148\n for (var _4k = 0, _4l = $1.msglen + 1; _4k < _4l; _4k++) { //#23148\n $k[$j++] = 0; //#23148\n } //#23148\n $1.AheadC = $a(); //#23148\n $k[$j++] = Infinity; //#23149\n for (var _4o = 0, _4p = $1.msglen + 1; _4o < _4p; _4o++) { //#23149\n $k[$j++] = 0; //#23149\n } //#23149\n $1.TryC = $a(); //#23149\n $k[$j++] = Infinity; //#23150\n for (var _4s = 0, _4t = $1.msglen + 1; _4s < _4t; _4s++) { //#23150\n $k[$j++] = 0; //#23150\n } //#23150\n $1.AheadA = $a(); //#23150\n $k[$j++] = Infinity; //#23151\n for (var _4w = 0, _4x = $1.msglen + 1; _4w < _4x; _4w++) { //#23151\n $k[$j++] = 0; //#23151\n } //#23151\n $1.AheadB = $a(); //#23151\n $k[$j++] = Infinity; //#23152\n for (var _50 = 0, _51 = $1.msglen + 1; _50 < _51; _50++) { //#23152\n $k[$j++] = 0; //#23152\n } //#23152\n $1.UntilEndSeg = $a(); //#23152\n for (var _54 = $1.msglen - 1; _54 >= 0; _54 -= 1) { //#23207\n $1.i = _54; //#23154\n $1.barchar = $get($1.msg, $1.i); //#23155\n if (($1.barchar >= 48) && ($1.barchar <= 57)) { //#23158\n $put($1.nDigits, $1.i, $f($get($1.nDigits, $1.i + 1) + 1)); //#23157\n } //#23157\n var _5H = $get($1.Avals, $1.barchar) !== undefined; //#23159\n if (_5H) { //#23159\n $put($1.DatumA, $1.i, true); //#23159\n } //#23159\n var _5M = $get($1.Bvals, $1.barchar) !== undefined; //#23160\n if (_5M) { //#23160\n $put($1.DatumB, $1.i, true); //#23160\n } //#23160\n $1.CRLF = false; //#23161\n if (($1.barchar == 13) && ($1.i < ($1.msglen - 1))) { //#23164\n if ($get($1.msg, $1.i + 1) == 10) { //#23163\n $1.CRLF = true; //#23163\n } //#23163\n } //#23163\n if ($1.CRLF) { //#23165\n $put($1.DatumB, $1.i, true); //#23165\n } //#23165\n if ($get($1.nDigits, $1.i) >= 2) { //#23166\n $put($1.DatumC, $1.i, true); //#23166\n } //#23166\n if ($1.barchar < 0) { //#23167\n $put($1.DatumC, $1.i, true); //#23167\n } //#23167\n if ($1.barchar >= 128) { //#23168\n $put($1.Binary, $1.i, true); //#23168\n } //#23168\n if ($get($1.nDigits, $1.i) >= 10) { //#23182\n $k[$j++] = Infinity; //#23170\n $aload($geti($1.msg, $1.i, 10)); //#23171\n for (var _5p = 0, _5q = 1; _5p < _5q; _5p++) { //#23179\n if ($k[--$j] != 48) { //#23173\n $k[$j++] = false; //#23173\n break; //#23173\n } //#23173\n if ($k[--$j] != 49) { //#23174\n $k[$j++] = false; //#23174\n break; //#23174\n } //#23174\n $j -= 6; //#23175\n if ($k[--$j] != 55) { //#23176\n $k[$j++] = false; //#23176\n break; //#23176\n } //#23176\n if ($k[--$j] != 49) { //#23177\n $k[$j++] = false; //#23177\n break; //#23177\n } //#23177\n $k[$j++] = true; //#23178\n } //#23178\n $put($1.SeventeenTen, $1.i, $k[--$j]); //#23180\n $cleartomark(); //#23181\n } //#23181\n if (($get($1.nDigits, $1.i + 1) >= 6) && ($get($1.msg, $1.i) == $1.fn2)) { //#23185\n $put($1.ECI, $1.i, true); //#23184\n } //#23184\n if (($1.barchar < 0) && ($1.barchar != $1.fn3)) { //#23192\n $put($1.AheadC, $1.i, $f($get($1.AheadC, $1.i + 1) + 1)); //#23187\n } else { //#23192\n if ($get($1.nDigits, $1.i) <= 1) { //#23192\n $put($1.AheadC, $1.i, 0); //#23190\n } else { //#23192\n $put($1.AheadC, $1.i, $f($get($1.AheadC, $1.i + 2) + 1)); //#23192\n } //#23192\n } //#23192\n if (($get($1.nDigits, $1.i) > 0) && $gt($get($1.AheadC, $1.i), $get($1.AheadC, $1.i + 1))) { //#23197\n $put($1.TryC, $1.i, $get($1.AheadC, $1.i)); //#23196\n } //#23196\n if (($get($1.DatumA, $1.i) && ($get($1.TryC, $1.i) < 2)) && ($1.barchar != $1.fn3)) { //#23200\n $put($1.AheadA, $1.i, $f($get($1.AheadA, $1.i + 1) + 1)); //#23199\n } //#23199\n if (($get($1.DatumB, $1.i) && ($get($1.TryC, $1.i) < 2)) && ($1.barchar != $1.fn3)) { //#23203\n $k[$j++] = $1.AheadB; //#23202\n $k[$j++] = $1.i; //#23202\n $k[$j++] = $1.AheadB; //#23202\n $k[$j++] = $1.i + 1; //#23202\n if ($1.CRLF) { //#23202\n var _73 = $k[--$j]; //#23202\n $k[$j++] = $f(_73 + 1); //#23202\n } //#23202\n var _74 = $k[--$j]; //#23202\n var _76 = $get($k[--$j], _74); //#23202\n var _77 = $k[--$j]; //#23202\n $put($k[--$j], _77, $f(_76 + 1)); //#23202\n } //#23202\n if ($1.barchar != $1.fn3) { //#23206\n $put($1.UntilEndSeg, $1.i, $f($get($1.UntilEndSeg, $1.i + 1) + 1)); //#23205\n } //#23205\n } //#23205\n $1.A = 0; //#23209\n $1.B = 1; //#23209\n $1.C = 2; //#23209\n $1.BIN = 3; //#23209\n $1.addtocws = function() {\n var _7G = $k[--$j]; //#23212\n $puti($1.cws, $1.j, _7G); //#23212\n $1.j = _7G.length + $1.j; //#23213\n }; //#23214\n $1.base259to103 = function() {\n $1.in = $k[--$j]; //#23218\n $1.inlen = $1.in.length; //#23219\n $k[$j++] = Infinity; //#23220\n for (var _7N = 0, _7O = 5 - $1.inlen; _7N < _7O; _7N++) { //#23220\n $k[$j++] = 0; //#23220\n } //#23220\n $aload($1.in); //#23220\n $1.in = $a(); //#23220\n $1.out = $a(6); //#23221\n $k[$j++] = Infinity; //#23222\n $aload($geti($1.in, 0, 2)); //#23222\n $1.msbs = $a(); //#23222\n $k[$j++] = Infinity; //#23225\n $aload($1.msbs); //#23224\n var _7W = $k[--$j]; //#23224\n var _7X = $k[--$j]; //#23224\n $k[$j++] = $f(_7W + (_7X * 259)); //#23225\n for (var _7Y = 0, _7Z = 2; _7Y < _7Z; _7Y++) { //#23225\n var _7a = $k[--$j]; //#23225\n $k[$j++] = _7a % 103; //#23225\n $k[$j++] = ~~(_7a / 103); //#23225\n } //#23225\n $1.mscs = $a(); //#23225\n $k[$j++] = Infinity; //#23227\n $aload($geti($1.in, 2, 3)); //#23227\n $1.lsbs = $a(); //#23227\n $k[$j++] = Infinity; //#23230\n $aload($1.lsbs); //#23229\n var _7g = $k[--$j]; //#23229\n var _7h = $k[--$j]; //#23229\n var _7i = $k[--$j]; //#23229\n $k[$j++] = $f(($f(_7g + (_7h * 259))) + (_7i * 67081)); //#23230\n for (var _7j = 0, _7k = 3; _7j < _7k; _7j++) { //#23230\n var _7l = $k[--$j]; //#23230\n $k[$j++] = _7l % 103; //#23230\n $k[$j++] = ~~(_7l / 103); //#23230\n } //#23230\n $1.lscs = $a(); //#23230\n var _7o = $get($1.lscs, 0); //#23232\n var _7q = $get($1.mscs, 0); //#23232\n $put($1.out, 5, ($f(_7o + (_7q * 42))) % 103); //#23233\n var _7t = $get($1.lscs, 1); //#23234\n var _7v = $get($1.mscs, 0); //#23234\n var _7x = $get($1.mscs, 1); //#23234\n $put($1.out, 4, ($f(($f(($f((~~(($f(_7o + (_7q * 42))) / 103)) + _7t)) + (_7v * 68))) + (_7x * 42))) % 103); //#23235\n var _80 = $get($1.lscs, 2); //#23236\n var _82 = $get($1.mscs, 0); //#23236\n var _84 = $get($1.mscs, 1); //#23236\n var _86 = $get($1.mscs, 2); //#23236\n $put($1.out, 3, ($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_7o + (_7q * 42))) / 103)) + _7t)) + (_7v * 68))) + (_7x * 42))) / 103)) + _80)) + (_82 * 92))) + (_84 * 68))) + (_86 * 42))) % 103); //#23237\n var _89 = $get($1.lscs, 3); //#23238\n var _8B = $get($1.mscs, 0); //#23238\n var _8D = $get($1.mscs, 1); //#23238\n var _8F = $get($1.mscs, 2); //#23238\n $put($1.out, 2, ($f(($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_7o + (_7q * 42))) / 103)) + _7t)) + (_7v * 68))) + (_7x * 42))) / 103)) + _80)) + (_82 * 92))) + (_84 * 68))) + (_86 * 42))) / 103)) + _89)) + (_8B * 15))) + (_8D * 92))) + (_8F * 68))) % 103); //#23239\n var _8I = $get($1.mscs, 1); //#23240\n var _8K = $get($1.mscs, 2); //#23240\n $put($1.out, 1, ($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_7o + (_7q * 42))) / 103)) + _7t)) + (_7v * 68))) + (_7x * 42))) / 103)) + _80)) + (_82 * 92))) + (_84 * 68))) + (_86 * 42))) / 103)) + _89)) + (_8B * 15))) + (_8D * 92))) + (_8F * 68))) / 103)) + (_8I * 15))) + (_8K * 92))) % 103); //#23241\n $put($1.out, 0, ($f((~~(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f(($f((~~(($f(($f(($f((~~(($f(_7o + (_7q * 42))) / 103)) + _7t)) + (_7v * 68))) + (_7x * 42))) / 103)) + _80)) + (_82 * 92))) + (_84 * 68))) + (_86 * 42))) / 103)) + _89)) + (_8B * 15))) + (_8D * 92))) + (_8F * 68))) / 103)) + (_8I * 15))) + (_8K * 92))) / 103)) + ($get($1.mscs, 2) * 15))) % 103); //#23243\n $k[$j++] = $geti($1.out, (6 - $1.inlen) - 1, $1.inlen + 1); //#23244\n }; //#23245\n $1.finaliseBIN = function() {\n if ($1.bpos != 0) { //#23251\n $k[$j++] = $geti($1.bvals, 0, $1.bpos); //#23249\n $1.base259to103(); //#23249\n $aload($k[--$j]); //#23249\n $1.bpos = 0; //#23250\n } //#23250\n }; //#23252\n $1.addtobin = function() {\n $put($1.bvals, $1.bpos, $k[--$j]); //#23255\n $1.bpos = $1.bpos + 1; //#23256\n if ($1.bpos == 5) { //#23257\n $1.finaliseBIN(); //#23257\n } //#23257\n }; //#23258\n $1.ECIabc = function() {\n var _8f = $geti($1.msg, $1.i + 1, 6); //#23261\n $k[$j++] = 0; //#23261\n for (var _8g = 0, _8h = _8f.length; _8g < _8h; _8g++) { //#23261\n var _8j = $k[--$j]; //#23261\n $k[$j++] = ($f(_8j + $f($get(_8f, _8g) - 48))) * 10; //#23261\n } //#23261\n var _8l = ~~($k[--$j] / 10); //#23262\n $k[$j++] = _8l; //#23266\n if (_8l >= 40) { //#23266\n var _8n = $f($k[--$j] - 40); //#23264\n var _8o = _8n % 12769; //#23265\n $k[$j++] = (~~(_8n / 12769)) + 40; //#23265\n $k[$j++] = ~~(_8o / 113); //#23265\n $k[$j++] = _8o % 113; //#23265\n } //#23265\n }; //#23267\n $1.ECIbin = function() {\n $k[$j++] = Infinity; //#23278\n var _8r = $geti($1.msg, $1.i + 1, 6); //#23271\n $k[$j++] = 0; //#23271\n for (var _8s = 0, _8t = _8r.length; _8s < _8t; _8s++) { //#23271\n var _8v = $k[--$j]; //#23271\n $k[$j++] = ($f(_8v + $f($get(_8r, _8s) - 48))) * 10; //#23271\n } //#23271\n var _8x = ~~($k[--$j] / 10); //#23272\n $k[$j++] = _8x; //#23280\n if (_8x >= 65536) { //#23278\n var _8y = $k[--$j]; //#23273\n var _8z = _8y % 65536; //#23273\n $k[$j++] = 258; //#23273\n $k[$j++] = ~~(_8y / 65536); //#23273\n $k[$j++] = ~~(_8z / 256); //#23273\n $k[$j++] = _8z % 256; //#23273\n } else { //#23278\n var _90 = $k[--$j]; //#23275\n $k[$j++] = _90; //#23279\n if (_90 >= 256) { //#23278\n var _91 = $k[--$j]; //#23276\n $k[$j++] = 257; //#23276\n $k[$j++] = ~~(_91 / 256); //#23276\n $k[$j++] = _91 % 256; //#23276\n } else { //#23278\n var _92 = $k[--$j]; //#23278\n $k[$j++] = 256; //#23278\n $k[$j++] = _92; //#23278\n } //#23278\n } //#23278\n var _93 = $a(); //#23278\n for (var _94 = 0, _95 = _93.length; _94 < _95; _94++) { //#23283\n $k[$j++] = $get(_93, _94); //#23282\n $1.addtobin(); //#23282\n } //#23282\n }; //#23284\n $1.encC = function() {\n for (var _97 = 0, _98 = 1; _97 < _98; _97++) { //#23395\n if ($1.i == $1.segstart) { //#23313\n for (var _9B = 0, _9C = 1; _9B < _9C; _9B++) { //#23305\n if ($1.i > $f($1.segend - 7)) { //#23290\n $k[$j++] = 0; //#23290\n break; //#23290\n } //#23290\n if ($get($1.msg, $1.segstart) != 91) { //#23291\n $k[$j++] = 0; //#23291\n break; //#23291\n } //#23291\n if ($get($1.msg, $1.segstart + 1) != 41) { //#23292\n $k[$j++] = 0; //#23292\n break; //#23292\n } //#23292\n if ($get($1.msg, $1.segstart + 2) != 62) { //#23293\n $k[$j++] = 0; //#23293\n break; //#23293\n } //#23293\n if ($get($1.msg, $1.segstart + 3) != 30) { //#23294\n $k[$j++] = 0; //#23294\n break; //#23294\n } //#23294\n var _9T = $get($1.msg, $1.segstart + 4); //#23295\n if ((_9T < 48) || (_9T > 57)) { //#23295\n $k[$j++] = 0; //#23295\n break; //#23295\n } //#23295\n var _9W = $get($1.msg, $1.segstart + 5); //#23296\n if ((_9W < 48) || (_9W > 57)) { //#23296\n $k[$j++] = 0; //#23296\n break; //#23296\n } //#23296\n if ($get($1.msg, $f($1.segend - 1)) != 4) { //#23297\n $k[$j++] = 0; //#23297\n break; //#23297\n } //#23297\n var _9g = $f(($f($get($1.msg, $1.segstart + 4) - 48) * 10) + $f($get($1.msg, $1.segstart + 5) - 48)); //#23299\n $k[$j++] = _9g; //#23299\n if ((_9g != 5) && ((_9g != 6) && (_9g != 12))) { //#23299\n $j--; //#23299\n $k[$j++] = $1.mac; //#23299\n break; //#23299\n } //#23299\n if ($get($1.msg, $1.segstart + 6) != 29) { //#23300\n $j--; //#23300\n $k[$j++] = 0; //#23300\n break; //#23300\n } //#23300\n if ($get($1.msg, $f($1.segend - 2)) != 30) { //#23301\n $j--; //#23301\n $k[$j++] = 0; //#23301\n break; //#23301\n } //#23301\n var _9o = $k[--$j]; //#23302\n $k[$j++] = _9o; //#23302\n if (_9o == 5) { //#23302\n $j--; //#23302\n $k[$j++] = $1.m05; //#23302\n break; //#23302\n } //#23302\n if ($k[--$j] == 6) { //#23303\n $k[$j++] = $1.m06; //#23303\n break; //#23303\n } //#23303\n $k[$j++] = $1.m12; //#23304\n break; //#23304\n } //#23304\n $1.inmac = $k[--$j]; //#23306\n if ($1.inmac != 0) { //#23312\n $1.mode = $1.B; //#23308\n $k[$j++] = $a([$get($1.Bvals, $1.inmac)]); //#23309\n $1.addtocws(); //#23309\n var _A3 = ($1.inmac != $1.mac) ? 7 : 6; //#23310\n $1.i = $1.i + _A3; //#23310\n break; //#23311\n } //#23311\n } //#23311\n if ($1.i == $1.segstart) { //#23324\n if ($get($1.nDigits, $1.i) >= 2) { //#23319\n $k[$j++] = $a([$get($1.Cvals, $1.fn1)]); //#23318\n $1.addtocws(); //#23318\n } //#23318\n if (($get($1.msg, $1.i) == $1.fn1) && ($get($1.nDigits, $1.i + 1) >= 2)) { //#23323\n $1.i = $1.i + 1; //#23322\n } //#23322\n } //#23322\n if ($get($1.SeventeenTen, $1.i)) { //#23334\n $k[$j++] = $a([$get($1.Cvals, $1.aim), $f(($f($get($1.msg, $1.i + 2) - 48) * 10) + $f($get($1.msg, $1.i + 3) - 48)), $f(($f($get($1.msg, $1.i + 4) - 48) * 10) + $f($get($1.msg, $1.i + 5) - 48)), $f(($f($get($1.msg, $1.i + 6) - 48) * 10) + $f($get($1.msg, $1.i + 7) - 48))]); //#23331\n $1.addtocws(); //#23331\n $1.i = $1.i + 10; //#23332\n break; //#23333\n } //#23333\n if ($get($1.DatumC, $1.i)) { //#23356\n var _Aq = $get($1.msg, $1.i); //#23336\n if ((_Aq == $1.fn1) || ((_Aq == $1.fn2) || (_Aq == $1.fn3))) { //#23352\n $k[$j++] = $a([$get($1.Cvals, $get($1.msg, $1.i))]); //#23337\n $1.addtocws(); //#23337\n if ($get($1.ECI, $1.i)) { //#23342\n $k[$j++] = Infinity; //#23339\n $1.ECIabc(); //#23339\n var _B3 = $a(); //#23339\n $k[$j++] = _B3; //#23339\n $1.addtocws(); //#23339\n $1.i = $1.i + 7; //#23340\n break; //#23341\n } //#23341\n if (($get($1.msg, $1.i) == $1.fn3) && ($1.segstart != $1.i)) { //#23349\n $1.i = $1.i + 1; //#23344\n $1.inmac = 0; //#23345\n $1.segstart = $1.i; //#23346\n $1.segend = $f($1.i + $get($1.UntilEndSeg, $1.i)); //#23347\n break; //#23348\n } //#23348\n $1.i = $1.i + 1; //#23350\n break; //#23351\n } //#23351\n $k[$j++] = $a([$f(($f($get($1.msg, $1.i) - 48) * 10) + $f($get($1.msg, $1.i + 1) - 48))]); //#23353\n $1.addtocws(); //#23353\n $1.i = $1.i + 2; //#23354\n break; //#23355\n } //#23355\n if ($get($1.Binary, $1.i)) { //#23370\n if ($get($1.nDigits, $1.i + 1) > 0) { //#23366\n if ($get($1.msg, $1.i) < 160) { //#23362\n $k[$j++] = $a([$get($1.Cvals, $1.bsa), $get($1.Avals, $f($get($1.msg, $1.i) - 128))]); //#23360\n $1.addtocws(); //#23360\n } else { //#23362\n $k[$j++] = $a([$get($1.Cvals, $1.bsb), $get($1.Bvals, $f($get($1.msg, $1.i) - 128))]); //#23362\n $1.addtocws(); //#23362\n } //#23362\n $1.i = $1.i + 1; //#23364\n break; //#23365\n } //#23365\n $k[$j++] = $a([$get($1.Cvals, $1.bin)]); //#23367\n $1.addtocws(); //#23367\n $1.mode = $1.BIN; //#23368\n break; //#23369\n } //#23369\n $1.m = $get($1.AheadA, $1.i); //#23371\n $1.n = $get($1.AheadB, $1.i); //#23371\n if ($gt($1.m, $1.n)) { //#23376\n $k[$j++] = $a([$get($1.Cvals, $1.laa)]); //#23373\n $1.addtocws(); //#23373\n $1.mode = $1.A; //#23374\n break; //#23375\n } //#23375\n if ($1.i == $1.segstart) { //#23383\n var _CE = $get($1.msg, $1.i); //#23378\n if ((_CE == 9) || ((_CE == 28) || ((_CE == 29) || (_CE == 30)))) { //#23382\n $k[$j++] = $a([$get($1.Cvals, $1.laa)]); //#23379\n $1.addtocws(); //#23379\n $1.mode = $1.A; //#23380\n break; //#23381\n } //#23381\n } //#23381\n if ($1.n > 4) { //#23388\n $k[$j++] = $a([$get($1.Cvals, $1.lab)]); //#23385\n $1.addtocws(); //#23385\n $1.mode = $1.B; //#23386\n break; //#23387\n } //#23387\n $k[$j++] = $a([$get($1.Cvals, $get($a([$1.sfb, $1.sb2, $1.sb3, $1.sb4]), $f($1.n - 1)))]); //#23389\n $1.addtocws(); //#23389\n for (var _Cb = 0, _Cc = $1.n; _Cb < _Cc; _Cb++) { //#23393\n $k[$j++] = $a([$get($1.Bvals, $get($1.msg, $1.i))]); //#23391\n $1.addtocws(); //#23391\n $1.i = $1.i + 1; //#23392\n } //#23392\n break; //#23394\n } //#23394\n }; //#23396\n $1.encB = function() {\n for (var _Ck = 0, _Cl = 1; _Ck < _Cl; _Ck++) { //#23471\n $1.n = $get($1.TryC, $1.i); //#23400\n if ($1.n >= 2) { //#23418\n if ($1.n > 4) { //#23406\n $k[$j++] = $a([$get($1.Bvals, $1.lac)]); //#23403\n $1.addtocws(); //#23403\n $1.mode = $1.C; //#23404\n break; //#23405\n } //#23405\n $k[$j++] = $a([$get($1.Bvals, $get($a([$1.sfc, $1.sc2, $1.sc3, $1.sc4]), $f($1.n - 1)))]); //#23407\n $1.addtocws(); //#23407\n for (var _D7 = 0, _D8 = $1.n; _D7 < _D8; _D7++) { //#23416\n if ($get($1.msg, $1.i) < 0) { //#23414\n $k[$j++] = $a([$get($1.Cvals, $get($1.msg, $1.i))]); //#23410\n $1.addtocws(); //#23410\n $1.i = $1.i + 1; //#23411\n } else { //#23414\n $k[$j++] = $a([$f(($f($get($1.msg, $1.i) - 48) * 10) + $f($get($1.msg, $1.i + 1) - 48))]); //#23413\n $1.addtocws(); //#23413\n $1.i = $1.i + 2; //#23414\n } //#23414\n } //#23414\n break; //#23417\n } //#23417\n if ($get($1.DatumB, $1.i)) { //#23448\n var _DW = $get($1.msg, $1.i); //#23420\n if ((_DW == $1.fn1) || ((_DW == $1.fn2) || (_DW == $1.fn3))) { //#23437\n $k[$j++] = $a([$get($1.Bvals, $get($1.msg, $1.i))]); //#23421\n $1.addtocws(); //#23421\n if ($get($1.ECI, $1.i)) { //#23426\n $k[$j++] = Infinity; //#23423\n $1.ECIabc(); //#23423\n var _Dj = $a(); //#23423\n $k[$j++] = _Dj; //#23423\n $1.addtocws(); //#23423\n $1.i = $1.i + 7; //#23424\n break; //#23425\n } //#23425\n if (($get($1.msg, $1.i) == $1.fn3) && ($1.i != $1.segstart)) { //#23434\n $1.i = $1.i + 1; //#23428\n $1.mode = $1.C; //#23429\n $1.inmac = 0; //#23430\n $1.segstart = $1.i; //#23431\n $1.segend = $f($1.i + $get($1.UntilEndSeg, $1.i)); //#23432\n break; //#23433\n } //#23433\n $1.i = $1.i + 1; //#23435\n break; //#23436\n } //#23436\n if (($get($1.msg, $1.i) == 13) && ($1.i < ($1.msglen - 1))) { //#23444\n if ($get($1.msg, $1.i + 1) == 10) { //#23443\n $k[$j++] = $a([$get($1.Bvals, $1.crl)]); //#23440\n $1.addtocws(); //#23440\n $1.i = $1.i + 2; //#23441\n break; //#23442\n } //#23442\n } //#23442\n $k[$j++] = $a([$get($1.Bvals, $get($1.msg, $1.i))]); //#23445\n $1.addtocws(); //#23445\n $1.i = $1.i + 1; //#23446\n break; //#23447\n } //#23447\n if ($get($1.Binary, $1.i)) { //#23462\n if ($get($1.DatumB, $1.i + 1)) { //#23458\n if ($get($1.msg, $1.i) < 160) { //#23454\n $k[$j++] = $a([$get($1.Bvals, $1.bsa), $get($1.Avals, $f($get($1.msg, $1.i) - 128))]); //#23452\n $1.addtocws(); //#23452\n } else { //#23454\n $k[$j++] = $a([$get($1.Bvals, $1.bsb), $get($1.Bvals, $f($get($1.msg, $1.i) - 128))]); //#23454\n $1.addtocws(); //#23454\n } //#23454\n $1.i = $1.i + 1; //#23456\n break; //#23457\n } //#23457\n $k[$j++] = $a([$get($1.Bvals, $1.bin)]); //#23459\n $1.addtocws(); //#23459\n $1.mode = $1.BIN; //#23460\n break; //#23461\n } //#23461\n if ($get($1.AheadA, $1.i) == 1) { //#23467\n $k[$j++] = $a([$get($1.Bvals, $1.sfa), $get($1.Avals, $get($1.msg, $1.i))]); //#23464\n $1.addtocws(); //#23464\n $1.i = $1.i + 1; //#23465\n break; //#23466\n } //#23466\n $k[$j++] = $a([$get($1.Bvals, $1.laa)]); //#23468\n $1.addtocws(); //#23468\n $1.mode = $1.A; //#23469\n break; //#23470\n } //#23470\n }; //#23472\n $1.encA = function() {\n for (var _F8 = 0, _F9 = 1; _F8 < _F9; _F8++) { //#23544\n $1.n = $get($1.TryC, $1.i); //#23476\n if ($1.n >= 2) { //#23494\n if ($1.n > 4) { //#23482\n $k[$j++] = $a([$get($1.Avals, $1.lac)]); //#23479\n $1.addtocws(); //#23479\n $1.mode = $1.C; //#23480\n break; //#23481\n } //#23481\n $k[$j++] = $a([$get($1.Avals, $get($a([$1.sfc, $1.sc2, $1.sc3, $1.sc4]), $f($1.n - 1)))]); //#23483\n $1.addtocws(); //#23483\n for (var _FV = 0, _FW = $1.n; _FV < _FW; _FV++) { //#23492\n if ($get($1.msg, $1.i) < 0) { //#23490\n $k[$j++] = $a([$get($1.Cvals, $get($1.msg, $1.i))]); //#23486\n $1.addtocws(); //#23486\n $1.i = $1.i + 1; //#23487\n } else { //#23490\n $k[$j++] = $a([$f(($f($get($1.msg, $1.i) - 48) * 10) + $f($get($1.msg, $1.i + 1) - 48))]); //#23489\n $1.addtocws(); //#23489\n $1.i = $1.i + 2; //#23490\n } //#23490\n } //#23490\n break; //#23493\n } //#23493\n if ($get($1.DatumA, $1.i)) { //#23517\n var _Fu = $get($1.msg, $1.i); //#23496\n if ((_Fu == $1.fn1) || ((_Fu == $1.fn2) || (_Fu == $1.fn3))) { //#23513\n $k[$j++] = $a([$get($1.Avals, $get($1.msg, $1.i))]); //#23497\n $1.addtocws(); //#23497\n if ($get($1.ECI, $1.i)) { //#23502\n $k[$j++] = Infinity; //#23499\n $1.ECIabc(); //#23499\n var _G7 = $a(); //#23499\n $k[$j++] = _G7; //#23499\n $1.addtocws(); //#23499\n $1.i = $1.i + 7; //#23500\n break; //#23501\n } //#23501\n if (($get($1.msg, $1.i) == $1.fn3) && ($1.i != $1.segstart)) { //#23510\n $1.i = $1.i + 1; //#23504\n $1.mode = $1.C; //#23505\n $1.inmac = 0; //#23506\n $1.segstart = $1.i; //#23507\n $1.segend = $f($1.i + $get($1.UntilEndSeg, $1.i)); //#23508\n break; //#23509\n } //#23509\n $1.i = $1.i + 1; //#23511\n break; //#23512\n } //#23512\n $k[$j++] = $a([$get($1.Avals, $get($1.msg, $1.i))]); //#23514\n $1.addtocws(); //#23514\n $1.i = $1.i + 1; //#23515\n break; //#23516\n } //#23516\n if ($get($1.Binary, $1.i)) { //#23531\n if ($get($1.DatumA, $1.i + 1)) { //#23527\n if ($get($1.msg, $1.i) < 160) { //#23523\n $k[$j++] = $a([$get($1.Avals, $1.bsa), $get($1.Avals, $f($get($1.msg, $1.i) - 128))]); //#23521\n $1.addtocws(); //#23521\n } else { //#23523\n $k[$j++] = $a([$get($1.Avals, $1.bsb), $get($1.Bvals, $f($get($1.msg, $1.i) - 128))]); //#23523\n $1.addtocws(); //#23523\n } //#23523\n $1.i = $1.i + 1; //#23525\n break; //#23526\n } //#23526\n $k[$j++] = $a([$get($1.Avals, $1.bin)]); //#23528\n $1.addtocws(); //#23528\n $1.mode = $1.BIN; //#23529\n break; //#23530\n } //#23530\n $1.n = $get($1.AheadB, $1.i); //#23532\n if ($1.n > 6) { //#23537\n $k[$j++] = $a([$get($1.Avals, $1.lab)]); //#23534\n $1.addtocws(); //#23534\n $1.mode = $1.B; //#23535\n break; //#23536\n } //#23536\n $k[$j++] = $a([$get($1.Avals, $get($a([$1.sfb, $1.sb2, $1.sb3, $1.sb4, $1.sb5, $1.sb6]), $f($1.n - 1)))]); //#23538\n $1.addtocws(); //#23538\n for (var _HN = 0, _HO = $1.n; _HN < _HO; _HN++) { //#23542\n $k[$j++] = $a([$get($1.Bvals, $get($1.msg, $1.i))]); //#23540\n $1.addtocws(); //#23540\n $1.i = $1.i + 1; //#23541\n } //#23541\n break; //#23543\n } //#23543\n }; //#23545\n $1.encBIN = function() {\n for (var _HW = 0, _HX = 1; _HW < _HX; _HW++) { //#23606\n $1.n = $get($1.TryC, $1.i); //#23549\n if ($1.n >= 2) { //#23568\n $k[$j++] = Infinity; //#23551\n $1.finaliseBIN(); //#23551\n var _Hc = $a(); //#23551\n $k[$j++] = _Hc; //#23551\n $1.addtocws(); //#23551\n if ($1.n > 7) { //#23556\n var _Hi = $k[--$j]; //#23553\n $1.mode = $1.C; //#23554\n $k[$j++] = $f(_Hi + $a([$get($1.BINvals, $1.tmc)])); //#23555\n break; //#23555\n } //#23555\n $k[$j++] = $a([$get($1.BINvals, $get($a([$1.sc2, $1.sc3, $1.sc4, $1.sc5, $1.sc6, $1.sc7]), $f($1.n - 2)))]); //#23557\n $1.addtocws(); //#23557\n for (var _Hx = 0, _Hy = $1.n; _Hx < _Hy; _Hx++) { //#23566\n if ($get($1.msg, $1.i) < 0) { //#23564\n $k[$j++] = $a([$get($1.Cvals, $get($1.msg, $1.i))]); //#23560\n $1.addtocws(); //#23560\n $1.i = $1.i + 1; //#23561\n } else { //#23564\n $k[$j++] = $a([$f(($f($get($1.msg, $1.i) - 48) * 10) + $f($get($1.msg, $1.i + 1) - 48))]); //#23563\n $1.addtocws(); //#23563\n $1.i = $1.i + 2; //#23564\n } //#23564\n } //#23564\n break; //#23567\n } //#23567\n if (($get($1.ECI, $1.i) && $get($1.Binary, $1.i + 7))) { //#23574\n $k[$j++] = Infinity; //#23570\n $1.ECIbin(); //#23570\n var _IN = $a(); //#23570\n $k[$j++] = _IN; //#23570\n $1.addtocws(); //#23570\n $1.i = $1.i + 7; //#23571\n if ($1.i == $1.msglen) { //#23572\n $k[$j++] = Infinity; //#23572\n $1.finaliseBIN(); //#23572\n var _IR = $a(); //#23572\n $k[$j++] = _IR; //#23572\n $1.addtocws(); //#23572\n } //#23572\n break; //#23573\n } //#23573\n if ($get($1.msg, $1.i) >= 0) { //#23584\n if (((($get($1.Binary, $1.i) || $get($1.Binary, $1.i + 1)) || $get($1.Binary, $1.i + 2)) || $get($1.Binary, $1.i + 3)) || ($get($1.ECI, $1.i + 1) && $get($1.Binary, $1.i + 8))) { //#23583\n $k[$j++] = Infinity; //#23579\n $k[$j++] = $get($1.msg, $1.i); //#23579\n $1.addtobin(); //#23579\n var _Iq = $a(); //#23579\n $k[$j++] = _Iq; //#23579\n $1.addtocws(); //#23579\n $1.i = $1.i + 1; //#23580\n if ($1.i == $1.msglen) { //#23581\n $k[$j++] = Infinity; //#23581\n $1.finaliseBIN(); //#23581\n var _Iu = $a(); //#23581\n $k[$j++] = _Iu; //#23581\n $1.addtocws(); //#23581\n } //#23581\n break; //#23582\n } //#23582\n } //#23582\n $k[$j++] = Infinity; //#23585\n $1.finaliseBIN(); //#23585\n var _Iv = $a(); //#23585\n $k[$j++] = _Iv; //#23585\n $1.addtocws(); //#23585\n if ($1.i != ($1.msglen - 1)) { //#23604\n if (($get($1.msg, $1.i) == $1.fn3) && ($1.i != $1.segstart)) { //#23595\n $k[$j++] = $a([$get($1.BINvals, $1.tms)]); //#23588\n $1.addtocws(); //#23588\n $1.i = $1.i + 1; //#23589\n $1.mode = $1.C; //#23590\n $1.inmac = 0; //#23591\n $1.segstart = $1.i; //#23592\n $1.segend = $f($1.i + $get($1.UntilEndSeg, $1.i)); //#23593\n break; //#23594\n } //#23594\n if ($gt($get($1.AheadA, $1.i), $get($1.AheadB, $1.i))) { //#23601\n $k[$j++] = $a([$get($1.BINvals, $1.tma)]); //#23597\n $1.addtocws(); //#23597\n $1.mode = $1.A; //#23598\n } else { //#23601\n $k[$j++] = $a([$get($1.BINvals, $1.tmb)]); //#23600\n $1.addtocws(); //#23600\n $1.mode = $1.B; //#23601\n } //#23601\n break; //#23603\n } //#23603\n break; //#23605\n } //#23605\n }; //#23607\n $1.cws = $a(($1.msglen * 2) + 1); //#23609\n $1.mode = $1.C; //#23610\n $1.bvals = $a(5); //#23611\n $1.bpos = 0; //#23611\n $1.inmac = 0; //#23612\n $1.segstart = 0; //#23612\n $1.segend = $get($1.UntilEndSeg, 0); //#23612\n $1.i = 0; //#23613\n $1.j = 0; //#23613\n for (;;) { //#23626\n if ($1.i >= $1.msglen) { //#23614\n break; //#23614\n } //#23614\n if ($1.inmac != 0) { //#23624\n if (($1.inmac != $1.mac) && ($1.i == $f($1.segend - 2))) { //#23619\n $1.i = $1.i + 2; //#23617\n if ($1.i >= $1.msglen) { //#23618\n break; //#23618\n } //#23618\n } //#23618\n if (($1.inmac == $1.mac) && ($1.i == $f($1.segend - 1))) { //#23623\n $1.i = $1.i + 1; //#23621\n if ($1.i >= $1.msglen) { //#23622\n break; //#23622\n } //#23622\n } //#23622\n } //#23622\n if ($1[$get($a(['encA', 'encB', 'encC', 'encBIN']), $1.mode)]() === true) {\n break;\n } //#23625\n } //#23625\n $1.cws = $geti($1.cws, 0, $1.j); //#23627\n $1.nd = $1.cws.length; //#23630\n $1.minarea = (((($1.nd + 3) + (~~($1.nd / 2))) * 9) + 2) * 2; //#23631\n if ($1.ratio != -1) { //#23659\n $1.hgt = Math.sqrt($1.minarea / $1.ratio); //#23633\n $1.wid = Math.sqrt($1.minarea * $1.ratio); //#23634\n $1.h = ~~$1.hgt; //#23635\n $1.w = ~~$1.wid; //#23635\n if ((($1.h + $1.w) % 2) == 1) { //#23649\n if (($1.h * $1.w) < $1.minarea) { //#23637\n $1.h = $1.h + 1; //#23637\n $1.w = $1.w + 1; //#23637\n } //#23637\n } else { //#23649\n if (($1.hgt * $1.w) < ($1.wid * $1.h)) { //#23649\n $1.w = $1.w + 1; //#23640\n if (($1.h * $1.w) < $1.minarea) { //#23644\n $1.w = $1.w - 1; //#23642\n $1.h = $1.h + 1; //#23642\n if (($1.h * $1.w) < $1.minarea) { //#23643\n $1.w = $1.w + 2; //#23643\n } //#23643\n } //#23643\n } else { //#23649\n $1.h = $1.h + 1; //#23646\n if (($1.h * $1.w) < $1.minarea) { //#23650\n $1.h = $1.h - 1; //#23648\n $1.w = $1.w + 1; //#23648\n if (($1.h * $1.w) < $1.minarea) { //#23649\n $1.h = $1.h + 2; //#23649\n } //#23649\n } //#23649\n } //#23649\n } //#23649\n $1.rows = $1.h; //#23653\n $1.columns = $1.w; //#23653\n } else { //#23659\n if ($1.columns == -1) { //#23657\n var _Kk = ~~((($1.minarea + $1.rows) - 1) / $1.rows); //#23656\n $k[$j++] = 'columns'; //#23656\n $k[$j++] = _Kk; //#23656\n if (((_Kk + $1.rows) % 2) == 0) { //#23656\n var _Km = $k[--$j]; //#23656\n $k[$j++] = $f(_Km + 1); //#23656\n } //#23656\n var _Kn = $k[--$j]; //#23656\n $1[$k[--$j]] = _Kn; //#23656\n } //#23656\n if ($1.rows == -1) { //#23660\n var _Kt = ~~((($1.minarea + $1.columns) - 1) / $1.columns); //#23659\n $k[$j++] = 'rows'; //#23659\n $k[$j++] = _Kt; //#23659\n if (((_Kt + $1.columns) % 2) == 0) { //#23659\n var _Kv = $k[--$j]; //#23659\n $k[$j++] = $f(_Kv + 1); //#23659\n } //#23659\n var _Kw = $k[--$j]; //#23659\n $1[$k[--$j]] = _Kw; //#23659\n } //#23659\n } //#23659\n $1.ndots = ~~(($1.rows * $1.columns) / 2); //#23664\n for (;;) { //#23668\n var _L1 = $1.nd + 1; //#23666\n if ((((_L1 + ((~~(_L1 / 2)) + 3)) * 9) + 2) > $1.ndots) { //#23666\n break; //#23666\n } //#23666\n $1.nd = $1.nd + 1; //#23667\n } //#23667\n $1.nc = (~~($1.nd / 2)) + 3; //#23669\n $1.nw = $1.nd + $1.nc; //#23670\n $1.rembits = $1.ndots - (($1.nw * 9) + 2); //#23671\n if ($1.nd > $1.cws.length) { //#23678\n $k[$j++] = Infinity; //#23676\n $aload($1.cws); //#23674\n var _LE = ($1.mode == $1.BIN) ? 109 : 106; //#23675\n $k[$j++] = _LE; //#23676\n for (var _LH = 0, _LI = ($1.nd - $1.cws.length) - 1; _LH < _LI; _LH++) { //#23676\n $k[$j++] = 106; //#23676\n } //#23676\n $1.cws = $a(); //#23676\n } //#23677\n $1.encs = $a([\"101010101\", \"010101011\", \"010101101\", \"010110101\", \"011010101\", \"101010110\", \"101011010\", \"101101010\", \"110101010\", \"010101110\", \"010110110\", \"010111010\", \"011010110\", \"011011010\", \"011101010\", \"100101011\", \"100101101\", \"100110101\", \"101001011\", \"101001101\", \"101010011\", \"101011001\", \"101100101\", \"101101001\", \"110010101\", \"110100101\", \"110101001\", \"001010111\", \"001011011\", \"001011101\", \"001101011\", \"001101101\", \"001110101\", \"010010111\", \"010011011\", \"010011101\", \"010100111\", \"010110011\", \"010111001\", \"011001011\", \"011001101\", \"011010011\", \"011011001\", \"011100101\", \"011101001\", \"100101110\", \"100110110\", \"100111010\", \"101001110\", \"101011100\", \"101100110\", \"101101100\", \"101110010\", \"101110100\", \"110010110\", \"110011010\", \"110100110\", \"110101100\", \"110110010\", \"110110100\", \"111001010\", \"111010010\", \"111010100\", \"001011110\", \"001101110\", \"001110110\", \"001111010\", \"010011110\", \"010111100\", \"011001110\", \"011011100\", \"011100110\", \"011101100\", \"011110010\", \"011110100\", \"100010111\", \"100011011\", \"100011101\", \"100100111\", \"100110011\", \"100111001\", \"101000111\", \"101100011\", \"101110001\", \"110001011\", \"110001101\", \"110010011\", \"110011001\", \"110100011\", \"110110001\", \"111000101\", \"111001001\", \"111010001\", \"000101111\", \"000110111\", \"000111011\", \"000111101\", \"001001111\", \"001100111\", \"001110011\", \"001111001\", \"010001111\", \"011000111\", \"011100011\", \"011110001\", \"100011110\", \"100111100\", \"101111000\", \"110001110\", \"110011100\", \"110111000\", \"111000110\", \"111001100\"]); //#23705\n if (($1.rows % 2) == 0) { //#23725\n $1.sixedges = $a([$a([$1.columns - 1, $1.rows - 2]), $a([0, $1.rows - 2]), $a([$1.columns - 2, $1.rows - 1]), $a([1, $1.rows - 1]), $a([$1.columns - 1, 0]), $a([0, 0])]); //#23716\n } else { //#23725\n $1.sixedges = $a([$a([$1.columns - 2, 0]), $a([$1.columns - 2, $1.rows - 1]), $a([$1.columns - 1, 1]), $a([$1.columns - 1, $1.rows - 2]), $a([0, 0]), $a([0, $1.rows - 1])]); //#23725\n } //#23725\n $1.dmv = function() {\n var _Lp = $k[--$j]; //#23728\n var _Lq = $k[--$j]; //#23728\n $k[$j++] = $f(_Lq + (_Lp * $1.columns)); //#23728\n }; //#23728\n $1.outline = $a($1.rows * $1.columns); //#23731\n for (var _Lw = 0, _Lv = $1.rows - 1; _Lw <= _Lv; _Lw += 1) { //#23738\n $1.y = _Lw; //#23733\n for (var _Lz = 0, _Ly = $1.columns - 1; _Lz <= _Ly; _Lz += 1) { //#23737\n $1.x = _Lz; //#23735\n $k[$j++] = $1.outline; //#23736\n $k[$j++] = $1.x; //#23736\n $k[$j++] = $1.y; //#23736\n $1.dmv(); //#23736\n var _M5 = $k[--$j]; //#23736\n $put($k[--$j], _M5, (($1.x + $1.y) % 2) - 1); //#23736\n } //#23736\n } //#23736\n var _M7 = $1.sixedges; //#23739\n for (var _M8 = 0, _M9 = _M7.length; _M8 < _M9; _M8++) { //#23741\n $k[$j++] = $1.outline; //#23740\n $aload($get(_M7, _M8)); //#23740\n $1.dmv(); //#23740\n var _MC = $k[--$j]; //#23740\n $put($k[--$j], _MC, 1); //#23740\n } //#23740\n $1.clearcol = function() {\n $1.x = $k[--$j]; //#23744\n $k[$j++] = true; //#23748\n for (var _MI = $1.x & 1, _MH = $1.rows - 1; _MI <= _MH; _MI += 2) { //#23748\n $k[$j++] = $1.x; //#23747\n $k[$j++] = _MI; //#23747\n $1.dmv(); //#23747\n if ($get($1.sym, $k[--$j]) == 1) { //#23747\n $j--; //#23747\n $k[$j++] = false; //#23747\n break; //#23747\n } //#23747\n } //#23747\n }; //#23749\n $1.clearrow = function() {\n $1.y = $k[--$j]; //#23752\n $k[$j++] = true; //#23756\n for (var _MR = $1.y & 1, _MQ = $1.columns - 1; _MR <= _MQ; _MR += 2) { //#23756\n $k[$j++] = _MR; //#23755\n $k[$j++] = $1.y; //#23755\n $1.dmv(); //#23755\n if ($get($1.sym, $k[--$j]) == 1) { //#23755\n $j--; //#23755\n $k[$j++] = false; //#23755\n break; //#23755\n } //#23755\n } //#23755\n }; //#23757\n $1.evalsymbol = function() {\n $1.sym = $k[--$j]; //#23761\n $1.worst = 9999999; //#23764\n var _Mb = $a([$a(['x', 0]), $a(['x', 1]), $a(['y', 0]), $a(['y', 1])]); //#23765\n for (var _Mc = 0, _Md = _Mb.length; _Mc < _Md; _Mc++) { //#23783\n $aload($get(_Mb, _Mc)); //#23766\n $1.fl = $k[--$j]; //#23766\n $1.dir = $k[--$j]; //#23766\n $1.sum = 0; //#23767\n $1.first = -1; //#23767\n $1.last = -1; //#23767\n var _Mi = $eq($1.dir, 'x') ? $1.columns : $1.rows; //#23768\n for (var _Mk = 0, _Mj = _Mi - 1; _Mk <= _Mj; _Mk += 1) { //#23779\n $1[$1.dir] = _Mk; //#23769\n var _Mm = $1.sym; //#23770\n var _Mo = $1[$1.dir]; //#23771\n var _Mq = $eq($1.dir, 'x') ? $1.rows : $1.columns; //#23772\n var _Mt = (_Mq - 1) * $1.fl; //#23773\n if ($eq($1.dir, 'y')) { //#23773\n var _ = _Mt; //#23773\n _Mt = _Mo; //#23773\n _Mo = _; //#23773\n } //#23773\n $k[$j++] = _Mm; //#23774\n $k[$j++] = _Mo; //#23774\n $k[$j++] = _Mt; //#23774\n $1.dmv(); //#23774\n var _Mu = $k[--$j]; //#23774\n if ($get($k[--$j], _Mu) == 1) { //#23778\n if ($1.first == -1) { //#23775\n $1.first = $1[$1.dir]; //#23775\n } //#23775\n $1.last = $1[$1.dir]; //#23776\n $1.sum = $1.sum + 1; //#23777\n } //#23777\n } //#23777\n var _N7 = $eq($1.dir, 'x') ? $1.rows : $1.columns; //#23781\n var _N8 = ($f($f($1.sum + $1.last) - $1.first)) * _N7; //#23782\n $k[$j++] = _N8; //#23782\n if (_N8 < $1.worst) { //#23782\n $1.worst = $k[--$j]; //#23782\n } else { //#23782\n $j--; //#23782\n } //#23782\n } //#23782\n $1.pen = 0; //#23785\n if ((($1.rows % 2) == 1) || ($1.rows <= 12)) { //#23803\n $1.sum = 0; //#23791\n $1.p = 0; //#23791\n for (var _NF = 1, _NE = $1.columns - 2; _NF <= _NE; _NF += 1) { //#23801\n $k[$j++] = _NF; //#23793\n $1.clearcol(); //#23793\n if ($k[--$j]) { //#23799\n $1.sum = $1.sum + 1; //#23794\n $k[$j++] = 'p'; //#23795\n if ($1.sum == 1) { //#23795\n $k[$j++] = $1.rows; //#23795\n } else { //#23795\n $k[$j++] = $1.p * $1.rows; //#23795\n } //#23795\n var _NM = $k[--$j]; //#23795\n $1[$k[--$j]] = _NM; //#23795\n } else { //#23799\n $1.sum = 0; //#23797\n $1.pen = $1.pen + $1.p; //#23798\n $1.p = 0; //#23799\n } //#23799\n } //#23799\n $1.pen = $1.pen + $1.p; //#23802\n } //#23802\n if ((($1.rows % 2) == 0) || ($1.columns <= 12)) { //#23821\n $1.sum = 0; //#23809\n $1.p = 0; //#23809\n for (var _NW = 1, _NV = $1.rows - 2; _NW <= _NV; _NW += 1) { //#23819\n $k[$j++] = _NW; //#23811\n $1.clearrow(); //#23811\n if ($k[--$j]) { //#23817\n $1.sum = $1.sum + 1; //#23812\n $k[$j++] = 'p'; //#23813\n if ($1.sum == 1) { //#23813\n $k[$j++] = $1.columns; //#23813\n } else { //#23813\n $k[$j++] = $1.p * $1.columns; //#23813\n } //#23813\n var _Nd = $k[--$j]; //#23813\n $1[$k[--$j]] = _Nd; //#23813\n } else { //#23817\n $1.sum = 0; //#23815\n $1.pen = $1.pen + $1.p; //#23816\n $1.p = 0; //#23817\n } //#23817\n } //#23817\n $1.pen = $1.pen + $1.p; //#23820\n } //#23820\n $k[$j++] = Infinity; //#23831\n for (var _Nk = 0, _Nl = ($1.columns + 4) * 2; _Nk < _Nl; _Nk++) { //#23825\n $k[$j++] = 0; //#23825\n } //#23825\n for (var _Np = 0, _Nq = $1.columns, _No = $1.sym.length - 1; _Nq < 0 ? _Np >= _No : _Np <= _No; _Np += _Nq) { //#23830\n $k[$j++] = 0; //#23828\n $k[$j++] = 0; //#23828\n $aload($geti($1.sym, _Np, $1.columns)); //#23828\n $k[$j++] = 0; //#23829\n $k[$j++] = 0; //#23829\n } //#23829\n for (var _Nv = 0, _Nw = ($1.columns + 4) * 2; _Nv < _Nw; _Nv++) { //#23831\n $k[$j++] = 0; //#23831\n } //#23831\n $1.symp = $a(); //#23831\n $1.columns = $1.columns + 4; //#23835\n $1.rows = $1.rows + 4; //#23836\n $1.sum = 0; //#23837\n for (var _O2 = 2, _O1 = $1.rows - 3; _O2 <= _O1; _O2 += 1) { //#23855\n $1.y = _O2; //#23839\n for (var _O6 = ($1.y & 1) + 2, _O5 = $1.columns - 3; _O6 <= _O5; _O6 += 2) { //#23854\n $1.x = _O6; //#23841\n for (var _O7 = 0, _O8 = 1; _O7 < _O8; _O7++) { //#23853\n $k[$j++] = $1.symp; //#23843\n $k[$j++] = $1.x - 1; //#23843\n $k[$j++] = $1.y - 1; //#23843\n $1.dmv(); //#23843\n var _OC = $k[--$j]; //#23843\n if ($get($k[--$j], _OC) == 1) { //#23843\n break; //#23843\n } //#23843\n $k[$j++] = $1.symp; //#23844\n $k[$j++] = $1.x + 1; //#23844\n $k[$j++] = $1.y - 1; //#23844\n $1.dmv(); //#23844\n var _OI = $k[--$j]; //#23844\n if ($get($k[--$j], _OI) == 1) { //#23844\n break; //#23844\n } //#23844\n $k[$j++] = $1.symp; //#23845\n $k[$j++] = $1.x - 1; //#23845\n $k[$j++] = $1.y + 1; //#23845\n $1.dmv(); //#23845\n var _OO = $k[--$j]; //#23845\n if ($get($k[--$j], _OO) == 1) { //#23845\n break; //#23845\n } //#23845\n $k[$j++] = $1.symp; //#23846\n $k[$j++] = $1.x + 1; //#23846\n $k[$j++] = $1.y + 1; //#23846\n $1.dmv(); //#23846\n var _OU = $k[--$j]; //#23846\n if ($get($k[--$j], _OU) == 1) { //#23846\n break; //#23846\n } //#23846\n $k[$j++] = $1.symp; //#23847\n $k[$j++] = $1.x; //#23847\n $k[$j++] = $1.y; //#23847\n $1.dmv(); //#23847\n var _Oa = $k[--$j]; //#23847\n if ($get($k[--$j], _Oa) == 0) { //#23847\n $1.sum = $1.sum + 1; //#23847\n break; //#23847\n } //#23847\n $k[$j++] = $1.symp; //#23848\n $k[$j++] = $1.x - 2; //#23848\n $k[$j++] = $1.y; //#23848\n $1.dmv(); //#23848\n var _Oh = $k[--$j]; //#23848\n if ($get($k[--$j], _Oh) == 1) { //#23848\n break; //#23848\n } //#23848\n $k[$j++] = $1.symp; //#23849\n $k[$j++] = $1.x; //#23849\n $k[$j++] = $1.y - 2; //#23849\n $1.dmv(); //#23849\n var _On = $k[--$j]; //#23849\n if ($get($k[--$j], _On) == 1) { //#23849\n break; //#23849\n } //#23849\n $k[$j++] = $1.symp; //#23850\n $k[$j++] = $1.x + 2; //#23850\n $k[$j++] = $1.y; //#23850\n $1.dmv(); //#23850\n var _Ot = $k[--$j]; //#23850\n if ($get($k[--$j], _Ot) == 1) { //#23850\n break; //#23850\n } //#23850\n $k[$j++] = $1.symp; //#23851\n $k[$j++] = $1.x; //#23851\n $k[$j++] = $1.y + 2; //#23851\n $1.dmv(); //#23851\n var _Oz = $k[--$j]; //#23851\n if ($get($k[--$j], _Oz) == 1) { //#23851\n break; //#23851\n } //#23851\n $1.sum = $1.sum + 1; //#23852\n } //#23852\n } //#23852\n } //#23852\n $1.columns = $1.columns - 4; //#23856\n $1.rows = $1.rows - 4; //#23857\n if ($1.worst == 0) { //#23862\n $k[$j++] = -99999; //#23860\n } else { //#23862\n $k[$j++] = $f(($f($1.worst - ($1.sum * $1.sum))) - $1.pen); //#23862\n } //#23862\n }; //#23865\n $k[$j++] = Infinity; //#23868\n $k[$j++] = 1; //#23868\n for (var _PA = 0, _PB = 112; _PA < _PB; _PA++) { //#23868\n var _PC = $k[--$j]; //#23868\n $k[$j++] = _PC; //#23868\n $k[$j++] = (_PC * 3) % 113; //#23868\n } //#23868\n $1.rsalog = $a(); //#23868\n $1.step = (~~($1.nw / 112)) + 1; //#23869\n $1.offset = function() {\n var _PG = $k[--$j]; //#23870\n $k[$j++] = $f((_PG * $1.step) + $1.start); //#23870\n }; //#23870\n $1.bestscore = -99999999; //#23878\n $k[$j++] = 'masks'; //#23883\n if ($1.mask != -1) { //#23882\n $k[$j++] = $a([$1.mask]); //#23880\n } else { //#23882\n if ($1.fast) { //#23882\n $k[$j++] = $a([3, 2, 1, 0]); //#23882\n } else { //#23882\n $k[$j++] = $a([0, 1, 2, 3]); //#23882\n } //#23882\n } //#23882\n var _PO = $k[--$j]; //#23883\n $1[$k[--$j]] = _PO; //#23883\n $1.litmasks = $a(4); //#23884\n $forall($1.masks, function() { //#23986\n $1.mask = $k[--$j]; //#23887\n $k[$j++] = Infinity; //#23893\n var _PX = $1.cws; //#23892\n $k[$j++] = $1.mask; //#23892\n $k[$j++] = $get($a([0, 3, 7, 17]), $1.mask); //#23892\n $k[$j++] = 0; //#23892\n for (var _PY = 0, _PZ = _PX.length; _PY < _PZ; _PY++) { //#23892\n var _Pb = $k[--$j]; //#23892\n var _Pc = $k[--$j]; //#23892\n $k[$j++] = $f($get(_PX, _PY) + _Pb) % 113; //#23892\n $k[$j++] = _Pc; //#23892\n $k[$j++] = $f(_Pb + _Pc); //#23892\n } //#23892\n $j -= 2; //#23892\n for (var _Pe = 0, _Pf = $1.nc; _Pe < _Pf; _Pe++) { //#23893\n $k[$j++] = 0; //#23893\n } //#23893\n $1.rscws = $a(); //#23893\n for (var _Pj = 0, _Pi = $1.step - 1; _Pj <= _Pi; _Pj += 1) { //#23917\n $1.start = _Pj; //#23896\n $1.ND = ~~((((($1.nd + 1) - $1.start) + $1.step) - 1) / $1.step); //#23897\n $1.NW = ~~((((($1.nw + 1) - $1.start) + $1.step) - 1) / $1.step); //#23898\n $1.NC = $1.NW - $1.ND; //#23899\n $k[$j++] = Infinity; //#23900\n $k[$j++] = 1; //#23900\n for (var _Pv = 0, _Pw = $1.NC; _Pv < _Pw; _Pv++) { //#23900\n $k[$j++] = 0; //#23900\n } //#23900\n $1.coeffs = $a(); //#23900\n for (var _Q0 = 1, _Pz = $1.NC; _Q0 <= _Pz; _Q0 += 1) { //#23907\n $1.i = _Q0; //#23902\n for (var _Q2 = $1.NC; _Q2 >= 1; _Q2 -= 1) { //#23906\n $1.j = _Q2; //#23904\n $put($1.coeffs, $1.j, ($f($f($get($1.coeffs, $1.j) + 113) - (($get($1.rsalog, $1.i) * $get($1.coeffs, $1.j - 1)) % 113))) % 113); //#23905\n } //#23905\n } //#23905\n for (var _QG = 0, _QF = $1.ND - 1; _QG <= _QF; _QG += 1) { //#23915\n $k[$j++] = 't'; //#23909\n $k[$j++] = $1.rscws; //#23909\n $k[$j++] = _QG; //#23909\n $1.offset(); //#23909\n var _QI = $k[--$j]; //#23909\n var _QK = $get($k[--$j], _QI); //#23909\n $k[$j++] = _QK; //#23909\n $k[$j++] = $1.rscws; //#23909\n $k[$j++] = $1.ND; //#23909\n $1.offset(); //#23909\n var _QN = $k[--$j]; //#23909\n var _QP = $get($k[--$j], _QN); //#23909\n var _QQ = $k[--$j]; //#23909\n $1[$k[--$j]] = $f(_QQ + _QP) % 113; //#23909\n for (var _QU = 0, _QT = $1.NC - 2; _QU <= _QT; _QU += 1) { //#23913\n $1.j = _QU; //#23911\n $k[$j++] = $1.rscws; //#23912\n $k[$j++] = $1.ND + $1.j; //#23912\n $1.offset(); //#23912\n $k[$j++] = $1.rscws; //#23912\n $k[$j++] = ($1.ND + $1.j) + 1; //#23912\n $1.offset(); //#23912\n var _Qb = $k[--$j]; //#23912\n var _Qd = $get($k[--$j], _Qb); //#23912\n var _Qi = $k[--$j]; //#23912\n $put($k[--$j], _Qi, ($f($f(_Qd + 113) - (($1.t * $get($1.coeffs, $1.j + 1)) % 113))) % 113); //#23912\n } //#23912\n $k[$j++] = $1.rscws; //#23914\n $k[$j++] = ($1.ND + $1.NC) - 1; //#23914\n $1.offset(); //#23914\n var _Qr = $k[--$j]; //#23914\n $put($k[--$j], _Qr, ($f(113 - (($1.t * $get($1.coeffs, $1.NC)) % 113))) % 113); //#23914\n } //#23914\n for (var _Qw = $1.ND, _Qv = $1.NW - 1; _Qw <= _Qv; _Qw += 1) { //#23916\n $k[$j++] = _Qw; //#23916\n $k[$j++] = $1.rscws; //#23916\n $k[$j++] = _Qw; //#23916\n $1.offset(); //#23916\n var _Qz = $k[--$j]; //#23916\n var _R0 = $k[--$j]; //#23916\n var _R1 = $k[--$j]; //#23916\n $k[$j++] = _R0; //#23916\n $k[$j++] = _Qz; //#23916\n $k[$j++] = 113; //#23916\n $k[$j++] = $1.rscws; //#23916\n $k[$j++] = _R1; //#23916\n $1.offset(); //#23916\n var _R2 = $k[--$j]; //#23916\n var _R4 = $get($k[--$j], _R2); //#23916\n var _R5 = $k[--$j]; //#23916\n var _R6 = $k[--$j]; //#23916\n $put($k[--$j], _R6, $f(_R5 - _R4) % 113); //#23916\n } //#23916\n } //#23916\n $1.bits = $s($1.ndots); //#23920\n $puti($1.bits, 0, $get($a([\"00\", \"01\", \"10\", \"11\"]), $1.mask)); //#23921\n for (var _RG = 1, _RF = $1.nw; _RG <= _RF; _RG += 1) { //#23925\n $1.i = _RG; //#23923\n $puti($1.bits, (($1.i - 1) * 9) + 2, $get($1.encs, $get($1.rscws, $1.i))); //#23924\n } //#23924\n if ($1.rembits > 0) { //#23928\n $puti($1.bits, ($1.nw * 9) + 2, $geti(\"11111111111111111\", 0, $1.rembits)); //#23927\n } //#23927\n var _RT = $1.outline; //#23931\n $1.pixs = $arrcpy($a(_RT.length), _RT); //#23931\n $1.posx = 0; //#23932\n $k[$j++] = 'posy'; //#23933\n if (($1.rows % 2) == 0) { //#23933\n $k[$j++] = 0; //#23933\n } else { //#23933\n $k[$j++] = $1.rows - 1; //#23933\n } //#23933\n var _RY = $k[--$j]; //#23933\n $1[$k[--$j]] = _RY; //#23933\n var _Rc = $geti($1.bits, 0, $1.bits.length - 6); //#23934\n for (var _Rd = 0, _Re = _Rc.length; _Rd < _Re; _Rd++) { //#23952\n $k[$j++] = $get(_Rc, _Rd); //#23950\n for (;;) { //#23950\n $k[$j++] = $1.pixs; //#23936\n $k[$j++] = $1.posx; //#23936\n $k[$j++] = $1.posy; //#23936\n $1.dmv(); //#23936\n var _Rj = $k[--$j]; //#23936\n if ($get($k[--$j], _Rj) == -1) { //#23936\n break; //#23936\n } //#23936\n if (($1.rows % 2) == 0) { //#23947\n $1.posy = $1.posy + 1; //#23938\n if ($1.posy == $1.rows) { //#23942\n $1.posy = 0; //#23940\n $1.posx = $1.posx + 1; //#23941\n } //#23941\n } else { //#23947\n $1.posx = $1.posx + 1; //#23944\n if ($1.posx == $1.columns) { //#23948\n $1.posx = 0; //#23946\n $1.posy = $1.posy - 1; //#23947\n } //#23947\n } //#23947\n } //#23947\n $k[$j++] = $1.pixs; //#23951\n $k[$j++] = $1.posx; //#23951\n $k[$j++] = $1.posy; //#23951\n $1.dmv(); //#23951\n var _Ry = $k[--$j]; //#23951\n var _Rz = $k[--$j]; //#23951\n $put(_Rz, _Ry, $f($k[--$j] - 48)); //#23951\n } //#23951\n for (var _S1 = 0; _S1 <= 5; _S1 += 1) { //#23957\n $1.i = _S1; //#23954\n $k[$j++] = $1.pixs; //#23955\n $aload($get($1.sixedges, $1.i)); //#23955\n $1.dmv(); //#23955\n var _SA = $k[--$j]; //#23956\n $put($k[--$j], _SA, $get($1.bits, ($1.bits.length - 6) + $1.i) - 48); //#23956\n } //#23956\n $k[$j++] = 'score'; //#23960\n $k[$j++] = $1.pixs; //#23960\n $1.evalsymbol(); //#23960\n var _SD = $k[--$j]; //#23960\n $1[$k[--$j]] = _SD; //#23960\n if ($1.score > $1.bestscore) { //#23965\n $1.bestsym = $1.pixs; //#23962\n $1.bestscore = $1.score; //#23963\n if ($1.fast && ($1.bestscore > (~~(($1.rows * $1.columns) / 2)))) { //#23964\n return true; //#23964\n } //#23964\n } //#23964\n var _SN = $1.pixs; //#23968\n $1.litmask = $arrcpy($a(_SN.length), _SN); //#23968\n for (var _SQ = 0; _SQ <= 5; _SQ += 1) { //#23973\n $1.i = _SQ; //#23970\n $k[$j++] = $1.litmask; //#23971\n $aload($get($1.sixedges, $1.i)); //#23971\n $1.dmv(); //#23971\n var _SV = $k[--$j]; //#23972\n $put($k[--$j], _SV, 1); //#23972\n } //#23972\n $put($1.litmasks, $1.mask, $1.litmask); //#23974\n if ($1.fast) { //#23984\n $k[$j++] = 'score'; //#23978\n $k[$j++] = $1.litmask; //#23978\n $1.evalsymbol(); //#23978\n var _Sc = $k[--$j]; //#23978\n $1[$k[--$j]] = _Sc; //#23978\n if ($gt($1.score, $1.bestscore)) { //#23983\n $1.bestsym = $1.litmask; //#23980\n $1.bestscore = $1.score; //#23981\n if ($1.bestscore > (~~(($1.rows * $1.columns) / 2))) { //#23982\n return true; //#23982\n } //#23982\n } //#23982\n } //#23982\n }); //#23982\n $1.pixs = $1.bestsym; //#23987\n if ((!$1.fast) && ($1.bestscore <= (~~(($1.rows * $1.columns) / 2)))) { //#24001\n $1.bestscore = -99999999; //#23991\n $forall($1.masks, function() { //#23999\n $1.litmask = $get($1.litmasks, $k[--$j]); //#23993\n $k[$j++] = 'score'; //#23994\n $k[$j++] = $1.litmask; //#23994\n $1.evalsymbol(); //#23994\n var _Sv = $k[--$j]; //#23994\n $1[$k[--$j]] = _Sv; //#23994\n if ($1.score > $1.bestscore) { //#23998\n $1.bestsym = $1.litmask; //#23996\n $1.bestscore = $1.score; //#23997\n } //#23997\n }); //#23997\n $1.pixs = $1.bestsym; //#24000\n } //#24000\n var _T8 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"dotty\", true],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.columns],\n [\"pixy\", $1.rows],\n [\"height\", ($1.rows * 2) / 72],\n [\"width\", ($1.columns * 2) / 72],\n [\"opt\", $1.options]\n ]); //#24012\n $k[$j++] = _T8; //#24015\n if (!$1.dontdraw) { //#24015\n bwipp_renmatrix(); //#24015\n } //#24015\n}\n\nfunction bwipp_ultracode() {\n var $1 = {}; //#24045\n $1.options = $k[--$j]; //#24047\n $1.barcode = $k[--$j]; //#24048\n $1.dontdraw = false; //#24050\n $1.eclevel = \"EC2\"; //#24051\n $1.parse = false; //#24052\n $1.parsefnc = false; //#24053\n $forall($1.options, function() { //#24064\n var _3 = $k[--$j]; //#24064\n $1[$k[--$j]] = _3; //#24064\n }); //#24064\n $1.fn1 = -1; //#24067\n $1.fn3 = -2; //#24067\n var _9 = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"FNC1\", $1.fn1],\n [\"FNC3\", $1.fn3]\n ]); //#24072\n $1.fncvals = _9; //#24073\n $k[$j++] = 'msg'; //#24074\n $k[$j++] = $1.barcode; //#24074\n $k[$j++] = $1.fncvals; //#24074\n bwipp_parseinput(); //#24074\n var _C = $k[--$j]; //#24074\n $1[$k[--$j]] = _C; //#24074\n $1.msglen = $1.msg.length; //#24075\n $1.start = 257; //#24078\n $1.scr = $a([]); //#24079\n $1.link1 = 0; //#24080\n $1.scp = $a([]); //#24081\n $k[$j++] = Infinity; //#24087\n $aload($1.scr); //#24083\n $aload($1.scp); //#24084\n $forall($1.msg, function() { //#24088\n var _K = $k[--$j]; //#24086\n $k[$j++] = _K; //#24086\n if (_K == $1.fn1) { //#24086\n $j--; //#24086\n $k[$j++] = 268; //#24086\n } //#24086\n var _M = $k[--$j]; //#24087\n $k[$j++] = _M; //#24087\n if (_M == $1.fn3) { //#24087\n $j--; //#24087\n $k[$j++] = 269; //#24087\n } //#24087\n }); //#24087\n $1.dcws = $a(); //#24087\n $1.mcc = $1.dcws.length + 3; //#24090\n $1.eclval = $get($1.eclevel, 2) - 48; //#24092\n if ($1.eclval != 0) { //#24096\n $k[$j++] = 'qcc'; //#24094\n $k[$j++] = $get($a([0, 1, 2, 4, 6, 8]), $1.eclval); //#24094\n $k[$j++] = ~~($1.mcc / 25); //#24094\n if (($1.mcc % 25) != 0) { //#24094\n var _Y = $k[--$j]; //#24094\n $k[$j++] = $f(_Y + 1); //#24094\n } //#24094\n var _Z = $k[--$j]; //#24094\n var _a = $k[--$j]; //#24094\n $1[$k[--$j]] = $f((_a * _Z) + 5); //#24094\n } else { //#24096\n $1.qcc = 3; //#24096\n } //#24096\n $1.acc = ($1.qcc - 3) + (78 * $1.link1); //#24098\n $1.tcc = $1.mcc + $1.qcc; //#24099\n $1.metrics = $a([$a([2, 4, 34, 5]), $a([3, 33, 82, 13]), $a([4, 82, 158, 23]), $a([5, 134, 282, 30])]); //#24109\n for (var _l = 0; _l <= 3; _l += 1) { //#24120\n $1.i = _l; //#24111\n $1.m = $get($1.metrics, $1.i); //#24112\n $1.rows = $get($1.m, 0); //#24113\n $1.minc = $get($1.m, 1); //#24114\n $1.maxc = $get($1.m, 2); //#24115\n $1.mcol = $get($1.m, 3); //#24116\n $1.okay = true; //#24117\n if (($1.tcc < $1.minc) || ($1.tcc > $1.maxc)) { //#24118\n $1.okay = false; //#24118\n } //#24118\n if ($1.okay) { //#24119\n break; //#24119\n } //#24119\n } //#24119\n if (!$1.okay) { //#24124\n $k[$j++] = 'bwipp.ultracodeNoValidSymbol'; //#24123\n $k[$j++] = \"No valid symbol available\"; //#24123\n bwipp_raiseerror(); //#24123\n } //#24123\n for (var _14 = $1.mcol; _14 <= 61; _14 += 1) { //#24138\n $1.columns = _14; //#24128\n $k[$j++] = $1.columns; //#24130\n if ($1.columns >= 15) { //#24130\n var _17 = $k[--$j]; //#24130\n $k[$j++] = $f(_17 - 1); //#24130\n } //#24130\n if ($1.columns >= 31) { //#24131\n var _19 = $k[--$j]; //#24131\n $k[$j++] = $f(_19 - 1); //#24131\n } //#24131\n if ($1.columns >= 47) { //#24132\n var _1B = $k[--$j]; //#24132\n $k[$j++] = $f(_1B - 1); //#24132\n } //#24132\n var _1F = $f(($f(($k[--$j] * $1.rows) - 3)) - $1.tcc); //#24133\n $k[$j++] = _1F; //#24136\n if (_1F >= 0) { //#24136\n $1.pads = $k[--$j]; //#24134\n break; //#24135\n } //#24135\n $j--; //#24137\n } //#24137\n $1.dcc = $f($1.columns - $1.mcol); //#24139\n $k[$j++] = Infinity; //#24149\n $k[$j++] = $1.start; //#24146\n $k[$j++] = $1.mcc; //#24146\n $k[$j++] = $1.acc; //#24146\n $aload($1.scr); //#24146\n $aload($1.dcws); //#24147\n for (var _1P = 0, _1Q = $1.qcc; _1P < _1Q; _1P++) { //#24148\n $k[$j++] = 0; //#24148\n } //#24148\n $k[$j++] = 0; //#24149\n $1.rsseq = $a(); //#24149\n $k[$j++] = Infinity; //#24153\n $k[$j++] = 1; //#24153\n for (var _1S = 0, _1T = 282; _1S < _1T; _1S++) { //#24153\n var _1U = $k[--$j]; //#24153\n $k[$j++] = _1U; //#24153\n $k[$j++] = (_1U * 3) % 283; //#24153\n } //#24153\n $1.rsalog = $a(); //#24153\n $1.rslog = $a(283); //#24154\n for (var _1X = 1; _1X <= 282; _1X += 1) { //#24155\n $put($1.rslog, $get($1.rsalog, _1X), _1X); //#24155\n } //#24155\n $1.rsprod = function() {\n var _1b = $k[--$j]; //#24159\n var _1c = $k[--$j]; //#24159\n $k[$j++] = _1c; //#24163\n $k[$j++] = _1b; //#24163\n if ((_1b != 0) && (_1c != 0)) { //#24162\n var _1f = $get($1.rslog, $k[--$j]); //#24160\n var _1k = $get($1.rsalog, $f(_1f + $get($1.rslog, $k[--$j])) % 282); //#24160\n $k[$j++] = _1k; //#24160\n } else { //#24162\n $j -= 2; //#24162\n $k[$j++] = 0; //#24162\n } //#24162\n }; //#24164\n $1.n = $1.mcc; //#24167\n $1.k = $1.qcc; //#24167\n $k[$j++] = Infinity; //#24168\n $k[$j++] = 1; //#24168\n for (var _1o = 0, _1p = $1.k; _1o < _1p; _1o++) { //#24168\n $k[$j++] = 0; //#24168\n } //#24168\n $1.coeffs = $a(); //#24168\n for (var _1t = 1, _1s = $1.k; _1t <= _1s; _1t += 1) { //#24177\n $1.i = _1t; //#24170\n $put($1.coeffs, $1.i, $get($1.coeffs, $1.i - 1)); //#24171\n for (var _20 = $1.i - 1; _20 >= 1; _20 -= 1) { //#24175\n $1.j = _20; //#24173\n $k[$j++] = $1.coeffs; //#24174\n $k[$j++] = $1.j; //#24174\n $k[$j++] = $get($1.coeffs, $1.j - 1); //#24174\n $k[$j++] = $get($1.coeffs, $1.j); //#24174\n $k[$j++] = $get($1.rsalog, $1.i); //#24174\n $1.rsprod(); //#24174\n var _2C = $k[--$j]; //#24174\n var _2D = $k[--$j]; //#24174\n var _2E = $k[--$j]; //#24174\n $put($k[--$j], _2E, $f(_2D + _2C) % 283); //#24174\n } //#24174\n $k[$j++] = $1.coeffs; //#24176\n $k[$j++] = 0; //#24176\n $k[$j++] = $get($1.coeffs, 0); //#24176\n $k[$j++] = $get($1.rsalog, $1.i); //#24176\n $1.rsprod(); //#24176\n var _2M = $k[--$j]; //#24176\n var _2N = $k[--$j]; //#24176\n $put($k[--$j], _2N, _2M); //#24176\n } //#24176\n $1.coeffs = $geti($1.coeffs, 0, $1.coeffs.length - 1); //#24178\n for (var _2T = $1.coeffs.length - 1; _2T >= 0; _2T -= 2) { //#24179\n var _2U = $1.coeffs; //#24179\n $put(_2U, _2T, $f(283 - $get(_2U, _2T))); //#24179\n } //#24179\n for (var _2Y = 0, _2X = $1.n - 1; _2Y <= _2X; _2Y += 1) { //#24188\n $1.t = $f($get($1.rsseq, _2Y) + $get($1.rsseq, $1.n)) % 283; //#24183\n for (var _2g = 0, _2f = $1.k - 1; _2g <= _2f; _2g += 1) { //#24187\n $1.j = _2g; //#24185\n $put($1.rsseq, $1.n + $1.j, ($f($get($1.rsseq, ($1.n + $1.j) + 1) + ($f(283 - (($1.t * $get($1.coeffs, ($1.k - $1.j) - 1)) % 283))))) % 283); //#24186\n } //#24186\n } //#24186\n for (var _2x = $1.n, _2w = $1.n + $1.k; _2x <= _2w; _2x += 1) { //#24189\n $put($1.rsseq, _2x, $f(283 - $get($1.rsseq, _2x)) % 283); //#24189\n } //#24189\n $1.ecws = $geti($1.rsseq, $1.n, $1.k); //#24190\n $1.dccu = $a([51363, 51563, 51653, 53153, 53163, 53513, 53563, 53613, 53653, 56153, 56163, 56313, 56353, 56363, 56513, 56563, 51316, 51356, 51536, 51616, 53156, 53516, 53536, 53616, 53636, 53656, 56136, 56156, 56316, 56356, 56516, 56536]); //#24197\n $1.dccl = $a([61351, 61361, 61531, 61561, 61631, 61651, 63131, 63151, 63161, 63531, 63561, 63631, 65131, 65161, 65351, 65631, 31351, 31361, 31531, 31561, 31631, 31651, 35131, 35151, 35161, 35361, 35631, 35651, 36131, 36151, 36351, 36531]); //#24204\n $1.tiles = $a([13135, 13136, 13153, 13156, 13163, 13165, 13513, 13515, 13516, 13531, 13535, 13536, 13561, 13563, 13565, 13613, 13615, 13616, 13631, 13635, 13636, 13651, 13653, 13656, 15135, 15136, 15153, 15163, 15165, 15313, 15315, 15316, 15351, 15353, 15356, 15361, 15363, 15365, 15613, 15615, 15616, 15631, 15635, 15636, 15651, 15653, 15656, 16135, 16136, 16153, 16156, 16165, 16313, 16315, 16316, 16351, 16353, 16356, 16361, 16363, 16365, 16513, 16515, 16516, 16531, 16535, 16536, 16561, 16563, 16565, 31315, 31316, 31351, 31356, 31361, 31365, 31513, 31515, 31516, 31531, 31535, 31536, 31561, 31563, 31565, 31613, 31615, 31631, 31635, 31636, 31651, 31653, 31656, 35131, 35135, 35136, 35151, 35153, 35156, 35161, 35163, 35165, 35315, 35316, 35351, 35356, 35361, 35365, 35613, 35615, 35616, 35631, 35635, 35636, 35651, 35653, 35656, 36131, 36135, 36136, 36151, 36153, 36156, 36163, 36165, 36315, 36316, 36351, 36356, 36361, 36365, 36513, 36515, 36516, 36531, 36535, 36536, 36561, 36563, 36565, 51313, 51315, 51316, 51351, 51353, 51356, 51361, 51363, 51365, 51513, 51516, 51531, 51536, 51561, 51563, 51613, 51615, 51616, 51631, 51635, 51636, 51651, 51653, 51656, 53131, 53135, 53136, 53151, 53153, 53156, 53161, 53163, 53165, 53513, 53516, 53531, 53536, 53561, 53563, 53613, 53615, 53616, 53631, 53635, 53636, 53651, 53653, 53656, 56131, 56135, 56136, 56151, 56153, 56156, 56161, 56163, 56165, 56313, 56315, 56316, 56351, 56353, 56356, 56361, 56363, 56365, 56513, 56516, 56531, 56536, 56561, 56563, 61313, 61315, 61316, 61351, 61353, 61356, 61361, 61363, 61365, 61513, 61515, 61516, 61531, 61535, 61536, 61561, 61563, 61565, 61615, 61631, 61635, 61651, 61653, 63131, 63135, 63136, 63151, 63153, 63156, 63161, 63163, 63165, 63513, 63515, 63516, 63531, 63535, 63536, 63561, 63563, 63565, 63613, 63615, 63631, 63635, 63651, 63653, 65131, 65135, 65136, 65151, 65153, 65156, 65161, 65163, 65165, 65313, 65315, 65316, 65351, 65353, 65356, 65361, 65363, 65365, 65613, 65615, 65631, 65635, 65651, 65653, 56565, 51515]); //#24236\n $1.rows = $f(($1.rows * 6) + 1); //#24239\n $1.columns = $1.columns + 6; //#24240\n $k[$j++] = Infinity; //#24241\n for (var _3C = 0, _3D = $1.rows * $1.columns; _3C < _3D; _3C++) { //#24241\n $k[$j++] = -1; //#24241\n } //#24241\n $1.pixs = $a(); //#24241\n $1.qmv = function() {\n var _3G = $k[--$j]; //#24242\n var _3H = $k[--$j]; //#24242\n $k[$j++] = $f(_3H + (_3G * $1.columns)); //#24242\n }; //#24242\n for (var _3K = 0, _3J = $1.columns - 1; _3K <= _3J; _3K += 1) { //#24251\n $1.i = _3K; //#24244\n for (var _3N = 0, _3M = $f($1.rows - 1); _3N <= _3M; _3N += 6) { //#24248\n $1.j = _3N; //#24246\n if ($1.i >= 5) { //#24247\n $k[$j++] = $1.pixs; //#24247\n $k[$j++] = $1.i; //#24247\n $k[$j++] = $1.j; //#24247\n $1.qmv(); //#24247\n var _3T = $k[--$j]; //#24247\n $put($k[--$j], _3T, ($1.i % 2) * 9); //#24247\n } //#24247\n } //#24247\n $k[$j++] = $1.pixs; //#24249\n $k[$j++] = $1.i; //#24249\n $k[$j++] = 0; //#24249\n $1.qmv(); //#24249\n var _3X = $k[--$j]; //#24249\n $put($k[--$j], _3X, 9); //#24249\n $k[$j++] = $1.pixs; //#24250\n $k[$j++] = $1.i; //#24250\n $k[$j++] = $f($1.rows - 1); //#24250\n $1.qmv(); //#24250\n var _3c = $k[--$j]; //#24250\n $put($k[--$j], _3c, 9); //#24250\n } //#24250\n for (var _3g = 1, _3f = $f($1.rows - 2); _3g <= _3f; _3g += 1) { //#24264\n $1.i = _3g; //#24253\n for (var _3j = 3, _3i = $1.columns - 1; _3j <= _3i; _3j += 16) { //#24257\n $1.j = _3j; //#24255\n $k[$j++] = $1.pixs; //#24256\n $k[$j++] = $1.j; //#24256\n $k[$j++] = $1.i; //#24256\n $1.qmv(); //#24256\n var _3o = $k[--$j]; //#24256\n $put($k[--$j], _3o, (1 - ($1.i % 2)) * 9); //#24256\n } //#24256\n $k[$j++] = $1.pixs; //#24258\n $k[$j++] = 0; //#24258\n $k[$j++] = $1.i; //#24258\n $1.qmv(); //#24258\n var _3s = $k[--$j]; //#24258\n $put($k[--$j], _3s, 9); //#24258\n $k[$j++] = $1.pixs; //#24259\n $k[$j++] = 1; //#24259\n $k[$j++] = $1.i; //#24259\n $1.qmv(); //#24259\n var _3x = $k[--$j]; //#24259\n $put($k[--$j], _3x, (1 - ($1.i % 2)) * 9); //#24259\n $k[$j++] = $1.pixs; //#24260\n $k[$j++] = 2; //#24260\n $k[$j++] = $1.i; //#24260\n $1.qmv(); //#24260\n var _41 = $k[--$j]; //#24260\n $put($k[--$j], _41, 0); //#24260\n $k[$j++] = $1.pixs; //#24261\n $k[$j++] = 3; //#24261\n $k[$j++] = $1.i; //#24261\n $1.qmv(); //#24261\n var _45 = $k[--$j]; //#24261\n $put($k[--$j], _45, 9); //#24261\n $k[$j++] = $1.pixs; //#24262\n $k[$j++] = 4; //#24262\n $k[$j++] = $1.i; //#24262\n $1.qmv(); //#24262\n var _49 = $k[--$j]; //#24262\n $put($k[--$j], _49, 0); //#24262\n $k[$j++] = $1.pixs; //#24263\n $k[$j++] = $1.columns - 1; //#24263\n $k[$j++] = $1.i; //#24263\n $1.qmv(); //#24263\n var _4E = $k[--$j]; //#24263\n $put($k[--$j], _4E, 9); //#24263\n } //#24263\n $1.i = (~~($1.rows / 2)) - 5; //#24267\n $k[$j++] = Infinity; //#24271\n var _4L = $cvrs($s(5), $get($1.dccu, $1.dcc), 10); //#24269\n for (var _4M = 0, _4N = _4L.length; _4M < _4N; _4M++) { //#24269\n $k[$j++] = $get(_4L, _4M) - 48; //#24269\n } //#24269\n var _4T = $cvrs($s(5), $get($1.dccl, $1.dcc), 10); //#24271\n $k[$j++] = 0; //#24271\n for (var _4U = 0, _4V = _4T.length; _4U < _4V; _4U++) { //#24271\n $k[$j++] = $get(_4T, _4U) - 48; //#24271\n } //#24271\n var _4X = $a(); //#24271\n for (var _4Y = 0, _4Z = _4X.length; _4Y < _4Z; _4Y++) { //#24275\n $k[$j++] = $get(_4X, _4Y); //#24273\n $k[$j++] = $1.pixs; //#24273\n $k[$j++] = 2; //#24273\n $k[$j++] = $1.i; //#24273\n $1.qmv(); //#24273\n var _4d = $k[--$j]; //#24273\n var _4e = $k[--$j]; //#24273\n $put(_4e, _4d, $k[--$j]); //#24273\n $1.i = $1.i + 1; //#24274\n } //#24274\n $k[$j++] = Infinity; //#24288\n $k[$j++] = $1.start; //#24281\n $k[$j++] = $1.mcc; //#24281\n $aload($1.ecws); //#24281\n $k[$j++] = $1.tcc; //#24285\n $k[$j++] = 283; //#24285\n $k[$j++] = $1.acc; //#24285\n $aload($1.scr); //#24285\n $aload($1.dcws); //#24286\n for (var _4p = 0, _4q = $1.pads; _4p < _4q; _4p++) { //#24287\n $k[$j++] = 284; //#24287\n } //#24287\n $k[$j++] = $1.qcc; //#24288\n $1.tileseq = $a(); //#24288\n $1.x = 5; //#24291\n $1.y = 1; //#24291\n var _4t = $1.tileseq; //#24292\n for (var _4u = 0, _4v = _4t.length; _4u < _4v; _4u++) { //#24305\n var _50 = $cvrs($s(5), $get($1.tiles, $get(_4t, _4u)), 10); //#24293\n for (var _51 = 0, _52 = _50.length; _51 < _52; _51++) { //#24296\n $k[$j++] = $get(_50, _51); //#24294\n $k[$j++] = $1.pixs; //#24294\n $k[$j++] = $1.x; //#24294\n $k[$j++] = $1.y; //#24294\n $1.qmv(); //#24294\n var _57 = $k[--$j]; //#24294\n var _58 = $k[--$j]; //#24294\n $put(_58, _57, $f($k[--$j] - 48)); //#24294\n $1.y = $1.y + 1; //#24295\n } //#24295\n if ($1.y != $f($1.rows - 1)) { //#24302\n $1.y = $1.y + 1; //#24298\n } else { //#24302\n $1.x = $1.x + 1; //#24300\n $1.y = 1; //#24300\n $k[$j++] = $1.pixs; //#24301\n $k[$j++] = $1.x; //#24301\n $k[$j++] = $1.y; //#24301\n $1.qmv(); //#24301\n var _5I = $k[--$j]; //#24301\n if ($get($k[--$j], _5I) != -1) { //#24303\n $1.x = $1.x + 1; //#24302\n } //#24302\n } //#24302\n } //#24302\n var _5R = new Map([\n [0, \"00000000\"],\n [9, \"000000FF\"],\n [1, \"FF000000\"],\n [3, \"00FF0000\"],\n [5, \"0000FF00\"],\n [6, \"7F00FF00\"]\n ]); //#24321\n var _5T = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.columns],\n [\"pixy\", $1.rows],\n [\"height\", ($1.rows / 72) * 2],\n [\"width\", ($1.columns / 72) * 2],\n [\"colormap\", _5R],\n [\"opt\", $1.options]\n ]); //#24323\n $k[$j++] = _5T; //#24326\n if (!$1.dontdraw) { //#24326\n bwipp_renmatrix(); //#24326\n } //#24326\n}\n\nfunction bwipp_jabcode() {\n var $1 = {}; //#24356\n $1.options = $k[--$j]; //#24358\n $1.barcode = $k[--$j]; //#24359\n $1.dontdraw = false; //#24361\n $1.rows = -1; //#24362\n $1.columns = -1; //#24363\n $1.slave = false; //#24364\n $1.colors = 16; //#24365\n $1.eclevel = 6; //#24366\n $1.raw = false; //#24367\n $1.parse = false; //#24368\n $1.parsefnc = false; //#24369\n $1.mask = -1; //#24370\n $forall($1.options, function() { //#24381\n var _3 = $k[--$j]; //#24381\n $1[$k[--$j]] = _3; //#24381\n }); //#24381\n $1.rows = ~~$1.rows; //#24383\n $1.columns = ~~$1.columns; //#24384\n $1.colors = ~~$1.colors; //#24385\n $1.eclevel = ~~$1.eclevel; //#24386\n $1.mask = ~~$1.mask; //#24387\n $1.databpm = ~~(Math.round(Math.log($1.colors) / Math.log(2))); //#24389\n var _B = $1.colors; //#24390\n $k[$j++] = 'metabpm'; //#24390\n $k[$j++] = _B; //#24390\n if (_B > 8) { //#24390\n $j--; //#24390\n $k[$j++] = 8; //#24390\n } //#24390\n var _C = $k[--$j]; //#24390\n $1[$k[--$j]] = ~~(Math.round(Math.log(_C) / Math.log(2))); //#24390\n $1.fn1 = -1; //#24393\n var _H = new Map([\n [\"parse\", $1.parse],\n [\"parsefnc\", $1.parsefnc],\n [\"FNC1\", $1.fn1]\n ]); //#24397\n $1.fncvals = _H; //#24398\n $k[$j++] = 'msg'; //#24399\n $k[$j++] = $1.barcode; //#24399\n $k[$j++] = $1.fncvals; //#24399\n bwipp_parseinput(); //#24399\n var _K = $k[--$j]; //#24399\n $1[$k[--$j]] = _K; //#24399\n $1.msglen = $1.msg.length; //#24400\n $1.addtobits = function() {\n var _N = $k[--$j]; //#24421\n $puti($1.bits, $1.j, _N); //#24421\n $1.j = _N.length + $1.j; //#24422\n }; //#24423\n $1.tofixedbits = function() {\n var _S = $strcpy($s(13), \"0000000000000\"); //#24426\n var _T = $k[--$j]; //#24426\n var _W = $cvrs($s(13), $k[--$j], 2); //#24426\n $puti(_S, $f(_T - _W.length), _W); //#24427\n $k[$j++] = $geti(_S, 0, _T); //#24428\n }; //#24429\n var _Z = ($1.msglen <= 15) ? 4 : 17; //#24432\n $1.bits = $s(((7 + _Z) + ($1.msglen * 8)) + 12); //#24432\n $1.j = 0; //#24433\n $k[$j++] = 31; //#24434\n $k[$j++] = 5; //#24434\n $1.tofixedbits(); //#24434\n $1.addtobits(); //#24434\n $k[$j++] = \"00\"; //#24435\n $1.addtobits(); //#24435\n if ($1.msglen <= 15) { //#24440\n $k[$j++] = $1.msglen; //#24437\n $k[$j++] = 4; //#24437\n $1.tofixedbits(); //#24437\n $1.addtobits(); //#24437\n } else { //#24440\n $k[$j++] = \"0000\"; //#24439\n $1.addtobits(); //#24439\n $k[$j++] = $1.msglen - 16; //#24440\n $k[$j++] = 13; //#24440\n $1.tofixedbits(); //#24440\n $1.addtobits(); //#24440\n } //#24440\n for (var _h = 0, _g = $1.msglen - 1; _h <= _g; _h += 1) { //#24444\n $k[$j++] = $get($1.msg, _h); //#24443\n $k[$j++] = 8; //#24443\n $1.tofixedbits(); //#24443\n $1.addtobits(); //#24443\n } //#24443\n $k[$j++] = 28; //#24445\n $k[$j++] = 5; //#24445\n $1.tofixedbits(); //#24445\n $1.addtobits(); //#24445\n $k[$j++] = 31; //#24446\n $k[$j++] = 5; //#24446\n $1.tofixedbits(); //#24446\n $1.addtobits(); //#24446\n $k[$j++] = \"11\"; //#24447\n $1.addtobits(); //#24447\n $1.diffside = 21; //#24450\n $1.sameshape = false; //#24451\n $1.sameecc = false; //#24452\n $1.hasslaves = false; //#24453\n $1.metrics = function() {\n $1.mc = $k[--$j]; //#24457\n $1.mr = $k[--$j]; //#24457\n var _m = $1.mc; //#24458\n var _n = $1.mr; //#24458\n var _o = $1.mc; //#24459\n var _p = $1.mr; //#24459\n var _q = $1.colors; //#24461\n var _r = 64; //#24461\n if (64 > _q) { //#24461\n var _ = _q; //#24461\n _q = _r; //#24461\n _r = _; //#24461\n } //#24461\n var _t = $1.slave ? 7 : 17; //#24462\n $k[$j++] = _m * _n; //#24490\n $k[$j++] = ((((~~($f(_o - 25) / 16)) + 2) * ((~~($f(_p - 25) / 16)) + 2)) - 4) * 7; //#24490\n $k[$j++] = _r * 2; //#24490\n $k[$j++] = _t * 4; //#24490\n if (!$1.slave) { //#24489\n var _x = $eq($1.mr, $1.mc) ? 0 : 1; //#24466\n $1.metass = _x; //#24466\n var _y = $1.mr; //#24467\n var _z = $1.mc; //#24467\n if ($lt(_y, _z)) { //#24467\n var _ = _z; //#24467\n _z = _y; //#24467\n _y = _; //#24467\n } //#24467\n $1.metavf = $get($a([0, 1, 2, 2, 3, 3, 3, 3]), ~~($f(_y - 21) / 16)); //#24468\n $k[$j++] = 'metavlen'; //#24469\n if ($1.metass == 0) { //#24469\n $k[$j++] = $a([2, 2, 3, 4]); //#24469\n } else { //#24469\n $k[$j++] = $a([4, 6, 8, 10]); //#24469\n } //#24469\n var _17 = $get($k[--$j], $1.metavf); //#24469\n $1[$k[--$j]] = _17; //#24469\n $1.metaelen = $f(($1.metavf * 2) + 10); //#24470\n $k[$j++] = $f($f(7 + $1.metavlen) + $1.metaelen); //#24473\n if ($1.hasslaves) { //#24473\n var _1D = $k[--$j]; //#24473\n $k[$j++] = $f(_1D + 4); //#24473\n } //#24473\n var _1G = ~~(Math.ceil(($k[--$j] * 2) / $1.metabpm)); //#24476\n $1.nummetabits = $f((_1G * $1.metabpm) + 6); //#24476\n $k[$j++] = _1G + 6; //#24477\n } else { //#24489\n $k[$j++] = 3; //#24480\n if (!$1.sameshape) { //#24480\n var _1J = $k[--$j]; //#24480\n $k[$j++] = $f(_1J + 5); //#24480\n } //#24480\n if ($1.hasslaves) { //#24481\n var _1L = $k[--$j]; //#24481\n $k[$j++] = $f(_1L + 3); //#24481\n } //#24481\n if (!$1.sameecc) { //#24486\n var _1N = $1.mr; //#24483\n var _1O = $1.mc; //#24483\n if ($lt(_1N, _1O)) { //#24483\n var _ = _1O; //#24483\n _1O = _1N; //#24483\n _1N = _; //#24483\n } //#24483\n var _1R = $k[--$j]; //#24485\n $k[$j++] = $f(_1R + $get($a([10, 12, 14, 14, 16, 16, 16, 16]), ~~($f(_1N - 21) / 16))); //#24485\n } //#24485\n var _1U = ~~(Math.ceil(($k[--$j] * 2) / $1.metabpm)); //#24489\n $1.nummetabits = _1U * $1.metabpm; //#24489\n $k[$j++] = _1U; //#24489\n } //#24489\n var _1W = $k[--$j]; //#24492\n $1.nummetamodules = _1W; //#24492\n var _1X = $k[--$j]; //#24493\n var _1Y = $k[--$j]; //#24493\n var _1Z = $k[--$j]; //#24493\n $1.numdatamodules = $f($k[--$j] - ($f(_1Z + ($f(_1Y + $f(_1X + _1W)))))); //#24493\n $1.numdatabits = $1.numdatamodules * $1.databpm; //#24494\n }; //#24495\n $1.coderate = $get($a([0.67, 0.63, 0.57, 0.55, 0.5, 0.43, 0.34, 0.25, 0.2, 0.17, 0.14]), $1.eclevel); //#24498\n $1.grosslen = ~~Math.ceil($1.bits.length / $1.coderate); //#24499\n $1.snapsize = function() {\n var _1j = (~~Math.ceil($k[--$j])) - 18; //#24500\n $k[$j++] = _1j; //#24500\n if (_1j < 0) { //#24500\n $j--; //#24500\n $k[$j++] = 0; //#24500\n } //#24500\n var _1k = $k[--$j]; //#24500\n $k[$j++] = ((~~(_1k / 4)) * 4) + 21; //#24500\n }; //#24500\n if (($1.rows == -1) && ($1.columns == -1)) { //#24529\n $k[$j++] = 'size'; //#24503\n $k[$j++] = Math.sqrt($1.grosslen); //#24503\n $1.snapsize(); //#24503\n var _1o = $k[--$j]; //#24503\n $1[$k[--$j]] = _1o; //#24503\n for (;;) { //#24508\n $k[$j++] = $1.size; //#24505\n $k[$j++] = $1.size; //#24505\n $1.metrics(); //#24505\n if ($1.grosslen <= $1.numdatabits) { //#24506\n break; //#24506\n } //#24506\n $1.size = $f($1.size + 4); //#24507\n } //#24507\n $1.rows = $1.size; //#24509\n $1.columns = $1.size; //#24510\n } else { //#24529\n if (($1.columns == -1) && ($1.rows != -1)) { //#24519\n $k[$j++] = 'columns'; //#24513\n $k[$j++] = $1.grosslen / $1.rows; //#24513\n $1.snapsize(); //#24513\n var _21 = $k[--$j]; //#24513\n $1[$k[--$j]] = _21; //#24513\n for (;;) { //#24518\n $k[$j++] = $1.rows; //#24515\n $k[$j++] = $1.columns; //#24515\n $1.metrics(); //#24515\n if ($1.grosslen <= $1.numdatabits) { //#24516\n break; //#24516\n } //#24516\n $1.columns = $f($1.columns + 4); //#24517\n } //#24517\n } //#24517\n if (($1.rows == -1) && ($1.columns != -1)) { //#24527\n $k[$j++] = 'rows'; //#24521\n $k[$j++] = $1.grosslen / $1.columns; //#24521\n $1.snapsize(); //#24521\n var _2C = $k[--$j]; //#24521\n $1[$k[--$j]] = _2C; //#24521\n for (;;) { //#24526\n $k[$j++] = $1.rows; //#24523\n $k[$j++] = $1.columns; //#24523\n $1.metrics(); //#24523\n if ($1.grosslen <= $1.numdatabits) { //#24524\n break; //#24524\n } //#24524\n $1.rows = $f($1.rows + 4); //#24525\n } //#24525\n } //#24525\n if (($1.rows != -1) && ($1.columns != -1)) { //#24530\n $k[$j++] = $1.rows; //#24529\n $k[$j++] = $1.columns; //#24529\n $1.metrics(); //#24529\n } //#24529\n } //#24529\n $1.C = $1.numdatabits; //#24532\n $1.cols = $1.columns; //#24533\n if (($1.rows > 145) || ($1.cols > 145)) { //#24538\n $k[$j++] = 'bwipp.jabcodeNoValidSymbol'; //#24537\n $k[$j++] = \"No valid symbol available\"; //#24537\n bwipp_raiseerror(); //#24537\n } //#24537\n $1.min = $1.C; //#24541\n for (var _2S = 3; _2S <= 8; _2S += 1) { //#24553\n $1.i = _2S; //#24543\n for (var _2U = $1.i + 1; _2U <= 9; _2U += 1) { //#24552\n $1.j = _2U; //#24545\n $1.dist = (((~~($1.C / $1.j)) * $1.j) - ((~~($1.C / $1.j)) * $1.i)) - $1.bits.length; //#24546\n if (($1.dist < $1.min) && ($1.dist >= 0)) { //#24551\n $1.datawc = $1.i; //#24548\n $1.datawr = $1.j; //#24549\n $1.min = $1.dist; //#24550\n } //#24550\n } //#24550\n } //#24550\n $1.tmpbits = $s(((~~($1.C / $1.datawr)) * $1.datawr) - ((~~($1.C / $1.datawr)) * $1.datawc)); //#24556\n $puti($1.tmpbits, 0, $1.bits); //#24557\n for (var _2u = $1.bits.length, _2t = $1.tmpbits.length - 1; _2u <= _2t; _2u += 1) { //#24561\n var _2w = $get($1.tmpbits, _2u - 1); //#24559\n $k[$j++] = _2u; //#24559\n $k[$j++] = _2w; //#24559\n if ((_2w % 2) == 0) { //#24559\n var _2x = $k[--$j]; //#24559\n $k[$j++] = $f(_2x + 1); //#24559\n } else { //#24559\n var _2y = $k[--$j]; //#24559\n $k[$j++] = $f(_2y - 1); //#24559\n } //#24559\n var _30 = $k[--$j]; //#24560\n $put($1.tmpbits, $k[--$j], _30); //#24560\n } //#24560\n $1.bits = $1.tmpbits; //#24562\n $1.m0 = 22609 + 1; //#24566\n $1.m1 = 62509 - 65536; //#24566\n $1.m2 = 19605; //#24566\n $1.m3 = 32557; //#24566\n $1.lcg64_temper = function() {\n $1.p00 = $1.m0 * $1.s0; //#24572\n $1.p01 = $1.m0 * $1.s1; //#24572\n $1.p02 = $1.m0 * $1.s2; //#24572\n $1.p03 = $1.m0 * $1.s3; //#24572\n $1.p10 = $1.m1 * $1.s0; //#24573\n $1.p11 = $1.m1 * $1.s1; //#24573\n $1.p12 = $1.m1 * $1.s2; //#24573\n $1.p13 = $1.m1 * $1.s3; //#24573\n $1.p20 = $1.m2 * $1.s0; //#24574\n $1.p21 = $1.m2 * $1.s1; //#24574\n $1.p22 = $1.m2 * $1.s2; //#24574\n $1.p23 = $1.m2 * $1.s3; //#24574\n $1.p30 = $1.m3 * $1.s0; //#24575\n $1.p31 = $1.m3 * $1.s1; //#24575\n $1.p32 = $1.m3 * $1.s2; //#24575\n $1.p33 = $1.m3 * $1.s3; //#24575\n $1.s3 = ($1.p33 % 65536) + 1; //#24577\n $1.s2 = (($1.p32 % 65536) + (~~($1.p33 / 65536))) + ($1.p23 % 65536); //#24579\n $1.s1 = ((($1.p31 % 65536) + (~~($1.p32 / 65536))) + (($1.p22 % 65536) + (~~($1.p23 / 65536)))) + ($1.p13 % 65536); //#24582\n $1.s0 = (((($1.p30 % 65536) + (~~($1.p31 / 65536))) + (($1.p21 % 65536) + (~~($1.p22 / 65536)))) + (($1.p12 % 65536) + (~~($1.p13 / 65536)))) + ($1.p03 % 65536); //#24586\n $1.s3 = $1.s3 + 65536; //#24589\n $1.s2 = $1.s2 + 65535; //#24590\n $1.s1 = $1.s1 + 65535; //#24591\n $1.s0 = $1.s0 + 65535; //#24592\n $1.s2 = (~~($1.s3 / 65536)) + $1.s2; //#24595\n $1.s3 = $1.s3 % 65536; //#24595\n $1.s1 = (~~($1.s2 / 65536)) + $1.s1; //#24596\n $1.s2 = $1.s2 % 65536; //#24596\n $1.s0 = (~~($1.s1 / 65536)) + $1.s0; //#24597\n $1.s1 = $1.s1 % 65536; //#24597\n $1.s0 = $1.s0 % 65536; //#24598\n var _45 = (((($1.s0 - 32768) * 65536) + $1.s1) ^ 2147483648) & 4294967295; //#24603\n var _46 = _45 ^ (_45 >>> 11); //#24604\n var _47 = _46 ^ ((_46 << 7) & -1658038656); //#24605\n var _48 = (_47 ^ ((_47 << 15) & -272236544)) & 4294967295; //#24607\n $k[$j++] = _48 ^ (_48 >>> 18); //#24607\n }; //#24609\n $1.createMatrixA = function() {\n $k[$j++] = 'nb_pcb'; //#24613\n if ($1.wr < 4) { //#24613\n $k[$j++] = ~~($1.Pg_sub_block / 2); //#24613\n } else { //#24613\n $k[$j++] = (~~($1.Pg_sub_block / $1.wr)) * $1.wc; //#24613\n } //#24613\n var _4E = $k[--$j]; //#24613\n $1[$k[--$j]] = _4E; //#24613\n $1.offset = ~~Math.ceil($1.Pg_sub_block / 32); //#24614\n $1.effwidth = $1.offset * 32; //#24615\n $1.matrixA = $a($1.offset * $1.nb_pcb); //#24616\n for (var _4O = 0, _4N = ($1.offset * $1.nb_pcb) - 1; _4O <= _4N; _4O += 1) { //#24617\n $put($1.matrixA, _4O, 0); //#24617\n } //#24617\n $1.permutation = $a($1.Pg_sub_block); //#24618\n for (var _4U = 0, _4T = $1.Pg_sub_block - 1; _4U <= _4T; _4U += 1) { //#24619\n $put($1.permutation, _4U, _4U); //#24619\n } //#24619\n for (var _4Z = 0, _4Y = (~~($1.Pg_sub_block / $1.wr)) - 1; _4Z <= _4Y; _4Z += 1) { //#24628\n $1.i = _4Z; //#24622\n for (var _4c = 0, _4b = $f($1.wr - 1); _4c <= _4b; _4c += 1) { //#24627\n $1.j = _4c; //#24624\n var _4d = $1.matrixA; //#24625\n var _4e = $1.i; //#24625\n var _4f = $1.effwidth; //#24625\n var _4g = $1.wr; //#24625\n var _4h = $1.j; //#24625\n var _4n = $f(31 - (($f(($1.i * $f($1.effwidth + $1.wr)) + $1.j)) % 32)); //#24626\n $put(_4d, ~~(($f((_4e * $f(_4f + _4g)) + _4h)) / 32), $get(_4d, ~~(($f((_4e * $f(_4f + _4g)) + _4h)) / 32)) | ((_4n < 0 ? 1 >>> -_4n : 1 << _4n))); //#24626\n } //#24626\n } //#24626\n $1.s0 = 0; //#24631\n $1.s1 = 0; //#24631\n $1.s2 = 11; //#24631\n $1.s3 = 64569; //#24631\n for (var _4q = 1, _4p = $f($1.wc - 1); _4q <= _4p; _4q += 1) { //#24654\n $1.i = _4q; //#24633\n $1.off_index = (~~($1.Pg_sub_block / $1.wr)) * $1.i; //#24634\n for (var _4w = 0, _4v = $1.Pg_sub_block - 1; _4w <= _4v; _4w += 1) { //#24653\n $1.j = _4w; //#24636\n $1.lcg64_temper(); //#24637\n var _4x = $k[--$j]; //#24638\n $k[$j++] = _4x; //#24638\n if (_4x < 0) { //#24638\n var _4y = $k[--$j]; //#24638\n $k[$j++] = $f((_4y ^ 2147483648) + 2147483648); //#24638\n } //#24638\n $1.pos = ~~(($k[--$j] / 4294967296) * ($1.Pg_sub_block - $1.j)); //#24640\n for (var _55 = 0, _54 = (~~($1.Pg_sub_block / $1.wr)) - 1; _55 <= _54; _55 += 1) { //#24649\n $1.k = _55; //#24642\n var _56 = $1.matrixA; //#24643\n var _57 = $1.off_index; //#24643\n var _58 = $1.k; //#24643\n var _59 = $1.offset; //#24643\n var _5A = $1.j; //#24643\n var _5I = $get($1.matrixA, (~~($get($1.permutation, $1.pos) / 32)) + ($1.k * $1.offset)); //#24645\n var _5M = -($f(31 - ($get($1.permutation, $1.pos) % 32))); //#24646\n var _5O = 31 - ($1.j % 32); //#24647\n $put(_56, ((_57 + _58) * _59) + (~~(_5A / 32)), $get(_56, ((_57 + _58) * _59) + (~~(_5A / 32))) | ((_5O < 0 ? (((_5M < 0 ? _5I >>> -_5M : _5I << _5M)) & 1) >>> -_5O : (((_5M < 0 ? _5I >>> -_5M : _5I << _5M)) & 1) << _5O))); //#24648\n } //#24648\n var _5R = $1.permutation; //#24650\n var _5S = $1.Pg_sub_block; //#24650\n var _5T = $1.j; //#24650\n $put(_5R, (_5S - 1) - _5T, $get($1.permutation, $1.pos)); //#24652\n $put($1.permutation, $1.pos, $get(_5R, (_5S - 1) - _5T)); //#24652\n } //#24652\n } //#24652\n }; //#24656\n $1.createMetadataMatrixA = function() {\n $1.nb_pcb = ~~($1.Pg_sub_block / 2); //#24660\n $1.offset = ~~Math.ceil($1.Pg_sub_block / 32); //#24661\n $1.matrixA = $a($1.offset * $1.nb_pcb); //#24662\n for (var _5g = 0, _5f = ($1.offset * $1.nb_pcb) - 1; _5g <= _5f; _5g += 1) { //#24663\n $put($1.matrixA, _5g, 0); //#24663\n } //#24663\n $1.permutation = $a($1.Pg_sub_block); //#24664\n for (var _5m = 0, _5l = $1.Pg_sub_block - 1; _5m <= _5l; _5m += 1) { //#24665\n $put($1.permutation, _5m, _5m); //#24665\n } //#24665\n $1.s0 = 0; //#24668\n $1.s1 = 0; //#24668\n $1.s2 = 0; //#24668\n $1.s3 = 38545; //#24668\n $1.nb_once = ~~((~~($f((($1.nb_pcb / $1.wc) * $1.Pg_sub_block) + 3))) / $1.nb_pcb); //#24669\n for (var _5u = 0, _5t = $1.nb_pcb - 1; _5u <= _5t; _5u += 1) { //#24684\n $1.i = _5u; //#24671\n for (var _5x = 0, _5w = $1.nb_once - 1; _5x <= _5w; _5x += 1) { //#24683\n $1.j = _5x; //#24673\n $1.lcg64_temper(); //#24674\n var _5y = $k[--$j]; //#24675\n $k[$j++] = _5y; //#24675\n if (_5y < 0) { //#24675\n var _5z = $k[--$j]; //#24675\n $k[$j++] = $f((_5z ^ 2147483648) + 2147483648); //#24675\n } //#24675\n $1.pos = ~~(($k[--$j] / 4294967296) * ($1.Pg_sub_block - $1.j)); //#24677\n var _63 = $1.matrixA; //#24678\n var _64 = $1.i; //#24678\n var _65 = $1.offset; //#24678\n var _68 = $get($1.permutation, $1.pos); //#24678\n var _6D = $f(31 - ($get($1.permutation, $1.pos) % 32)); //#24679\n $put(_63, (_64 * _65) + (~~(_68 / 32)), $get(_63, (_64 * _65) + (~~(_68 / 32))) | ((_6D < 0 ? 1 >>> -_6D : 1 << _6D))); //#24679\n var _6G = $1.permutation; //#24680\n var _6H = $1.Pg_sub_block; //#24680\n var _6I = $1.j; //#24680\n $put(_6G, (_6H - 1) - _6I, $get($1.permutation, $1.pos)); //#24682\n $put($1.permutation, $1.pos, $get(_6G, (_6H - 1) - _6I)); //#24682\n } //#24682\n } //#24682\n }; //#24686\n $1.GaussJordan = function() {\n $k[$j++] = 'nb_pcb'; //#24690\n if ($1.wr < 4) { //#24690\n $k[$j++] = ~~($1.Pg_sub_block / 2); //#24690\n } else { //#24690\n $k[$j++] = (~~($1.Pg_sub_block / $1.wr)) * $1.wc; //#24690\n } //#24690\n var _6S = $k[--$j]; //#24690\n $1[$k[--$j]] = _6S; //#24690\n $1.offset = ~~Math.ceil($1.Pg_sub_block / 32); //#24691\n var _6V = $1.matrixA; //#24692\n $1.matrixH = $arrcpy($a(_6V.length), _6V); //#24692\n $k[$j++] = Infinity; //#24693\n for (var _6Z = 0, _6a = $1.Pg_sub_block; _6Z < _6a; _6Z++) { //#24693\n $k[$j++] = 0; //#24693\n } //#24693\n $1.column_arrangement = $a(); //#24693\n $k[$j++] = Infinity; //#24694\n for (var _6d = 0, _6e = $1.Pg_sub_block; _6d < _6e; _6d++) { //#24694\n $k[$j++] = false; //#24694\n } //#24694\n $1.processed_column = $a(); //#24694\n $k[$j++] = Infinity; //#24695\n for (var _6h = 0, _6i = $1.nb_pcb; _6h < _6i; _6h++) { //#24695\n $k[$j++] = 0; //#24695\n } //#24695\n $1.zero_lines_nb = $a(); //#24695\n $k[$j++] = Infinity; //#24696\n for (var _6l = 0, _6m = $1.Pg_sub_block * 2; _6l < _6m; _6l++) { //#24696\n $k[$j++] = 0; //#24696\n } //#24696\n $1.swap_col = $a(); //#24696\n $1.zero_lines = 0; //#24697\n $1.loop0 = 0; //#24699\n for (var _6q = 0, _6p = $1.nb_pcb - 1; _6q <= _6p; _6q += 1) { //#24737\n $1.i = _6q; //#24701\n $1.pivot_column = $1.Pg_sub_block + 1; //#24702\n for (var _6u = 0, _6t = $1.Pg_sub_block - 1; _6u <= _6t; _6u += 1) { //#24710\n $1.j = _6u; //#24704\n var _6z = $get($1.matrixH, ~~(((($1.offset * 32) * $1.i) + $1.j) / 32)); //#24705\n var _73 = -(31 - (((($1.offset * 32) * $1.i) + $1.j) % 32)); //#24706\n if ((((_73 < 0 ? _6z >>> -_73 : _6z << _73)) & 1) == 1) { //#24709\n $1.pivot_column = $1.j; //#24707\n break; //#24708\n } //#24708\n } //#24708\n if ($1.pivot_column < $1.Pg_sub_block) { //#24735\n $put($1.processed_column, $1.pivot_column, true); //#24712\n $put($1.column_arrangement, $1.pivot_column, $1.i); //#24713\n if ($1.pivot_column >= $1.nb_pcb) { //#24717\n $put($1.swap_col, $1.loop0 * 2, $1.pivot_column); //#24715\n $1.loop0 = $1.loop0 + 1; //#24716\n } //#24716\n $1.off_index = ~~($1.pivot_column / 32); //#24718\n $1.off_index1 = $1.pivot_column % 32; //#24719\n for (var _7M = 0, _7L = $1.nb_pcb - 1; _7M <= _7L; _7M += 1) { //#24732\n $1.j = _7M; //#24721\n if ($1.i != $1.j) { //#24731\n var _7T = $get($1.matrixH, $1.off_index + ($1.j * $1.offset)); //#24723\n var _7V = -(31 - $1.off_index1); //#24724\n if ((((_7V < 0 ? _7T >>> -_7V : _7T << _7V)) & 1) == 1) { //#24730\n for (var _7Y = 0, _7X = $1.offset - 1; _7Y <= _7X; _7Y += 1) { //#24729\n $1.k = _7Y; //#24726\n var _7Z = $1.matrixH; //#24727\n var _7a = $1.offset; //#24727\n var _7b = $1.j; //#24727\n var _7c = $1.k; //#24727\n $put(_7Z, (_7a * _7b) + _7c, $xo($get(_7Z, (_7a * _7b) + _7c), $get($1.matrixH, ($1.offset * $1.i) + $1.k))); //#24728\n } //#24728\n } //#24728\n } //#24728\n } //#24728\n } else { //#24735\n $put($1.zero_lines_nb, $1.zero_lines, $1.i); //#24734\n $1.zero_lines = $1.zero_lines + 1; //#24735\n } //#24735\n } //#24735\n $1.matrix_rank = $1.nb_pcb - $1.zero_lines; //#24739\n $1.loop2 = 0; //#24740\n for (var _7s = $1.matrix_rank, _7r = $1.nb_pcb - 1; _7s <= _7r; _7s += 1) { //#24760\n $1.i = _7s; //#24742\n if ($get($1.column_arrangement, $1.i) > 0) { //#24759\n for (var _7y = 0, _7x = $1.nb_pcb - 1; _7y <= _7x; _7y += 1) { //#24758\n $1.j = _7y; //#24745\n if ($nt($get($1.processed_column, $1.j))) { //#24757\n $put($1.column_arrangement, $1.j, $get($1.column_arrangement, $1.i)); //#24747\n $put($1.column_arrangement, $1.i, 0); //#24748\n $put($1.processed_column, $1.j, true); //#24749\n $put($1.processed_column, $1.i, false); //#24750\n $put($1.swap_col, $1.loop0 * 2, $1.i); //#24751\n $put($1.swap_col, ($1.loop0 * 2) + 1, $1.j); //#24752\n $put($1.column_arrangement, $1.i, $1.j); //#24753\n $1.loop0 = $1.loop0 + 1; //#24754\n $1.loop2 = $1.loop2 + 1; //#24755\n break; //#24756\n } //#24756\n } //#24756\n } //#24756\n } //#24756\n $1.loop1 = 0; //#24762\n for (var _8Q = 0, _8P = $1.nb_pcb - 1; _8Q <= _8P; _8Q += 1) { //#24771\n $1.kl = _8Q; //#24764\n if ($nt($get($1.processed_column, $1.kl)) && ($1.loop1 < ($1.loop0 - $1.loop2))) { //#24770\n $put($1.column_arrangement, $1.kl, $get($1.column_arrangement, $get($1.swap_col, $1.loop1 * 2))); //#24766\n $put($1.processed_column, $1.kl, true); //#24767\n $put($1.swap_col, ($1.loop1 * 2) + 1, $1.kl); //#24768\n $1.loop1 = $1.loop1 + 1; //#24769\n } //#24769\n } //#24769\n $1.loop1 = 0; //#24773\n for (var _8m = 0, _8l = $1.nb_pcb - 1; _8m <= _8l; _8m += 1) { //#24780\n $1.kl = _8m; //#24775\n if ($nt($get($1.processed_column, $1.kl))) { //#24779\n $put($1.column_arrangement, $1.kl, $get($1.zero_lines_nb, $1.loop1)); //#24777\n $1.loop1 = $1.loop1 + 1; //#24778\n } //#24778\n } //#24778\n for (var _8y = 0, _8x = $1.nb_pcb - 1; _8y <= _8x; _8y += 1) { //#24789\n $1.i = _8y; //#24783\n for (var _91 = 0, _90 = $1.offset - 1; _91 <= _90; _91 += 1) { //#24788\n $1.j = _91; //#24785\n $put($1.matrixA, ($1.i * $1.offset) + $1.j, $get($1.matrixH, $f(($get($1.column_arrangement, $1.i) * $1.offset) + $1.j))); //#24787\n } //#24787\n } //#24787\n $1.tmp = 0; //#24791\n for (var _9F = 0, _9E = $1.loop0 - 1; _9F <= _9E; _9F += 1) { //#24813\n $1.i = _9F; //#24793\n for (var _9I = 0, _9H = $1.nb_pcb - 1; _9I <= _9H; _9I += 1) { //#24812\n $1.j = _9I; //#24795\n var _9P = $get($1.matrixA, (~~($get($1.swap_col, $1.i * 2) / 32)) + ($1.j * $1.offset)); //#24796\n var _9T = -($f(31 - ($get($1.swap_col, $1.i * 2) % 32))); //#24797\n $1.tmp = (((-(((_9T < 0 ? _9P >>> -_9T : _9P << _9T)) & 1)) ^ $1.tmp) & 1) ^ $1.tmp; //#24798\n var _9W = $1.matrixA; //#24799\n var _9Z = $get($1.swap_col, $1.i * 2); //#24799\n var _9a = $1.j; //#24799\n var _9b = $1.offset; //#24799\n var _9j = $get($1.matrixA, (~~($get($1.swap_col, ($1.i * 2) + 1) / 32)) + ($1.j * $1.offset)); //#24801\n var _9n = -($f(31 - ($get($1.swap_col, ($1.i * 2) + 1) % 32))); //#24802\n var _9y = $f(31 - ($get($1.swap_col, $1.i * 2) % 32)); //#24804\n $put(_9W, (~~(_9Z / 32)) + (_9a * _9b), $get(_9W, (~~(_9Z / 32)) + (_9a * _9b)) ^ (((-(((_9n < 0 ? _9j >>> -_9n : _9j << _9n)) & 1)) ^ $get($1.matrixA, (~~($get($1.swap_col, $1.i * 2) / 32)) + ($1.j * $1.offset))) & ((_9y < 0 ? 1 >>> -_9y : 1 << _9y)))); //#24805\n var _9z = $1.matrixA; //#24806\n var _A2 = $get($1.swap_col, ($1.i * 2) + 1); //#24806\n var _A3 = $1.j; //#24806\n var _A4 = $1.offset; //#24806\n var _AH = $f(31 - ($get($1.swap_col, ($1.i * 2) + 1) % 32)); //#24810\n $put(_9z, (~~(_A2 / 32)) + (_A3 * _A4), $get(_9z, (~~(_A2 / 32)) + (_A3 * _A4)) ^ (((-($1.tmp & 1)) ^ $get($1.matrixA, (~~($get($1.swap_col, ($1.i * 2) + 1) / 32)) + ($1.j * $1.offset))) & ((_AH < 0 ? 1 >>> -_AH : 1 << _AH)))); //#24811\n } //#24811\n } //#24811\n }; //#24815\n $1.createGeneratorMatrix = function() {\n $1.pn = $1.Pg_sub_block - $1.matrix_rank; //#24819\n $1.offset = ~~Math.ceil($1.pn / 32); //#24820\n $1.effwidth = $1.offset * 32; //#24821\n $1.offset_cap = ~~Math.ceil($1.Pg_sub_block / 32); //#24822\n $1.G = $a($1.offset * $1.Pg_sub_block); //#24823\n for (var _AT = 0, _AS = ($1.offset * $1.Pg_sub_block) - 1; _AT <= _AS; _AT += 1) { //#24826\n $put($1.G, _AT, 0); //#24825\n } //#24825\n for (var _AX = 0, _AW = $1.pn - 1; _AX <= _AW; _AX += 1) { //#24831\n $1.i = _AX; //#24828\n var _AY = $1.G; //#24829\n var _AZ = $1.Pg_sub_block; //#24829\n var _Aa = $1.pn; //#24829\n var _Ab = $1.i; //#24829\n var _Ac = $1.offset; //#24829\n var _Ad = $1.i; //#24829\n var _Ag = 31 - ($1.i % 32); //#24830\n $put(_AY, (((_AZ - _Aa) + _Ab) * _Ac) + (~~(_Ad / 32)), $get(_AY, (((_AZ - _Aa) + _Ab) * _Ac) + (~~(_Ad / 32))) | ((_Ag < 0 ? 1 >>> -_Ag : 1 << _Ag))); //#24830\n } //#24830\n $1.matrix_index = $1.Pg_sub_block - $1.pn; //#24832\n $1.loop0 = 0; //#24833\n for (var _An = 0, _Am = (($1.Pg_sub_block - $1.pn) * $1.effwidth) - 1; _An <= _Am; _An += 1) { //#24850\n $1.i = _An; //#24835\n if ($1.matrix_index >= $1.Pg_sub_block) { //#24839\n $1.loop0 = $1.loop0 + 1; //#24837\n $1.matrix_index = $1.Pg_sub_block - $1.pn; //#24838\n } //#24838\n if (($1.i % $1.effwidth) < $1.pn) { //#24849\n var _Aw = $1.G; //#24841\n var _Ax = $1.i; //#24841\n var _B3 = $get($1.matrixA, (~~($1.matrix_index / 32)) + ($1.offset_cap * $1.loop0)); //#24843\n var _B5 = -(31 - ($1.matrix_index % 32)); //#24844\n var _BA = 31 - ($1.i % 32); //#24846\n $put(_Aw, ~~(_Ax / 32), $get(_Aw, ~~(_Ax / 32)) ^ (((-(((_B5 < 0 ? _B3 >>> -_B5 : _B3 << _B5)) & 1)) ^ $get($1.G, ~~($1.i / 32))) & ((_BA < 0 ? 1 >>> -_BA : 1 << _BA)))); //#24847\n $1.matrix_index = $1.matrix_index + 1; //#24848\n } //#24848\n } //#24848\n }; //#24852\n $1.ldpc = function() {\n $1.wr = $k[--$j]; //#24856\n $1.wc = $k[--$j]; //#24857\n $k[$j++] = Infinity; //#24858\n var _BE = $k[--$j]; //#24858\n var _BF = $k[--$j]; //#24858\n $k[$j++] = _BE; //#24858\n $forall(_BF, function() { //#24858\n var _BG = $k[--$j]; //#24858\n $k[$j++] = $f(_BG - 48); //#24858\n }); //#24858\n $1.data = $a(); //#24858\n $1.Pn = $1.data.length; //#24860\n if ($1.wr != -1) { //#24875\n $1.Pg = ~~((Math.ceil((Math.ceil(($1.Pn * $1.wr) / $f($1.wr - $1.wc))) / $1.wr)) * $1.wr); //#24862\n $1.nb_sub_blocks = (~~($1.Pg / 2700)) + 1; //#24863\n $1.Pg_sub_block = (~~((~~($1.Pg / $1.nb_sub_blocks)) / $1.wr)) * $1.wr; //#24864\n $1.Pn_sub_block = ~~(($1.Pg_sub_block * $f($1.wr - $1.wc)) / $1.wr); //#24865\n $1.nb_sub_blocks = ~~($1.Pg / $1.Pg_sub_block); //#24866\n $k[$j++] = 'encoding_iterations'; //#24867\n $k[$j++] = ~~($1.Pg / $1.Pg_sub_block); //#24867\n if (($1.Pn_sub_block * $1.nb_sub_blocks) < $1.Pn) { //#24867\n var _Bg = $k[--$j]; //#24867\n $k[$j++] = $f(_Bg - 1); //#24867\n } //#24867\n var _Bh = $k[--$j]; //#24867\n $1[$k[--$j]] = _Bh; //#24867\n $1.createMatrixA(); //#24868\n } else { //#24875\n $1.Pg = $1.Pn * 2; //#24870\n $1.nb_sub_blocks = 1; //#24871\n $1.Pg_sub_block = $1.Pg; //#24872\n $1.Pn_sub_block = $1.Pn; //#24873\n $1.encoding_iterations = 1; //#24874\n $1.createMetadataMatrixA(); //#24875\n } //#24875\n $1.GaussJordan(); //#24877\n $1.createGeneratorMatrix(); //#24878\n $1.ecc_encoded_data = $a($1.Pg); //#24880\n $1.offset = ~~(Math.ceil(($1.Pg_sub_block - $1.matrix_rank) / 32)); //#24882\n for (var _Bs = 0, _Br = $1.encoding_iterations - 1; _Bs <= _Br; _Bs += 1) { //#24898\n $1.iter = _Bs; //#24884\n for (var _Bv = 0, _Bu = $1.Pg_sub_block - 1; _Bv <= _Bu; _Bv += 1) { //#24897\n $1.i = _Bv; //#24886\n $1.temp = 0; //#24887\n $1.loop0 = 0; //#24888\n $1.offset_index = $1.offset * $1.i; //#24889\n for (var _C3 = $1.iter * $1.Pn_sub_block, _C2 = (($1.iter + 1) * $1.Pn_sub_block) - 1; _C3 <= _C2; _C3 += 1) { //#24895\n var _C9 = $get($1.G, $1.offset_index + (~~($1.loop0 / 32))); //#24892\n var _CB = -(31 - ($1.loop0 % 32)); //#24892\n $1.temp = ($get($1.data, _C3) & (((_CB < 0 ? _C9 >>> -_CB : _C9 << _CB)) & 1)) ^ $1.temp; //#24893\n $1.loop0 = $1.loop0 + 1; //#24894\n } //#24894\n $put($1.ecc_encoded_data, $1.i + ($1.iter * $1.Pg_sub_block), $1.temp); //#24896\n } //#24896\n } //#24896\n if ($1.encoding_iterations != $1.nb_sub_blocks) { //#24922\n $1.start = $1.encoding_iterations * $1.Pn_sub_block; //#24901\n $1.last_index = $1.encoding_iterations * $1.Pg_sub_block; //#24902\n $1.Pg_sub_block = $1.Pg - ($1.encoding_iterations * $1.Pg_sub_block); //#24903\n $1.Pn_sub_block = ~~(($1.Pg_sub_block * $f($1.wr - $1.wc)) / $1.wr); //#24904\n $1.createMatrixA(); //#24905\n $1.GaussJordan(); //#24906\n $1.createGeneratorMatrix(); //#24907\n $1.offset = ~~(Math.ceil(($1.Pg_sub_block - $1.matrix_rank) / 32)); //#24908\n for (var _Ca = 0, _CZ = $1.Pg_sub_block - 1; _Ca <= _CZ; _Ca += 1) { //#24921\n $1.i = _Ca; //#24910\n $1.temp = 0; //#24911\n $1.loop0 = 0; //#24912\n $1.offset_index = $1.offset * $1.i; //#24913\n for (var _Cg = $1.start, _Cf = $1.Pn - 1; _Cg <= _Cf; _Cg += 1) { //#24919\n var _Cm = $get($1.G, $1.offset_index + (~~($1.loop0 / 32))); //#24916\n var _Co = -(31 - ($1.loop0 % 32)); //#24916\n $1.temp = ($get($1.data, _Cg) & (((_Co < 0 ? _Cm >>> -_Co : _Cm << _Co)) & 1)) ^ $1.temp; //#24917\n $1.loop0 = $1.loop0 + 1; //#24918\n } //#24918\n $put($1.ecc_encoded_data, $1.i + $1.last_index, $1.temp); //#24920\n } //#24920\n } //#24920\n $1.out = $s($1.Pg); //#24924\n for (var _Cz = 0, _Cy = $1.Pg - 1; _Cz <= _Cy; _Cz += 1) { //#24928\n $put($1.out, _Cz, $f($get($1.ecc_encoded_data, _Cz) + 48)); //#24927\n } //#24927\n $k[$j++] = $1.out; //#24929\n }; //#24931\n $k[$j++] = 'bits'; //#24934\n $k[$j++] = $1.bits; //#24934\n $k[$j++] = $1.datawc; //#24934\n $k[$j++] = $1.datawr; //#24934\n $1.ldpc(); //#24934\n var _D7 = $k[--$j]; //#24934\n $1[$k[--$j]] = _D7; //#24934\n $1.s0 = 0; //#24937\n $1.s1 = 0; //#24937\n $1.s2 = 3; //#24937\n $1.s3 = 30151; //#24937\n for (var _DA = $1.bits.length - 1; _DA >= 1; _DA -= 1) { //#24947\n $1.l = _DA; //#24939\n $1.lcg64_temper(); //#24940\n var _DB = $k[--$j]; //#24941\n $k[$j++] = _DB; //#24941\n if (_DB < 0) { //#24941\n var _DC = $k[--$j]; //#24941\n $k[$j++] = $f((_DC ^ 2147483648) + 2147483648); //#24941\n } //#24941\n $1.r = ~~(($k[--$j] / 4294967296) * ($1.l + 1)); //#24943\n $put($1.bits, $1.l, $get($1.bits, $1.r)); //#24945\n $put($1.bits, $1.r, $get($1.bits, $1.l)); //#24946\n } //#24946\n $1.tmpbits = $s($1.C); //#24950\n $puti($1.tmpbits, 0, $1.bits); //#24951\n $1.j = $1.bits.length; //#24952\n for (var _DW = 0, _DX = ~~(($f($f($1.C - $1.j) + 1)) / 2); _DW < _DX; _DW++) { //#24957\n $put($1.tmpbits, $1.j, 48); //#24954\n if (($1.j + 1) < $1.C) { //#24955\n $put($1.tmpbits, $1.j + 1, 49); //#24955\n } //#24955\n $1.j = $1.j + 2; //#24956\n } //#24956\n $1.bits = $1.tmpbits; //#24958\n if ($1.colors == 4) { //#25023\n $1.bi = 0; //#24962\n $1.gi = 1; //#24962\n $1.mi = 2; //#24962\n $1.yi = 3; //#24962\n $1.ki = 4; //#24963\n $1.wi = 5; //#24963\n $k[$j++] = Infinity; //#24966\n $k[$j++] = $1.bi; //#24966\n $k[$j++] = \"0000FF\"; //#24966\n $k[$j++] = $1.gi; //#24966\n $k[$j++] = \"00FF00\"; //#24966\n $k[$j++] = $1.mi; //#24966\n $k[$j++] = \"FF00FF\"; //#24966\n $k[$j++] = $1.yi; //#24966\n $k[$j++] = \"FFFF00\"; //#24966\n $k[$j++] = $1.ki; //#24966\n $k[$j++] = \"000000\"; //#24966\n $k[$j++] = $1.wi; //#24966\n $k[$j++] = \"FFFFFF\"; //#24966\n $1.palette = $d(); //#24967\n $1.metacolorindex = $a([$1.bi, $1.gi, $1.mi, $1.yi]); //#24968\n $1.palettelayout = $a([$1.bi, $1.gi, $1.mi, $1.yi]); //#24969\n } else { //#25023\n var _E4 = new Map([\n [8, $a([2, 2, 2])],\n [16, $a([4, 2, 2])],\n [32, $a([4, 4, 2])],\n [64, $a([4, 4, 4])],\n [128, $a([8, 4, 4])],\n [256, $a([8, 8, 4])]\n ]); //#24978\n $1.rgbres = $get(_E4, $1.colors); //#24979\n $k[$j++] = 'rvals'; //#24981\n $k[$j++] = $get($1.rgbres, 0); //#24981\n $k[$j++] = Infinity; //#24981\n var _E9 = $k[--$j]; //#24981\n var _EB = $f($k[--$j] - 1); //#24981\n $k[$j++] = _E9; //#24981\n $k[$j++] = _EB; //#24981\n for (var _ED = 0, _EC = _EB; _ED <= _EC; _ED += 1) { //#24981\n var _EE = $k[--$j]; //#24981\n $k[$j++] = ~~(Math.round(_ED * (255 / _EE))); //#24981\n $k[$j++] = _EE; //#24981\n } //#24981\n $j--; //#24981\n var _EF = $a(); //#24981\n $1[$k[--$j]] = _EF; //#24981\n $k[$j++] = 'gvals'; //#24982\n $k[$j++] = $get($1.rgbres, 1); //#24982\n $k[$j++] = Infinity; //#24982\n var _EJ = $k[--$j]; //#24982\n var _EL = $f($k[--$j] - 1); //#24982\n $k[$j++] = _EJ; //#24982\n $k[$j++] = _EL; //#24982\n for (var _EN = 0, _EM = _EL; _EN <= _EM; _EN += 1) { //#24982\n var _EO = $k[--$j]; //#24982\n $k[$j++] = ~~(Math.round(_EN * (255 / _EO))); //#24982\n $k[$j++] = _EO; //#24982\n } //#24982\n $j--; //#24982\n var _EP = $a(); //#24982\n $1[$k[--$j]] = _EP; //#24982\n $k[$j++] = 'bvals'; //#24983\n $k[$j++] = $get($1.rgbres, 2); //#24983\n $k[$j++] = Infinity; //#24983\n var _ET = $k[--$j]; //#24983\n var _EV = $f($k[--$j] - 1); //#24983\n $k[$j++] = _ET; //#24983\n $k[$j++] = _EV; //#24983\n for (var _EX = 0, _EW = _EV; _EX <= _EW; _EX += 1) { //#24983\n var _EY = $k[--$j]; //#24983\n $k[$j++] = ~~(Math.round(_EX * (255 / _EY))); //#24983\n $k[$j++] = _EY; //#24983\n } //#24983\n $j--; //#24983\n var _EZ = $a(); //#24983\n $1[$k[--$j]] = _EZ; //#24983\n var _Eb = $1.colors; //#24985\n $1.palette = new Map; //#24985\n var _Ec = $1.colors; //#24986\n var _Ed = 64; //#24986\n if (64 > _Ec) { //#24986\n var _ = _Ec; //#24986\n _Ec = _Ed; //#24986\n _Ed = _; //#24986\n } //#24986\n $1.palettelayout = $a(_Ed); //#24986\n $1.i = 0; //#24987\n $1.j = 8; //#24987\n $forall($1.rvals, function() { //#25021\n $1.r = $k[--$j]; //#24989\n $forall($1.gvals, function() { //#25020\n $1.g = $k[--$j]; //#24991\n $forall($1.bvals, function() { //#25019\n $1.b = $k[--$j]; //#24993\n var _Ep = $strcpy($s(6), \"000000\"); //#24995\n var _Er = $cvrs($s(6), (($1.r << 16) | ($1.g << 8)) | $1.b, 16); //#24995\n $puti(_Ep, 6 - _Er.length, _Er); //#24995\n $k[$j++] = _Ep; //#24997\n $k[$j++] = false; //#24997\n if ($eq(_Ep, \"000000\")) { //#24997\n $1.ki = $1.i; //#24997\n $j--; //#24997\n $k[$j++] = true; //#24997\n } //#24997\n var _Et = $k[--$j]; //#24998\n var _Eu = $k[--$j]; //#24998\n $k[$j++] = _Eu; //#24998\n $k[$j++] = _Et; //#24998\n if ($eq(_Eu, \"0000FF\")) { //#24998\n $1.bi = $1.i; //#24998\n $j--; //#24998\n $k[$j++] = true; //#24998\n } //#24998\n var _Ew = $k[--$j]; //#24999\n var _Ex = $k[--$j]; //#24999\n $k[$j++] = _Ex; //#24999\n $k[$j++] = _Ew; //#24999\n if ($eq(_Ex, \"00FF00\")) { //#24999\n $1.gi = $1.i; //#24999\n $j--; //#24999\n $k[$j++] = true; //#24999\n } //#24999\n var _Ez = $k[--$j]; //#25000\n var _F0 = $k[--$j]; //#25000\n $k[$j++] = _F0; //#25000\n $k[$j++] = _Ez; //#25000\n if ($eq(_F0, \"00FFFF\")) { //#25000\n $1.ci = $1.i; //#25000\n $j--; //#25000\n $k[$j++] = true; //#25000\n } //#25000\n var _F2 = $k[--$j]; //#25001\n var _F3 = $k[--$j]; //#25001\n $k[$j++] = _F3; //#25001\n $k[$j++] = _F2; //#25001\n if ($eq(_F3, \"FF0000\")) { //#25001\n $1.ri = $1.i; //#25001\n $j--; //#25001\n $k[$j++] = true; //#25001\n } //#25001\n var _F5 = $k[--$j]; //#25002\n var _F6 = $k[--$j]; //#25002\n $k[$j++] = _F6; //#25002\n $k[$j++] = _F5; //#25002\n if ($eq(_F6, \"FF00FF\")) { //#25002\n $1.mi = $1.i; //#25002\n $j--; //#25002\n $k[$j++] = true; //#25002\n } //#25002\n var _F8 = $k[--$j]; //#25003\n var _F9 = $k[--$j]; //#25003\n $k[$j++] = _F9; //#25003\n $k[$j++] = _F8; //#25003\n if ($eq(_F9, \"FFFF00\")) { //#25003\n $1.yi = $1.i; //#25003\n $j--; //#25003\n $k[$j++] = true; //#25003\n } //#25003\n var _FB = $k[--$j]; //#25004\n var _FC = $k[--$j]; //#25004\n $k[$j++] = _FC; //#25004\n $k[$j++] = _FB; //#25004\n if ($eq(_FC, \"FFFFFF\")) { //#25004\n $1.wi = $1.i; //#25004\n $j--; //#25004\n $k[$j++] = true; //#25004\n } //#25004\n if ($nt($k[--$j])) { //#25016\n if (($1.colors <= 64) || ((($1.colors == 128) && (((($1.r == 0) || ($1.r == 73)) || ($1.r == 182)) || ($1.r == 255))) || ((($1.colors == 256) && (((($1.r == 0) || ($1.r == 73)) || ($1.r == 182)) || ($1.r == 255))) && (((($1.g == 0) || ($1.g == 73)) || ($1.g == 182)) || ($1.g == 255))))) { //#25015\n $put($1.palettelayout, $1.j, $1.i); //#25013\n $1.j = $1.j + 1; //#25014\n } //#25014\n } //#25014\n $put($1.palette, $1.i, $k[--$j]); //#25017\n $1.i = $1.i + 1; //#25018\n }); //#25018\n }); //#25018\n }); //#25018\n $puti($1.palettelayout, 0, $a([$1.ki, $1.bi, $1.gi, $1.ci, $1.ri, $1.mi, $1.yi, $1.wi])); //#25022\n $1.metacolorindex = $a([$1.ki, $1.bi, $1.gi, $1.ci, $1.ri, $1.mi, $1.yi, $1.wi]); //#25023\n } //#25023\n $k[$j++] = Infinity; //#25027\n for (var _Fx = 0, _Fy = $1.rows * $1.cols; _Fx < _Fy; _Fx++) { //#25027\n $k[$j++] = -1; //#25027\n } //#25027\n $1.pixs = $a(); //#25027\n $1.jmv = function() {\n var _G1 = $k[--$j]; //#25028\n var _G2 = $k[--$j]; //#25028\n $k[$j++] = $f(_G2 + (_G1 * $1.cols)); //#25028\n }; //#25028\n if (!$1.slave) { //#25058\n $1.fpat = $a([$a([1, 1, 1, 0, 0]), $a([1, 2, 2, 0, 0]), $a([1, 2, 1, 2, 1]), $a([0, 0, 2, 2, 1]), $a([0, 0, 1, 1, 1])]); //#25038\n $1.fmap = $a([$a([-1, $1.bi, $1.yi]), $a([-1, $1.yi, $1.bi]), $a([-1, $1.gi, $1.mi]), $a([-1, $1.mi, $1.gi])]); //#25044\n } else { //#25058\n $1.fpat = $a([$a([0, 0, 0, 0, 0]), $a([0, 2, 2, 0, 0]), $a([0, 2, 1, 2, 0]), $a([0, 0, 2, 2, 0]), $a([0, 0, 0, 0, 0])]); //#25052\n $1.fmap = $a([$a([-1, $1.ki, $1.wi]), $a([-1, $1.ki, $1.wi]), $a([-1, $1.ki, $1.wi]), $a([-1, $1.ki, $1.wi])]); //#25058\n } //#25058\n for (var _Gg = 0; _Gg <= 4; _Gg += 1) { //#25070\n $1.y = _Gg; //#25061\n for (var _Gh = 0; _Gh <= 4; _Gh += 1) { //#25069\n $1.x = _Gh; //#25063\n $1.fpb = $get($get($1.fpat, $1.y), $1.x); //#25064\n $k[$j++] = $1.pixs; //#25065\n $k[$j++] = $1.x + 1; //#25065\n $k[$j++] = $1.y + 1; //#25065\n $1.jmv(); //#25065\n var _Gu = $k[--$j]; //#25065\n $put($k[--$j], _Gu, $get($get($1.fmap, 0), $1.fpb)); //#25065\n $k[$j++] = $1.pixs; //#25066\n $k[$j++] = $1.x + 1; //#25066\n $k[$j++] = $f($f($1.rows - $1.y) - 2); //#25066\n $1.jmv(); //#25066\n var _H4 = $k[--$j]; //#25066\n $put($k[--$j], _H4, $get($get($1.fmap, 1), $1.fpb)); //#25066\n $k[$j++] = $1.pixs; //#25067\n $k[$j++] = $f($f($1.x + $1.cols) - 6); //#25067\n $k[$j++] = $1.y + 1; //#25067\n $1.jmv(); //#25067\n var _HE = $k[--$j]; //#25067\n $put($k[--$j], _HE, $get($get($1.fmap, 2), $1.fpb)); //#25067\n $k[$j++] = $1.pixs; //#25068\n $k[$j++] = $f($f($1.x + $1.cols) - 6); //#25068\n $k[$j++] = $f($f($1.rows - $1.y) - 2); //#25068\n $1.jmv(); //#25068\n var _HP = $k[--$j]; //#25068\n $put($k[--$j], _HP, $get($get($1.fmap, 3), $1.fpb)); //#25068\n } //#25068\n } //#25068\n $1.algnpat0 = $a([$a([$1.ki, $1.ki, -1]), $a([$1.ki, $1.wi, $1.ki]), $a([-1, $1.ki, $1.ki])]); //#25077\n $1.algnpat1 = $a([$a([-1, $1.ki, $1.ki]), $a([$1.ki, $1.wi, $1.ki]), $a([$1.ki, $1.ki, -1])]); //#25082\n $1.num = (~~Math.round($1.cols / 16)) - 1; //#25083\n $1.algnrpos = $a([3, 17]); //#25084\n if ($1.num > 0) { //#25087\n $k[$j++] = Infinity; //#25086\n for (var _Hs = 0, _Hr = $1.num; _Hs <= _Hr; _Hs += 1) { //#25086\n $k[$j++] = (~~(_Hs * ($f($1.cols - 7) / $1.num))) + 3; //#25086\n } //#25086\n $1.algnrpos = $a(); //#25086\n } //#25086\n $1.num = (~~Math.round($1.rows / 16)) - 1; //#25088\n $1.algncpos = $a([3, 17]); //#25089\n if ($1.num > 0) { //#25092\n $k[$j++] = Infinity; //#25091\n for (var _I1 = 0, _I0 = $1.num; _I1 <= _I0; _I1 += 1) { //#25091\n $k[$j++] = (~~(_I1 * ($f($1.rows - 7) / $1.num))) + 3; //#25091\n } //#25091\n $1.algncpos = $a(); //#25091\n } //#25091\n $1.putalgnpat = function() {\n $1.pp = $k[--$j]; //#25094\n $1.py = $k[--$j]; //#25095\n $1.px = $k[--$j]; //#25096\n for (var _I8 = 0; _I8 <= 2; _I8 += 1) { //#25103\n $1.pb = _I8; //#25098\n for (var _I9 = 0; _I9 <= 2; _I9 += 1) { //#25102\n $1.pa = _I9; //#25100\n $k[$j++] = $1.pixs; //#25101\n $k[$j++] = $f($1.px + $1.pa); //#25101\n $k[$j++] = $f($1.py + $1.pb); //#25101\n $1.jmv(); //#25101\n var _IK = $k[--$j]; //#25101\n $put($k[--$j], _IK, $get($get($1.pp, $1.pb), $1.pa)); //#25101\n } //#25101\n } //#25101\n }; //#25104\n for (var _IO = 0, _IN = $1.algncpos.length - 1; _IO <= _IN; _IO += 1) { //#25115\n $1.j = _IO; //#25106\n $1.y = $get($1.algncpos, $1.j); //#25107\n for (var _IU = 0, _IT = $1.algnrpos.length - 1; _IU <= _IT; _IU += 1) { //#25114\n $1.i = _IU; //#25109\n $1.x = $get($1.algnrpos, $1.i); //#25110\n $k[$j++] = $1.pixs; //#25111\n $k[$j++] = $1.x; //#25111\n $k[$j++] = $1.y; //#25111\n $1.jmv(); //#25111\n var _Ib = $k[--$j]; //#25111\n if ($get($k[--$j], _Ib) == -1) { //#25113\n $k[$j++] = $f($1.x - 1); //#25112\n $k[$j++] = $f($1.y - 1); //#25112\n if ((($1.i + $1.j) % 2) == 0) { //#25112\n $k[$j++] = $1.algnpat0; //#25112\n } else { //#25112\n $k[$j++] = $1.algnpat1; //#25112\n } //#25112\n $1.putalgnpat(); //#25112\n } //#25112\n } //#25112\n } //#25112\n if (!$1.slave) { //#25167\n var _JT = $a([$a([6, 1]), $a([6, 2]), $a([6, 3]), $a([6, 4]), $a([6, 5]), $a([6, 6]), $a([5, 6]), $a([4, 6]), $a([3, 6]), $a([2, 6]), $a([1, 6]), $a([7, 1]), $a([7, 2]), $a([7, 3]), $a([7, 4]), $a([7, 5]), $a([7, 6]), $a([7, 7]), $a([6, 7]), $a([5, 7]), $a([4, 7]), $a([3, 7]), $a([2, 7]), $a([1, 7]), $a([8, 1]), $a([8, 2]), $a([8, 3]), $a([8, 4]), $a([8, 5]), $a([8, 6]), $a([8, 7]), $a([8, 8]), $a([7, 8]), $a([6, 8]), $a([5, 8]), $a([4, 8]), $a([3, 8]), $a([2, 8]), $a([1, 8]), $a([9, 1]), $a([9, 2]), $a([9, 3]), $a([9, 4]), $a([9, 5])]); //#25126\n for (var _JU = 0, _JV = _JT.length; _JU < _JV; _JU++) { //#25130\n $aload($get(_JT, _JU)); //#25128\n $1.y = $k[--$j]; //#25128\n $1.x = $k[--$j]; //#25128\n $k[$j++] = $a([$1.x, $1.y]); //#25129\n $k[$j++] = $a([-$1.x, $1.y]); //#25129\n $k[$j++] = $a([-$1.x, -$1.y]); //#25129\n $k[$j++] = $a([$1.x, -$1.y]); //#25129\n } //#25129\n $astore($a(176)); //#25131\n $1.metadatamap = $k[--$j]; //#25131\n $1.palettemap1 = $a([$a([4, 1]), $a([4, 2]), $a([5, 1]), $a([5, 2]), $a([2, 4]), $a([2, 5]), $a([1, 4]), $a([1, 5]), $a([-2, 1]), $a([-2, 2]), $a([-1, 1]), $a([-1, 2]), $a([-4, 4]), $a([-4, 5]), $a([-5, 4]), $a([-5, 5])]); //#25136\n $1.palettemap2 = $a([$a([-4, -5]), $a([-4, -4]), $a([-5, -5]), $a([-5, -4]), $a([-2, -2]), $a([-2, -1]), $a([-1, -2]), $a([-1, -1]), $a([2, -5]), $a([2, -4]), $a([1, -5]), $a([1, -4]), $a([4, -2]), $a([4, -1]), $a([5, -2]), $a([5, -1])]); //#25141\n } else { //#25167\n $k[$j++] = Infinity; //#25154\n for (var _KL = 1; _KL <= 19; _KL += 1) { //#25151\n $1.i = _KL; //#25149\n $k[$j++] = $a([0, $1.i]); //#25150\n $k[$j++] = $a([1, $1.i]); //#25150\n } //#25150\n for (var _KQ = 5; _KQ <= 12; _KQ += 1) { //#25155\n $1.i = _KQ; //#25153\n $k[$j++] = $a([2, $1.i]); //#25154\n $k[$j++] = $a([3, $1.i]); //#25154\n } //#25154\n $1.metadatamap = $a(); //#25154\n $k[$j++] = Infinity; //#25162\n for (var _KW = 5; _KW <= 12; _KW += 1) { //#25159\n $k[$j++] = _KW; //#25159\n $k[$j++] = Infinity; //#25159\n var _KX = $k[--$j]; //#25159\n var _KY = $k[--$j]; //#25159\n $k[$j++] = _KX; //#25159\n $k[$j++] = 4; //#25159\n $k[$j++] = _KY; //#25159\n var _KZ = $a(); //#25159\n $k[$j++] = _KZ; //#25159\n } //#25159\n for (var _Ka = 12; _Ka >= 5; _Ka -= 1) { //#25160\n $k[$j++] = _Ka; //#25160\n $k[$j++] = Infinity; //#25160\n var _Kb = $k[--$j]; //#25160\n var _Kc = $k[--$j]; //#25160\n $k[$j++] = _Kb; //#25160\n $k[$j++] = 5; //#25160\n $k[$j++] = _Kc; //#25160\n var _Kd = $a(); //#25160\n $k[$j++] = _Kd; //#25160\n } //#25160\n for (var _Ke = 5; _Ke <= 12; _Ke += 1) { //#25161\n $k[$j++] = _Ke; //#25161\n $k[$j++] = Infinity; //#25161\n var _Kf = $k[--$j]; //#25161\n var _Kg = $k[--$j]; //#25161\n $k[$j++] = _Kf; //#25161\n $k[$j++] = 6; //#25161\n $k[$j++] = _Kg; //#25161\n var _Kh = $a(); //#25161\n $k[$j++] = _Kh; //#25161\n } //#25161\n for (var _Ki = 12; _Ki >= 5; _Ki -= 1) { //#25162\n $k[$j++] = _Ki; //#25162\n $k[$j++] = Infinity; //#25162\n var _Kj = $k[--$j]; //#25162\n var _Kk = $k[--$j]; //#25162\n $k[$j++] = _Kj; //#25162\n $k[$j++] = 7; //#25162\n $k[$j++] = _Kk; //#25162\n var _Kl = $a(); //#25162\n $k[$j++] = _Kl; //#25162\n } //#25162\n $1.palettemap1 = $a(); //#25162\n $k[$j++] = Infinity; //#25166\n var _Kn = $1.palettemap1; //#25166\n for (var _Ko = 0, _Kp = _Kn.length; _Ko < _Kp; _Ko++) { //#25166\n $k[$j++] = $get(_Kn, _Ko); //#25166\n $k[$j++] = Infinity; //#25166\n var _Kr = $k[--$j]; //#25166\n var _Ks = $k[--$j]; //#25166\n $k[$j++] = _Kr; //#25166\n $aload(_Ks); //#25166\n var _Kt = $k[--$j]; //#25166\n var _Ku = $k[--$j]; //#25166\n $k[$j++] = -_Ku; //#25166\n $k[$j++] = -_Kt; //#25166\n var _Kv = $a(); //#25166\n $k[$j++] = _Kv; //#25166\n } //#25166\n $1.palettemap2 = $a(); //#25166\n } //#25167\n var _Kx = $1.metadatamap; //#25172\n for (var _Ky = 0, _Kz = _Kx.length; _Ky < _Kz; _Ky++) { //#25176\n var _L0 = $get(_Kx, _Ky); //#25176\n var _L1 = $get(_L0, 0); //#25173\n $k[$j++] = _L0; //#25173\n $k[$j++] = _L1; //#25173\n if (_L1 < 0) { //#25173\n var _L3 = $k[--$j]; //#25173\n var _L4 = $k[--$j]; //#25173\n $put(_L4, 0, $f($f(_L3 + $1.cols) - 1)); //#25173\n $k[$j++] = _L4; //#25173\n } else { //#25173\n $j--; //#25173\n } //#25173\n var _L5 = $k[--$j]; //#25174\n var _L6 = $get(_L5, 1); //#25174\n $k[$j++] = _L5; //#25174\n $k[$j++] = _L6; //#25174\n if (_L6 < 0) { //#25174\n var _L8 = $k[--$j]; //#25174\n var _L9 = $k[--$j]; //#25174\n $put(_L9, 1, $f($f(_L8 + $1.rows) - 1)); //#25174\n $k[$j++] = _L9; //#25174\n } else { //#25174\n $j--; //#25174\n } //#25174\n $j--; //#25175\n } //#25175\n var _LA = $1.palettemap1; //#25177\n for (var _LB = 0, _LC = _LA.length; _LB < _LC; _LB++) { //#25181\n var _LD = $get(_LA, _LB); //#25181\n var _LE = $get(_LD, 0); //#25178\n $k[$j++] = _LD; //#25178\n $k[$j++] = _LE; //#25178\n if (_LE < 0) { //#25178\n var _LG = $k[--$j]; //#25178\n var _LH = $k[--$j]; //#25178\n $put(_LH, 0, $f($f(_LG + $1.cols) - 1)); //#25178\n $k[$j++] = _LH; //#25178\n } else { //#25178\n $j--; //#25178\n } //#25178\n var _LI = $k[--$j]; //#25179\n var _LJ = $get(_LI, 1); //#25179\n $k[$j++] = _LI; //#25179\n $k[$j++] = _LJ; //#25179\n if (_LJ < 0) { //#25179\n var _LL = $k[--$j]; //#25179\n var _LM = $k[--$j]; //#25179\n $put(_LM, 1, $f($f(_LL + $1.rows) - 1)); //#25179\n $k[$j++] = _LM; //#25179\n } else { //#25179\n $j--; //#25179\n } //#25179\n $j--; //#25180\n } //#25180\n var _LN = $1.palettemap2; //#25182\n for (var _LO = 0, _LP = _LN.length; _LO < _LP; _LO++) { //#25186\n var _LQ = $get(_LN, _LO); //#25186\n var _LR = $get(_LQ, 0); //#25183\n $k[$j++] = _LQ; //#25183\n $k[$j++] = _LR; //#25183\n if (_LR < 0) { //#25183\n var _LT = $k[--$j]; //#25183\n var _LU = $k[--$j]; //#25183\n $put(_LU, 0, $f($f(_LT + $1.cols) - 1)); //#25183\n $k[$j++] = _LU; //#25183\n } else { //#25183\n $j--; //#25183\n } //#25183\n var _LV = $k[--$j]; //#25184\n var _LW = $get(_LV, 1); //#25184\n $k[$j++] = _LV; //#25184\n $k[$j++] = _LW; //#25184\n if (_LW < 0) { //#25184\n var _LY = $k[--$j]; //#25184\n var _LZ = $k[--$j]; //#25184\n $put(_LZ, 1, $f($f(_LY + $1.rows) - 1)); //#25184\n $k[$j++] = _LZ; //#25184\n } else { //#25184\n $j--; //#25184\n } //#25184\n $j--; //#25185\n } //#25185\n for (var _Lc = 0, _Lb = $f($1.nummetamodules - 1); _Lc <= _Lb; _Lc += 1) { //#25191\n $k[$j++] = $1.pixs; //#25190\n $aload($get($1.metadatamap, _Lc)); //#25190\n $1.jmv(); //#25190\n var _Lg = $k[--$j]; //#25190\n $put($k[--$j], _Lg, 0); //#25190\n } //#25190\n if (!$1.slave) { //#25204\n var _Lj = $1.colors; //#25196\n var _Lk = 16; //#25196\n if (16 > _Lj) { //#25196\n var _ = _Lj; //#25196\n _Lj = _Lk; //#25196\n _Lk = _; //#25196\n } //#25196\n for (var _Lm = 0, _Ll = _Lk - 1; _Lm <= _Ll; _Lm += 1) { //#25201\n $1.i = _Lm; //#25197\n var _Lp = $get($1.palettelayout, $1.i); //#25198\n $k[$j++] = _Lp; //#25199\n $k[$j++] = $1.pixs; //#25199\n $k[$j++] = _Lp; //#25199\n $aload($get($1.palettemap1, $1.i)); //#25199\n $1.jmv(); //#25199\n var _Lu = $k[--$j]; //#25199\n var _Lv = $k[--$j]; //#25199\n $put($k[--$j], _Lu, _Lv); //#25199\n var _Ly = $k[--$j]; //#25200\n $k[$j++] = $1.pixs; //#25200\n $k[$j++] = _Ly; //#25200\n $aload($get($1.palettemap2, $1.i)); //#25200\n $1.jmv(); //#25200\n var _M2 = $k[--$j]; //#25200\n var _M3 = $k[--$j]; //#25200\n $put($k[--$j], _M2, _M3); //#25200\n } //#25200\n $1.i = 16; //#25202\n } else { //#25204\n $1.i = 0; //#25204\n } //#25204\n $1.j = $1.nummetamodules; //#25208\n for (var _M9 = $1.i, _M8 = $1.palettelayout.length - 1; _M9 <= _M8; _M9 += 2) { //#25218\n $1.i = _M9; //#25210\n var _MC = $get($1.palettelayout, $1.i); //#25211\n $k[$j++] = _MC; //#25212\n $k[$j++] = $1.pixs; //#25212\n $k[$j++] = _MC; //#25212\n $aload($get($1.metadatamap, $1.j)); //#25212\n $1.jmv(); //#25212\n var _MH = $k[--$j]; //#25212\n var _MI = $k[--$j]; //#25212\n $put($k[--$j], _MH, _MI); //#25212\n var _ML = $k[--$j]; //#25213\n $k[$j++] = $1.pixs; //#25213\n $k[$j++] = _ML; //#25213\n $aload($get($1.metadatamap, $f($1.j + 2))); //#25213\n $1.jmv(); //#25213\n var _MP = $k[--$j]; //#25213\n var _MQ = $k[--$j]; //#25213\n $put($k[--$j], _MP, _MQ); //#25213\n var _MU = $get($1.palettelayout, $1.i + 1); //#25214\n $k[$j++] = _MU; //#25215\n $k[$j++] = $1.pixs; //#25215\n $k[$j++] = _MU; //#25215\n $aload($get($1.metadatamap, $f($1.j + 1))); //#25215\n $1.jmv(); //#25215\n var _MZ = $k[--$j]; //#25215\n var _Ma = $k[--$j]; //#25215\n $put($k[--$j], _MZ, _Ma); //#25215\n var _Md = $k[--$j]; //#25216\n $k[$j++] = $1.pixs; //#25216\n $k[$j++] = _Md; //#25216\n $aload($get($1.metadatamap, $f($1.j + 3))); //#25216\n $1.jmv(); //#25216\n var _Mh = $k[--$j]; //#25216\n var _Mi = $k[--$j]; //#25216\n $put($k[--$j], _Mh, _Mi); //#25216\n $1.j = $f($1.j + 4); //#25217\n } //#25217\n var _NA = $a([function() {\n var _Ml = $k[--$j]; //#25222\n var _Mm = $k[--$j]; //#25222\n $k[$j++] = $f(_Mm + _Ml) % $1.colors; //#25222\n }, function() {\n $j--; //#25223\n var _Mp = $k[--$j]; //#25223\n $k[$j++] = _Mp % $1.colors; //#25223\n }, function() {\n var _Mq = $k[--$j]; //#25224\n var _Mr = $k[--$j]; //#25224\n $k[$j++] = _Mq; //#25224\n $k[$j++] = _Mr; //#25224\n $j--; //#25224\n var _Mt = $k[--$j]; //#25224\n $k[$j++] = _Mt % $1.colors; //#25224\n }, function() {\n var _Mu = $k[--$j]; //#25225\n var _Mv = $k[--$j]; //#25225\n $k[$j++] = ((~~(_Mu / 3)) + (~~(_Mv / 2))) % $1.colors; //#25225\n }, function() {\n var _Mx = $k[--$j]; //#25226\n var _My = $k[--$j]; //#25226\n $k[$j++] = ((~~(_Mx / 2)) + (~~(_My / 3))) % $1.colors; //#25226\n }, function() {\n var _N0 = $k[--$j]; //#25227\n var _N2 = $f($k[--$j] + _N0); //#25227\n $k[$j++] = ((~~(_N2 / 2)) + (~~(_N2 / 3))) % $1.colors; //#25227\n }, function() {\n var _N4 = $k[--$j]; //#25228\n var _N5 = $k[--$j]; //#25228\n $k[$j++] = ($f(((_N4 * (_N5 * _N5)) % 7) + ((($f(_N4 + (_N5 * _N5))) * 2) % 19))) % $1.colors; //#25228\n }, function() {\n var _N7 = $k[--$j]; //#25229\n var _N8 = $k[--$j]; //#25229\n $k[$j++] = ($f(((_N8 * (_N7 * _N7)) % 5) + (($f((_N7 * _N7) + (_N8 * 2))) % 13))) % $1.colors; //#25229\n }]); //#25229\n $1.maskfuncs = _NA; //#25230\n if ($1.mask != -1) { //#25234\n $1.maskfuncs = $a([$get($1.maskfuncs, $1.mask)]); //#25232\n $1.bestmaskval = $1.mask; //#25233\n } //#25233\n $1.masks = $a($1.maskfuncs.length); //#25235\n for (var _NL = 0, _NK = $1.masks.length - 1; _NL <= _NK; _NL += 1) { //#25248\n $1.m = _NL; //#25237\n $1.mask = $a($1.rows * $1.cols); //#25238\n for (var _NR = 0, _NQ = $f($1.rows - 1); _NR <= _NQ; _NR += 1) { //#25246\n $1.j = _NR; //#25240\n for (var _NU = 0, _NT = $f($1.cols - 1); _NU <= _NT; _NU += 1) { //#25245\n $1.i = _NU; //#25242\n $k[$j++] = $1.pixs; //#25243\n $k[$j++] = $1.i; //#25243\n $k[$j++] = $1.j; //#25243\n $1.jmv(); //#25243\n var _NY = $k[--$j]; //#25243\n if ($get($k[--$j], _NY) == -1) { //#25243\n $k[$j++] = $1.i; //#25243\n $k[$j++] = $1.j; //#25243\n if ($get($1.maskfuncs, $1.m)() === true) {\n break;\n } //#25243\n } else { //#25243\n $k[$j++] = 0; //#25243\n } //#25243\n $k[$j++] = $1.mask; //#25244\n $k[$j++] = $1.i; //#25244\n $k[$j++] = $1.j; //#25244\n $1.jmv(); //#25244\n var _Nj = $k[--$j]; //#25244\n var _Nk = $k[--$j]; //#25244\n $put(_Nk, _Nj, $k[--$j]); //#25244\n } //#25244\n } //#25244\n $put($1.masks, $1.m, $1.mask); //#25247\n } //#25247\n $1.posx = 0; //#25251\n $1.posy = 0; //#25251\n $1.i = 0; //#25252\n for (;;) { //#25262\n if ($1.posx == $1.cols) { //#25254\n break; //#25254\n } //#25254\n $k[$j++] = $1.pixs; //#25255\n $k[$j++] = $1.posx; //#25255\n $k[$j++] = $1.posy; //#25255\n $1.jmv(); //#25255\n var _Nu = $k[--$j]; //#25255\n if ($get($k[--$j], _Nu) == -1) { //#25259\n var _O0 = $geti($1.bits, $1.i, $1.databpm); //#25256\n $k[$j++] = 0; //#25256\n for (var _O1 = 0, _O2 = _O0.length; _O1 < _O2; _O1++) { //#25256\n var _O4 = $k[--$j]; //#25256\n $k[$j++] = ($f(_O4 + $f($get(_O0, _O1) - 48))) * 2; //#25256\n } //#25256\n var _O5 = $k[--$j]; //#25256\n $k[$j++] = ~~(_O5 / 2); //#25257\n $k[$j++] = $1.pixs; //#25257\n $k[$j++] = $1.posx; //#25257\n $k[$j++] = $1.posy; //#25257\n $1.jmv(); //#25257\n var _O9 = $k[--$j]; //#25257\n var _OA = $k[--$j]; //#25257\n $put(_OA, _O9, $k[--$j]); //#25257\n $1.i = $1.i + $1.databpm; //#25258\n } //#25258\n $1.posy = $1.posy + 1; //#25260\n if ($1.posy == $1.rows) { //#25261\n $1.posy = 0; //#25261\n $1.posx = $1.posx + 1; //#25261\n } //#25261\n } //#25261\n $1.evalrle = function() {\n $1.scrle = $k[--$j]; //#25266\n $1.scr1 = 0; //#25267\n $1.scr3 = 0; //#25267\n for (var _OL = 0, _OK = $1.scrle.length - 2; _OL <= _OK; _OL += 2) { //#25289\n $1.j = _OL; //#25269\n if ($get($1.scrle, $1.j + 1) != -1) { //#25288\n var _OR = $get($1.scrle, $1.j); //#25272\n $k[$j++] = _OR; //#25272\n if (_OR >= 5) { //#25272\n $1.scr1 = $f($f($k[--$j] - 2) + $1.scr1); //#25272\n } else { //#25272\n $j--; //#25272\n } //#25272\n if (($1.j >= 4) && ($1.j <= ($1.scrle.length - 5))) { //#25287\n var _OZ = $geti($1.scrle, $1.j - 4, 10); //#25275\n $k[$j++] = _OZ; //#25276\n for (var _Oa = 0, _Ob = _OZ.length; _Oa < _Ob; _Oa++) { //#25276\n $k[$j++] = $get(_OZ, _Oa) == 1; //#25276\n } //#25276\n $j--; //#25276\n for (var _Od = 0, _Oe = 4; _Od < _Oe; _Od++) { //#25276\n var _Of = $k[--$j]; //#25276\n var _Og = $k[--$j]; //#25276\n $k[$j++] = _Of; //#25276\n $k[$j++] = _Og; //#25276\n $j--; //#25276\n var _Oh = $k[--$j]; //#25276\n var _Oi = $k[--$j]; //#25276\n $k[$j++] = $an(_Oi, _Oh); //#25276\n } //#25276\n if ($k[--$j]) { //#25286\n $k[$j++] = Infinity; //#25277\n var _Ok = $k[--$j]; //#25277\n var _Ol = $k[--$j]; //#25277\n $k[$j++] = _Ok; //#25277\n $aload(_Ol); //#25277\n var _Om = $k[--$j]; //#25278\n var _On = $k[--$j]; //#25278\n var _Oo = $k[--$j]; //#25278\n var _Op = $k[--$j]; //#25278\n var _Oq = $k[--$j]; //#25278\n var _Or = $k[--$j]; //#25278\n var _Os = $k[--$j]; //#25278\n var _Ot = $k[--$j]; //#25278\n var _Ou = $k[--$j]; //#25278\n $k[$j++] = _Ou; //#25284\n $k[$j++] = _Ot; //#25284\n $k[$j++] = _Os; //#25284\n $k[$j++] = _Or; //#25284\n $k[$j++] = _Oq; //#25284\n $k[$j++] = _Op; //#25284\n $k[$j++] = _Oo; //#25284\n $k[$j++] = _On; //#25284\n $k[$j++] = _Om; //#25284\n if (($eq(_Ou, _Oq) && $eq(_Ou, _Om)) && $eq(_Os, _Oo)) { //#25284\n var _Ov = $k[--$j]; //#25280\n var _Ow = $k[--$j]; //#25280\n var _Ox = $k[--$j]; //#25280\n $1.c4 = _Ox; //#25280\n $1.c5 = _Ov; //#25280\n $k[$j++] = _Ox; //#25283\n $k[$j++] = _Ow; //#25283\n if ((($1.c4 == $1.bi) && ($1.c5 == $1.yi)) || ((($1.c4 == $1.yi) && ($1.c5 == $1.bi)) || ((($1.c4 == $1.gi) && ($1.c5 == $1.mi)) || (($1.c4 == $1.mi) && ($1.c5 == $1.gi))))) { //#25283\n $1.scr3 = $1.scr3 + 100; //#25283\n } //#25283\n } //#25283\n $cleartomark(); //#25285\n } else { //#25286\n $j--; //#25286\n } //#25286\n } //#25286\n } //#25286\n } //#25286\n $k[$j++] = $1.scr1; //#25290\n $k[$j++] = $1.scr3; //#25290\n }; //#25291\n $1.evalmask = function() {\n $1.sym = $k[--$j]; //#25294\n $1.n1 = 0; //#25296\n $1.n2 = 0; //#25296\n $1.n3 = 0; //#25296\n var _PI = $1.rows; //#25297\n var _PJ = $1.cols; //#25297\n if (_PI < _PJ) { //#25297\n var _ = _PJ; //#25297\n _PJ = _PI; //#25297\n _PI = _; //#25297\n } //#25297\n $1.rle = $a($f((_PI * 2) + 2)); //#25297\n $1.lastpairs = $a($1.cols); //#25298\n $1.thispairs = $a($1.cols); //#25299\n for (var _PR = 0, _PQ = $f($1.cols - 1); _PR <= _PQ; _PR += 1) { //#25311\n $1.i = _PR; //#25303\n $k[$j++] = Infinity; //#25304\n $k[$j++] = 0; //#25307\n $k[$j++] = -1; //#25307\n for (var _PX = $1.i, _PY = $1.cols, _PW = $f(($1.rows * $1.cols) - 1); _PY < 0 ? _PX >= _PW : _PX <= _PW; _PX += _PY) { //#25307\n var _Pa = $get($1.sym, _PX); //#25306\n var _Pb = $k[--$j]; //#25306\n $k[$j++] = _Pb; //#25306\n $k[$j++] = _Pa; //#25306\n if ($eq(_Pb, _Pa)) { //#25306\n $j--; //#25306\n var _Pc = $k[--$j]; //#25306\n var _Pd = $k[--$j]; //#25306\n $k[$j++] = $f(_Pd + 1); //#25306\n $k[$j++] = _Pc; //#25306\n } else { //#25306\n var _Pe = $k[--$j]; //#25306\n $k[$j++] = 1; //#25306\n $k[$j++] = _Pe; //#25306\n } //#25306\n } //#25306\n var _Pg = $counttomark() + 2; //#25308\n $astore($geti($1.rle, 0, _Pg - 2)); //#25308\n $1.evalrle(); //#25309\n $1.n3 = $f($k[--$j] + $1.n3); //#25309\n $1.n1 = $f($k[--$j] + $1.n1); //#25309\n $j--; //#25310\n } //#25310\n for (var _Po = 0, _Pn = $f($1.rows - 1); _Po <= _Pn; _Po += 1) { //#25338\n $1.i = _Po; //#25314\n $1.symrow = $geti($1.sym, $1.i * $1.cols, $1.cols); //#25317\n $k[$j++] = Infinity; //#25318\n var _Pu = $1.symrow; //#25319\n $k[$j++] = 0; //#25321\n $k[$j++] = -1; //#25321\n for (var _Pv = 0, _Pw = _Pu.length; _Pv < _Pw; _Pv++) { //#25321\n var _Px = $get(_Pu, _Pv); //#25321\n var _Py = $k[--$j]; //#25320\n $k[$j++] = _Py; //#25320\n $k[$j++] = _Px; //#25320\n if ($eq(_Py, _Px)) { //#25320\n $j--; //#25320\n var _Pz = $k[--$j]; //#25320\n var _Q0 = $k[--$j]; //#25320\n $k[$j++] = $f(_Q0 + 1); //#25320\n $k[$j++] = _Pz; //#25320\n } else { //#25320\n var _Q1 = $k[--$j]; //#25320\n $k[$j++] = 1; //#25320\n $k[$j++] = _Q1; //#25320\n } //#25320\n } //#25320\n var _Q3 = $counttomark() + 2; //#25322\n $astore($geti($1.rle, 0, _Q3 - 2)); //#25322\n $1.evalrle(); //#25323\n $1.n3 = $f($k[--$j] + $1.n3); //#25323\n $1.n1 = $f($k[--$j] + $1.n1); //#25323\n $j--; //#25324\n var _Q9 = $1.thispairs; //#25327\n $1.thispairs = $1.lastpairs; //#25327\n $1.lastpairs = _Q9; //#25327\n var _QB = $1.symrow; //#25328\n $k[$j++] = -1; //#25328\n for (var _QC = 0, _QD = _QB.length; _QC < _QD; _QC++) { //#25328\n var _QE = $get(_QB, _QC); //#25328\n var _QF = $k[--$j]; //#25328\n $k[$j++] = _QE; //#25328\n $k[$j++] = _QF; //#25328\n if ($ne(_QE, _QF)) { //#25328\n $j--; //#25328\n var _QG = $k[--$j]; //#25328\n $k[$j++] = -1; //#25328\n $k[$j++] = _QG; //#25328\n } //#25328\n } //#25328\n $j--; //#25329\n $astore($1.thispairs); //#25330\n $j--; //#25330\n if ($1.i > 0) { //#25337\n $k[$j++] = Infinity; //#25332\n $aload($1.lastpairs); //#25333\n $aload($1.thispairs); //#25333\n $k[$j++] = $1.n2; //#25334\n for (var _QN = 0, _QO = $1.cols; _QN < _QO; _QN++) { //#25334\n var _QP = $k[--$j]; //#25334\n var _QQ = $k[--$j]; //#25334\n $k[$j++] = _QP; //#25334\n $k[$j++] = _QQ; //#25334\n if (_QQ != -1) { //#25334\n var _QS = $k[$j - 1 - $f($1.cols + 1)]; //#25334\n if ($eq($k[--$j], _QS)) { //#25334\n var _QU = $k[--$j]; //#25334\n $k[$j++] = $f(_QU + 3); //#25334\n } //#25334\n } else { //#25334\n $j--; //#25334\n } //#25334\n } //#25334\n $1.n2 = $k[--$j]; //#25335\n $cleartomark(); //#25336\n } //#25336\n } //#25336\n $k[$j++] = $f($f($1.n1 + $1.n2) + $1.n3); //#25340\n }; //#25341\n $1.bestscore = 999999999; //#25344\n for (var _Qb = 0, _Qa = $1.masks.length - 1; _Qb <= _Qa; _Qb += 1) { //#25362\n $1.m = _Qb; //#25346\n $1.masksym = $a($1.rows * $1.cols); //#25347\n for (var _Qi = 0, _Qh = $f(($1.rows * $1.cols) - 1); _Qi <= _Qh; _Qi += 1) { //#25351\n $1.i = _Qi; //#25349\n $put($1.masksym, $1.i, $xo($get($1.pixs, $1.i), $get($get($1.masks, $1.m), $1.i))); //#25350\n } //#25350\n if ($1.masks.length != 1) { //#25360\n $k[$j++] = $1.masksym; //#25353\n $1.evalmask(); //#25353\n $1.score = $k[--$j]; //#25353\n if ($1.score < $1.bestscore) { //#25358\n $1.bestsym = $1.masksym; //#25355\n $1.bestmaskval = $1.m; //#25356\n $1.bestscore = $1.score; //#25357\n } //#25357\n } else { //#25360\n $1.bestsym = $1.masksym; //#25360\n } //#25360\n } //#25360\n $1.pixs = $1.bestsym; //#25363\n $1.metamask = $1.bestmaskval; //#25364\n $1.addtometapart = function() {\n var _R4 = $k[--$j]; //#25368\n $puti($1.metapart, $1.p, _R4); //#25368\n $1.p = _R4.length + $1.p; //#25369\n }; //#25370\n $1.addtometabits = function() {\n var _R8 = $k[--$j]; //#25373\n $puti($1.metabits, $1.q, _R8); //#25373\n $1.q = _R8.length + $1.q; //#25374\n }; //#25375\n $1.metapart = $s(40); //#25377\n $1.metabits = $s($1.nummetabits); //#25378\n $1.p = 0; //#25379\n $1.q = 0; //#25379\n if (!$1.slave) { //#25434\n $k[$j++] = (~~(Math.round(Math.log($1.colors) / Math.log(2)))) - 1; //#25384\n $k[$j++] = 3; //#25384\n $1.tofixedbits(); //#25384\n $1.addtometapart(); //#25384\n $k[$j++] = $geti($1.metapart, 0, $1.p); //#25385\n $k[$j++] = 2; //#25385\n $k[$j++] = -1; //#25385\n $1.ldpc(); //#25385\n $1.addtometabits(); //#25385\n $1.p = 0; //#25385\n $k[$j++] = $1.metass; //#25388\n $k[$j++] = 1; //#25388\n $1.tofixedbits(); //#25388\n $1.addtometapart(); //#25388\n $k[$j++] = $1.metavf; //#25389\n $k[$j++] = 2; //#25389\n $1.tofixedbits(); //#25389\n $1.addtometapart(); //#25389\n $k[$j++] = $1.metamask; //#25390\n $k[$j++] = 3; //#25390\n $1.tofixedbits(); //#25390\n $1.addtometapart(); //#25390\n if ($1.hasslaves) { //#25391\n $k[$j++] = \"1\"; //#25391\n } else { //#25391\n $k[$j++] = \"0\"; //#25391\n } //#25391\n $1.addtometapart(); //#25391\n $k[$j++] = $geti($1.metapart, 0, $1.p); //#25392\n $k[$j++] = 2; //#25392\n $k[$j++] = -1; //#25392\n $1.ldpc(); //#25392\n $1.addtometabits(); //#25392\n $1.p = 0; //#25392\n if ($1.metass == 0) { //#25402\n $k[$j++] = $f(($f((~~($f($1.cols - 17) / 4)) - $get($a([0, 4, 8, 16]), $1.metavf))) - 1); //#25397\n $k[$j++] = $1.metavlen; //#25397\n $1.tofixedbits(); //#25397\n $1.addtometapart(); //#25397\n } else { //#25402\n $k[$j++] = (~~($f($1.cols - 17) / 4)) - 1; //#25400\n $k[$j++] = ~~($1.metavlen / 2); //#25400\n $1.tofixedbits(); //#25400\n $1.addtometapart(); //#25400\n $k[$j++] = (~~($f($1.rows - 17) / 4)) - 1; //#25402\n $k[$j++] = ~~($1.metavlen / 2); //#25402\n $1.tofixedbits(); //#25402\n $1.addtometapart(); //#25402\n } //#25402\n $k[$j++] = $1.datawc - 3; //#25404\n $k[$j++] = ~~($1.metaelen / 2); //#25404\n $1.tofixedbits(); //#25404\n $1.addtometapart(); //#25404\n $k[$j++] = $1.datawr - 4; //#25405\n $k[$j++] = ~~($1.metaelen / 2); //#25405\n $1.tofixedbits(); //#25405\n $1.addtometapart(); //#25405\n if ($1.hasslaves) { //#25408\n $k[$j++] = 0; //#25407\n $k[$j++] = 4; //#25407\n $1.tofixedbits(); //#25407\n $1.addtometapart(); //#25407\n } //#25407\n $k[$j++] = $geti($1.metapart, 0, $1.p); //#25409\n $k[$j++] = 2; //#25409\n $k[$j++] = -1; //#25409\n $1.ldpc(); //#25409\n $1.addtometabits(); //#25409\n $1.p = 0; //#25409\n } else { //#25434\n var _Rk = $1.sameshape ? 0 : 1; //#25414\n $k[$j++] = _Rk; //#25414\n $k[$j++] = 1; //#25414\n $1.tofixedbits(); //#25414\n $1.addtometapart(); //#25414\n var _Rm = $1.sameecc ? 0 : 1; //#25415\n $k[$j++] = _Rm; //#25415\n $k[$j++] = 1; //#25415\n $1.tofixedbits(); //#25415\n $1.addtometapart(); //#25415\n var _Ro = $1.hasslaves ? 1 : 0; //#25416\n $k[$j++] = _Ro; //#25416\n $k[$j++] = 1; //#25416\n $1.tofixedbits(); //#25416\n $1.addtometapart(); //#25416\n $k[$j++] = $geti($1.metapart, 0, $1.p); //#25417\n $k[$j++] = 2; //#25417\n $k[$j++] = -1; //#25417\n $1.ldpc(); //#25417\n $1.addtometabits(); //#25417\n $1.p = 0; //#25417\n if (!$1.sameshape) { //#25423\n $k[$j++] = (~~(($1.diffside - 17) / 4)) - 1; //#25422\n $k[$j++] = 5; //#25422\n $1.tofixedbits(); //#25422\n $1.addtometapart(); //#25422\n } //#25422\n if ($1.hasslaves) { //#25426\n $k[$j++] = 0; //#25425\n $k[$j++] = 3; //#25425\n $1.tofixedbits(); //#25425\n $1.addtometapart(); //#25425\n } //#25425\n $k[$j++] = $geti($1.metapart, 0, $1.p); //#25427\n $k[$j++] = 2; //#25427\n $k[$j++] = -1; //#25427\n $1.ldpc(); //#25427\n $1.addtometabits(); //#25427\n $1.p = 0; //#25427\n if (!$1.sameecc) { //#25433\n $k[$j++] = $1.datawc - 3; //#25431\n $k[$j++] = ~~($1.metaelen / 2); //#25431\n $1.tofixedbits(); //#25431\n $1.addtometapart(); //#25431\n $k[$j++] = $1.datawr - 4; //#25432\n $k[$j++] = ~~($1.metaelen / 2); //#25432\n $1.tofixedbits(); //#25432\n $1.addtometapart(); //#25432\n } //#25432\n $k[$j++] = $geti($1.metapart, 0, $1.p); //#25434\n $k[$j++] = 2; //#25434\n $k[$j++] = -1; //#25434\n $1.ldpc(); //#25434\n $1.addtometabits(); //#25434\n $1.p = 0; //#25434\n } //#25434\n for (var _S9 = $1.q, _S8 = $f($1.nummetabits - 1); _S9 <= _S8; _S9 += 1) { //#25439\n $put($1.metabits, _S9, 48); //#25438\n } //#25438\n $1.i = 0; //#25442\n $1.j = 0; //#25442\n if (!$1.slave) { //#25450\n var _SE = $geti($1.metabits, $1.i, 6); //#25444\n for (var _SF = 0, _SG = _SE.length; _SF < _SG; _SF++) { //#25448\n $k[$j++] = $get(_SE, _SF); //#25445\n if ($1.colors == 4) { //#25445\n $k[$j++] = $a([$1.bi, $1.yi]); //#25445\n } else { //#25445\n $k[$j++] = $a([$1.ki, $1.wi]); //#25445\n } //#25445\n var _SP = $k[--$j]; //#25445\n var _SR = $get(_SP, $f($k[--$j] - 48)); //#25445\n $k[$j++] = _SR; //#25446\n $k[$j++] = $1.pixs; //#25446\n $aload($get($1.metadatamap, $1.j)); //#25446\n $1.jmv(); //#25446\n var _SW = $k[--$j]; //#25446\n var _SX = $k[--$j]; //#25446\n $put(_SX, _SW, $k[--$j]); //#25446\n $1.j = $1.j + 1; //#25447\n } //#25447\n $1.i = $1.i + 6; //#25449\n } //#25449\n for (var _Se = 0, _Sf = ~~($f($1.nummetabits - $1.i) / $1.metabpm); _Se < _Sf; _Se++) { //#25457\n var _Sj = $geti($1.metabits, $1.i, $1.metabpm); //#25452\n $k[$j++] = 0; //#25452\n for (var _Sk = 0, _Sl = _Sj.length; _Sk < _Sl; _Sk++) { //#25452\n var _Sn = $k[--$j]; //#25452\n $k[$j++] = ($f(_Sn + $f($get(_Sj, _Sk) - 48))) * 2; //#25452\n } //#25452\n var _Sq = $get($1.metacolorindex, ~~($k[--$j] / 2)); //#25453\n $k[$j++] = _Sq; //#25454\n $k[$j++] = $1.pixs; //#25454\n $aload($get($1.metadatamap, $1.j)); //#25454\n $1.jmv(); //#25454\n var _Sv = $k[--$j]; //#25454\n var _Sw = $k[--$j]; //#25454\n $put(_Sw, _Sv, $k[--$j]); //#25454\n $1.i = $f($1.i + $1.metabpm); //#25455\n $1.j = $1.j + 1; //#25456\n } //#25456\n var _T8 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.pixs],\n [\"pixx\", $1.cols],\n [\"pixy\", $1.rows],\n [\"colormap\", $1.palette],\n [\"height\", ($1.rows * 2) / 72],\n [\"width\", ($1.cols * 2) / 72],\n [\"opt\", $1.options]\n ]); //#25467\n $k[$j++] = _T8; //#25470\n if (!$1.dontdraw) { //#25470\n bwipp_renmatrix(); //#25470\n } //#25470\n}\n\nfunction bwipp_gs1_cc() {\n var $1 = {}; //#25503\n $1.options = $k[--$j]; //#25505\n $1.barcode = $k[--$j]; //#25506\n $1.parse = false; //#25508\n $1.dontlint = false; //#25509\n $1.dontdraw = false; //#25510\n $1.ccversion = \"a\"; //#25511\n $1.cccolumns = -1; //#25512\n $1.lintype = \"\"; //#25513\n $1.linwidth = -1; //#25514\n $forall($1.options, function() { //#25525\n var _3 = $k[--$j]; //#25525\n $1[$k[--$j]] = _3; //#25525\n }); //#25525\n $1.cccolumns = ~~$1.cccolumns; //#25527\n $1.linwidth = ~~$1.linwidth; //#25528\n if ($1.cccolumns == -1) { //#25547\n $k[$j++] = Infinity; //#25545\n $k[$j++] = 'ean13'; //#25538\n $k[$j++] = 4; //#25538\n $k[$j++] = 'upca'; //#25538\n $k[$j++] = 4; //#25538\n $k[$j++] = 'ean8'; //#25538\n $k[$j++] = 3; //#25538\n $k[$j++] = 'upce'; //#25538\n $k[$j++] = 2; //#25538\n $k[$j++] = 'gs1-128'; //#25538\n if ($ne($1.ccversion, \"c\")) { //#25538\n $k[$j++] = 4; //#25538\n } else { //#25538\n $k[$j++] = ~~(($1.linwidth - 52) / 17); //#25538\n } //#25538\n $k[$j++] = 'databaromni'; //#25545\n $k[$j++] = 4; //#25545\n $k[$j++] = 'databarstacked'; //#25545\n $k[$j++] = 2; //#25545\n $k[$j++] = 'databarstackedomni'; //#25545\n $k[$j++] = 2; //#25545\n $k[$j++] = 'databartruncated'; //#25545\n $k[$j++] = 4; //#25545\n $k[$j++] = 'databarlimited'; //#25545\n $k[$j++] = 3; //#25545\n $k[$j++] = 'databarexpanded'; //#25545\n $k[$j++] = 4; //#25545\n $k[$j++] = 'databarexpandedstacked'; //#25545\n $k[$j++] = 4; //#25545\n $1.cccolumns = $get($d(), $1.lintype); //#25546\n } //#25546\n $1.expand = function() {\n var _E = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#25554\n $1.fncvals = _E; //#25555\n $k[$j++] = $1.fncvals; //#25556\n bwipp_parseinput(); //#25556\n }; //#25557\n $1.ais = $a([]); //#25560\n $1.vals = $a([]); //#25561\n var _I = $1.barcode; //#25562\n $k[$j++] = $geti(_I, 1, _I.length - 1); //#25575\n for (;;) { //#25575\n var _K = $k[--$j]; //#25564\n $k[$j++] = _K; //#25564\n if ($eq(_K, \"\")) { //#25564\n break; //#25564\n } //#25564\n $search($k[--$j], \")\"); //#25565\n $j--; //#25565\n var _M = $k[--$j]; //#25566\n var _N = $k[--$j]; //#25566\n $k[$j++] = _M; //#25566\n $k[$j++] = _N; //#25566\n $j--; //#25566\n var _O = $k[--$j]; //#25567\n var _P = $k[--$j]; //#25567\n $k[$j++] = _O; //#25567\n $search(_P, \"(\"); //#25567\n if ($k[--$j]) { //#25570\n var _R = $k[--$j]; //#25568\n var _S = $k[--$j]; //#25568\n $k[$j++] = _R; //#25568\n $k[$j++] = _S; //#25568\n $j--; //#25568\n var _T = $k[--$j]; //#25568\n var _U = $k[--$j]; //#25568\n var _V = $k[--$j]; //#25568\n $k[$j++] = _U; //#25568\n $k[$j++] = _V; //#25568\n $k[$j++] = _T; //#25568\n } else { //#25570\n var _W = $k[--$j]; //#25570\n var _X = $k[--$j]; //#25570\n $k[$j++] = \"\"; //#25570\n $k[$j++] = _X; //#25570\n $k[$j++] = _W; //#25570\n } //#25570\n $k[$j++] = Infinity; //#25572\n $aload($1.ais); //#25572\n var _a = $k[$j - 1 - ($counttomark() + 2)]; //#25572\n $k[$j++] = _a; //#25572\n $1.ais = $a(); //#25572\n $k[$j++] = Infinity; //#25573\n $aload($1.vals); //#25573\n var _e = $k[$j - 1 - ($counttomark() + 1)]; //#25573\n $k[$j++] = _e; //#25573\n $1.expand(); //#25573\n $1.vals = $a(); //#25573\n $j -= 2; //#25574\n } //#25574\n $j--; //#25576\n var _g = $1.dontlint; //#25578\n if (!_g) { //#25578\n $k[$j++] = $1.ais; //#25578\n $k[$j++] = $1.vals; //#25578\n bwipp_gs1lint(); //#25578\n $j--; //#25578\n } //#25578\n $1.isupper = function() {\n var _j = $k[--$j]; //#25581\n $k[$j++] = (_j >= 65) && (_j <= 90); //#25581\n }; //#25581\n $1.isnum0 = function() {\n var _k = $k[--$j]; //#25582\n $k[$j++] = (_k >= 48) && (_k <= 57); //#25582\n }; //#25582\n $1.isnum1 = function() {\n var _l = $k[--$j]; //#25583\n $k[$j++] = (_l >= 49) && (_l <= 57); //#25583\n }; //#25583\n for (;;) { //#25629\n if ($1.ais.length >= 1) { //#25591\n if (($eq($get($1.ais, 0), \"10\") || $eq($get($1.ais, 0), \"11\")) || $eq($get($1.ais, 0), \"17\")) { //#25590\n $k[$j++] = -1; //#25589\n $k[$j++] = \"10\"; //#25589\n break; //#25589\n } //#25589\n } //#25589\n if ($1.ais.length >= 1) { //#25624\n if ($eq($get($1.ais, 0), \"90\")) { //#25623\n $1.v = $get($1.vals, 0); //#25596\n if ($1.v.length >= 1) { //#25601\n $k[$j++] = $get($1.v, 0); //#25598\n $1.isupper(); //#25598\n if ($k[--$j]) { //#25600\n $k[$j++] = 0; //#25599\n $k[$j++] = \"11\"; //#25599\n break; //#25599\n } //#25599\n } //#25599\n if ($1.v.length >= 2) { //#25607\n $k[$j++] = $get($1.v, 0); //#25603\n $1.isnum1(); //#25603\n $k[$j++] = $get($1.v, 1); //#25604\n $1.isupper(); //#25604\n var _17 = $k[--$j]; //#25604\n var _18 = $k[--$j]; //#25604\n if ((_18 && _17)) { //#25606\n $k[$j++] = 1; //#25605\n $k[$j++] = \"11\"; //#25605\n break; //#25605\n } //#25605\n } //#25605\n if ($1.v.length >= 3) { //#25614\n $k[$j++] = $get($1.v, 0); //#25609\n $1.isnum1(); //#25609\n $k[$j++] = $get($1.v, 1); //#25610\n $1.isnum0(); //#25610\n var _1E = $k[--$j]; //#25610\n var _1F = $k[--$j]; //#25610\n $k[$j++] = $an(_1F, _1E); //#25611\n $k[$j++] = $get($1.v, 2); //#25611\n $1.isupper(); //#25611\n var _1I = $k[--$j]; //#25611\n var _1J = $k[--$j]; //#25611\n if ((_1J && _1I)) { //#25613\n $k[$j++] = 2; //#25612\n $k[$j++] = \"11\"; //#25612\n break; //#25612\n } //#25612\n } //#25612\n if ($1.v.length >= 4) { //#25622\n $k[$j++] = $get($1.v, 0); //#25616\n $1.isnum1(); //#25616\n $k[$j++] = $get($1.v, 1); //#25617\n $1.isnum0(); //#25617\n var _1P = $k[--$j]; //#25617\n var _1Q = $k[--$j]; //#25617\n $k[$j++] = $an(_1Q, _1P); //#25618\n $k[$j++] = $get($1.v, 2); //#25618\n $1.isnum0(); //#25618\n var _1T = $k[--$j]; //#25618\n var _1U = $k[--$j]; //#25618\n $k[$j++] = $an(_1U, _1T); //#25619\n $k[$j++] = $get($1.v, 3); //#25619\n $1.isupper(); //#25619\n var _1X = $k[--$j]; //#25619\n var _1Y = $k[--$j]; //#25619\n if ((_1Y && _1X)) { //#25621\n $k[$j++] = 3; //#25620\n $k[$j++] = \"11\"; //#25620\n break; //#25620\n } //#25620\n } //#25620\n } //#25620\n } //#25620\n $k[$j++] = -1; //#25627\n $k[$j++] = \"0\"; //#25627\n break; //#25627\n } //#25627\n $1.method = $k[--$j]; //#25630\n $1.npre = $k[--$j]; //#25631\n $1.fnc1 = -1; //#25633\n $1.lnumeric = -2; //#25633\n $1.lalphanumeric = -3; //#25633\n $1.liso646 = -4; //#25633\n $1.tobin = function() {\n var _1c = $s($k[--$j]); //#25636\n $k[$j++] = _1c; //#25636\n for (var _1e = 0, _1d = _1c.length - 1; _1e <= _1d; _1e += 1) { //#25636\n var _1f = $k[--$j]; //#25636\n $put(_1f, _1e, 48); //#25636\n $k[$j++] = _1f; //#25636\n } //#25636\n var _1g = $k[--$j]; //#25637\n var _1j = $cvrs($s(_1g.length), $k[--$j], 2); //#25637\n $puti(_1g, _1g.length - _1j.length, _1j); //#25637\n $k[$j++] = _1g; //#25637\n }; //#25638\n $k[$j++] = Infinity; //#25643\n for (var _1k = 65; _1k <= 90; _1k += 1) { //#25641\n $k[$j++] = _1k; //#25641\n $k[$j++] = _1k - 65; //#25641\n $k[$j++] = 5; //#25641\n $1.tobin(); //#25641\n } //#25641\n for (var _1l = 48; _1l <= 57; _1l += 1) { //#25642\n $k[$j++] = _1l; //#25642\n $k[$j++] = _1l + 4; //#25642\n $k[$j++] = 6; //#25642\n $1.tobin(); //#25642\n } //#25642\n $k[$j++] = $1.fnc1; //#25643\n $k[$j++] = \"11111\"; //#25643\n $1.alpha = $d(); //#25644\n $k[$j++] = Infinity; //#25656\n for (var _1o = 0; _1o <= 119; _1o += 1) { //#25655\n var _1q = $strcpy($s(2), \"00\"); //#25648\n var _1s = $cvrs($s(2), _1o, 11); //#25648\n $puti(_1q, 2 - _1s.length, _1s); //#25649\n $k[$j++] = _1o; //#25650\n $k[$j++] = _1q; //#25650\n if ($get(_1q, 0) == 65) { //#25650\n var _1u = $k[--$j]; //#25650\n $put(_1u, 0, 94); //#25650\n $k[$j++] = _1u; //#25650\n } //#25650\n var _1v = $k[--$j]; //#25651\n $k[$j++] = _1v; //#25651\n if ($get(_1v, 1) == 65) { //#25651\n var _1x = $k[--$j]; //#25651\n $put(_1x, 1, 94); //#25651\n $k[$j++] = _1x; //#25651\n } //#25651\n var _1y = $k[--$j]; //#25652\n var _21 = $strcpy($s(7), \"0000000\"); //#25653\n var _23 = $cvrs($s(7), $f($k[--$j] + 8), 2); //#25653\n $puti(_21, 7 - _23.length, _23); //#25654\n $k[$j++] = _1y; //#25654\n $k[$j++] = _21; //#25654\n } //#25654\n $k[$j++] = $1.lalphanumeric; //#25656\n $k[$j++] = \"0000\"; //#25656\n $1.numeric = $d(); //#25657\n $k[$j++] = Infinity; //#25666\n for (var _26 = 48; _26 <= 57; _26 += 1) { //#25660\n $k[$j++] = _26; //#25660\n $k[$j++] = _26 - 43; //#25660\n $k[$j++] = 5; //#25660\n $1.tobin(); //#25660\n } //#25660\n $k[$j++] = $1.fnc1; //#25662\n $k[$j++] = \"01111\"; //#25662\n for (var _28 = 65; _28 <= 90; _28 += 1) { //#25662\n $k[$j++] = _28; //#25662\n $k[$j++] = _28 - 33; //#25662\n $k[$j++] = 6; //#25662\n $1.tobin(); //#25662\n } //#25662\n $k[$j++] = 42; //#25664\n $k[$j++] = \"111010\"; //#25664\n for (var _29 = 44; _29 <= 47; _29 += 1) { //#25664\n $k[$j++] = _29; //#25664\n $k[$j++] = _29 + 15; //#25664\n $k[$j++] = 6; //#25664\n $1.tobin(); //#25664\n } //#25664\n $k[$j++] = $1.lnumeric; //#25666\n $k[$j++] = \"000\"; //#25666\n $k[$j++] = $1.liso646; //#25666\n $k[$j++] = \"00100\"; //#25666\n $1.alphanumeric = $d(); //#25667\n $k[$j++] = Infinity; //#25681\n for (var _2D = 48; _2D <= 57; _2D += 1) { //#25670\n $k[$j++] = _2D; //#25670\n $k[$j++] = _2D - 43; //#25670\n $k[$j++] = 5; //#25670\n $1.tobin(); //#25670\n } //#25670\n $k[$j++] = $1.fnc1; //#25672\n $k[$j++] = \"01111\"; //#25672\n for (var _2F = 65; _2F <= 90; _2F += 1) { //#25672\n $k[$j++] = _2F; //#25672\n $k[$j++] = _2F - 1; //#25672\n $k[$j++] = 7; //#25672\n $1.tobin(); //#25672\n } //#25672\n for (var _2G = 97; _2G <= 122; _2G += 1) { //#25673\n $k[$j++] = _2G; //#25673\n $k[$j++] = _2G - 7; //#25673\n $k[$j++] = 7; //#25673\n $1.tobin(); //#25673\n } //#25673\n $k[$j++] = 33; //#25676\n $k[$j++] = \"11101000\"; //#25676\n $k[$j++] = 34; //#25676\n $k[$j++] = \"11101001\"; //#25676\n for (var _2H = 37; _2H <= 47; _2H += 1) { //#25676\n $k[$j++] = _2H; //#25676\n $k[$j++] = _2H + 197; //#25676\n $k[$j++] = 8; //#25676\n $1.tobin(); //#25676\n } //#25676\n for (var _2I = 58; _2I <= 63; _2I += 1) { //#25677\n $k[$j++] = _2I; //#25677\n $k[$j++] = _2I + 187; //#25677\n $k[$j++] = 8; //#25677\n $1.tobin(); //#25677\n } //#25677\n $k[$j++] = 95; //#25681\n $k[$j++] = \"11111011\"; //#25681\n $k[$j++] = 32; //#25681\n $k[$j++] = \"11111100\"; //#25681\n $k[$j++] = $1.lnumeric; //#25681\n $k[$j++] = \"000\"; //#25681\n $k[$j++] = $1.lalphanumeric; //#25681\n $k[$j++] = \"00100\"; //#25681\n $1.iso646 = $d(); //#25682\n if ($eq($1.method, \"10\")) { //#25715\n if ($eq($get($1.ais, 0), \"11\") || $eq($get($1.ais, 0), \"17\")) { //#25699\n var _2S = $get($1.vals, 0); //#25686\n var _2X = $strcpy($s(16), \"0000000000000000\"); //#25690\n var _2Z = $cvrs($s(16), ((~~$z($geti(_2S, 0, 2))) * 384) + ((((~~$z($geti(_2S, 2, 2))) - 1) * 32) + (~~$z($geti(_2S, 4, 2)))), 2); //#25690\n $puti(_2X, 16 - _2Z.length, _2Z); //#25691\n $k[$j++] = _2X; //#25694\n $k[$j++] = Infinity; //#25694\n var _2a = $k[--$j]; //#25693\n var _2b = $k[--$j]; //#25693\n $k[$j++] = _2a; //#25693\n $k[$j++] = 1; //#25693\n $k[$j++] = 0; //#25693\n $forall(_2b, function() { //#25693\n var _2c = $k[--$j]; //#25693\n $k[$j++] = $f(_2c - 48); //#25693\n }); //#25693\n var _2f = $eq($get($1.ais, 0), \"11\") ? 0 : 1; //#25694\n $k[$j++] = _2f; //#25694\n $1.cdf = $a(); //#25695\n $1.ais = $geti($1.ais, 1, $1.ais.length - 1); //#25696\n $1.vals = $geti($1.vals, 1, $1.vals.length - 1); //#25697\n } else { //#25699\n $1.cdf = $a([1, 0, 1, 1]); //#25699\n } //#25699\n if ($1.ais.length != 0) { //#25712\n if ($eq($get($1.ais, 0), \"10\")) { //#25708\n $k[$j++] = Infinity; //#25703\n $forall($get($1.vals, 0)); //#25703\n $1.gpf = $a(); //#25703\n if ($1.ais.length > 1) { //#25704\n $k[$j++] = Infinity; //#25704\n $aload($1.gpf); //#25704\n $k[$j++] = $1.fnc1; //#25704\n $1.gpf = $a(); //#25704\n } //#25704\n $1.ais = $geti($1.ais, 1, $1.ais.length - 1); //#25705\n $1.vals = $geti($1.vals, 1, $1.vals.length - 1); //#25706\n } else { //#25708\n $1.gpf = $a([$1.fnc1]); //#25708\n } //#25708\n } else { //#25712\n $k[$j++] = Infinity; //#25711\n $aload($1.cdf); //#25711\n $k[$j++] = 0; //#25711\n $k[$j++] = 0; //#25711\n $k[$j++] = 0; //#25711\n $k[$j++] = 0; //#25711\n $k[$j++] = 0; //#25711\n $k[$j++] = 1; //#25711\n $k[$j++] = 1; //#25711\n $k[$j++] = 1; //#25711\n $k[$j++] = 1; //#25711\n $1.cdf = $a(); //#25711\n $1.gpf = $a([]); //#25712\n } //#25712\n $1.mode = \"numeric\"; //#25714\n } //#25714\n if ($eq($1.method, \"11\")) { //#25807\n $1.cdf = $a([1, 1]); //#25718\n $1.ai90 = $get($1.vals, 0); //#25719\n if ($f($1.npre + 1) != $1.ai90.length) { //#25723\n $k[$j++] = $geti($1.ai90, $f($1.npre + 1), $f($f($1.ai90.length - $1.npre) - 1)); //#25721\n } else { //#25723\n $k[$j++] = \"\"; //#25723\n } //#25723\n $1.ai90rem = $k[--$j]; //#25725\n $k[$j++] = 'nalpha'; //#25726\n $k[$j++] = 0; //#25726\n $forall($1.ai90rem, function() { //#25726\n var _3M = $k[--$j]; //#25726\n if ((_3M >= 65) && (_3M <= 90)) { //#25726\n var _3N = $k[--$j]; //#25726\n $k[$j++] = $f(_3N + 1); //#25726\n } //#25726\n }); //#25726\n var _3O = $k[--$j]; //#25726\n $1[$k[--$j]] = _3O; //#25726\n $k[$j++] = 'nnums'; //#25727\n $k[$j++] = 0; //#25727\n $forall($1.ai90rem, function() { //#25727\n var _3R = $k[--$j]; //#25727\n if ((_3R >= 48) && (_3R <= 57)) { //#25727\n var _3S = $k[--$j]; //#25727\n $k[$j++] = $f(_3S + 1); //#25727\n } //#25727\n }); //#25727\n var _3T = $k[--$j]; //#25727\n $1[$k[--$j]] = _3T; //#25727\n $k[$j++] = 'mode'; //#25728\n if ($gt($1.nalpha, $1.nnums)) { //#25728\n $k[$j++] = \"alpha\"; //#25728\n } else { //#25728\n if ($1.nalpha == 0) { //#25728\n $k[$j++] = \"numeric\"; //#25728\n } else { //#25728\n $k[$j++] = \"alphanumeric\"; //#25728\n } //#25728\n } //#25728\n var _3Y = $k[--$j]; //#25728\n $1[$k[--$j]] = _3Y; //#25728\n if ($f($1.nalpha + $1.nnums) != $1.ai90rem.length) { //#25729\n $1.mode = \"alphanumeric\"; //#25729\n } //#25729\n $k[$j++] = Infinity; //#25734\n $aload($1.cdf); //#25731\n if ($eq($1.mode, \"alphanumeric\")) { //#25732\n $k[$j++] = 0; //#25732\n } //#25732\n if ($eq($1.mode, \"numeric\")) { //#25733\n $k[$j++] = 1; //#25733\n $k[$j++] = 0; //#25733\n } //#25733\n if ($eq($1.mode, \"alpha\")) { //#25734\n $k[$j++] = 1; //#25734\n $k[$j++] = 1; //#25734\n } //#25734\n $1.cdf = $a(); //#25734\n $k[$j++] = 'ais1'; //#25736\n if ($1.ais.length > 1) { //#25736\n $k[$j++] = $get($1.ais, 1); //#25736\n } else { //#25736\n $k[$j++] = -1; //#25736\n } //#25736\n var _3l = $k[--$j]; //#25736\n $1[$k[--$j]] = _3l; //#25736\n $k[$j++] = 'vals1'; //#25737\n if ($1.vals.length > 1) { //#25737\n $k[$j++] = $get($1.vals, 1); //#25737\n } else { //#25737\n $k[$j++] = -1; //#25737\n } //#25737\n var _3q = $k[--$j]; //#25737\n $1[$k[--$j]] = _3q; //#25737\n if ($eq($1.ais1, \"21\") || $eq($1.ais1, \"8004\")) { //#25741\n $k[$j++] = Infinity; //#25739\n $aload($1.cdf); //#25739\n if ($eq($1.ais1, \"21\")) { //#25739\n $k[$j++] = 1; //#25739\n $k[$j++] = 0; //#25739\n } else { //#25739\n $k[$j++] = 1; //#25739\n $k[$j++] = 1; //#25739\n } //#25739\n $1.cdf = $a(); //#25739\n } else { //#25741\n $k[$j++] = Infinity; //#25741\n $aload($1.cdf); //#25741\n $k[$j++] = 0; //#25741\n $1.cdf = $a(); //#25741\n } //#25741\n $k[$j++] = 'nval'; //#25743\n if ($1.npre != 0) { //#25743\n $k[$j++] = ~~$z($geti($1.ai90, 0, $1.npre)); //#25743\n } else { //#25743\n $k[$j++] = 0; //#25743\n } //#25743\n var _43 = $k[--$j]; //#25743\n $1[$k[--$j]] = _43; //#25743\n $search(\"BDHIJKLNPQRSTVXZ\", $geti($1.ai90, $1.npre, 1)); //#25744\n if ($k[--$j]) { //#25748\n var _49 = $k[--$j]; //#25745\n var _4A = $k[--$j]; //#25745\n $k[$j++] = _49.length; //#25745\n $k[$j++] = _4A; //#25745\n $j--; //#25745\n var _4B = $k[--$j]; //#25745\n var _4C = $k[--$j]; //#25745\n $k[$j++] = _4B; //#25745\n $k[$j++] = _4C; //#25745\n $j--; //#25745\n $1.aval = $k[--$j]; //#25746\n } else { //#25748\n $j--; //#25748\n $1.aval = -1; //#25748\n } //#25748\n if (($1.nval < 31) && ($1.aval != -1)) { //#25774\n var _4H = $strcpy($s(5), \"00000\"); //#25751\n var _4K = $cvrs($s(5), $1.nval, 2); //#25751\n $puti(_4H, 5 - _4K.length, _4K); //#25752\n $k[$j++] = _4H; //#25753\n $k[$j++] = Infinity; //#25753\n var _4L = $k[--$j]; //#25753\n var _4M = $k[--$j]; //#25753\n $k[$j++] = _4L; //#25753\n $forall(_4M, function() { //#25753\n var _4N = $k[--$j]; //#25753\n $k[$j++] = $f(_4N - 48); //#25753\n }); //#25753\n $1.nbits = $a(); //#25753\n var _4Q = $strcpy($s(4), \"0000\"); //#25754\n var _4T = $cvrs($s(4), $1.aval, 2); //#25754\n $puti(_4Q, 4 - _4T.length, _4T); //#25755\n $k[$j++] = _4Q; //#25756\n $k[$j++] = Infinity; //#25756\n var _4U = $k[--$j]; //#25756\n var _4V = $k[--$j]; //#25756\n $k[$j++] = _4U; //#25756\n $forall(_4V, function() { //#25756\n var _4W = $k[--$j]; //#25756\n $k[$j++] = $f(_4W - 48); //#25756\n }); //#25756\n $1.abits = $a(); //#25756\n $k[$j++] = Infinity; //#25760\n $aload($1.cdf); //#25758\n $aload($1.nbits); //#25759\n $aload($1.abits); //#25760\n $1.cdf = $a(); //#25760\n } else { //#25774\n var _4d = $strcpy($s(10), \"0000000000\"); //#25763\n var _4g = $cvrs($s(10), $1.nval, 2); //#25763\n $puti(_4d, 10 - _4g.length, _4g); //#25764\n $k[$j++] = _4d; //#25765\n $k[$j++] = Infinity; //#25765\n var _4h = $k[--$j]; //#25765\n var _4i = $k[--$j]; //#25765\n $k[$j++] = _4h; //#25765\n $forall(_4i, function() { //#25765\n var _4j = $k[--$j]; //#25765\n $k[$j++] = $f(_4j - 48); //#25765\n }); //#25765\n $1.nbits = $a(); //#25765\n var _4m = $strcpy($s(5), \"00000\"); //#25766\n var _4r = $cvrs($s(5), $f($get($1.ai90, $1.npre) - 65), 2); //#25766\n $puti(_4m, 5 - _4r.length, _4r); //#25767\n $k[$j++] = _4m; //#25768\n $k[$j++] = Infinity; //#25768\n var _4s = $k[--$j]; //#25768\n var _4t = $k[--$j]; //#25768\n $k[$j++] = _4s; //#25768\n $forall(_4t, function() { //#25768\n var _4u = $k[--$j]; //#25768\n $k[$j++] = $f(_4u - 48); //#25768\n }); //#25768\n $1.abits = $a(); //#25768\n $k[$j++] = Infinity; //#25773\n $aload($1.cdf); //#25770\n $k[$j++] = 1; //#25772\n $k[$j++] = 1; //#25772\n $k[$j++] = 1; //#25772\n $k[$j++] = 1; //#25772\n $k[$j++] = 1; //#25772\n $aload($1.nbits); //#25772\n $aload($1.abits); //#25773\n $1.cdf = $a(); //#25773\n } //#25774\n if ($ne($1.mode, \"alpha\")) { //#25792\n $k[$j++] = Infinity; //#25777\n $forall($1.ai90rem); //#25777\n if ($1.ais.length > 1) { //#25777\n $k[$j++] = $1.fnc1; //#25777\n } //#25777\n $1.gpf = $a(); //#25777\n } else { //#25792\n $k[$j++] = Infinity; //#25779\n $forall($1.ai90rem); //#25779\n if ($1.ais.length > 1) { //#25779\n $k[$j++] = $1.fnc1; //#25779\n } //#25779\n $1.in = $a(); //#25779\n $1.out = $a($1.in.length * 6); //#25780\n $1.j = 0; //#25781\n for (var _5D = 0, _5C = $1.in.length - 1; _5D <= _5C; _5D += 1) { //#25786\n var _5H = $get($1.alpha, $get($1.in, _5D)); //#25783\n $k[$j++] = _5H; //#25784\n $k[$j++] = _5H; //#25784\n $k[$j++] = Infinity; //#25784\n var _5I = $k[--$j]; //#25784\n var _5J = $k[--$j]; //#25784\n $k[$j++] = _5I; //#25784\n $forall(_5J, function() { //#25784\n var _5K = $k[--$j]; //#25784\n $k[$j++] = $f(_5K - 48); //#25784\n }); //#25784\n $puti($1.out, $1.j, $a()); //#25784\n $1.j = $k[--$j].length + $1.j; //#25785\n } //#25785\n $k[$j++] = Infinity; //#25789\n $aload($1.cdf); //#25788\n $aload($geti($1.out, 0, $1.j)); //#25789\n $1.cdf = $a(); //#25789\n $1.gpf = $a([]); //#25791\n if ($1.ais.length > 1) { //#25792\n $1.mode = \"numeric\"; //#25792\n } //#25792\n } //#25792\n $1.ais = $geti($1.ais, 1, $1.ais.length - 1); //#25794\n $1.vals = $geti($1.vals, 1, $1.vals.length - 1); //#25795\n if ($1.ais.length != 0) { //#25806\n if ($eq($1.ais1, \"21\") || $eq($1.ais1, \"8004\")) { //#25805\n $k[$j++] = Infinity; //#25800\n $aload($1.gpf); //#25799\n $forall($1.vals1); //#25800\n $1.gpf = $a(); //#25800\n $1.ais = $geti($1.ais, 1, $1.ais.length - 1); //#25802\n $1.vals = $geti($1.vals, 1, $1.vals.length - 1); //#25803\n if ($1.ais.length != 0) { //#25804\n $k[$j++] = Infinity; //#25804\n $aload($1.gpf); //#25804\n $k[$j++] = $1.fnc1; //#25804\n $1.gpf = $a(); //#25804\n } //#25804\n } //#25804\n } //#25804\n } //#25804\n if ($eq($1.method, \"0\")) { //#25813\n $1.cdf = $a([0]); //#25810\n $1.gpf = $a([]); //#25811\n $1.mode = \"numeric\"; //#25812\n } //#25812\n $1.aifixed = new Map; //#25818\n $k[$j++] = Infinity; //#25820\n for (var _5w = 0; _5w <= 4; _5w += 1) { //#25820\n $k[$j++] = _5w; //#25820\n } //#25820\n var _5x = $a(); //#25820\n for (var _5y = 0, _5z = _5x.length; _5y < _5z; _5y++) { //#25823\n var _62 = $strcpy($s(2), \"00\"); //#25822\n $put(_62, 1, $f($get(_5x, _5y) + 48)); //#25822\n $put($1.aifixed, _62, _62); //#25822\n } //#25822\n $k[$j++] = Infinity; //#25828\n for (var _64 = 11; _64 <= 20; _64 += 1) { //#25825\n $k[$j++] = _64; //#25825\n } //#25825\n $k[$j++] = 23; //#25827\n for (var _65 = 31; _65 <= 36; _65 += 1) { //#25827\n $k[$j++] = _65; //#25827\n } //#25827\n $k[$j++] = 41; //#25828\n var _66 = $a(); //#25828\n for (var _67 = 0, _68 = _66.length; _67 < _68; _67++) { //#25831\n var _6B = $cvrs($s(2), $get(_66, _67), 10); //#25830\n $put($1.aifixed, _6B, _6B); //#25830\n } //#25830\n for (var _6F = 0, _6E = $1.ais.length - 1; _6F <= _6E; _6F += 1) { //#25849\n $1.i = _6F; //#25835\n $1.ai = $get($1.ais, $1.i); //#25836\n $1.val = $get($1.vals, $1.i); //#25837\n var _6P = $a(($1.gpf.length + $1.ai.length) + $1.val.length); //#25838\n $puti(_6P, 0, $1.gpf); //#25839\n $k[$j++] = _6P; //#25840\n $k[$j++] = _6P; //#25840\n $k[$j++] = $1.gpf.length; //#25840\n $k[$j++] = $1.ai; //#25840\n $k[$j++] = Infinity; //#25840\n var _6T = $k[--$j]; //#25840\n var _6U = $k[--$j]; //#25840\n $k[$j++] = _6T; //#25840\n $forall(_6U); //#25840\n var _6V = $a(); //#25840\n var _6W = $k[--$j]; //#25840\n $puti($k[--$j], _6W, _6V); //#25840\n var _6Y = $k[--$j]; //#25841\n $k[$j++] = _6Y; //#25841\n $k[$j++] = _6Y; //#25841\n $k[$j++] = $1.gpf.length + $1.ai.length; //#25841\n $k[$j++] = $1.val; //#25841\n $k[$j++] = Infinity; //#25841\n var _6c = $k[--$j]; //#25841\n var _6d = $k[--$j]; //#25841\n $k[$j++] = _6c; //#25841\n $forall(_6d); //#25841\n var _6e = $a(); //#25841\n var _6f = $k[--$j]; //#25841\n $puti($k[--$j], _6f, _6e); //#25841\n $1.gpf = $k[--$j]; //#25842\n var _6n = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#25843\n if (($1.i != ($1.ais.length - 1)) && (!_6n)) { //#25848\n var _6p = $a($1.gpf.length + 1); //#25844\n $puti(_6p, 0, $1.gpf); //#25845\n $put(_6p, $1.gpf.length, $1.fnc1); //#25846\n $1.gpf = _6p; //#25847\n } //#25847\n } //#25847\n $1.rembits = function() {\n $1.used = $k[--$j]; //#25853\n if ($ne($1.ccversion, \"c\")) { //#25885\n var _73 = new Map([\n [\"a\", $a([$a([167, 138, 118, 108, 88, 78, 59]), $a([167, 138, 118, 98, 78]), $a([197, 167, 138, 108, 78])])],\n [\"b\", $a([$a([336, 296, 256, 208, 160, 104, 56]), $a([768, 648, 536, 416, 304, 208, 152, 112, 72, 32]), $a([1184, 1016, 840, 672, 496, 352, 264, 208, 152, 96, 56])])]\n ]); //#25864\n $1.bitcaps = $get($get(_73, $1.ccversion), $f($1.cccolumns - 2)); //#25866\n $k[$j++] = -1; //#25867\n $forall($1.bitcaps, function() { //#25867\n var _79 = $k[--$j]; //#25867\n $k[$j++] = _79; //#25867\n if ($ge(_79, $1.used)) { //#25867\n var _7B = $k[--$j]; //#25867\n var _7C = $k[--$j]; //#25867\n $k[$j++] = _7B; //#25867\n $k[$j++] = _7C; //#25867\n } //#25867\n $j--; //#25867\n }); //#25867\n var _7D = $k[--$j]; //#25868\n $k[$j++] = _7D; //#25868\n if (_7D != -1) { //#25868\n var _7F = $k[--$j]; //#25868\n $k[$j++] = $f(_7F - $1.used); //#25868\n } //#25868\n } else { //#25885\n var _7G = new Map([\n [\"c\", -1]\n ]); //#25870\n var _7I = $get(_7G, $1.ccversion); //#25870\n var _7K = ~~Math.ceil($1.used / 8); //#25871\n $1.m = ((~~(_7K / 6)) * 5) + (_7K % 6); //#25871\n if ($1.m <= 40) { //#25872\n $k[$j++] = 8; //#25872\n } //#25872\n if (($1.m >= 41) && ($1.m <= 160)) { //#25873\n $k[$j++] = 16; //#25873\n } //#25873\n if (($1.m >= 161) && ($1.m <= 320)) { //#25874\n $k[$j++] = 32; //#25874\n } //#25874\n if (($1.m >= 321) && ($1.m <= 833)) { //#25875\n $k[$j++] = 64; //#25875\n } //#25875\n if ($1.m >= 834) { //#25876\n $k[$j++] = 32; //#25876\n } //#25876\n $1.eccws = $k[--$j]; //#25877\n $1.m = $f($f($1.m + $1.eccws) + 3); //#25878\n for (;;) { //#25882\n if (((~~Math.ceil($1.m / $1.cccolumns)) <= 30) || ($1.cccolumns >= 30)) { //#25880\n break; //#25880\n } //#25880\n $1.cccolumns = $f($1.cccolumns + 1); //#25881\n } //#25881\n $1.r = ~~Math.ceil($1.m / $1.cccolumns); //#25883\n var _7f = $f(($f(($1.cccolumns * $1.r) - $1.eccws)) - 3); //#25884\n $1.tgt = ($f(((~~(_7f / 5)) * 6) + (_7f % 5))) * 8; //#25884\n if ($1.used <= 8304) { //#25885\n $k[$j++] = $f($1.tgt - $1.used); //#25885\n } else { //#25885\n $k[$j++] = -1; //#25885\n } //#25885\n } //#25885\n var _7j = $k[--$j]; //#25887\n $k[$j++] = _7j; //#25900\n if (_7j == -1) { //#25900\n $j--; //#25888\n if ($eq($1.ccversion, \"a\")) { //#25896\n $1.ccversion = \"b\"; //#25890\n } else { //#25896\n if ($eq($1.ccversion, \"b\") && $eq($1.lintype, \"gs1-128\")) { //#25896\n $1.ccversion = \"c\"; //#25893\n $1.cccolumns = ~~(($1.linwidth - 52) / 17); //#25894\n } else { //#25896\n $1.ccversion = -1; //#25896\n } //#25896\n } //#25896\n $k[$j++] = $1.used; //#25899\n $1.rembits(); //#25899\n } //#25899\n }; //#25901\n $1.encode = function() {\n var _7p = $k[--$j]; //#25904\n $k[$j++] = _7p; //#25904\n if ($ne(_7p, 'raw')) { //#25904\n var _7q = $k[--$j]; //#25904\n var _7s = $get(_7q, $k[--$j]); //#25904\n $k[$j++] = _7s; //#25904\n } else { //#25904\n $j--; //#25904\n } //#25904\n $k[$j++] = Infinity; //#25905\n var _7t = $k[--$j]; //#25905\n var _7u = $k[--$j]; //#25905\n $k[$j++] = _7t; //#25905\n $forall(_7u, function() { //#25905\n var _7v = $k[--$j]; //#25905\n $k[$j++] = $f(_7v - 48); //#25905\n }); //#25905\n var _7w = $a(); //#25905\n $puti($1.gpfenc, $1.j, _7w); //#25907\n $1.j = _7w.length + $1.j; //#25908\n }; //#25909\n $k[$j++] = Infinity; //#25912\n for (var _81 = 0, _82 = $1.gpf.length; _81 < _82; _81++) { //#25912\n $k[$j++] = 0; //#25912\n } //#25912\n $k[$j++] = 0; //#25912\n $k[$j++] = -1; //#25912\n $1.numericruns = $a(); //#25912\n $k[$j++] = Infinity; //#25913\n for (var _85 = 0, _86 = $1.gpf.length; _85 < _86; _85++) { //#25913\n $k[$j++] = 0; //#25913\n } //#25913\n $k[$j++] = 0; //#25913\n $1.alphanumericruns = $a(); //#25913\n $k[$j++] = Infinity; //#25914\n for (var _89 = 0, _8A = $1.gpf.length; _89 < _8A; _89++) { //#25914\n $k[$j++] = 0; //#25914\n } //#25914\n $k[$j++] = 9999; //#25914\n $1.nextiso646only = $a(); //#25914\n for (var _8D = $1.gpf.length - 1; _8D >= 0; _8D -= 1) { //#25936\n $1.i = _8D; //#25916\n var _8I = $strcpy($s(2), \"00\"); //#25918\n var _8L = $get($1.gpf, $1.i); //#25919\n $k[$j++] = $get($1.gpf, $1.i); //#25919\n $k[$j++] = _8I; //#25919\n $k[$j++] = _8I; //#25919\n $k[$j++] = 0; //#25919\n $k[$j++] = _8L; //#25919\n if (_8L == $1.fnc1) { //#25919\n $j--; //#25919\n $k[$j++] = 94; //#25919\n } //#25919\n var _8N = $k[--$j]; //#25919\n var _8O = $k[--$j]; //#25919\n $put($k[--$j], _8O, _8N); //#25919\n if ($1.i < ($1.gpf.length - 1)) { //#25920\n var _8S = $k[--$j]; //#25920\n var _8V = $get($1.gpf, $1.i + 1); //#25920\n $k[$j++] = _8S; //#25920\n $k[$j++] = _8S; //#25920\n $k[$j++] = 1; //#25920\n $k[$j++] = _8V; //#25920\n if (_8V == $1.fnc1) { //#25920\n $j--; //#25920\n $k[$j++] = 94; //#25920\n } //#25920\n var _8X = $k[--$j]; //#25920\n var _8Y = $k[--$j]; //#25920\n $put($k[--$j], _8Y, _8X); //#25920\n } //#25920\n var _8c = $get($1.numeric, $k[--$j]) !== undefined; //#25921\n if (_8c) { //#25924\n $put($1.numericruns, $1.i, $f($get($1.numericruns, $1.i + 2) + 2)); //#25922\n } else { //#25924\n $put($1.numericruns, $1.i, 0); //#25924\n } //#25924\n var _8k = $k[--$j]; //#25926\n var _8m = $get($1.alphanumeric, _8k) !== undefined; //#25926\n $k[$j++] = _8k; //#25930\n if (_8m) { //#25929\n $put($1.alphanumericruns, $1.i, $f($get($1.alphanumericruns, $1.i + 1) + 1)); //#25927\n } else { //#25929\n $put($1.alphanumericruns, $1.i, 0); //#25929\n } //#25929\n var _8u = $k[--$j]; //#25931\n var _8w = $get($1.iso646, _8u) !== undefined; //#25931\n var _8y = $get($1.alphanumeric, _8u) !== undefined; //#25931\n if (_8w && (!_8y)) { //#25934\n $put($1.nextiso646only, $1.i, 0); //#25932\n } else { //#25934\n $put($1.nextiso646only, $1.i, $f($get($1.nextiso646only, $1.i + 1) + 1)); //#25934\n } //#25934\n } //#25934\n $1.gpfenc = $a(8304); //#25939\n $1.i = 0; //#25940\n $1.j = 0; //#25940\n for (;;) { //#26030\n if ($1.i == $1.gpf.length) { //#25942\n break; //#25942\n } //#25942\n for (;;) { //#26029\n if ($eq($1.mode, \"numeric\")) { //#25978\n if ($1.i <= ($1.gpf.length - 2)) { //#25975\n var _9C = $s(2); //#25947\n var _9F = $get($1.gpf, $1.i); //#25948\n $k[$j++] = _9C; //#25948\n $k[$j++] = _9C; //#25948\n $k[$j++] = 0; //#25948\n $k[$j++] = _9F; //#25948\n if (_9F == $1.fnc1) { //#25948\n $j--; //#25948\n $k[$j++] = 94; //#25948\n } //#25948\n var _9H = $k[--$j]; //#25948\n var _9I = $k[--$j]; //#25948\n $put($k[--$j], _9I, _9H); //#25948\n var _9K = $k[--$j]; //#25949\n var _9N = $get($1.gpf, $1.i + 1); //#25949\n $k[$j++] = _9K; //#25949\n $k[$j++] = _9K; //#25949\n $k[$j++] = 1; //#25949\n $k[$j++] = _9N; //#25949\n if (_9N == $1.fnc1) { //#25949\n $j--; //#25949\n $k[$j++] = 94; //#25949\n } //#25949\n var _9P = $k[--$j]; //#25949\n var _9Q = $k[--$j]; //#25949\n $put($k[--$j], _9Q, _9P); //#25949\n var _9S = $k[--$j]; //#25950\n var _9U = $get($1.numeric, _9S) !== undefined; //#25950\n $k[$j++] = _9S; //#25954\n if (_9U) { //#25954\n $k[$j++] = $1.numeric; //#25951\n $1.encode(); //#25951\n $1.i = $1.i + 2; //#25952\n break; //#25953\n } //#25953\n $j--; //#25955\n $k[$j++] = $1.lalphanumeric; //#25956\n $k[$j++] = $1.numeric; //#25956\n $1.encode(); //#25956\n $1.mode = \"alphanumeric\"; //#25957\n break; //#25958\n } else { //#25975\n var _9b = $get($1.gpf, $1.i); //#25960\n if ((_9b < 48) || (_9b > 57)) { //#25964\n $k[$j++] = $1.lalphanumeric; //#25961\n $k[$j++] = $1.numeric; //#25961\n $1.encode(); //#25961\n $1.mode = \"alphanumeric\"; //#25962\n break; //#25963\n } //#25963\n $k[$j++] = 'rem'; //#25965\n $k[$j++] = $1.cdf.length + $1.j; //#25965\n $1.rembits(); //#25965\n var _9g = $k[--$j]; //#25965\n $1[$k[--$j]] = _9g; //#25965\n if (($1.rem >= 4) && ($1.rem <= 6)) { //#25975\n var _9n = $geti($strcpy($s(6), \"000000\"), 0, $1.rem); //#25967\n var _9s = $cvrs($s(4), $f($get($1.gpf, $1.i) - 47), 2); //#25968\n $puti(_9n, 4 - _9s.length, _9s); //#25969\n $k[$j++] = _9n; //#25969\n $k[$j++] = 'raw'; //#25969\n $1.encode(); //#25969\n $1.i = $1.i + 1; //#25970\n break; //#25971\n } else { //#25975\n var _9u = $s(2); //#25973\n $put(_9u, 0, $get($1.gpf, $1.i)); //#25973\n $put(_9u, 1, 94); //#25973\n $k[$j++] = _9u; //#25973\n $k[$j++] = $1.numeric; //#25973\n $1.encode(); //#25973\n $1.i = $1.i + 1; //#25974\n break; //#25975\n } //#25975\n } //#25975\n } //#25975\n if ($eq($1.mode, \"alphanumeric\")) { //#26005\n if ($get($1.gpf, $1.i) == $1.fnc1) { //#25986\n $k[$j++] = $1.fnc1; //#25982\n $k[$j++] = $1.alphanumeric; //#25982\n $1.encode(); //#25982\n $1.mode = \"numeric\"; //#25983\n $1.i = $1.i + 1; //#25984\n break; //#25985\n } //#25985\n var _AA = $get($1.gpf, $1.i); //#25987\n var _AC = $get($1.iso646, _AA) !== undefined; //#25987\n var _AE = $get($1.alphanumeric, _AA) !== undefined; //#25987\n if (_AC && (!_AE)) { //#25991\n $k[$j++] = $1.liso646; //#25988\n $k[$j++] = $1.alphanumeric; //#25988\n $1.encode(); //#25988\n $1.mode = \"iso646\"; //#25989\n break; //#25990\n } //#25990\n if ($get($1.numericruns, $1.i) >= 6) { //#25996\n $k[$j++] = $1.lnumeric; //#25993\n $k[$j++] = $1.alphanumeric; //#25993\n $1.encode(); //#25993\n $1.mode = \"numeric\"; //#25994\n break; //#25995\n } //#25995\n var _AO = $get($1.numericruns, $1.i); //#25997\n if ((_AO >= 4) && ($f(_AO + $1.i) == $1.gpf.length)) { //#26001\n $k[$j++] = $1.lnumeric; //#25998\n $k[$j++] = $1.alphanumeric; //#25998\n $1.encode(); //#25998\n $1.mode = \"numeric\"; //#25999\n break; //#26000\n } //#26000\n $k[$j++] = $get($1.gpf, $1.i); //#26002\n $k[$j++] = $1.alphanumeric; //#26002\n $1.encode(); //#26002\n $1.i = $1.i + 1; //#26003\n break; //#26004\n } //#26004\n if ($eq($1.mode, \"iso646\")) { //#26027\n if ($get($1.gpf, $1.i) == $1.fnc1) { //#26013\n $k[$j++] = $1.fnc1; //#26009\n $k[$j++] = $1.iso646; //#26009\n $1.encode(); //#26009\n $1.mode = \"numeric\"; //#26010\n $1.i = $1.i + 1; //#26011\n break; //#26012\n } //#26012\n if (($get($1.numericruns, $1.i) >= 4) && ($get($1.nextiso646only, $1.i) >= 10)) { //#26018\n $k[$j++] = $1.lnumeric; //#26015\n $k[$j++] = $1.iso646; //#26015\n $1.encode(); //#26015\n $1.mode = \"numeric\"; //#26016\n break; //#26017\n } //#26017\n if (($get($1.alphanumericruns, $1.i) >= 5) && ($get($1.nextiso646only, $1.i) >= 10)) { //#26023\n $k[$j++] = $1.lalphanumeric; //#26020\n $k[$j++] = $1.iso646; //#26020\n $1.encode(); //#26020\n $1.mode = \"alphanumeric\"; //#26021\n break; //#26022\n } //#26022\n $k[$j++] = $get($1.gpf, $1.i); //#26024\n $k[$j++] = $1.iso646; //#26024\n $1.encode(); //#26024\n $1.i = $1.i + 1; //#26025\n break; //#26026\n } //#26026\n } //#26026\n } //#26026\n $1.gpf = $geti($1.gpfenc, 0, $1.j); //#26031\n $k[$j++] = 'pad'; //#26034\n $k[$j++] = $1.cdf.length + $1.gpf.length; //#26034\n $1.rembits(); //#26034\n var _B7 = $a($k[--$j]); //#26034\n $1[$k[--$j]] = _B7; //#26034\n if ($1.pad.length > 0) { //#26046\n for (var _BC = 0, _BB = $1.pad.length - 1; _BC <= _BB; _BC += 5) { //#26039\n $1.i = _BC; //#26037\n var _BD = $1.pad; //#26038\n var _BE = $1.i; //#26038\n var _BF = $a([0, 0, 1, 0, 0]); //#26038\n var _BG = $1.pad; //#26038\n var _BH = $1.i; //#26038\n var _BI = 5; //#26038\n var _BJ = _BG.length - _BH; //#26038\n if ((_BG.length - _BH) > 5) { //#26038\n var _ = _BI; //#26038\n _BI = _BJ; //#26038\n _BJ = _; //#26038\n } //#26038\n $puti(_BD, _BE, $geti(_BF, 0, _BJ)); //#26038\n } //#26038\n if ($eq($1.mode, \"numeric\")) { //#26042\n $k[$j++] = Infinity; //#26041\n $k[$j++] = 0; //#26041\n $k[$j++] = 0; //#26041\n $k[$j++] = 0; //#26041\n $k[$j++] = 0; //#26041\n $aload($1.pad); //#26041\n $1.pad = $geti($a(), 0, $1.pad.length); //#26041\n } //#26041\n if ($eq($1.mode, \"alpha\")) { //#26045\n $k[$j++] = Infinity; //#26044\n $k[$j++] = 1; //#26044\n $k[$j++] = 1; //#26044\n $k[$j++] = 1; //#26044\n $k[$j++] = 1; //#26044\n $k[$j++] = 1; //#26044\n $k[$j++] = 0; //#26044\n $k[$j++] = 0; //#26044\n $k[$j++] = 0; //#26044\n $k[$j++] = 0; //#26044\n $aload($1.pad); //#26044\n $1.pad = $geti($a(), 0, $1.pad.length); //#26044\n } //#26044\n } //#26044\n $k[$j++] = Infinity; //#26052\n $aload($1.cdf); //#26050\n $aload($1.gpf); //#26051\n $aload($1.pad); //#26052\n $1.bits = $a(); //#26052\n if ($1.ccversion == \"a\") { //#26109\n $k[$j++] = Infinity; //#26058\n $k[$j++] = $a([0, 0, 0, 0, 0, 0, 1]); //#26058\n for (var _Bb = 0, _Bc = 68; _Bb < _Bc; _Bb++) { //#26058\n $k[$j++] = $a(7); //#26058\n } //#26058\n $1.pwr928 = $a(); //#26058\n for (var _Bf = 1; _Bf <= 68; _Bf += 1) { //#26069\n $1.j = _Bf; //#26061\n $1.v = 0; //#26062\n for (var _Bg = 6; _Bg >= 1; _Bg -= 1) { //#26067\n $1.i = _Bg; //#26064\n $1.v = $f(($get($get($1.pwr928, $1.j - 1), $1.i) * 2) + (~~($1.v / 928))); //#26065\n $put($get($1.pwr928, $1.j), $1.i, $1.v % 928); //#26066\n } //#26066\n $put($get($1.pwr928, $1.j), 0, $f(($get($get($1.pwr928, $1.j - 1), 0) * 2) + (~~($1.v / 928)))); //#26068\n } //#26068\n $k[$j++] = Infinity; //#26070\n for (var _C0 = 0, _C1 = 28; _C0 < _C1; _C0++) { //#26070\n $k[$j++] = 0; //#26070\n } //#26070\n $1.cws = $a(); //#26070\n $1.b = 0; //#26071\n $1.c = 0; //#26071\n for (;;) { //#26095\n if ($1.b == $1.bits.length) { //#26073\n break; //#26073\n } //#26073\n var _C5 = $1.bits; //#26074\n var _C6 = $1.b; //#26074\n var _C7 = $1.bits; //#26074\n var _C8 = $1.b; //#26074\n var _C9 = _C7.length - _C8; //#26074\n var _CA = 69; //#26074\n if (69 > (_C7.length - _C8)) { //#26074\n var _ = _C9; //#26074\n _C9 = _CA; //#26074\n _CA = _; //#26074\n } //#26074\n $1.bs = $geti(_C5, _C6, _CA); //#26074\n $1.bsl = $1.bs.length; //#26075\n $1.cs = $geti($1.cws, $1.c, (~~($1.bsl / 10)) + 1); //#26076\n $1.csl = $1.cs.length; //#26077\n for (var _CK = 0, _CJ = $1.bsl - 1; _CK <= _CJ; _CK += 1) { //#26087\n $1.i = _CK; //#26079\n for (var _CN = 0, _CM = $1.csl - 1; _CN <= _CM; _CN += 1) { //#26086\n $1.j = _CN; //#26081\n var _CO = $1.cs; //#26082\n var _CP = $1.j; //#26082\n $put(_CO, _CP, $f($get(_CO, _CP) + ($get($get($1.pwr928, $1.i), ($1.j + 7) - $1.csl) * $get($1.bs, ($1.bsl - $1.i) - 1)))); //#26085\n } //#26085\n } //#26085\n for (var _Cc = $1.csl - 1; _Cc >= 1; _Cc -= 1) { //#26092\n $1.i = _Cc; //#26089\n var _Cd = $1.cs; //#26090\n var _Ce = $1.i; //#26090\n $put(_Cd, _Ce - 1, $f($get(_Cd, _Ce - 1) + (~~($get($1.cs, $1.i) / 928)))); //#26090\n var _Cj = $1.cs; //#26091\n var _Ck = $1.i; //#26091\n $put(_Cj, _Ck, $get(_Cj, _Ck) % 928); //#26091\n } //#26091\n $1.b = $1.b + $1.bsl; //#26093\n $1.c = $1.c + $1.csl; //#26094\n } //#26094\n $1.cws = $geti($1.cws, 0, $1.c); //#26096\n $1.barcode = $s($1.cws.length * 4); //#26097\n for (var _Cx = 0, _Cw = $1.cws.length - 1; _Cx <= _Cw; _Cx += 1) { //#26103\n $1.i = _Cx; //#26099\n var _Cz = $strcpy($s(4), \"^ \"); //#26100\n var _D4 = $cvrs($s(4), $get($1.cws, $1.i), 10); //#26100\n $puti(_Cz, 4 - _D4.length, _D4); //#26101\n $puti($1.barcode, $1.i * 4, _Cz); //#26102\n } //#26102\n delete $1.options[\"parse\"]; //#26104\n $put($1.options, \"dontdraw\", true); //#26105\n $put($1.options, \"cca\", true); //#26106\n $put($1.options, \"columns\", $1.cccolumns); //#26107\n $k[$j++] = 'args'; //#26108\n $k[$j++] = $1.barcode; //#26108\n $k[$j++] = $1.options; //#26108\n bwipp_micropdf417(); //#26108\n var _DE = $k[--$j]; //#26108\n $1[$k[--$j]] = _DE; //#26108\n } //#26108\n if ($1.ccversion == \"b\") { //#26123\n $1.barcode = $s(~~($1.bits.length / 8)); //#26112\n for (var _DL = 0, _DK = $1.barcode.length - 1; _DL <= _DK; _DL += 1) { //#26117\n $1.i = _DL; //#26114\n var _DO = $geti($1.bits, $1.i * 8, 8); //#26115\n $k[$j++] = 0; //#26115\n for (var _DP = 0, _DQ = _DO.length; _DP < _DQ; _DP++) { //#26115\n var _DS = $k[--$j]; //#26115\n $k[$j++] = $f(_DS + $get(_DO, _DP)) * 2; //#26115\n } //#26115\n $put($1.barcode, $1.i, ~~($k[--$j] / 2)); //#26116\n } //#26116\n delete $1.options[\"parse\"]; //#26118\n $put($1.options, \"dontdraw\", true); //#26119\n $put($1.options, \"ccb\", true); //#26120\n $put($1.options, \"columns\", $1.cccolumns); //#26121\n $k[$j++] = 'args'; //#26122\n $k[$j++] = $1.barcode; //#26122\n $k[$j++] = $1.options; //#26122\n bwipp_micropdf417(); //#26122\n var _Dd = $k[--$j]; //#26122\n $1[$k[--$j]] = _Dd; //#26122\n } //#26122\n if ($1.ccversion == \"c\") { //#26138\n $1.barcode = $s(~~($1.bits.length / 8)); //#26126\n for (var _Dk = 0, _Dj = $1.barcode.length - 1; _Dk <= _Dj; _Dk += 1) { //#26131\n $1.i = _Dk; //#26128\n var _Dn = $geti($1.bits, $1.i * 8, 8); //#26129\n $k[$j++] = 0; //#26129\n for (var _Do = 0, _Dp = _Dn.length; _Do < _Dp; _Do++) { //#26129\n var _Dr = $k[--$j]; //#26129\n $k[$j++] = $f(_Dr + $get(_Dn, _Do)) * 2; //#26129\n } //#26129\n $put($1.barcode, $1.i, ~~($k[--$j] / 2)); //#26130\n } //#26130\n delete $1.options[\"parse\"]; //#26132\n $put($1.options, \"dontdraw\", true); //#26133\n $put($1.options, \"ccc\", true); //#26134\n $put($1.options, \"columns\", $1.cccolumns); //#26135\n $put($1.options, \"eclevel\", (~~(Math.log($1.eccws) / Math.log(2))) - 1); //#26136\n $k[$j++] = 'args'; //#26137\n $k[$j++] = $1.barcode; //#26137\n $k[$j++] = $1.options; //#26137\n bwipp_pdf417(); //#26137\n var _E4 = $k[--$j]; //#26137\n $1[$k[--$j]] = _E4; //#26137\n } //#26137\n $k[$j++] = $1.args; //#26141\n if (!$1.dontdraw) { //#26141\n bwipp_renmatrix(); //#26141\n } //#26141\n}\n\nfunction bwipp_ean13composite() {\n var $1 = {}; //#26173\n $1.options = $k[--$j]; //#26175\n $1.barcode = $k[--$j]; //#26176\n $1.dontdraw = false; //#26178\n $forall($1.options, function() { //#26189\n var _3 = $k[--$j]; //#26189\n $1[$k[--$j]] = _3; //#26189\n }); //#26189\n $search($1.barcode, \"|\"); //#26192\n if ($k[--$j]) { //#26197\n $1.linear = $k[--$j]; //#26193\n $j--; //#26194\n $1.comp = $k[--$j]; //#26195\n } else { //#26197\n $j--; //#26197\n } //#26197\n $$.save(); //#26200\n $put($1.options, \"lintype\", \"ean13\"); //#26202\n $put($1.options, \"inkspread\", \"0\"); //#26203\n $put($1.options, \"dontdraw\", true); //#26204\n $k[$j++] = $1.linear; //#26207\n $k[$j++] = $1.options; //#26207\n bwipp_ean13(); //#26207\n bwipp_renlinear(); //#26207\n $$.rmoveto(-1, 72); //#26210\n $k[$j++] = Infinity; //#26221\n $k[$j++] = Infinity; //#26215\n $k[$j++] = 0; //#26213\n $k[$j++] = 1; //#26213\n for (var _E = 0, _F = 93; _E < _F; _E++) { //#26213\n $k[$j++] = 0; //#26213\n } //#26213\n $k[$j++] = 1; //#26214\n $k[$j++] = 0; //#26214\n $k[$j++] = 1; //#26214\n $k[$j++] = 0; //#26214\n for (var _G = 0, _H = 93; _G < _H; _G++) { //#26214\n $k[$j++] = 0; //#26214\n } //#26214\n $k[$j++] = 0; //#26215\n $k[$j++] = 1; //#26215\n $k[$j++] = 0; //#26215\n $k[$j++] = 1; //#26215\n for (var _I = 0, _J = 93; _I < _J; _I++) { //#26215\n $k[$j++] = 0; //#26215\n } //#26215\n $k[$j++] = 1; //#26215\n $k[$j++] = 0; //#26215\n var _K = $a(); //#26215\n $k[$j++] = 'ren'; //#26221\n $k[$j++] = bwipp_renmatrix; //#26221\n $k[$j++] = 'pixs'; //#26221\n $k[$j++] = _K; //#26221\n $k[$j++] = 'pixx'; //#26221\n $k[$j++] = 97; //#26221\n $k[$j++] = 'pixy'; //#26221\n $k[$j++] = 3; //#26221\n $k[$j++] = 'height'; //#26221\n $k[$j++] = 6 / 72; //#26221\n $k[$j++] = 'width'; //#26221\n $k[$j++] = 97 / 72; //#26221\n $k[$j++] = 'opt'; //#26221\n $k[$j++] = $1.options; //#26221\n var _M = $d(); //#26221\n $k[$j++] = _M; //#26222\n bwipp_renmatrix(); //#26222\n $$.rmoveto(-2, 6); //#26225\n $k[$j++] = $1.comp; //#26225\n $k[$j++] = $1.options; //#26225\n bwipp_gs1_cc(); //#26225\n bwipp_renmatrix(); //#26225\n $$.restore(); //#26227\n}\n\nfunction bwipp_ean8composite() {\n var $1 = {}; //#26259\n $1.options = $k[--$j]; //#26261\n $1.barcode = $k[--$j]; //#26262\n $1.dontdraw = false; //#26264\n $forall($1.options, function() { //#26275\n var _3 = $k[--$j]; //#26275\n $1[$k[--$j]] = _3; //#26275\n }); //#26275\n $search($1.barcode, \"|\"); //#26278\n if ($k[--$j]) { //#26283\n $1.linear = $k[--$j]; //#26279\n $j--; //#26280\n $1.comp = $k[--$j]; //#26281\n } else { //#26283\n $j--; //#26283\n } //#26283\n $$.save(); //#26286\n $put($1.options, \"lintype\", \"ean8\"); //#26289\n $put($1.options, \"inkspread\", \"0\"); //#26290\n $put($1.options, \"dontdraw\", true); //#26291\n $k[$j++] = $1.linear; //#26294\n $k[$j++] = $1.options; //#26294\n bwipp_ean8(); //#26294\n bwipp_renlinear(); //#26294\n $$.rmoveto(-1, 72); //#26297\n $k[$j++] = Infinity; //#26308\n $k[$j++] = Infinity; //#26302\n $k[$j++] = 0; //#26300\n $k[$j++] = 1; //#26300\n for (var _E = 0, _F = 65; _E < _F; _E++) { //#26300\n $k[$j++] = 0; //#26300\n } //#26300\n $k[$j++] = 1; //#26301\n $k[$j++] = 0; //#26301\n $k[$j++] = 1; //#26301\n $k[$j++] = 0; //#26301\n for (var _G = 0, _H = 65; _G < _H; _G++) { //#26301\n $k[$j++] = 0; //#26301\n } //#26301\n $k[$j++] = 0; //#26302\n $k[$j++] = 1; //#26302\n $k[$j++] = 0; //#26302\n $k[$j++] = 1; //#26302\n for (var _I = 0, _J = 65; _I < _J; _I++) { //#26302\n $k[$j++] = 0; //#26302\n } //#26302\n $k[$j++] = 1; //#26302\n $k[$j++] = 0; //#26302\n var _K = $a(); //#26302\n $k[$j++] = 'ren'; //#26308\n $k[$j++] = bwipp_renmatrix; //#26308\n $k[$j++] = 'pixs'; //#26308\n $k[$j++] = _K; //#26308\n $k[$j++] = 'pixx'; //#26308\n $k[$j++] = 69; //#26308\n $k[$j++] = 'pixy'; //#26308\n $k[$j++] = 3; //#26308\n $k[$j++] = 'height'; //#26308\n $k[$j++] = 6 / 72; //#26308\n $k[$j++] = 'width'; //#26308\n $k[$j++] = 69 / 72; //#26308\n $k[$j++] = 'opt'; //#26308\n $k[$j++] = $1.options; //#26308\n var _M = $d(); //#26308\n $k[$j++] = _M; //#26309\n bwipp_renmatrix(); //#26309\n $k[$j++] = $1.comp; //#26312\n $k[$j++] = $1.options; //#26312\n bwipp_gs1_cc(); //#26312\n var _P = $k[--$j]; //#26313\n $$.rmoveto($f(69 - $get(_P, \"pixx\")), 6); //#26313\n $k[$j++] = _P; //#26314\n bwipp_renmatrix(); //#26314\n $$.restore(); //#26316\n}\n\nfunction bwipp_upcacomposite() {\n var $1 = {}; //#26348\n $1.options = $k[--$j]; //#26350\n $1.barcode = $k[--$j]; //#26351\n $1.dontdraw = false; //#26353\n $forall($1.options, function() { //#26364\n var _3 = $k[--$j]; //#26364\n $1[$k[--$j]] = _3; //#26364\n }); //#26364\n $search($1.barcode, \"|\"); //#26367\n if ($k[--$j]) { //#26372\n $1.linear = $k[--$j]; //#26368\n $j--; //#26369\n $1.comp = $k[--$j]; //#26370\n } else { //#26372\n $j--; //#26372\n } //#26372\n $$.save(); //#26375\n $put($1.options, \"lintype\", \"ean13\"); //#26377\n $put($1.options, \"inkspread\", \"0\"); //#26378\n $put($1.options, \"dontdraw\", true); //#26379\n $k[$j++] = $1.linear; //#26382\n $k[$j++] = $1.options; //#26382\n bwipp_upca(); //#26382\n bwipp_renlinear(); //#26382\n $$.rmoveto(-1, 72); //#26385\n $k[$j++] = Infinity; //#26396\n $k[$j++] = Infinity; //#26390\n $k[$j++] = 0; //#26388\n $k[$j++] = 1; //#26388\n for (var _E = 0, _F = 93; _E < _F; _E++) { //#26388\n $k[$j++] = 0; //#26388\n } //#26388\n $k[$j++] = 1; //#26389\n $k[$j++] = 0; //#26389\n $k[$j++] = 1; //#26389\n $k[$j++] = 0; //#26389\n for (var _G = 0, _H = 93; _G < _H; _G++) { //#26389\n $k[$j++] = 0; //#26389\n } //#26389\n $k[$j++] = 0; //#26390\n $k[$j++] = 1; //#26390\n $k[$j++] = 0; //#26390\n $k[$j++] = 1; //#26390\n for (var _I = 0, _J = 93; _I < _J; _I++) { //#26390\n $k[$j++] = 0; //#26390\n } //#26390\n $k[$j++] = 1; //#26390\n $k[$j++] = 0; //#26390\n var _K = $a(); //#26390\n $k[$j++] = 'ren'; //#26396\n $k[$j++] = bwipp_renmatrix; //#26396\n $k[$j++] = 'pixs'; //#26396\n $k[$j++] = _K; //#26396\n $k[$j++] = 'pixx'; //#26396\n $k[$j++] = 97; //#26396\n $k[$j++] = 'pixy'; //#26396\n $k[$j++] = 3; //#26396\n $k[$j++] = 'height'; //#26396\n $k[$j++] = 6 / 72; //#26396\n $k[$j++] = 'width'; //#26396\n $k[$j++] = 97 / 72; //#26396\n $k[$j++] = 'opt'; //#26396\n $k[$j++] = $1.options; //#26396\n var _M = $d(); //#26396\n $k[$j++] = _M; //#26397\n bwipp_renmatrix(); //#26397\n $$.rmoveto(-2, 6); //#26400\n $k[$j++] = $1.comp; //#26400\n $k[$j++] = $1.options; //#26400\n bwipp_gs1_cc(); //#26400\n bwipp_renmatrix(); //#26400\n $$.restore(); //#26402\n}\n\nfunction bwipp_upcecomposite() {\n var $1 = {}; //#26434\n $1.options = $k[--$j]; //#26436\n $1.barcode = $k[--$j]; //#26437\n $1.dontdraw = false; //#26439\n $forall($1.options, function() { //#26450\n var _3 = $k[--$j]; //#26450\n $1[$k[--$j]] = _3; //#26450\n }); //#26450\n $search($1.barcode, \"|\"); //#26453\n if ($k[--$j]) { //#26458\n $1.linear = $k[--$j]; //#26454\n $j--; //#26455\n $1.comp = $k[--$j]; //#26456\n } else { //#26458\n $j--; //#26458\n } //#26458\n $k[$j++] = Infinity; //#26473\n $k[$j++] = Infinity; //#26467\n $k[$j++] = 0; //#26465\n $k[$j++] = 1; //#26465\n for (var _9 = 0, _A = 49; _9 < _A; _9++) { //#26465\n $k[$j++] = 0; //#26465\n } //#26465\n $k[$j++] = 1; //#26466\n $k[$j++] = 0; //#26466\n $k[$j++] = 1; //#26466\n $k[$j++] = 0; //#26466\n for (var _B = 0, _C = 49; _B < _C; _B++) { //#26466\n $k[$j++] = 0; //#26466\n } //#26466\n $k[$j++] = 0; //#26467\n $k[$j++] = 1; //#26467\n $k[$j++] = 0; //#26467\n $k[$j++] = 1; //#26467\n for (var _D = 0, _E = 49; _D < _E; _D++) { //#26467\n $k[$j++] = 0; //#26467\n } //#26467\n $k[$j++] = 1; //#26467\n $k[$j++] = 0; //#26467\n var _F = $a(); //#26467\n $k[$j++] = 'ren'; //#26473\n $k[$j++] = bwipp_renmatrix; //#26473\n $k[$j++] = 'pixs'; //#26473\n $k[$j++] = _F; //#26473\n $k[$j++] = 'pixx'; //#26473\n $k[$j++] = 53; //#26473\n $k[$j++] = 'pixy'; //#26473\n $k[$j++] = 3; //#26473\n $k[$j++] = 'height'; //#26473\n $k[$j++] = 6 / 72; //#26473\n $k[$j++] = 'width'; //#26473\n $k[$j++] = 53 / 72; //#26473\n $k[$j++] = 'opt'; //#26473\n $k[$j++] = $1.options; //#26473\n $1.sep = $d(); //#26474\n $$.save(); //#26476\n $put($1.options, \"lintype\", \"upce\"); //#26478\n $put($1.options, \"inkspread\", \"0\"); //#26479\n $put($1.options, \"dontdraw\", true); //#26480\n $k[$j++] = $1.linear; //#26483\n $k[$j++] = $1.options; //#26483\n bwipp_upce(); //#26483\n bwipp_renlinear(); //#26483\n $$.rmoveto(-1, 72); //#26486\n $k[$j++] = Infinity; //#26497\n $k[$j++] = Infinity; //#26491\n $k[$j++] = 0; //#26489\n $k[$j++] = 1; //#26489\n for (var _N = 0, _O = 49; _N < _O; _N++) { //#26489\n $k[$j++] = 0; //#26489\n } //#26489\n $k[$j++] = 1; //#26490\n $k[$j++] = 0; //#26490\n $k[$j++] = 1; //#26490\n $k[$j++] = 0; //#26490\n for (var _P = 0, _Q = 49; _P < _Q; _P++) { //#26490\n $k[$j++] = 0; //#26490\n } //#26490\n $k[$j++] = 0; //#26491\n $k[$j++] = 1; //#26491\n $k[$j++] = 0; //#26491\n $k[$j++] = 1; //#26491\n for (var _R = 0, _S = 49; _R < _S; _R++) { //#26491\n $k[$j++] = 0; //#26491\n } //#26491\n $k[$j++] = 1; //#26491\n $k[$j++] = 0; //#26491\n var _T = $a(); //#26491\n $k[$j++] = 'ren'; //#26497\n $k[$j++] = bwipp_renmatrix; //#26497\n $k[$j++] = 'pixs'; //#26497\n $k[$j++] = _T; //#26497\n $k[$j++] = 'pixx'; //#26497\n $k[$j++] = 53; //#26497\n $k[$j++] = 'pixy'; //#26497\n $k[$j++] = 3; //#26497\n $k[$j++] = 'height'; //#26497\n $k[$j++] = 6 / 72; //#26497\n $k[$j++] = 'width'; //#26497\n $k[$j++] = 53 / 72; //#26497\n $k[$j++] = 'opt'; //#26497\n $k[$j++] = $1.options; //#26497\n var _V = $d(); //#26497\n $k[$j++] = _V; //#26498\n bwipp_renmatrix(); //#26498\n $$.rmoveto(-2, 6); //#26501\n $k[$j++] = $1.comp; //#26501\n $k[$j++] = $1.options; //#26501\n bwipp_gs1_cc(); //#26501\n bwipp_renmatrix(); //#26501\n $$.restore(); //#26503\n}\n\nfunction bwipp_databaromnicomposite() {\n var $1 = {}; //#26535\n $1.options = $k[--$j]; //#26537\n $1.barcode = $k[--$j]; //#26538\n $1.dontdraw = false; //#26540\n $forall($1.options, function() { //#26551\n var _3 = $k[--$j]; //#26551\n $1[$k[--$j]] = _3; //#26551\n }); //#26551\n $search($1.barcode, \"|\"); //#26554\n if ($k[--$j]) { //#26559\n $1.linear = $k[--$j]; //#26555\n $j--; //#26556\n $1.comp = $k[--$j]; //#26557\n } else { //#26559\n $j--; //#26559\n } //#26559\n $$.save(); //#26562\n $put($1.options, \"lintype\", \"databaromni\"); //#26564\n $put($1.options, \"linkage\", true); //#26565\n $put($1.options, \"inkspread\", \"0\"); //#26566\n $put($1.options, \"dontdraw\", true); //#26567\n $k[$j++] = $1.linear; //#26570\n $k[$j++] = $1.options; //#26570\n bwipp_databaromni(); //#26570\n var _F = $k[--$j]; //#26571\n $1.linsbs = $get(_F, \"sbs\"); //#26571\n $1.linheight = $get($get(_F, \"bhs\"), 0) * 72; //#26572\n $k[$j++] = _F; //#26573\n bwipp_renlinear(); //#26573\n $1.sepfinder = function() {\n $1.fp = $k[--$j]; //#26577\n for (var _N = $1.fp, _M = $f($1.fp + 12); _N <= _M; _N += 1) { //#26590\n $1.i = _N; //#26579\n if ($get($1.bot, $1.i) == 0) { //#26587\n if ($get($1.bot, $1.i - 1) == 1) { //#26584\n $k[$j++] = 1; //#26582\n } else { //#26584\n var _X = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#26584\n $k[$j++] = _X; //#26584\n } //#26584\n } else { //#26587\n $k[$j++] = 0; //#26587\n } //#26587\n $put($1.sep, $1.i, $k[--$j]); //#26589\n } //#26589\n $1.f3 = $a([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]); //#26591\n $k[$j++] = true; //#26592\n for (var _c = 0; _c <= 12; _c += 1) { //#26592\n var _i = $k[--$j]; //#26592\n $k[$j++] = _i && $eq($get($1.bot, $f(_c + $1.fp)), $get($1.f3, _c)); //#26592\n } //#26592\n if ($k[--$j]) { //#26595\n $puti($1.sep, $1.fp, $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0])); //#26594\n } //#26594\n }; //#26596\n $k[$j++] = Infinity; //#26597\n $k[$j++] = 0; //#26598\n $forall($1.linsbs, function() { //#26598\n var _o = $k[--$j]; //#26598\n var _p = $k[--$j]; //#26598\n var _q = (_p == 1) ? 0 : 1; //#26598\n $k[$j++] = _p; //#26598\n for (var _r = 0, _s = _o; _r < _s; _r++) { //#26598\n $k[$j++] = _q //#26598\n } //#26598\n }); //#26598\n $astore($a($counttomark() - 1)); //#26599\n $1.bot = $k[--$j]; //#26599\n $j -= 2; //#26599\n $k[$j++] = Infinity; //#26600\n $forall($1.bot, function() { //#26600\n var _x = $k[--$j]; //#26600\n $k[$j++] = $f(1 - _x); //#26600\n }); //#26600\n $1.sep = $a(); //#26600\n $puti($1.sep, 0, $a([0, 0, 0])); //#26601\n $puti($1.sep, $1.sep.length - 4, $a([0, 0, 0, 0])); //#26602\n $k[$j++] = 18; //#26603\n $1.sepfinder(); //#26603\n $k[$j++] = 64; //#26603\n $1.sepfinder(); //#26603\n $$.rmoveto(0, $1.linheight); //#26604\n var _19 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#26611\n $k[$j++] = _19; //#26612\n bwipp_renmatrix(); //#26612\n $$.rmoveto(-5, 1); //#26615\n $k[$j++] = $1.comp; //#26615\n $k[$j++] = $1.options; //#26615\n bwipp_gs1_cc(); //#26615\n bwipp_renmatrix(); //#26615\n $$.restore(); //#26617\n}\n\nfunction bwipp_databarstackedcomposite() {\n var $1 = {}; //#26648\n $1.options = $k[--$j]; //#26650\n $1.barcode = $k[--$j]; //#26651\n $1.dontdraw = false; //#26653\n $forall($1.options, function() { //#26664\n var _3 = $k[--$j]; //#26664\n $1[$k[--$j]] = _3; //#26664\n }); //#26664\n $search($1.barcode, \"|\"); //#26667\n if ($k[--$j]) { //#26672\n $1.linear = $k[--$j]; //#26668\n $j--; //#26669\n $1.comp = $k[--$j]; //#26670\n } else { //#26672\n $j--; //#26672\n } //#26672\n $$.save(); //#26675\n $put($1.options, \"lintype\", \"databarstacked\"); //#26677\n $put($1.options, \"linkage\", true); //#26678\n $put($1.options, \"inkspread\", \"0\"); //#26679\n $put($1.options, \"dontdraw\", true); //#26680\n $k[$j++] = $1.linear; //#26683\n $k[$j++] = $1.options; //#26683\n bwipp_databarstacked(); //#26683\n var _F = $k[--$j]; //#26684\n $1.bot = $geti($get(_F, \"pixs\"), 0, $get(_F, \"pixx\")); //#26684\n $1.linheight = $get(_F, \"pixy\"); //#26685\n $k[$j++] = _F; //#26686\n bwipp_renmatrix(); //#26686\n $1.sepfinder = function() {\n $1.fp = $k[--$j]; //#26690\n for (var _O = $1.fp, _N = $f($1.fp + 12); _O <= _N; _O += 1) { //#26703\n $1.i = _O; //#26692\n if ($get($1.bot, $1.i) == 0) { //#26700\n if ($get($1.bot, $1.i - 1) == 1) { //#26697\n $k[$j++] = 1; //#26695\n } else { //#26697\n var _Y = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#26697\n $k[$j++] = _Y; //#26697\n } //#26697\n } else { //#26700\n $k[$j++] = 0; //#26700\n } //#26700\n $put($1.sep, $1.i, $k[--$j]); //#26702\n } //#26702\n $1.f3 = $a([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]); //#26704\n $k[$j++] = true; //#26705\n for (var _d = 0; _d <= 12; _d += 1) { //#26705\n var _j = $k[--$j]; //#26705\n $k[$j++] = _j && $eq($get($1.bot, $f(_d + $1.fp)), $get($1.f3, _d)); //#26705\n } //#26705\n if ($k[--$j]) { //#26708\n $puti($1.sep, $1.fp, $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0])); //#26707\n } //#26707\n }; //#26709\n $k[$j++] = Infinity; //#26710\n var _o = $1.bot; //#26710\n for (var _p = 0, _q = _o.length; _p < _q; _p++) { //#26710\n $k[$j++] = $f(1 - $get(_o, _p)); //#26710\n } //#26710\n $1.sep = $a(); //#26710\n $puti($1.sep, 0, $a([0, 0, 0, 0])); //#26711\n $puti($1.sep, $1.sep.length - 4, $a([0, 0, 0, 0])); //#26712\n $k[$j++] = 18; //#26713\n $1.sepfinder(); //#26713\n $$.rmoveto(0, $1.linheight); //#26714\n var _13 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#26721\n $k[$j++] = _13; //#26722\n bwipp_renmatrix(); //#26722\n $$.rmoveto(1, 1); //#26725\n $k[$j++] = $1.comp; //#26725\n $k[$j++] = $1.options; //#26725\n bwipp_gs1_cc(); //#26725\n bwipp_renmatrix(); //#26725\n $$.restore(); //#26727\n}\n\nfunction bwipp_databarstackedomnicomposite() {\n var $1 = {}; //#26758\n $1.options = $k[--$j]; //#26760\n $1.barcode = $k[--$j]; //#26761\n $1.dontdraw = false; //#26763\n $forall($1.options, function() { //#26774\n var _3 = $k[--$j]; //#26774\n $1[$k[--$j]] = _3; //#26774\n }); //#26774\n $search($1.barcode, \"|\"); //#26777\n if ($k[--$j]) { //#26782\n $1.linear = $k[--$j]; //#26778\n $j--; //#26779\n $1.comp = $k[--$j]; //#26780\n } else { //#26782\n $j--; //#26782\n } //#26782\n $$.save(); //#26785\n $put($1.options, \"lintype\", \"databarstackedomni\"); //#26787\n $put($1.options, \"linkage\", true); //#26788\n $put($1.options, \"inkspread\", \"0\"); //#26789\n $put($1.options, \"dontdraw\", true); //#26790\n $k[$j++] = $1.linear; //#26793\n $k[$j++] = $1.options; //#26793\n bwipp_databarstackedomni(); //#26793\n var _F = $k[--$j]; //#26794\n $1.bot = $geti($get(_F, \"pixs\"), 0, $get(_F, \"pixx\")); //#26794\n $1.linheight = $get(_F, \"pixy\"); //#26795\n $k[$j++] = _F; //#26796\n bwipp_renmatrix(); //#26796\n $1.sepfinder = function() {\n $1.fp = $k[--$j]; //#26800\n for (var _O = $1.fp, _N = $f($1.fp + 12); _O <= _N; _O += 1) { //#26813\n $1.i = _O; //#26802\n if ($get($1.bot, $1.i) == 0) { //#26810\n if ($get($1.bot, $1.i - 1) == 1) { //#26807\n $k[$j++] = 1; //#26805\n } else { //#26807\n var _Y = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#26807\n $k[$j++] = _Y; //#26807\n } //#26807\n } else { //#26810\n $k[$j++] = 0; //#26810\n } //#26810\n $put($1.sep, $1.i, $k[--$j]); //#26812\n } //#26812\n $1.f3 = $a([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]); //#26814\n $k[$j++] = true; //#26815\n for (var _d = 0; _d <= 12; _d += 1) { //#26815\n var _j = $k[--$j]; //#26815\n $k[$j++] = _j && $eq($get($1.bot, $f(_d + $1.fp)), $get($1.f3, _d)); //#26815\n } //#26815\n if ($k[--$j]) { //#26818\n $puti($1.sep, $1.fp, $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0])); //#26817\n } //#26817\n }; //#26819\n $k[$j++] = Infinity; //#26820\n var _o = $1.bot; //#26820\n for (var _p = 0, _q = _o.length; _p < _q; _p++) { //#26820\n $k[$j++] = $f(1 - $get(_o, _p)); //#26820\n } //#26820\n $1.sep = $a(); //#26820\n $puti($1.sep, 0, $a([0, 0, 0, 0])); //#26821\n $puti($1.sep, $1.sep.length - 4, $a([0, 0, 0, 0])); //#26822\n $k[$j++] = 18; //#26823\n $1.sepfinder(); //#26823\n $$.rmoveto(0, $1.linheight); //#26824\n var _13 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#26831\n $k[$j++] = _13; //#26832\n bwipp_renmatrix(); //#26832\n $$.rmoveto(1, 1); //#26835\n $k[$j++] = $1.comp; //#26835\n $k[$j++] = $1.options; //#26835\n bwipp_gs1_cc(); //#26835\n bwipp_renmatrix(); //#26835\n $$.restore(); //#26837\n}\n\nfunction bwipp_databartruncatedcomposite() {\n var $1 = {}; //#26869\n $1.options = $k[--$j]; //#26871\n $1.barcode = $k[--$j]; //#26872\n $1.dontdraw = false; //#26874\n $forall($1.options, function() { //#26885\n var _3 = $k[--$j]; //#26885\n $1[$k[--$j]] = _3; //#26885\n }); //#26885\n $search($1.barcode, \"|\"); //#26888\n if ($k[--$j]) { //#26893\n $1.linear = $k[--$j]; //#26889\n $j--; //#26890\n $1.comp = $k[--$j]; //#26891\n } else { //#26893\n $j--; //#26893\n } //#26893\n $$.save(); //#26896\n $put($1.options, \"lintype\", \"databartruncated\"); //#26898\n $put($1.options, \"linkage\", true); //#26899\n $put($1.options, \"inkspread\", \"0\"); //#26900\n $put($1.options, \"dontdraw\", true); //#26901\n $k[$j++] = $1.linear; //#26904\n $k[$j++] = $1.options; //#26904\n bwipp_databartruncated(); //#26904\n var _F = $k[--$j]; //#26905\n $1.linsbs = $get(_F, \"sbs\"); //#26905\n $1.linheight = $get($get(_F, \"bhs\"), 0) * 72; //#26906\n $k[$j++] = _F; //#26907\n bwipp_renlinear(); //#26907\n $1.sepfinder = function() {\n $1.fp = $k[--$j]; //#26911\n for (var _N = $1.fp, _M = $f($1.fp + 12); _N <= _M; _N += 1) { //#26924\n $1.i = _N; //#26913\n if ($get($1.bot, $1.i) == 0) { //#26921\n if ($get($1.bot, $1.i - 1) == 1) { //#26918\n $k[$j++] = 1; //#26916\n } else { //#26918\n var _X = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#26918\n $k[$j++] = _X; //#26918\n } //#26918\n } else { //#26921\n $k[$j++] = 0; //#26921\n } //#26921\n $put($1.sep, $1.i, $k[--$j]); //#26923\n } //#26923\n $1.f3 = $a([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1]); //#26925\n $k[$j++] = true; //#26926\n for (var _c = 0; _c <= 12; _c += 1) { //#26926\n var _i = $k[--$j]; //#26926\n $k[$j++] = _i && $eq($get($1.bot, $f(_c + $1.fp)), $get($1.f3, _c)); //#26926\n } //#26926\n if ($k[--$j]) { //#26929\n $puti($1.sep, $1.fp, $a([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0])); //#26928\n } //#26928\n }; //#26930\n $k[$j++] = Infinity; //#26931\n $k[$j++] = 0; //#26932\n $forall($1.linsbs, function() { //#26932\n var _o = $k[--$j]; //#26932\n var _p = $k[--$j]; //#26932\n var _q = (_p == 1) ? 0 : 1; //#26932\n $k[$j++] = _p; //#26932\n for (var _r = 0, _s = _o; _r < _s; _r++) { //#26932\n $k[$j++] = _q //#26932\n } //#26932\n }); //#26932\n $astore($a($counttomark() - 1)); //#26933\n $1.bot = $k[--$j]; //#26933\n $j -= 2; //#26933\n $k[$j++] = Infinity; //#26934\n $forall($1.bot, function() { //#26934\n var _x = $k[--$j]; //#26934\n $k[$j++] = $f(1 - _x); //#26934\n }); //#26934\n $1.sep = $a(); //#26934\n $puti($1.sep, 0, $a([0, 0, 0])); //#26935\n $puti($1.sep, $1.sep.length - 4, $a([0, 0, 0, 0])); //#26936\n $k[$j++] = 18; //#26937\n $1.sepfinder(); //#26937\n $k[$j++] = 64; //#26937\n $1.sepfinder(); //#26937\n $$.rmoveto(0, $1.linheight); //#26938\n var _19 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#26945\n $k[$j++] = _19; //#26946\n bwipp_renmatrix(); //#26946\n $$.rmoveto(-5, 1); //#26949\n $k[$j++] = $1.comp; //#26949\n $k[$j++] = $1.options; //#26949\n bwipp_gs1_cc(); //#26949\n bwipp_renmatrix(); //#26949\n $$.restore(); //#26951\n}\n\nfunction bwipp_databarlimitedcomposite() {\n var $1 = {}; //#26983\n $1.options = $k[--$j]; //#26985\n $1.barcode = $k[--$j]; //#26986\n $1.dontdraw = false; //#26988\n $forall($1.options, function() { //#26999\n var _3 = $k[--$j]; //#26999\n $1[$k[--$j]] = _3; //#26999\n }); //#26999\n $search($1.barcode, \"|\"); //#27002\n if ($k[--$j]) { //#27007\n $1.linear = $k[--$j]; //#27003\n $j--; //#27004\n $1.comp = $k[--$j]; //#27005\n } else { //#27007\n $j--; //#27007\n } //#27007\n $$.save(); //#27010\n $put($1.options, \"lintype\", \"databarlimited\"); //#27012\n $put($1.options, \"linkage\", true); //#27013\n $put($1.options, \"inkspread\", \"0\"); //#27014\n $put($1.options, \"dontdraw\", true); //#27015\n $k[$j++] = $1.linear; //#27018\n $k[$j++] = $1.options; //#27018\n bwipp_databarlimited(); //#27018\n var _F = $k[--$j]; //#27019\n $1.linsbs = $get(_F, \"sbs\"); //#27019\n $1.linheight = $get($get(_F, \"bhs\"), 0) * 72; //#27020\n $k[$j++] = _F; //#27021\n bwipp_renlinear(); //#27021\n $k[$j++] = Infinity; //#27024\n $k[$j++] = 1; //#27025\n $forall($1.linsbs, function() { //#27025\n var _K = $k[--$j]; //#27025\n var _L = $k[--$j]; //#27025\n var _M = (_L == 0) ? 1 : 0; //#27025\n $k[$j++] = _L; //#27025\n for (var _N = 0, _O = _K; _N < _O; _N++) { //#27025\n $k[$j++] = _M //#27025\n } //#27025\n }); //#27025\n $astore($a($counttomark() - 1)); //#27026\n $1.sep = $k[--$j]; //#27026\n $j -= 2; //#27026\n $puti($1.sep, 0, $a([0, 0, 0])); //#27027\n $puti($1.sep, $1.sep.length - 9, $a([0, 0, 0, 0, 0, 0, 0, 0, 0])); //#27028\n $$.rmoveto(0, $1.linheight); //#27029\n var _c = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#27036\n $k[$j++] = _c; //#27037\n bwipp_renmatrix(); //#27037\n $k[$j++] = $1.comp; //#27040\n $k[$j++] = $1.options; //#27040\n bwipp_gs1_cc(); //#27040\n var _f = $k[--$j]; //#27041\n $$.rmoveto($f(72 - $get(_f, \"pixx\")), 1); //#27041\n $k[$j++] = _f; //#27042\n bwipp_renmatrix(); //#27042\n $$.restore(); //#27044\n}\n\nfunction bwipp_databarexpandedcomposite() {\n var $1 = {}; //#27076\n $1.options = $k[--$j]; //#27078\n $1.barcode = $k[--$j]; //#27079\n $1.dontdraw = false; //#27081\n $forall($1.options, function() { //#27092\n var _3 = $k[--$j]; //#27092\n $1[$k[--$j]] = _3; //#27092\n }); //#27092\n $search($1.barcode, \"|\"); //#27095\n if ($k[--$j]) { //#27100\n $1.linear = $k[--$j]; //#27096\n $j--; //#27097\n $1.comp = $k[--$j]; //#27098\n } else { //#27100\n $j--; //#27100\n } //#27100\n $$.save(); //#27103\n $put($1.options, \"lintype\", \"databarexpanded\"); //#27105\n $put($1.options, \"linkage\", true); //#27106\n $put($1.options, \"inkspread\", \"0\"); //#27107\n $put($1.options, \"dontdraw\", true); //#27108\n $k[$j++] = $1.linear; //#27111\n $k[$j++] = $1.options; //#27111\n bwipp_databarexpanded(); //#27111\n var _F = $k[--$j]; //#27112\n $1.linsbs = $get(_F, \"sbs\"); //#27112\n $1.linheight = $get($get(_F, \"bhs\"), 0) * 72; //#27113\n $k[$j++] = _F; //#27114\n bwipp_renlinear(); //#27114\n $1.sepfinder = function() {\n $1.fp = $k[--$j]; //#27118\n for (var _N = $1.fp, _M = $f($1.fp + 12); _N <= _M; _N += 1) { //#27131\n $1.i = _N; //#27120\n if ($get($1.bot, $1.i) == 0) { //#27128\n if ($get($1.bot, $1.i - 1) == 1) { //#27125\n $k[$j++] = 1; //#27123\n } else { //#27125\n var _X = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#27125\n $k[$j++] = _X; //#27125\n } //#27125\n } else { //#27128\n $k[$j++] = 0; //#27128\n } //#27128\n $put($1.sep, $1.i, $k[--$j]); //#27130\n } //#27130\n }; //#27132\n $k[$j++] = Infinity; //#27133\n $k[$j++] = 0; //#27134\n $forall($1.linsbs, function() { //#27134\n var _c = $k[--$j]; //#27134\n var _d = $k[--$j]; //#27134\n var _e = (_d == 1) ? 0 : 1; //#27134\n $k[$j++] = _d; //#27134\n for (var _f = 0, _g = _c; _f < _g; _f++) { //#27134\n $k[$j++] = _e //#27134\n } //#27134\n }); //#27134\n $astore($a($counttomark() - 1)); //#27135\n $1.bot = $k[--$j]; //#27135\n $j -= 2; //#27135\n $k[$j++] = Infinity; //#27136\n $forall($1.bot, function() { //#27136\n var _l = $k[--$j]; //#27136\n $k[$j++] = $f(1 - _l); //#27136\n }); //#27136\n $1.sep = $a(); //#27136\n $puti($1.sep, 0, $a([0, 0, 0])); //#27137\n $puti($1.sep, $1.sep.length - 4, $a([0, 0, 0, 0])); //#27138\n $k[$j++] = Infinity; //#27141\n for (var _u = 18, _t = $1.bot.length - 13; _u <= _t; _u += 98) { //#27140\n $k[$j++] = _u; //#27140\n } //#27140\n for (var _x = 69, _w = $1.bot.length - 13; _x <= _w; _x += 98) { //#27141\n $k[$j++] = _x; //#27141\n } //#27141\n var _y = $a(); //#27141\n for (var _z = 0, _10 = _y.length; _z < _10; _z++) { //#27142\n $k[$j++] = $get(_y, _z); //#27142\n $1.sepfinder(); //#27142\n } //#27142\n $$.rmoveto(0, $1.linheight); //#27143\n var _17 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#27150\n $k[$j++] = _17; //#27151\n bwipp_renmatrix(); //#27151\n $$.rmoveto(1, 1); //#27154\n $k[$j++] = $1.comp; //#27154\n $k[$j++] = $1.options; //#27154\n bwipp_gs1_cc(); //#27154\n bwipp_renmatrix(); //#27154\n $$.restore(); //#27156\n}\n\nfunction bwipp_databarexpandedstackedcomposite() {\n var $1 = {}; //#27187\n $1.options = $k[--$j]; //#27189\n $1.barcode = $k[--$j]; //#27190\n $1.dontdraw = false; //#27192\n $forall($1.options, function() { //#27203\n var _3 = $k[--$j]; //#27203\n $1[$k[--$j]] = _3; //#27203\n }); //#27203\n $search($1.barcode, \"|\"); //#27206\n if ($k[--$j]) { //#27211\n $1.linear = $k[--$j]; //#27207\n $j--; //#27208\n $1.comp = $k[--$j]; //#27209\n } else { //#27211\n $j--; //#27211\n } //#27211\n $$.save(); //#27214\n $put($1.options, \"lintype\", \"databarexpandedstacked\"); //#27216\n $put($1.options, \"linkage\", true); //#27217\n $put($1.options, \"inkspread\", \"0\"); //#27218\n $put($1.options, \"dontdraw\", true); //#27219\n $k[$j++] = $1.linear; //#27222\n $k[$j++] = $1.options; //#27222\n bwipp_databarexpandedstacked(); //#27222\n var _F = $k[--$j]; //#27223\n $1.bot = $geti($get(_F, \"pixs\"), 0, $get(_F, \"pixx\")); //#27223\n $1.linheight = $get(_F, \"pixy\"); //#27224\n $k[$j++] = _F; //#27225\n bwipp_renmatrix(); //#27225\n $1.sepfinder = function() {\n $1.fp = $k[--$j]; //#27229\n for (var _O = $1.fp, _N = $f($1.fp + 12); _O <= _N; _O += 1) { //#27242\n $1.i = _O; //#27231\n if ($get($1.bot, $1.i) == 0) { //#27239\n if ($get($1.bot, $1.i - 1) == 1) { //#27236\n $k[$j++] = 1; //#27234\n } else { //#27236\n var _Y = ($get($1.sep, $1.i - 1) == 0) ? 1 : 0; //#27236\n $k[$j++] = _Y; //#27236\n } //#27236\n } else { //#27239\n $k[$j++] = 0; //#27239\n } //#27239\n $put($1.sep, $1.i, $k[--$j]); //#27241\n } //#27241\n }; //#27243\n $k[$j++] = Infinity; //#27244\n var _c = $1.bot; //#27244\n for (var _d = 0, _e = _c.length; _d < _e; _d++) { //#27244\n $k[$j++] = $f(1 - $get(_c, _d)); //#27244\n } //#27244\n $1.sep = $a(); //#27244\n $puti($1.sep, 0, $a([0, 0, 0, 0])); //#27245\n $puti($1.sep, $1.sep.length - 4, $a([0, 0, 0, 0])); //#27246\n $k[$j++] = Infinity; //#27249\n for (var _o = 19, _n = $1.bot.length - 13; _o <= _n; _o += 98) { //#27248\n $k[$j++] = _o; //#27248\n } //#27248\n for (var _r = 70, _q = $1.bot.length - 13; _r <= _q; _r += 98) { //#27249\n $k[$j++] = _r; //#27249\n } //#27249\n var _s = $a(); //#27249\n for (var _t = 0, _u = _s.length; _t < _u; _t++) { //#27250\n $k[$j++] = $get(_s, _t); //#27250\n $1.sepfinder(); //#27250\n } //#27250\n $$.rmoveto(0, $1.linheight); //#27251\n var _11 = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", $1.sep.length / 72],\n [\"opt\", $1.options]\n ]); //#27258\n $k[$j++] = _11; //#27259\n bwipp_renmatrix(); //#27259\n var _14 = ($get($1.bot, 0) == 0) ? 2 : 0; //#27262\n $$.rmoveto(_14, 1); //#27262\n $k[$j++] = $1.comp; //#27263\n $k[$j++] = $1.options; //#27263\n bwipp_gs1_cc(); //#27263\n bwipp_renmatrix(); //#27263\n $$.restore(); //#27265\n}\n\nfunction bwipp_gs1_128composite() {\n var $1 = {}; //#27297\n $1.options = $k[--$j]; //#27299\n $1.barcode = $k[--$j]; //#27300\n $1.dontdraw = false; //#27302\n $forall($1.options, function() { //#27313\n var _3 = $k[--$j]; //#27313\n $1[$k[--$j]] = _3; //#27313\n }); //#27313\n $search($1.barcode, \"|\"); //#27316\n if ($k[--$j]) { //#27321\n $1.linear = $k[--$j]; //#27317\n $j--; //#27318\n $1.comp = $k[--$j]; //#27319\n } else { //#27321\n $j--; //#27321\n } //#27321\n $$.save(); //#27324\n $put($1.options, \"inkspread\", \"0\"); //#27326\n $put($1.options, \"dontdraw\", true); //#27327\n $put($1.options, \"linkagea\", true); //#27330\n $k[$j++] = $1.linear; //#27331\n $k[$j++] = Infinity; //#27331\n $forall($1.options); //#27331\n var _E = $d(); //#27331\n $k[$j++] = _E; //#27331\n bwipp_gs1_128(); //#27331\n var _G = $get($k[--$j], \"sbs\"); //#27332\n $k[$j++] = 0; //#27332\n $forall(_G, function() { //#27332\n var _H = $k[--$j]; //#27332\n var _I = $k[--$j]; //#27332\n $k[$j++] = $f(_I + _H); //#27332\n }); //#27332\n $1.linwidth = $k[--$j]; //#27332\n $put($1.options, \"lintype\", \"gs1-128\"); //#27335\n $put($1.options, \"linwidth\", $1.linwidth); //#27336\n $k[$j++] = $1.comp; //#27337\n $k[$j++] = $1.options; //#27337\n bwipp_gs1_cc(); //#27337\n $1.compsym = $k[--$j]; //#27337\n if ($get($1.compsym, \"pixx\") == 99) { //#27338\n $k[$j++] = \"a\"; //#27338\n } else { //#27338\n $k[$j++] = \"c\"; //#27338\n } //#27338\n $1.linktype = $k[--$j]; //#27338\n if ($eq($1.linktype, \"a\")) { //#27346\n $put($1.options, \"linkagea\", true); //#27342\n $put($1.options, \"linkagec\", false); //#27343\n } else { //#27346\n $put($1.options, \"linkagea\", false); //#27345\n $put($1.options, \"linkagec\", true); //#27346\n } //#27346\n $k[$j++] = $1.linear; //#27348\n $k[$j++] = Infinity; //#27348\n $forall($1.options); //#27348\n var _a = $d(); //#27348\n $k[$j++] = _a; //#27348\n bwipp_gs1_128(); //#27348\n var _b = $k[--$j]; //#27349\n $1.linsbs = $get(_b, \"sbs\"); //#27349\n $1.linheight = $get($get(_b, \"bhs\"), 0) * 72; //#27350\n $k[$j++] = _b; //#27351\n bwipp_renlinear(); //#27351\n $k[$j++] = Infinity; //#27354\n $k[$j++] = 1; //#27355\n $forall($1.linsbs, function() { //#27355\n var _g = $k[--$j]; //#27355\n var _h = $k[--$j]; //#27355\n var _i = (_h == 0) ? 1 : 0; //#27355\n $k[$j++] = _h; //#27355\n for (var _j = 0, _k = _g; _j < _k; _j++) { //#27355\n $k[$j++] = _i //#27355\n } //#27355\n }); //#27355\n $astore($a($counttomark() - 1)); //#27356\n $1.sep = $k[--$j]; //#27356\n $j -= 2; //#27356\n $$.rmoveto(0, $1.linheight); //#27357\n var _r = $1.sep; //#27363\n var _t = new Map([\n [\"ren\", bwipp_renmatrix],\n [\"pixs\", $1.sep],\n [\"pixx\", $1.sep.length],\n [\"pixy\", 1],\n [\"height\", 1 / 72],\n [\"width\", _r.length / 72],\n [\"opt\", $1.options]\n ]); //#27364\n $k[$j++] = _t; //#27365\n bwipp_renmatrix(); //#27365\n if ($eq($1.linktype, \"a\")) { //#27374\n $1.s = ~~($f($1.linwidth - 2) / 11); //#27369\n $1.p = ~~(($1.s - 9) / 2); //#27370\n $k[$j++] = 'x'; //#27371\n $k[$j++] = ((($1.s - $1.p) - 1) * 11) + 10; //#27371\n if ($1.p == 0) { //#27371\n var _10 = $k[--$j]; //#27371\n $k[$j++] = $f(_10 + 2); //#27371\n } //#27371\n var _11 = $k[--$j]; //#27371\n $1[$k[--$j]] = $f(_11 - 99); //#27371\n $$.rmoveto($1.x, 1); //#27372\n } else { //#27374\n $$.rmoveto(-7, 1); //#27374\n } //#27374\n $k[$j++] = $1.compsym; //#27377\n bwipp_renmatrix(); //#27377\n $$.restore(); //#27379\n}\n\nfunction bwipp_gs1datamatrix() {\n var $1 = {}; //#27411\n $1.options = $k[--$j]; //#27413\n $1.barcode = $k[--$j]; //#27414\n $1.dontdraw = false; //#27416\n $1.parse = false; //#27417\n $1.dontlint = false; //#27418\n $forall($1.options, function() { //#27429\n var _3 = $k[--$j]; //#27429\n $1[$k[--$j]] = _3; //#27429\n }); //#27429\n $1.expand = function() {\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#27436\n $1.fncvals = _6; //#27437\n $k[$j++] = $1.fncvals; //#27438\n bwipp_parseinput(); //#27438\n }; //#27439\n $1.ais = $a([]); //#27442\n $1.vals = $a([]); //#27443\n var _A = $1.barcode; //#27444\n $k[$j++] = $geti(_A, 1, _A.length - 1); //#27457\n for (;;) { //#27457\n var _C = $k[--$j]; //#27446\n $k[$j++] = _C; //#27446\n if ($eq(_C, \"\")) { //#27446\n break; //#27446\n } //#27446\n $search($k[--$j], \")\"); //#27447\n $j--; //#27447\n var _E = $k[--$j]; //#27448\n var _F = $k[--$j]; //#27448\n $k[$j++] = _E; //#27448\n $k[$j++] = _F; //#27448\n $j--; //#27448\n var _G = $k[--$j]; //#27449\n var _H = $k[--$j]; //#27449\n $k[$j++] = _G; //#27449\n $search(_H, \"(\"); //#27449\n if ($k[--$j]) { //#27452\n var _J = $k[--$j]; //#27450\n var _K = $k[--$j]; //#27450\n $k[$j++] = _J; //#27450\n $k[$j++] = _K; //#27450\n $j--; //#27450\n var _L = $k[--$j]; //#27450\n var _M = $k[--$j]; //#27450\n var _N = $k[--$j]; //#27450\n $k[$j++] = _M; //#27450\n $k[$j++] = _N; //#27450\n $k[$j++] = _L; //#27450\n } else { //#27452\n var _O = $k[--$j]; //#27452\n var _P = $k[--$j]; //#27452\n $k[$j++] = \"\"; //#27452\n $k[$j++] = _P; //#27452\n $k[$j++] = _O; //#27452\n } //#27452\n $k[$j++] = Infinity; //#27454\n $aload($1.ais); //#27454\n var _S = $k[$j - 1 - ($counttomark() + 2)]; //#27454\n $k[$j++] = _S; //#27454\n $1.ais = $a(); //#27454\n $k[$j++] = Infinity; //#27455\n $aload($1.vals); //#27455\n var _W = $k[$j - 1 - ($counttomark() + 1)]; //#27455\n $k[$j++] = _W; //#27455\n $1.expand(); //#27455\n $1.vals = $a(); //#27455\n $j -= 2; //#27456\n } //#27456\n $j--; //#27458\n if (!$1.dontlint) { //#27460\n $k[$j++] = $1.ais; //#27460\n $k[$j++] = $1.vals; //#27460\n bwipp_gs1lint(); //#27460\n $j--; //#27460\n } //#27460\n $1.aifixed = new Map; //#27465\n $k[$j++] = Infinity; //#27467\n for (var _b = 0; _b <= 4; _b += 1) { //#27467\n $k[$j++] = _b; //#27467\n } //#27467\n var _c = $a(); //#27467\n for (var _d = 0, _e = _c.length; _d < _e; _d++) { //#27470\n var _h = $strcpy($s(2), \"00\"); //#27469\n $put(_h, 1, $f($get(_c, _d) + 48)); //#27469\n $put($1.aifixed, _h, _h); //#27469\n } //#27469\n $k[$j++] = Infinity; //#27475\n for (var _j = 11; _j <= 20; _j += 1) { //#27472\n $k[$j++] = _j; //#27472\n } //#27472\n $k[$j++] = 23; //#27474\n for (var _k = 31; _k <= 36; _k += 1) { //#27474\n $k[$j++] = _k; //#27474\n } //#27474\n $k[$j++] = 41; //#27475\n var _l = $a(); //#27475\n for (var _m = 0, _n = _l.length; _m < _n; _m++) { //#27478\n var _q = $cvrs($s(2), $get(_l, _m), 10); //#27477\n $put($1.aifixed, _q, _q); //#27477\n } //#27477\n $1.fnc1 = -1; //#27481\n $1.dmtx = $a([$1.fnc1]); //#27482\n for (var _w = 0, _v = $1.ais.length - 1; _w <= _v; _w += 1) { //#27498\n $1.i = _w; //#27484\n $1.ai = $get($1.ais, $1.i); //#27485\n $1.val = $get($1.vals, $1.i); //#27486\n var _16 = $a(($1.dmtx.length + $1.ai.length) + $1.val.length); //#27487\n $puti(_16, 0, $1.dmtx); //#27488\n $k[$j++] = _16; //#27489\n $k[$j++] = _16; //#27489\n $k[$j++] = $1.dmtx.length; //#27489\n $k[$j++] = $1.ai; //#27489\n $k[$j++] = Infinity; //#27489\n var _1A = $k[--$j]; //#27489\n var _1B = $k[--$j]; //#27489\n $k[$j++] = _1A; //#27489\n $forall(_1B); //#27489\n var _1C = $a(); //#27489\n var _1D = $k[--$j]; //#27489\n $puti($k[--$j], _1D, _1C); //#27489\n var _1F = $k[--$j]; //#27490\n $k[$j++] = _1F; //#27490\n $k[$j++] = _1F; //#27490\n $k[$j++] = $1.dmtx.length + $1.ai.length; //#27490\n $k[$j++] = $1.val; //#27490\n $k[$j++] = Infinity; //#27490\n var _1J = $k[--$j]; //#27490\n var _1K = $k[--$j]; //#27490\n $k[$j++] = _1J; //#27490\n $forall(_1K); //#27490\n var _1L = $a(); //#27490\n var _1M = $k[--$j]; //#27490\n $puti($k[--$j], _1M, _1L); //#27490\n $1.dmtx = $k[--$j]; //#27491\n var _1U = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#27492\n if (($1.i != ($1.ais.length - 1)) && (!_1U)) { //#27497\n var _1W = $a($1.dmtx.length + 1); //#27493\n $puti(_1W, 0, $1.dmtx); //#27494\n $put(_1W, $1.dmtx.length, $1.fnc1); //#27495\n $1.dmtx = _1W; //#27496\n } //#27496\n } //#27496\n $1.barcode = $s(($1.dmtx.length + 1) * 5); //#27501\n $1.i = 0; //#27502\n $1.j = 0; //#27502\n for (;;) { //#27512\n if ($1.i == $1.dmtx.length) { //#27503\n break; //#27503\n } //#27503\n var _1g = $get($1.dmtx, $1.i); //#27504\n $k[$j++] = _1g; //#27509\n if (_1g == $1.fnc1) { //#27508\n $j--; //#27505\n $puti($1.barcode, $1.j, \"^FNC1\"); //#27505\n $1.j = $1.j + 4; //#27506\n } else { //#27508\n $put($1.barcode, $1.j, $k[--$j]); //#27508\n } //#27508\n $1.i = $1.i + 1; //#27510\n $1.j = $1.j + 1; //#27511\n } //#27511\n $1.barcode = $geti($1.barcode, 0, $1.j); //#27513\n delete $1.options[\"parse\"]; //#27516\n $put($1.options, \"dontdraw\", true); //#27517\n $put($1.options, \"parsefnc\", true); //#27518\n $k[$j++] = 'args'; //#27519\n $k[$j++] = $1.barcode; //#27519\n $k[$j++] = $1.options; //#27519\n bwipp_datamatrix(); //#27519\n var _1y = $k[--$j]; //#27519\n $1[$k[--$j]] = _1y; //#27519\n $put($1.args, \"opt\", $1.options); //#27521\n $k[$j++] = $1.args; //#27524\n if (!$1.dontdraw) { //#27524\n bwipp_renmatrix(); //#27524\n } //#27524\n}\n\nfunction bwipp_gs1datamatrixrectangular() {\n var $1 = {}; //#27556\n $1.options = $k[--$j]; //#27558\n $1.barcode = $k[--$j]; //#27559\n $1.parse = false; //#27561\n $1.dontlint = false; //#27562\n $1.dontdraw = false; //#27563\n $forall($1.options, function() { //#27574\n var _3 = $k[--$j]; //#27574\n $1[$k[--$j]] = _3; //#27574\n }); //#27574\n $1.expand = function() {\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#27581\n $1.fncvals = _6; //#27582\n $k[$j++] = $1.fncvals; //#27583\n bwipp_parseinput(); //#27583\n }; //#27584\n $1.ais = $a([]); //#27587\n $1.vals = $a([]); //#27588\n var _A = $1.barcode; //#27589\n $k[$j++] = $geti(_A, 1, _A.length - 1); //#27602\n for (;;) { //#27602\n var _C = $k[--$j]; //#27591\n $k[$j++] = _C; //#27591\n if ($eq(_C, \"\")) { //#27591\n break; //#27591\n } //#27591\n $search($k[--$j], \")\"); //#27592\n $j--; //#27592\n var _E = $k[--$j]; //#27593\n var _F = $k[--$j]; //#27593\n $k[$j++] = _E; //#27593\n $k[$j++] = _F; //#27593\n $j--; //#27593\n var _G = $k[--$j]; //#27594\n var _H = $k[--$j]; //#27594\n $k[$j++] = _G; //#27594\n $search(_H, \"(\"); //#27594\n if ($k[--$j]) { //#27597\n var _J = $k[--$j]; //#27595\n var _K = $k[--$j]; //#27595\n $k[$j++] = _J; //#27595\n $k[$j++] = _K; //#27595\n $j--; //#27595\n var _L = $k[--$j]; //#27595\n var _M = $k[--$j]; //#27595\n var _N = $k[--$j]; //#27595\n $k[$j++] = _M; //#27595\n $k[$j++] = _N; //#27595\n $k[$j++] = _L; //#27595\n } else { //#27597\n var _O = $k[--$j]; //#27597\n var _P = $k[--$j]; //#27597\n $k[$j++] = \"\"; //#27597\n $k[$j++] = _P; //#27597\n $k[$j++] = _O; //#27597\n } //#27597\n $k[$j++] = Infinity; //#27599\n $aload($1.ais); //#27599\n var _S = $k[$j - 1 - ($counttomark() + 2)]; //#27599\n $k[$j++] = _S; //#27599\n $1.ais = $a(); //#27599\n $k[$j++] = Infinity; //#27600\n $aload($1.vals); //#27600\n var _W = $k[$j - 1 - ($counttomark() + 1)]; //#27600\n $k[$j++] = _W; //#27600\n $1.expand(); //#27600\n $1.vals = $a(); //#27600\n $j -= 2; //#27601\n } //#27601\n $j--; //#27603\n if (!$1.dontlint) { //#27605\n $k[$j++] = $1.ais; //#27605\n $k[$j++] = $1.vals; //#27605\n bwipp_gs1lint(); //#27605\n $j--; //#27605\n } //#27605\n $1.aifixed = new Map; //#27610\n $k[$j++] = Infinity; //#27612\n for (var _b = 0; _b <= 4; _b += 1) { //#27612\n $k[$j++] = _b; //#27612\n } //#27612\n var _c = $a(); //#27612\n for (var _d = 0, _e = _c.length; _d < _e; _d++) { //#27615\n var _h = $strcpy($s(2), \"00\"); //#27614\n $put(_h, 1, $f($get(_c, _d) + 48)); //#27614\n $put($1.aifixed, _h, _h); //#27614\n } //#27614\n $k[$j++] = Infinity; //#27620\n for (var _j = 11; _j <= 20; _j += 1) { //#27617\n $k[$j++] = _j; //#27617\n } //#27617\n $k[$j++] = 23; //#27619\n for (var _k = 31; _k <= 36; _k += 1) { //#27619\n $k[$j++] = _k; //#27619\n } //#27619\n $k[$j++] = 41; //#27620\n var _l = $a(); //#27620\n for (var _m = 0, _n = _l.length; _m < _n; _m++) { //#27623\n var _q = $cvrs($s(2), $get(_l, _m), 10); //#27622\n $put($1.aifixed, _q, _q); //#27622\n } //#27622\n $1.fnc1 = -1; //#27626\n $1.dmtx = $a([$1.fnc1]); //#27627\n for (var _w = 0, _v = $1.ais.length - 1; _w <= _v; _w += 1) { //#27643\n $1.i = _w; //#27629\n $1.ai = $get($1.ais, $1.i); //#27630\n $1.val = $get($1.vals, $1.i); //#27631\n var _16 = $a(($1.dmtx.length + $1.ai.length) + $1.val.length); //#27632\n $puti(_16, 0, $1.dmtx); //#27633\n $k[$j++] = _16; //#27634\n $k[$j++] = _16; //#27634\n $k[$j++] = $1.dmtx.length; //#27634\n $k[$j++] = $1.ai; //#27634\n $k[$j++] = Infinity; //#27634\n var _1A = $k[--$j]; //#27634\n var _1B = $k[--$j]; //#27634\n $k[$j++] = _1A; //#27634\n $forall(_1B); //#27634\n var _1C = $a(); //#27634\n var _1D = $k[--$j]; //#27634\n $puti($k[--$j], _1D, _1C); //#27634\n var _1F = $k[--$j]; //#27635\n $k[$j++] = _1F; //#27635\n $k[$j++] = _1F; //#27635\n $k[$j++] = $1.dmtx.length + $1.ai.length; //#27635\n $k[$j++] = $1.val; //#27635\n $k[$j++] = Infinity; //#27635\n var _1J = $k[--$j]; //#27635\n var _1K = $k[--$j]; //#27635\n $k[$j++] = _1J; //#27635\n $forall(_1K); //#27635\n var _1L = $a(); //#27635\n var _1M = $k[--$j]; //#27635\n $puti($k[--$j], _1M, _1L); //#27635\n $1.dmtx = $k[--$j]; //#27636\n var _1U = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#27637\n if (($1.i != ($1.ais.length - 1)) && (!_1U)) { //#27642\n var _1W = $a($1.dmtx.length + 1); //#27638\n $puti(_1W, 0, $1.dmtx); //#27639\n $put(_1W, $1.dmtx.length, $1.fnc1); //#27640\n $1.dmtx = _1W; //#27641\n } //#27641\n } //#27641\n $1.barcode = $s(($1.dmtx.length + 1) * 5); //#27646\n $1.i = 0; //#27647\n $1.j = 0; //#27647\n for (;;) { //#27657\n if ($1.i == $1.dmtx.length) { //#27648\n break; //#27648\n } //#27648\n var _1g = $get($1.dmtx, $1.i); //#27649\n $k[$j++] = _1g; //#27654\n if (_1g == $1.fnc1) { //#27653\n $j--; //#27650\n $puti($1.barcode, $1.j, \"^FNC1\"); //#27650\n $1.j = $1.j + 4; //#27651\n } else { //#27653\n $put($1.barcode, $1.j, $k[--$j]); //#27653\n } //#27653\n $1.i = $1.i + 1; //#27655\n $1.j = $1.j + 1; //#27656\n } //#27656\n $1.barcode = $geti($1.barcode, 0, $1.j); //#27658\n delete $1.options[\"parse\"]; //#27661\n $put($1.options, \"dontdraw\", true); //#27662\n $put($1.options, \"parsefnc\", true); //#27663\n $put($1.options, \"format\", \"rectangle\"); //#27664\n $k[$j++] = 'args'; //#27665\n $k[$j++] = $1.barcode; //#27665\n $k[$j++] = $1.options; //#27665\n bwipp_datamatrix(); //#27665\n var _1z = $k[--$j]; //#27665\n $1[$k[--$j]] = _1z; //#27665\n $put($1.args, \"opt\", $1.options); //#27667\n $k[$j++] = $1.args; //#27670\n if (!$1.dontdraw) { //#27670\n bwipp_renmatrix(); //#27670\n } //#27670\n}\n\nfunction bwipp_gs1qrcode() {\n var $1 = {}; //#27701\n $1.options = $k[--$j]; //#27703\n $1.barcode = $k[--$j]; //#27704\n $1.parse = false; //#27706\n $1.dontlint = false; //#27707\n $1.dontdraw = false; //#27708\n $forall($1.options, function() { //#27719\n var _3 = $k[--$j]; //#27719\n $1[$k[--$j]] = _3; //#27719\n }); //#27719\n $1.expand = function() {\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#27726\n $1.fncvals = _6; //#27727\n $k[$j++] = $1.fncvals; //#27728\n bwipp_parseinput(); //#27728\n }; //#27729\n $1.ais = $a([]); //#27732\n $1.vals = $a([]); //#27733\n var _A = $1.barcode; //#27734\n $k[$j++] = $geti(_A, 1, _A.length - 1); //#27747\n for (;;) { //#27747\n var _C = $k[--$j]; //#27736\n $k[$j++] = _C; //#27736\n if ($eq(_C, \"\")) { //#27736\n break; //#27736\n } //#27736\n $search($k[--$j], \")\"); //#27737\n $j--; //#27737\n var _E = $k[--$j]; //#27738\n var _F = $k[--$j]; //#27738\n $k[$j++] = _E; //#27738\n $k[$j++] = _F; //#27738\n $j--; //#27738\n var _G = $k[--$j]; //#27739\n var _H = $k[--$j]; //#27739\n $k[$j++] = _G; //#27739\n $search(_H, \"(\"); //#27739\n if ($k[--$j]) { //#27742\n var _J = $k[--$j]; //#27740\n var _K = $k[--$j]; //#27740\n $k[$j++] = _J; //#27740\n $k[$j++] = _K; //#27740\n $j--; //#27740\n var _L = $k[--$j]; //#27740\n var _M = $k[--$j]; //#27740\n var _N = $k[--$j]; //#27740\n $k[$j++] = _M; //#27740\n $k[$j++] = _N; //#27740\n $k[$j++] = _L; //#27740\n } else { //#27742\n var _O = $k[--$j]; //#27742\n var _P = $k[--$j]; //#27742\n $k[$j++] = \"\"; //#27742\n $k[$j++] = _P; //#27742\n $k[$j++] = _O; //#27742\n } //#27742\n $k[$j++] = Infinity; //#27744\n $aload($1.ais); //#27744\n var _S = $k[$j - 1 - ($counttomark() + 2)]; //#27744\n $k[$j++] = _S; //#27744\n $1.ais = $a(); //#27744\n $k[$j++] = Infinity; //#27745\n $aload($1.vals); //#27745\n var _W = $k[$j - 1 - ($counttomark() + 1)]; //#27745\n $k[$j++] = _W; //#27745\n $1.expand(); //#27745\n $1.vals = $a(); //#27745\n $j -= 2; //#27746\n } //#27746\n $j--; //#27748\n if (!$1.dontlint) { //#27750\n $k[$j++] = $1.ais; //#27750\n $k[$j++] = $1.vals; //#27750\n bwipp_gs1lint(); //#27750\n $j--; //#27750\n } //#27750\n $1.aifixed = new Map; //#27755\n $k[$j++] = Infinity; //#27757\n for (var _b = 0; _b <= 4; _b += 1) { //#27757\n $k[$j++] = _b; //#27757\n } //#27757\n var _c = $a(); //#27757\n for (var _d = 0, _e = _c.length; _d < _e; _d++) { //#27760\n var _h = $strcpy($s(2), \"00\"); //#27759\n $put(_h, 1, $f($get(_c, _d) + 48)); //#27759\n $put($1.aifixed, _h, _h); //#27759\n } //#27759\n $k[$j++] = Infinity; //#27765\n for (var _j = 11; _j <= 20; _j += 1) { //#27762\n $k[$j++] = _j; //#27762\n } //#27762\n $k[$j++] = 23; //#27764\n for (var _k = 31; _k <= 36; _k += 1) { //#27764\n $k[$j++] = _k; //#27764\n } //#27764\n $k[$j++] = 41; //#27765\n var _l = $a(); //#27765\n for (var _m = 0, _n = _l.length; _m < _n; _m++) { //#27768\n var _q = $cvrs($s(2), $get(_l, _m), 10); //#27767\n $put($1.aifixed, _q, _q); //#27767\n } //#27767\n $1.fnc1 = -1; //#27771\n $1.qrc = $a([$1.fnc1]); //#27772\n for (var _w = 0, _v = $1.ais.length - 1; _w <= _v; _w += 1) { //#27788\n $1.i = _w; //#27774\n $1.ai = $get($1.ais, $1.i); //#27775\n $1.val = $get($1.vals, $1.i); //#27776\n var _16 = $a(($1.qrc.length + $1.ai.length) + $1.val.length); //#27777\n $puti(_16, 0, $1.qrc); //#27778\n $k[$j++] = _16; //#27779\n $k[$j++] = _16; //#27779\n $k[$j++] = $1.qrc.length; //#27779\n $k[$j++] = $1.ai; //#27779\n $k[$j++] = Infinity; //#27779\n var _1A = $k[--$j]; //#27779\n var _1B = $k[--$j]; //#27779\n $k[$j++] = _1A; //#27779\n $forall(_1B); //#27779\n var _1C = $a(); //#27779\n var _1D = $k[--$j]; //#27779\n $puti($k[--$j], _1D, _1C); //#27779\n var _1F = $k[--$j]; //#27780\n $k[$j++] = _1F; //#27780\n $k[$j++] = _1F; //#27780\n $k[$j++] = $1.qrc.length + $1.ai.length; //#27780\n $k[$j++] = $1.val; //#27780\n $k[$j++] = Infinity; //#27780\n var _1J = $k[--$j]; //#27780\n var _1K = $k[--$j]; //#27780\n $k[$j++] = _1J; //#27780\n $forall(_1K); //#27780\n var _1L = $a(); //#27780\n var _1M = $k[--$j]; //#27780\n $puti($k[--$j], _1M, _1L); //#27780\n $1.qrc = $k[--$j]; //#27781\n var _1U = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#27782\n if (($1.i != ($1.ais.length - 1)) && (!_1U)) { //#27787\n var _1W = $a($1.qrc.length + 1); //#27783\n $puti(_1W, 0, $1.qrc); //#27784\n $put(_1W, $1.qrc.length, $1.fnc1); //#27785\n $1.qrc = _1W; //#27786\n } //#27786\n } //#27786\n $1.barcode = $s(($1.qrc.length + 1) * 5); //#27791\n $1.i = 0; //#27792\n $1.j = 0; //#27792\n for (;;) { //#27802\n if ($1.i == $1.qrc.length) { //#27793\n break; //#27793\n } //#27793\n var _1g = $get($1.qrc, $1.i); //#27794\n $k[$j++] = _1g; //#27799\n if (_1g == $1.fnc1) { //#27798\n $j--; //#27795\n $puti($1.barcode, $1.j, \"^FNC1\"); //#27795\n $1.j = $1.j + 4; //#27796\n } else { //#27798\n $put($1.barcode, $1.j, $k[--$j]); //#27798\n } //#27798\n $1.i = $1.i + 1; //#27800\n $1.j = $1.j + 1; //#27801\n } //#27801\n $1.barcode = $geti($1.barcode, 0, $1.j); //#27803\n delete $1.options[\"parse\"]; //#27806\n $put($1.options, \"dontdraw\", true); //#27807\n $put($1.options, \"parsefnc\", true); //#27808\n $k[$j++] = 'args'; //#27809\n $k[$j++] = $1.barcode; //#27809\n $k[$j++] = $1.options; //#27809\n bwipp_qrcode(); //#27809\n var _1y = $k[--$j]; //#27809\n $1[$k[--$j]] = _1y; //#27809\n $put($1.args, \"opt\", $1.options); //#27811\n $k[$j++] = $1.args; //#27814\n if (!$1.dontdraw) { //#27814\n bwipp_renmatrix(); //#27814\n } //#27814\n}\n\nfunction bwipp_gs1dotcode() {\n var $1 = {}; //#27846\n $1.options = $k[--$j]; //#27848\n $1.barcode = $k[--$j]; //#27849\n $1.dontdraw = false; //#27851\n $1.parse = false; //#27852\n $1.dontlint = false; //#27853\n $forall($1.options, function() { //#27864\n var _3 = $k[--$j]; //#27864\n $1[$k[--$j]] = _3; //#27864\n }); //#27864\n $1.expand = function() {\n var _6 = new Map([\n [\"parse\", $1.parse],\n [\"parseonly\", true],\n [\"parsefnc\", false]\n ]); //#27871\n $1.fncvals = _6; //#27872\n $k[$j++] = $1.fncvals; //#27873\n bwipp_parseinput(); //#27873\n }; //#27874\n $1.ais = $a([]); //#27877\n $1.vals = $a([]); //#27878\n var _A = $1.barcode; //#27879\n $k[$j++] = $geti(_A, 1, _A.length - 1); //#27892\n for (;;) { //#27892\n var _C = $k[--$j]; //#27881\n $k[$j++] = _C; //#27881\n if ($eq(_C, \"\")) { //#27881\n break; //#27881\n } //#27881\n $search($k[--$j], \")\"); //#27882\n $j--; //#27882\n var _E = $k[--$j]; //#27883\n var _F = $k[--$j]; //#27883\n $k[$j++] = _E; //#27883\n $k[$j++] = _F; //#27883\n $j--; //#27883\n var _G = $k[--$j]; //#27884\n var _H = $k[--$j]; //#27884\n $k[$j++] = _G; //#27884\n $search(_H, \"(\"); //#27884\n if ($k[--$j]) { //#27887\n var _J = $k[--$j]; //#27885\n var _K = $k[--$j]; //#27885\n $k[$j++] = _J; //#27885\n $k[$j++] = _K; //#27885\n $j--; //#27885\n var _L = $k[--$j]; //#27885\n var _M = $k[--$j]; //#27885\n var _N = $k[--$j]; //#27885\n $k[$j++] = _M; //#27885\n $k[$j++] = _N; //#27885\n $k[$j++] = _L; //#27885\n } else { //#27887\n var _O = $k[--$j]; //#27887\n var _P = $k[--$j]; //#27887\n $k[$j++] = \"\"; //#27887\n $k[$j++] = _P; //#27887\n $k[$j++] = _O; //#27887\n } //#27887\n $k[$j++] = Infinity; //#27889\n $aload($1.ais); //#27889\n var _S = $k[$j - 1 - ($counttomark() + 2)]; //#27889\n $k[$j++] = _S; //#27889\n $1.ais = $a(); //#27889\n $k[$j++] = Infinity; //#27890\n $aload($1.vals); //#27890\n var _W = $k[$j - 1 - ($counttomark() + 1)]; //#27890\n $k[$j++] = _W; //#27890\n $1.expand(); //#27890\n $1.vals = $a(); //#27890\n $j -= 2; //#27891\n } //#27891\n $j--; //#27893\n if (!$1.dontlint) { //#27895\n $k[$j++] = $1.ais; //#27895\n $k[$j++] = $1.vals; //#27895\n bwipp_gs1lint(); //#27895\n $j--; //#27895\n } //#27895\n $1.aifixed = new Map; //#27900\n $k[$j++] = Infinity; //#27902\n for (var _b = 0; _b <= 4; _b += 1) { //#27902\n $k[$j++] = _b; //#27902\n } //#27902\n var _c = $a(); //#27902\n for (var _d = 0, _e = _c.length; _d < _e; _d++) { //#27905\n var _h = $strcpy($s(2), \"00\"); //#27904\n $put(_h, 1, $f($get(_c, _d) + 48)); //#27904\n $put($1.aifixed, _h, _h); //#27904\n } //#27904\n $k[$j++] = Infinity; //#27910\n for (var _j = 11; _j <= 20; _j += 1) { //#27907\n $k[$j++] = _j; //#27907\n } //#27907\n $k[$j++] = 23; //#27909\n for (var _k = 31; _k <= 36; _k += 1) { //#27909\n $k[$j++] = _k; //#27909\n } //#27909\n $k[$j++] = 41; //#27910\n var _l = $a(); //#27910\n for (var _m = 0, _n = _l.length; _m < _n; _m++) { //#27913\n var _q = $cvrs($s(2), $get(_l, _m), 10); //#27912\n $put($1.aifixed, _q, _q); //#27912\n } //#27912\n $1.fnc1 = -1; //#27916\n $1.dmtx = $a([$1.fnc1]); //#27917\n for (var _w = 0, _v = $1.ais.length - 1; _w <= _v; _w += 1) { //#27933\n $1.i = _w; //#27919\n $1.ai = $get($1.ais, $1.i); //#27920\n $1.val = $get($1.vals, $1.i); //#27921\n var _16 = $a(($1.dmtx.length + $1.ai.length) + $1.val.length); //#27922\n $puti(_16, 0, $1.dmtx); //#27923\n $k[$j++] = _16; //#27924\n $k[$j++] = _16; //#27924\n $k[$j++] = $1.dmtx.length; //#27924\n $k[$j++] = $1.ai; //#27924\n $k[$j++] = Infinity; //#27924\n var _1A = $k[--$j]; //#27924\n var _1B = $k[--$j]; //#27924\n $k[$j++] = _1A; //#27924\n $forall(_1B); //#27924\n var _1C = $a(); //#27924\n var _1D = $k[--$j]; //#27924\n $puti($k[--$j], _1D, _1C); //#27924\n var _1F = $k[--$j]; //#27925\n $k[$j++] = _1F; //#27925\n $k[$j++] = _1F; //#27925\n $k[$j++] = $1.dmtx.length + $1.ai.length; //#27925\n $k[$j++] = $1.val; //#27925\n $k[$j++] = Infinity; //#27925\n var _1J = $k[--$j]; //#27925\n var _1K = $k[--$j]; //#27925\n $k[$j++] = _1J; //#27925\n $forall(_1K); //#27925\n var _1L = $a(); //#27925\n var _1M = $k[--$j]; //#27925\n $puti($k[--$j], _1M, _1L); //#27925\n $1.dmtx = $k[--$j]; //#27926\n var _1U = $get($1.aifixed, $geti($1.ai, 0, 2)) !== undefined; //#27927\n if (($1.i != ($1.ais.length - 1)) && (!_1U)) { //#27932\n var _1W = $a($1.dmtx.length + 1); //#27928\n $puti(_1W, 0, $1.dmtx); //#27929\n $put(_1W, $1.dmtx.length, $1.fnc1); //#27930\n $1.dmtx = _1W; //#27931\n } //#27931\n } //#27931\n $1.barcode = $s(($1.dmtx.length + 1) * 5); //#27936\n $1.i = 0; //#27937\n $1.j = 0; //#27937\n for (;;) { //#27947\n if ($1.i == $1.dmtx.length) { //#27938\n break; //#27938\n } //#27938\n var _1g = $get($1.dmtx, $1.i); //#27939\n $k[$j++] = _1g; //#27944\n if (_1g == $1.fnc1) { //#27943\n $j--; //#27940\n $puti($1.barcode, $1.j, \"^FNC1\"); //#27940\n $1.j = $1.j + 4; //#27941\n } else { //#27943\n $put($1.barcode, $1.j, $k[--$j]); //#27943\n } //#27943\n $1.i = $1.i + 1; //#27945\n $1.j = $1.j + 1; //#27946\n } //#27946\n $1.barcode = $geti($1.barcode, 0, $1.j); //#27948\n delete $1.options[\"parse\"]; //#27951\n $put($1.options, \"dontdraw\", true); //#27952\n $put($1.options, \"parsefnc\", true); //#27953\n $k[$j++] = 'args'; //#27954\n $k[$j++] = $1.barcode; //#27954\n $k[$j++] = $1.options; //#27954\n bwipp_dotcode(); //#27954\n var _1y = $k[--$j]; //#27954\n $1[$k[--$j]] = _1y; //#27954\n $put($1.args, \"opt\", $1.options); //#27956\n $k[$j++] = $1.args; //#27959\n if (!$1.dontdraw) { //#27959\n bwipp_renmatrix(); //#27959\n } //#27959\n}\n\nfunction bwipp_hibccode39() {\n var $1 = {}; //#27989\n $1.options = $k[--$j]; //#27991\n $1.barcode = $k[--$j]; //#27992\n $1.dontdraw = false; //#27994\n $1.textfont = \"OCR-B\"; //#27995\n $1.textsize = 10; //#27996\n $1.textyoffset = -8; //#27997\n $1.textxoffset = 0; //#27998\n $1.validatecheck = false; //#27999\n $forall($1.options, function() { //#28010\n var _3 = $k[--$j]; //#28010\n $1[$k[--$j]] = _3; //#28010\n }); //#28010\n $1.textfont = \"\" + $1.textfont; //#28012\n $1.textsize = +$1.textsize; //#28013\n $1.textyoffset = +$1.textyoffset; //#28014\n $1.textxoffset = +$1.textxoffset; //#28015\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28018\n $1.charvals = new Map; //#28019\n for (var _9 = 0; _9 <= 42; _9 += 1) { //#28020\n $put($1.charvals, $geti($1.barchars, _9, 1), _9); //#28020\n } //#28020\n for (var _F = 0, _E = $1.barcode.length - 1; _F <= _E; _F += 1) { //#28027\n var _J = $get($1.charvals, $geti($1.barcode, _F, 1)) !== undefined; //#28024\n if (!_J) { //#28026\n $k[$j++] = 'bwipp.hibccode39badCharacter'; //#28025\n $k[$j++] = \"HIBC Code 39 must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28025\n bwipp_raiseerror(); //#28025\n } //#28025\n } //#28025\n $k[$j++] = 'barlen'; //#28029\n $k[$j++] = $1.barcode.length; //#28029\n if ($1.validatecheck) { //#28029\n var _M = $k[--$j]; //#28029\n $k[$j++] = $f(_M - 1); //#28029\n } //#28029\n var _N = $k[--$j]; //#28029\n $1[$k[--$j]] = _N; //#28029\n $1.checksum = 41; //#28031\n for (var _R = 0, _Q = $f($1.barlen - 1); _R <= _Q; _R += 1) { //#28035\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _R, 1)) + $1.checksum); //#28034\n } //#28034\n $1.checksum = $1.checksum % 43; //#28036\n if ($1.validatecheck) { //#28042\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28040\n $k[$j++] = 'bwipp.hibccode39badCheckDigit'; //#28039\n $k[$j++] = \"Incorrect HIBC Code 39 check digit provided\"; //#28039\n bwipp_raiseerror(); //#28039\n } //#28039\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28041\n } //#28041\n var _j = $s($f($1.barlen + 2)); //#28044\n $puti(_j, 1, $1.barcode); //#28044\n $1.barcode = _j; //#28044\n $put($1.barcode, 0, 43); //#28045\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28046\n $1.text = $s($f($1.barlen + 4)); //#28048\n $put($1.text, 0, 42); //#28049\n $puti($1.text, 1, $1.barcode); //#28050\n var _10 = $get($1.barcode, $f($1.barlen + 1)); //#28051\n $k[$j++] = $1.text; //#28051\n $k[$j++] = $f($1.barlen + 2); //#28051\n $k[$j++] = _10; //#28051\n if (_10 == 32) { //#28051\n $j--; //#28051\n $k[$j++] = 95; //#28051\n } //#28051\n var _11 = $k[--$j]; //#28051\n var _12 = $k[--$j]; //#28051\n $put($k[--$j], _12, _11); //#28051\n $put($1.text, $f($1.barlen + 3), 42); //#28052\n $put($1.options, \"dontdraw\", true); //#28055\n $put($1.options, \"includecheck\", false); //#28056\n $put($1.options, \"validatecheck\", false); //#28057\n $k[$j++] = 'args'; //#28058\n $k[$j++] = $1.barcode; //#28058\n $k[$j++] = $1.options; //#28058\n bwipp_code39(); //#28058\n var _1B = $k[--$j]; //#28058\n $1[$k[--$j]] = _1B; //#28058\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#28060\n $put($1.args, \"textxalign\", \"center\"); //#28061\n $put($1.args, \"opt\", $1.options); //#28062\n $k[$j++] = $1.args; //#28065\n if (!$1.dontdraw) { //#28065\n bwipp_renlinear(); //#28065\n } //#28065\n}\n\nfunction bwipp_hibccode128() {\n var $1 = {}; //#28095\n $1.options = $k[--$j]; //#28097\n $1.barcode = $k[--$j]; //#28098\n $1.dontdraw = false; //#28100\n $1.textfont = \"OCR-B\"; //#28101\n $1.textsize = 10; //#28102\n $1.textyoffset = -8; //#28103\n $1.textxoffset = 0; //#28104\n $1.validatecheck = false; //#28105\n $forall($1.options, function() { //#28116\n var _3 = $k[--$j]; //#28116\n $1[$k[--$j]] = _3; //#28116\n }); //#28116\n $1.textfont = \"\" + $1.textfont; //#28118\n $1.textsize = +$1.textsize; //#28119\n $1.textyoffset = +$1.textyoffset; //#28120\n $1.textxoffset = +$1.textxoffset; //#28121\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28124\n $1.charvals = new Map; //#28125\n for (var _9 = 0; _9 <= 42; _9 += 1) { //#28126\n $put($1.charvals, $geti($1.barchars, _9, 1), _9); //#28126\n } //#28126\n for (var _F = 0, _E = $1.barcode.length - 1; _F <= _E; _F += 1) { //#28133\n var _J = $get($1.charvals, $geti($1.barcode, _F, 1)) !== undefined; //#28130\n if (!_J) { //#28132\n $k[$j++] = 'bwipp.hibccode128badCharacter'; //#28131\n $k[$j++] = \"HIBC Code 128 must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28131\n bwipp_raiseerror(); //#28131\n } //#28131\n } //#28131\n $k[$j++] = 'barlen'; //#28135\n $k[$j++] = $1.barcode.length; //#28135\n if ($1.validatecheck) { //#28135\n var _M = $k[--$j]; //#28135\n $k[$j++] = $f(_M - 1); //#28135\n } //#28135\n var _N = $k[--$j]; //#28135\n $1[$k[--$j]] = _N; //#28135\n $1.checksum = 41; //#28137\n for (var _R = 0, _Q = $f($1.barlen - 1); _R <= _Q; _R += 1) { //#28141\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _R, 1)) + $1.checksum); //#28140\n } //#28140\n $1.checksum = $1.checksum % 43; //#28142\n if ($1.validatecheck) { //#28148\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28146\n $k[$j++] = 'bwipp.hibccode128badCheckDigit'; //#28145\n $k[$j++] = \"Incorrect HIBC Code 128 check digit provided\"; //#28145\n bwipp_raiseerror(); //#28145\n } //#28145\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28147\n } //#28147\n var _j = $s($f($1.barlen + 2)); //#28150\n $puti(_j, 1, $1.barcode); //#28150\n $1.barcode = _j; //#28150\n $put($1.barcode, 0, 43); //#28151\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28152\n $1.text = $s($f($1.barlen + 4)); //#28154\n $put($1.text, 0, 42); //#28155\n $puti($1.text, 1, $1.barcode); //#28156\n var _10 = $get($1.barcode, $f($1.barlen + 1)); //#28157\n $k[$j++] = $1.text; //#28157\n $k[$j++] = $f($1.barlen + 2); //#28157\n $k[$j++] = _10; //#28157\n if (_10 == 32) { //#28157\n $j--; //#28157\n $k[$j++] = 95; //#28157\n } //#28157\n var _11 = $k[--$j]; //#28157\n var _12 = $k[--$j]; //#28157\n $put($k[--$j], _12, _11); //#28157\n $put($1.text, $f($1.barlen + 3), 42); //#28158\n $put($1.options, \"dontdraw\", true); //#28161\n $put($1.options, \"validatecheck\", false); //#28162\n $k[$j++] = 'args'; //#28163\n $k[$j++] = $1.barcode; //#28163\n $k[$j++] = $1.options; //#28163\n bwipp_code128(); //#28163\n var _1A = $k[--$j]; //#28163\n $1[$k[--$j]] = _1A; //#28163\n $put($1.args, \"txt\", $a([$a([$1.text, $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])])); //#28165\n $put($1.args, \"textxalign\", \"center\"); //#28166\n $put($1.args, \"opt\", $1.options); //#28167\n $k[$j++] = $1.args; //#28170\n if (!$1.dontdraw) { //#28170\n bwipp_renlinear(); //#28170\n } //#28170\n}\n\nfunction bwipp_hibcdatamatrix() {\n var $1 = {}; //#28200\n $1.options = $k[--$j]; //#28202\n $1.barcode = $k[--$j]; //#28203\n $1.dontdraw = false; //#28205\n $1.validatecheck = false; //#28206\n $forall($1.options, function() { //#28217\n var _3 = $k[--$j]; //#28217\n $1[$k[--$j]] = _3; //#28217\n }); //#28217\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28220\n $1.charvals = new Map; //#28221\n for (var _5 = 0; _5 <= 42; _5 += 1) { //#28222\n $put($1.charvals, $geti($1.barchars, _5, 1), _5); //#28222\n } //#28222\n for (var _B = 0, _A = $1.barcode.length - 1; _B <= _A; _B += 1) { //#28229\n var _F = $get($1.charvals, $geti($1.barcode, _B, 1)) !== undefined; //#28226\n if (!_F) { //#28228\n $k[$j++] = 'bwipp.hibcdatamatrixBadCharacter'; //#28227\n $k[$j++] = \"HIBC Data Matrix must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28227\n bwipp_raiseerror(); //#28227\n } //#28227\n } //#28227\n $k[$j++] = 'barlen'; //#28231\n $k[$j++] = $1.barcode.length; //#28231\n if ($1.validatecheck) { //#28231\n var _I = $k[--$j]; //#28231\n $k[$j++] = $f(_I - 1); //#28231\n } //#28231\n var _J = $k[--$j]; //#28231\n $1[$k[--$j]] = _J; //#28231\n $1.checksum = 41; //#28233\n for (var _N = 0, _M = $f($1.barlen - 1); _N <= _M; _N += 1) { //#28237\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _N, 1)) + $1.checksum); //#28236\n } //#28236\n $1.checksum = $1.checksum % 43; //#28238\n if ($1.validatecheck) { //#28244\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28242\n $k[$j++] = 'bwipp.hibcdatamatrixBadCheckDigit'; //#28241\n $k[$j++] = \"Incorrect HIBC Data Matrix check digit provided\"; //#28241\n bwipp_raiseerror(); //#28241\n } //#28241\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28243\n } //#28243\n var _f = $s($f($1.barlen + 2)); //#28246\n $puti(_f, 1, $1.barcode); //#28246\n $1.barcode = _f; //#28246\n $put($1.barcode, 0, 43); //#28247\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28248\n $put($1.options, \"dontdraw\", true); //#28251\n $put($1.options, \"validatecheck\", false); //#28252\n $k[$j++] = 'args'; //#28253\n $k[$j++] = $1.barcode; //#28253\n $k[$j++] = $1.options; //#28253\n bwipp_datamatrix(); //#28253\n var _r = $k[--$j]; //#28253\n $1[$k[--$j]] = _r; //#28253\n $put($1.args, \"opt\", $1.options); //#28255\n $k[$j++] = $1.args; //#28258\n if (!$1.dontdraw) { //#28258\n bwipp_renmatrix(); //#28258\n } //#28258\n}\n\nfunction bwipp_hibcdatamatrixrectangular() {\n var $1 = {}; //#28288\n $1.options = $k[--$j]; //#28290\n $1.barcode = $k[--$j]; //#28291\n $1.dontdraw = false; //#28293\n $1.validatecheck = false; //#28294\n $forall($1.options, function() { //#28305\n var _3 = $k[--$j]; //#28305\n $1[$k[--$j]] = _3; //#28305\n }); //#28305\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28308\n $1.charvals = new Map; //#28309\n for (var _5 = 0; _5 <= 42; _5 += 1) { //#28310\n $put($1.charvals, $geti($1.barchars, _5, 1), _5); //#28310\n } //#28310\n for (var _B = 0, _A = $1.barcode.length - 1; _B <= _A; _B += 1) { //#28317\n var _F = $get($1.charvals, $geti($1.barcode, _B, 1)) !== undefined; //#28314\n if (!_F) { //#28316\n $k[$j++] = 'bwipp.hibcdatamatrixrectangularBadCharacter'; //#28315\n $k[$j++] = \"HIBC Data Matrix Rectangular must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28315\n bwipp_raiseerror(); //#28315\n } //#28315\n } //#28315\n $k[$j++] = 'barlen'; //#28319\n $k[$j++] = $1.barcode.length; //#28319\n if ($1.validatecheck) { //#28319\n var _I = $k[--$j]; //#28319\n $k[$j++] = $f(_I - 1); //#28319\n } //#28319\n var _J = $k[--$j]; //#28319\n $1[$k[--$j]] = _J; //#28319\n $1.checksum = 41; //#28321\n for (var _N = 0, _M = $f($1.barlen - 1); _N <= _M; _N += 1) { //#28325\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _N, 1)) + $1.checksum); //#28324\n } //#28324\n $1.checksum = $1.checksum % 43; //#28326\n if ($1.validatecheck) { //#28332\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28330\n $k[$j++] = 'bwipp.hibcdatamatrixrectangularBadCheckDigit'; //#28329\n $k[$j++] = \"Incorrect HIBC Data Matrix Rectangular check digit provided\"; //#28329\n bwipp_raiseerror(); //#28329\n } //#28329\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28331\n } //#28331\n var _f = $s($f($1.barlen + 2)); //#28334\n $puti(_f, 1, $1.barcode); //#28334\n $1.barcode = _f; //#28334\n $put($1.barcode, 0, 43); //#28335\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28336\n $put($1.options, \"dontdraw\", true); //#28339\n $put($1.options, \"validatecheck\", false); //#28340\n $put($1.options, \"format\", \"rectangle\"); //#28341\n var _r = $1.options; //#28342\n $k[$j++] = 'args'; //#28342\n $k[$j++] = $1.barcode; //#28342\n $k[$j++] = _r; //#28342\n bwipp_datamatrix(); //#28342\n var _s = $k[--$j]; //#28342\n $1[$k[--$j]] = _s; //#28342\n $put($1.args, \"opt\", $1.options); //#28344\n $k[$j++] = $1.args; //#28347\n if (!$1.dontdraw) { //#28347\n bwipp_renmatrix(); //#28347\n } //#28347\n}\n\nfunction bwipp_hibcpdf417() {\n var $1 = {}; //#28377\n $1.options = $k[--$j]; //#28379\n $1.barcode = $k[--$j]; //#28380\n $1.dontdraw = false; //#28382\n $1.columns = 2; //#28383\n $1.validatecheck = false; //#28384\n $forall($1.options, function() { //#28395\n var _3 = $k[--$j]; //#28395\n $1[$k[--$j]] = _3; //#28395\n }); //#28395\n $1.columns = ~~$1.columns; //#28397\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28400\n $1.charvals = new Map; //#28401\n for (var _6 = 0; _6 <= 42; _6 += 1) { //#28402\n $put($1.charvals, $geti($1.barchars, _6, 1), _6); //#28402\n } //#28402\n for (var _C = 0, _B = $1.barcode.length - 1; _C <= _B; _C += 1) { //#28409\n var _G = $get($1.charvals, $geti($1.barcode, _C, 1)) !== undefined; //#28406\n if (!_G) { //#28408\n $k[$j++] = 'bwipp.hibcpdf417BadCharacter'; //#28407\n $k[$j++] = \"HIBC PDF417 must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28407\n bwipp_raiseerror(); //#28407\n } //#28407\n } //#28407\n $k[$j++] = 'barlen'; //#28411\n $k[$j++] = $1.barcode.length; //#28411\n if ($1.validatecheck) { //#28411\n var _J = $k[--$j]; //#28411\n $k[$j++] = $f(_J - 1); //#28411\n } //#28411\n var _K = $k[--$j]; //#28411\n $1[$k[--$j]] = _K; //#28411\n $1.checksum = 41; //#28413\n for (var _O = 0, _N = $f($1.barlen - 1); _O <= _N; _O += 1) { //#28417\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _O, 1)) + $1.checksum); //#28416\n } //#28416\n $1.checksum = $1.checksum % 43; //#28418\n if ($1.validatecheck) { //#28424\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28422\n $k[$j++] = 'bwipp.hibcpdf417BadCheckDigit'; //#28421\n $k[$j++] = \"Incorrect HIBC PDF417 check digit provided\"; //#28421\n bwipp_raiseerror(); //#28421\n } //#28421\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28423\n } //#28423\n var _g = $s($f($1.barlen + 2)); //#28426\n $puti(_g, 1, $1.barcode); //#28426\n $1.barcode = _g; //#28426\n $put($1.barcode, 0, 43); //#28427\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28428\n $put($1.options, \"dontdraw\", true); //#28431\n var _p = $1.options; //#28432\n $put(_p, \"columns\", $1.columns); //#28432\n var _r = $1.options; //#28433\n $put(_r, \"validatecheck\", false); //#28433\n $k[$j++] = 'args'; //#28434\n $k[$j++] = $1.barcode; //#28434\n $k[$j++] = $1.options; //#28434\n bwipp_pdf417(); //#28434\n var _u = $k[--$j]; //#28434\n $1[$k[--$j]] = _u; //#28434\n $put($1.args, \"opt\", $1.options); //#28436\n $k[$j++] = $1.args; //#28439\n if (!$1.dontdraw) { //#28439\n bwipp_renmatrix(); //#28439\n } //#28439\n}\n\nfunction bwipp_hibcmicropdf417() {\n var $1 = {}; //#28469\n $1.options = $k[--$j]; //#28471\n $1.barcode = $k[--$j]; //#28472\n $1.dontdraw = false; //#28474\n $1.columns = 2; //#28475\n $1.validatecheck = false; //#28476\n $forall($1.options, function() { //#28487\n var _3 = $k[--$j]; //#28487\n $1[$k[--$j]] = _3; //#28487\n }); //#28487\n $1.columns = ~~$1.columns; //#28489\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28492\n $1.charvals = new Map; //#28493\n for (var _6 = 0; _6 <= 42; _6 += 1) { //#28494\n $put($1.charvals, $geti($1.barchars, _6, 1), _6); //#28494\n } //#28494\n for (var _C = 0, _B = $1.barcode.length - 1; _C <= _B; _C += 1) { //#28501\n var _G = $get($1.charvals, $geti($1.barcode, _C, 1)) !== undefined; //#28498\n if (!_G) { //#28500\n $k[$j++] = 'bwipp.hibcmicropdf417BadCharacter'; //#28499\n $k[$j++] = \"HIBC MicroPDF417 must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28499\n bwipp_raiseerror(); //#28499\n } //#28499\n } //#28499\n $k[$j++] = 'barlen'; //#28503\n $k[$j++] = $1.barcode.length; //#28503\n if ($1.validatecheck) { //#28503\n var _J = $k[--$j]; //#28503\n $k[$j++] = $f(_J - 1); //#28503\n } //#28503\n var _K = $k[--$j]; //#28503\n $1[$k[--$j]] = _K; //#28503\n $1.checksum = 41; //#28505\n for (var _O = 0, _N = $f($1.barlen - 1); _O <= _N; _O += 1) { //#28509\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _O, 1)) + $1.checksum); //#28508\n } //#28508\n $1.checksum = $1.checksum % 43; //#28510\n if ($1.validatecheck) { //#28516\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28514\n $k[$j++] = 'bwipp.hibcmicropdf417BadCheckDigit'; //#28513\n $k[$j++] = \"Incorrect HIBC MicroPDF417 check digit provided\"; //#28513\n bwipp_raiseerror(); //#28513\n } //#28513\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28515\n } //#28515\n var _g = $s($f($1.barlen + 2)); //#28518\n $puti(_g, 1, $1.barcode); //#28518\n $1.barcode = _g; //#28518\n $put($1.barcode, 0, 43); //#28519\n var _m = $1.checksum; //#28520\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, _m)); //#28520\n $put($1.options, \"dontdraw\", true); //#28523\n $put($1.options, \"columns\", $1.columns); //#28524\n var _r = $1.options; //#28525\n $put(_r, \"validatecheck\", false); //#28525\n $k[$j++] = 'args'; //#28526\n $k[$j++] = $1.barcode; //#28526\n $k[$j++] = $1.options; //#28526\n bwipp_micropdf417(); //#28526\n var _u = $k[--$j]; //#28526\n $1[$k[--$j]] = _u; //#28526\n $put($1.args, \"opt\", $1.options); //#28528\n $k[$j++] = $1.args; //#28531\n if (!$1.dontdraw) { //#28531\n bwipp_renmatrix(); //#28531\n } //#28531\n}\n\nfunction bwipp_hibcqrcode() {\n var $1 = {}; //#28561\n $1.options = $k[--$j]; //#28563\n $1.barcode = $k[--$j]; //#28564\n $1.dontdraw = false; //#28566\n $1.validatecheck = false; //#28567\n $forall($1.options, function() { //#28578\n var _3 = $k[--$j]; //#28578\n $1[$k[--$j]] = _3; //#28578\n }); //#28578\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28581\n $1.charvals = new Map; //#28582\n for (var _5 = 0; _5 <= 42; _5 += 1) { //#28583\n $put($1.charvals, $geti($1.barchars, _5, 1), _5); //#28583\n } //#28583\n for (var _B = 0, _A = $1.barcode.length - 1; _B <= _A; _B += 1) { //#28590\n var _F = $get($1.charvals, $geti($1.barcode, _B, 1)) !== undefined; //#28587\n if (!_F) { //#28589\n $k[$j++] = 'bwipp.hibcqrcodeBadCharacter'; //#28588\n $k[$j++] = \"HIBC QR Code must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28588\n bwipp_raiseerror(); //#28588\n } //#28588\n } //#28588\n $k[$j++] = 'barlen'; //#28592\n $k[$j++] = $1.barcode.length; //#28592\n if ($1.validatecheck) { //#28592\n var _I = $k[--$j]; //#28592\n $k[$j++] = $f(_I - 1); //#28592\n } //#28592\n var _J = $k[--$j]; //#28592\n $1[$k[--$j]] = _J; //#28592\n $1.checksum = 41; //#28594\n for (var _N = 0, _M = $f($1.barlen - 1); _N <= _M; _N += 1) { //#28598\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _N, 1)) + $1.checksum); //#28597\n } //#28597\n $1.checksum = $1.checksum % 43; //#28599\n if ($1.validatecheck) { //#28605\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28603\n $k[$j++] = 'bwipp.hibcqrcodeBadCheckDigit'; //#28602\n $k[$j++] = \"Incorrect HIBC QR Code check digit provided\"; //#28602\n bwipp_raiseerror(); //#28602\n } //#28602\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28604\n } //#28604\n var _f = $s($f($1.barlen + 2)); //#28607\n $puti(_f, 1, $1.barcode); //#28607\n $1.barcode = _f; //#28607\n $put($1.barcode, 0, 43); //#28608\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28609\n $put($1.options, \"dontdraw\", true); //#28612\n $put($1.options, \"validatecheck\", false); //#28613\n var _q = $1.options; //#28614\n $k[$j++] = 'args'; //#28614\n $k[$j++] = $1.barcode; //#28614\n $k[$j++] = _q; //#28614\n bwipp_qrcode(); //#28614\n var _r = $k[--$j]; //#28614\n $1[$k[--$j]] = _r; //#28614\n $put($1.args, \"opt\", $1.options); //#28616\n $k[$j++] = $1.args; //#28619\n if (!$1.dontdraw) { //#28619\n bwipp_renmatrix(); //#28619\n } //#28619\n}\n\nfunction bwipp_hibccodablockf() {\n var $1 = {}; //#28649\n $1.options = $k[--$j]; //#28651\n $1.barcode = $k[--$j]; //#28652\n $1.dontdraw = false; //#28654\n $1.validatecheck = false; //#28655\n $forall($1.options, function() { //#28666\n var _3 = $k[--$j]; //#28666\n $1[$k[--$j]] = _3; //#28666\n }); //#28666\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28669\n $1.charvals = new Map; //#28670\n for (var _5 = 0; _5 <= 42; _5 += 1) { //#28671\n $put($1.charvals, $geti($1.barchars, _5, 1), _5); //#28671\n } //#28671\n for (var _B = 0, _A = $1.barcode.length - 1; _B <= _A; _B += 1) { //#28678\n var _F = $get($1.charvals, $geti($1.barcode, _B, 1)) !== undefined; //#28675\n if (!_F) { //#28677\n $k[$j++] = 'bwipp.codablockfBadCharacter'; //#28676\n $k[$j++] = \"HIBC Codablock F must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28676\n bwipp_raiseerror(); //#28676\n } //#28676\n } //#28676\n $k[$j++] = 'barlen'; //#28680\n $k[$j++] = $1.barcode.length; //#28680\n if ($1.validatecheck) { //#28680\n var _I = $k[--$j]; //#28680\n $k[$j++] = $f(_I - 1); //#28680\n } //#28680\n var _J = $k[--$j]; //#28680\n $1[$k[--$j]] = _J; //#28680\n $1.checksum = 41; //#28682\n for (var _N = 0, _M = $f($1.barlen - 1); _N <= _M; _N += 1) { //#28686\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _N, 1)) + $1.checksum); //#28685\n } //#28685\n $1.checksum = $1.checksum % 43; //#28687\n if ($1.validatecheck) { //#28693\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28691\n $k[$j++] = 'bwipp.hibccodablockfBadCheckDigit'; //#28690\n $k[$j++] = \"Incorrect HIBC Codablock F check digit provided\"; //#28690\n bwipp_raiseerror(); //#28690\n } //#28690\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28692\n } //#28692\n var _f = $s($f($1.barlen + 2)); //#28695\n $puti(_f, 1, $1.barcode); //#28695\n $1.barcode = _f; //#28695\n $put($1.barcode, 0, 43); //#28696\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28697\n $put($1.options, \"dontdraw\", true); //#28700\n $put($1.options, \"validatecheck\", false); //#28701\n $k[$j++] = 'args'; //#28702\n $k[$j++] = $1.barcode; //#28702\n $k[$j++] = $1.options; //#28702\n bwipp_codablockf(); //#28702\n var _r = $k[--$j]; //#28702\n $1[$k[--$j]] = _r; //#28702\n $put($1.args, \"opt\", $1.options); //#28704\n $k[$j++] = $1.args; //#28707\n if (!$1.dontdraw) { //#28707\n bwipp_renmatrix(); //#28707\n } //#28707\n}\n\nfunction bwipp_hibcazteccode() {\n var $1 = {}; //#28737\n $1.options = $k[--$j]; //#28739\n $1.barcode = $k[--$j]; //#28740\n $1.dontdraw = false; //#28742\n $1.validatecheck = false; //#28743\n $forall($1.options, function() { //#28754\n var _3 = $k[--$j]; //#28754\n $1[$k[--$j]] = _3; //#28754\n }); //#28754\n $1.barchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%\"; //#28757\n $1.charvals = new Map; //#28758\n for (var _5 = 0; _5 <= 42; _5 += 1) { //#28759\n $put($1.charvals, $geti($1.barchars, _5, 1), _5); //#28759\n } //#28759\n for (var _B = 0, _A = $1.barcode.length - 1; _B <= _A; _B += 1) { //#28766\n var _F = $get($1.charvals, $geti($1.barcode, _B, 1)) !== undefined; //#28763\n if (!_F) { //#28765\n $k[$j++] = 'bwipp.hibcazteccodeBadCharacter'; //#28764\n $k[$j++] = \"HIBC Aztec Code must contain only digits, capital letters, spaces and the symbols -.$/+%\"; //#28764\n bwipp_raiseerror(); //#28764\n } //#28764\n } //#28764\n $k[$j++] = 'barlen'; //#28768\n $k[$j++] = $1.barcode.length; //#28768\n if ($1.validatecheck) { //#28768\n var _I = $k[--$j]; //#28768\n $k[$j++] = $f(_I - 1); //#28768\n } //#28768\n var _J = $k[--$j]; //#28768\n $1[$k[--$j]] = _J; //#28768\n $1.checksum = 41; //#28770\n for (var _N = 0, _M = $f($1.barlen - 1); _N <= _M; _N += 1) { //#28774\n $1.checksum = $f($get($1.charvals, $geti($1.barcode, _N, 1)) + $1.checksum); //#28773\n } //#28773\n $1.checksum = $1.checksum % 43; //#28775\n if ($1.validatecheck) { //#28781\n if ($get($1.barcode, $1.barlen) != $get($1.barchars, $1.checksum)) { //#28779\n $k[$j++] = 'bwipp.hibcazteccodeBadCheckDigit'; //#28778\n $k[$j++] = \"Incorrect HIBC Aztec Code check digit provided\"; //#28778\n bwipp_raiseerror(); //#28778\n } //#28778\n $1.barcode = $geti($1.barcode, 0, $1.barlen); //#28780\n } //#28780\n var _f = $s($f($1.barlen + 2)); //#28783\n $puti(_f, 1, $1.barcode); //#28783\n $1.barcode = _f; //#28783\n $put($1.barcode, 0, 43); //#28784\n $put($1.barcode, $f($1.barlen + 1), $get($1.barchars, $1.checksum)); //#28785\n $put($1.options, \"dontdraw\", true); //#28788\n $put($1.options, \"validatecheck\", false); //#28789\n $k[$j++] = 'args'; //#28790\n $k[$j++] = $1.barcode; //#28790\n $k[$j++] = $1.options; //#28790\n bwipp_azteccode(); //#28790\n var _r = $k[--$j]; //#28790\n $1[$k[--$j]] = _r; //#28790\n $put($1.args, \"opt\", $1.options); //#28792\n $k[$j++] = $1.args; //#28795\n if (!$1.dontdraw) { //#28795\n bwipp_renmatrix(); //#28795\n } //#28795\n}\n\nfunction bwipp_channelcode() {\n var $1 = {}; //#28825\n $1.options = $k[--$j]; //#28827\n $1.barcode = $k[--$j]; //#28828\n $1.dontdraw = false; //#28830\n $1.shortfinder = false; //#28831\n $1.includetext = false; //#28832\n $1.includecheck = false; //#28833\n $1.height = 1; //#28834\n $forall($1.options, function() { //#28845\n var _3 = $k[--$j]; //#28845\n $1[$k[--$j]] = _3; //#28845\n }); //#28845\n $1.height = +$1.height; //#28847\n if (($1.barcode.length < 2) || ($1.barcode.length > 7)) { //#28852\n $k[$j++] = 'bwipp.channelcodeBadLength'; //#28851\n $k[$j++] = \"Channel Code must be 2 to 7 digits\"; //#28851\n bwipp_raiseerror(); //#28851\n } //#28851\n $forall($1.barcode, function() { //#28857\n var _9 = $k[--$j]; //#28854\n if ((_9 < 48) || (_9 > 57)) { //#28856\n $k[$j++] = 'bwipp.channelcodeBadCharacter'; //#28855\n $k[$j++] = \"Channel Code must contain only digits\"; //#28855\n bwipp_raiseerror(); //#28855\n } //#28855\n }); //#28855\n if ((~~$z($1.barcode)) > $get($a([26, 292, 3493, 44072, 576688, 7742862]), $1.barcode.length - 2)) { //#28860\n $k[$j++] = 'bwipp.channelcodeTooBig'; //#28859\n $k[$j++] = \"The Channel Code value is too big for the number of channels\"; //#28859\n bwipp_raiseerror(); //#28859\n } //#28859\n $1.nextb = function() {\n var _E = $k[--$j]; //#28863\n var _N = (($f($get($1.s, _E) + ($f($get($1.b, $f(_E - 1)) + $f($get($1.b, $f(_E - 2)) + $get($1.s, $f(_E - 1))))))) > 4) ? 1 : 2; //#28868\n $k[$j++] = _E; //#28884\n $k[$j++] = _N; //#28884\n if (_E < $f($1.chan + 2)) { //#28882\n var _P = $k[--$j]; //#28870\n var _Q = $k[--$j]; //#28870\n var _R = $k[--$j]; //#28870\n $k[$j++] = _R; //#28873\n $k[$j++] = _Q; //#28873\n $k[$j++] = _P; //#28873\n for (var _T = _P, _S = _R; _T <= _S; _T += 1) { //#28873\n var _V = $k[--$j]; //#28871\n var _W = $k[--$j]; //#28871\n $put($1.b, _W, _T); //#28871\n var _X = $k[--$j]; //#28872\n var _Y = $k[--$j]; //#28872\n $k[$j++] = _Y; //#28872\n $k[$j++] = _X; //#28872\n $k[$j++] = _W; //#28872\n $k[$j++] = _V; //#28872\n $k[$j++] = $f($f(_X - _T) + 1); //#28872\n $k[$j++] = _Y; //#28872\n $k[$j++] = $f(_W + 1); //#28872\n $1.nexts(); //#28872\n } //#28872\n } else { //#28882\n var _Z = $k[--$j]; //#28875\n var _a = $k[--$j]; //#28875\n var _b = $k[--$j]; //#28875\n $k[$j++] = _b; //#28883\n $k[$j++] = _a; //#28883\n $k[$j++] = _Z; //#28883\n if ($le(_Z, _b)) { //#28883\n var _d = $k[--$j]; //#28876\n var _e = $k[--$j]; //#28876\n var _f = $k[--$j]; //#28876\n $put($1.b, _e, _f); //#28876\n $k[$j++] = _f; //#28881\n $k[$j++] = _e; //#28881\n $k[$j++] = _d; //#28881\n if ($1.value == $1.target) { //#28881\n $k[$j++] = Infinity; //#28879\n for (var _i = 3; _i <= 10; _i += 1) { //#28879\n $k[$j++] = $get($1.s, _i); //#28879\n $k[$j++] = $get($1.b, _i); //#28879\n } //#28879\n $1.out = $geti($a(), 0, $1.chan * 2); //#28880\n } //#28880\n $1.value = $1.value + 1; //#28882\n } //#28882\n } //#28882\n $j -= 4; //#28885\n }; //#28886\n $1.nexts = function() {\n var _r = $k[--$j]; //#28889\n $k[$j++] = _r; //#28889\n if (_r < $f($1.chan + 2)) { //#28889\n $k[$j++] = 1; //#28889\n } else { //#28889\n var _t = $k[--$j]; //#28889\n var _u = $k[--$j]; //#28889\n $k[$j++] = _u; //#28889\n $k[$j++] = _t; //#28889\n $k[$j++] = _u; //#28889\n } //#28889\n var _v = $k[--$j]; //#28889\n var _w = $k[--$j]; //#28889\n var _x = $k[--$j]; //#28889\n $k[$j++] = _x; //#28892\n $k[$j++] = _w; //#28892\n for (var _z = _v, _y = _x; _z <= _y; _z += 1) { //#28892\n var _11 = $k[--$j]; //#28890\n $put($1.s, _11, _z); //#28890\n var _12 = $k[--$j]; //#28891\n var _13 = $k[--$j]; //#28891\n $k[$j++] = _13; //#28891\n $k[$j++] = _12; //#28891\n $k[$j++] = _11; //#28891\n $k[$j++] = $f($f(_12 - _z) + 1); //#28891\n $k[$j++] = _13; //#28891\n $k[$j++] = _11; //#28891\n $1.nextb(); //#28891\n } //#28891\n $j -= 3; //#28893\n }; //#28894\n $1.encode = function() {\n $1.chan = $k[--$j]; //#28897\n $1.target = $k[--$j]; //#28898\n $1.value = 0; //#28899\n $1.out = -1; //#28900\n $1.b = $a([1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]); //#28901\n $1.s = $a([0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]); //#28902\n var _18 = $1.chan; //#28903\n $k[$j++] = _18; //#28903\n $k[$j++] = _18; //#28903\n $k[$j++] = 3; //#28903\n $1.nexts(); //#28903\n $k[$j++] = $1.out; //#28904\n }; //#28905\n $1.barlen = $1.barcode.length; //#28907\n $k[$j++] = 'finder'; //#28910\n if ($1.shortfinder) { //#28910\n $k[$j++] = $a([1, 1, 1, 1, 1]); //#28910\n } else { //#28910\n $k[$j++] = $a([1, 1, 1, 1, 1, 1, 1, 1, 1]); //#28910\n } //#28910\n var _1E = $k[--$j]; //#28910\n $1[$k[--$j]] = _1E; //#28910\n $k[$j++] = 'data'; //#28913\n $k[$j++] = ~~$z($1.barcode); //#28913\n $k[$j++] = $1.barlen + 1; //#28913\n $1.encode(); //#28913\n var _1I = $k[--$j]; //#28913\n $1[$k[--$j]] = _1I; //#28913\n $1.check = $a([]); //#28916\n if ($1.includecheck) { //#28932\n $1.mod23 = $get($a([$a([]), $a([]), $a([13, 12, 4, 9, 3, 1]), $a([13, 2, 12, 3, 18, 16, 4, 1]), $a([11, 16, 17, 8, 20, 4, 10, 2, 5, 1]), $a([1, 4, 16, 18, 3, 12, 2, 8, 9, 13, 6, 1]), $a([20, 16, 22, 13, 15, 12, 5, 4, 8, 9, 21, 3, 7, 1]), $a([2, 6, 18, 8, 1, 3, 9, 4, 12, 13, 16, 2, 6, 18, 8, 1])]), $1.barlen); //#28926\n $k[$j++] = 0; //#28930\n for (var _1Z = 0, _1Y = $1.data.length - 1; _1Z <= _1Y; _1Z += 1) { //#28930\n var _1e = $k[--$j]; //#28929\n $k[$j++] = $f(_1e + ($f($get($1.data, _1Z) - 1) * $get($1.mod23, _1Z))); //#28929\n } //#28929\n var _1f = $k[--$j]; //#28931\n $k[$j++] = _1f % 23; //#28931\n $k[$j++] = 3; //#28931\n $1.encode(); //#28931\n $1.check = $k[--$j]; //#28931\n } //#28931\n $k[$j++] = Infinity; //#28938\n $aload($1.finder); //#28936\n $aload($1.data); //#28937\n $aload($1.check); //#28938\n $1.sbs = $a(); //#28938\n $1.txt = $a($1.barlen); //#28942\n for (var _1p = 0, _1o = $1.barlen - 1; _1p <= _1o; _1p += 1) { //#28946\n $1.i = _1p; //#28944\n $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), 0, 0, \"\", 0])); //#28945\n } //#28945\n $k[$j++] = Infinity; //#28956\n var _1w = $1.sbs; //#28951\n $k[$j++] = Infinity; //#28952\n for (var _1y = 0, _1z = ~~(($1.sbs.length + 1) / 2); _1y < _1z; _1y++) { //#28952\n $k[$j++] = $1.height; //#28952\n } //#28952\n var _21 = $a(); //#28952\n $k[$j++] = Infinity; //#28953\n for (var _23 = 0, _24 = ~~(($1.sbs.length + 1) / 2); _23 < _24; _23++) { //#28953\n $k[$j++] = 0; //#28953\n } //#28953\n var _25 = $a(); //#28953\n $k[$j++] = 'ren'; //#28956\n $k[$j++] = bwipp_renlinear; //#28956\n $k[$j++] = 'sbs'; //#28956\n $k[$j++] = _1w; //#28956\n $k[$j++] = 'bhs'; //#28956\n $k[$j++] = _21; //#28956\n $k[$j++] = 'bbs'; //#28956\n $k[$j++] = _25; //#28956\n $k[$j++] = 'txt'; //#28956\n $k[$j++] = $1.txt; //#28956\n $k[$j++] = 'textxalign'; //#28956\n $k[$j++] = \"center\"; //#28956\n $k[$j++] = 'opt'; //#28956\n $k[$j++] = $1.options; //#28956\n var _28 = $d(); //#28956\n $k[$j++] = _28; //#28959\n if (!$1.dontdraw) { //#28959\n bwipp_renlinear(); //#28959\n } //#28959\n}\n\nfunction bwipp_renlinear() {\n if ($0.bwipjs_dontdraw) { //#28980\n return; //#28980\n } //#28980\n var $1 = {}; //#28981\n $1.args = $k[--$j]; //#28983\n $1.sbs = $a([]); //#28986\n $1.bhs = $a([]); //#28987\n $1.bbs = $a([]); //#28988\n $1.txt = $a([]); //#28989\n $1.barcolor = \"unset\"; //#28990\n $1.includetext = false; //#28991\n $1.textcolor = \"unset\"; //#28992\n $1.textxalign = \"unset\"; //#28993\n $1.textyalign = \"unset\"; //#28994\n $1.textfont = \"OCR-B\"; //#28995\n $1.textsize = 10; //#28996\n $1.textxoffset = 0; //#28997\n $1.textyoffset = 0; //#28998\n $1.textgaps = 0; //#28999\n $1.alttext = \"\"; //#29000\n $1.bordercolor = \"unset\"; //#29001\n $1.backgroundcolor = \"unset\"; //#29002\n $1.inkspread = 0; //#29003\n $1.width = 0; //#29004\n $1.barratio = 1; //#29005\n $1.spaceratio = 1; //#29006\n $1.showborder = false; //#29007\n $1.borderleft = 10; //#29008\n $1.borderright = 10; //#29009\n $1.bordertop = 1; //#29010\n $1.borderbottom = 1; //#29011\n $1.borderwidth = 0.5; //#29012\n $1.guardwhitespace = false; //#29013\n $1.guardleftpos = 0; //#29014\n $1.guardleftypos = 0; //#29015\n $1.guardrightpos = 0; //#29016\n $1.guardrightypos = 0; //#29017\n $1.guardwidth = 7; //#29018\n $1.guardheight = 7; //#29019\n $forall($1.args, function() { //#29022\n var _7 = $k[--$j]; //#29022\n $1[$k[--$j]] = _7; //#29022\n }); //#29022\n var _9 = $1.opt; //#29023\n for (var _E = _9.size, _D = _9.keys(), _C = 0; _C < _E; _C++) { //#29023\n var _A = _D.next().value; //#29023\n $1[_A] = _9.get(_A); //#29023\n } //#29023\n $1.barcolor = \"\" + $1.barcolor; //#29025\n $1.textcolor = \"\" + $1.textcolor; //#29026\n $1.textxalign = \"\" + $1.textxalign; //#29027\n $1.textyalign = \"\" + $1.textyalign; //#29028\n $1.textfont = \"\" + $1.textfont; //#29029\n $1.textsize = +$1.textsize; //#29030\n $1.textxoffset = +$1.textxoffset; //#29031\n $1.textyoffset = +$1.textyoffset; //#29032\n $1.textgaps = +$1.textgaps; //#29033\n $1.alttext = \"\" + $1.alttext; //#29034\n $1.bordercolor = \"\" + $1.bordercolor; //#29035\n $1.backgroundcolor = \"\" + $1.backgroundcolor; //#29036\n $1.inkspread = +$1.inkspread; //#29037\n $1.width = +$1.width; //#29038\n $1.barratio = +$1.barratio; //#29039\n $1.spaceratio = +$1.spaceratio; //#29040\n $1.borderleft = +$1.borderleft; //#29041\n $1.borderright = +$1.borderright; //#29042\n $1.bordertop = +$1.bordertop; //#29043\n $1.borderbottom = +$1.borderbottom; //#29044\n $1.borderwidth = +$1.borderwidth; //#29045\n $1.guardleftpos = +$1.guardleftpos; //#29046\n $1.guardleftypos = +$1.guardleftypos; //#29047\n $1.guardrightpos = +$1.guardrightpos; //#29048\n $1.guardrightypos = +$1.guardrightypos; //#29049\n $1.guardwidth = +$1.guardwidth; //#29050\n $1.guardheight = +$1.guardheight; //#29051\n $1.bars = $a(~~(($1.sbs.length + 1) / 2)); //#29054\n $1.x = 0; //#29055\n $1.maxh = 0; //#29055\n for (var _k = 0, _j = ((~~(($1.sbs.length + 1) / 2)) * 2) - 2; _k <= _j; _k += 1) { //#29074\n $1.i = _k; //#29057\n if (($1.i % 2) == 0) { //#29071\n $1.d = $f(($f(($get($1.sbs, $1.i) * $1.barratio) - $1.barratio)) + 1); //#29059\n if ($get($1.sbs, $1.i) != 0) { //#29068\n $1.h = $get($1.bhs, ~~($1.i / 2)) * 72; //#29061\n $1.c = $f(($1.d / 2) + $1.x); //#29062\n $1.y = $get($1.bbs, ~~($1.i / 2)) * 72; //#29063\n $1.w = $f($1.d - $1.inkspread); //#29064\n $put($1.bars, ~~($1.i / 2), $a([$1.h, $1.c, $1.y, $1.w])); //#29065\n if ($f($1.h + $1.y) > $1.maxh) { //#29066\n $1.maxh = $f($1.h + $1.y); //#29066\n } //#29066\n } else { //#29068\n $put($1.bars, ~~($1.i / 2), -1); //#29068\n } //#29068\n } else { //#29071\n $1.d = $f(($f(($get($1.sbs, $1.i) * $1.spaceratio) - $1.spaceratio)) + 1); //#29071\n } //#29071\n $1.x = $f($1.x + $1.d); //#29073\n } //#29073\n $$.save(); //#29076\n var _1P = $$.currpos(); //#29078\n $$.translate(_1P.x, _1P.y); //#29078\n if ($1.width != 0) { //#29083\n $$.scale(($1.width * 72) / $1.x, 1); //#29082\n } //#29082\n $$.newpath(); //#29086\n $$.moveto(-$1.borderleft, -$1.borderbottom); //#29087\n $$.rlineto($f($f($1.x + $1.borderleft) + $1.borderright), 0); //#29088\n $$.rlineto(0, $f($f($1.maxh + $1.borderbottom) + $1.bordertop)); //#29089\n $$.rlineto(-($f($f($1.x + $1.borderleft) + $1.borderright)), 0); //#29090\n $$.rlineto(0, -($f($f($1.maxh + $1.borderbottom) + $1.bordertop))); //#29091\n $$.closepath(); //#29092\n if ($1.showborder) { //#29100\n $$.save(); //#29096\n if ($ne($1.bordercolor, \"unset\")) { //#29097\n $$.setcolor($1.bordercolor); //#29097\n } //#29097\n $$.setlinewidth($1.borderwidth); //#29098\n $$.stroke(); //#29098\n $$.restore(); //#29099\n } //#29099\n $$.save(); //#29103\n if ($ne($1.barcolor, \"unset\")) { //#29105\n $$.setcolor($1.barcolor); //#29105\n } //#29105\n var _1n = $1.bars; //#29106\n for (var _1o = 0, _1p = _1n.length; _1o < _1p; _1o++) { //#29112\n var _1q = $get(_1n, _1o); //#29112\n $k[$j++] = _1q; //#29111\n if (_1q != -1) { //#29110\n $aload($k[--$j]); //#29108\n $$.newpath(); //#29108\n $$.setlinewidth($k[--$j]); //#29108\n var _1t = $k[--$j]; //#29108\n $$.moveto($k[--$j], _1t); //#29108\n $$.rlineto(0, $k[--$j]); //#29108\n $$.stroke(); //#29108\n } else { //#29110\n $j--; //#29110\n } //#29110\n } //#29110\n $$.restore(); //#29113\n if ($ne($1.textcolor, \"unset\")) { //#29116\n $$.setcolor($1.textcolor); //#29116\n } //#29116\n if ($1.includetext) { //#29173\n if (($eq($1.textxalign, \"unset\") && $eq($1.textyalign, \"unset\")) && $eq($1.alttext, \"\")) { //#29171\n $1.s = 0; //#29119\n $1.fn = \"\"; //#29119\n var _22 = $1.txt; //#29120\n for (var _23 = 0, _24 = _22.length; _23 < _24; _23++) { //#29129\n $forall($get(_22, _23)); //#29121\n var _26 = $k[--$j]; //#29122\n var _27 = $k[--$j]; //#29122\n $k[$j++] = _27; //#29127\n $k[$j++] = _26; //#29127\n if ((_26 != $1.s) || $ne(_27, $1.fn)) { //#29126\n var _2A = $k[--$j]; //#29123\n var _2B = $k[--$j]; //#29123\n $1.s = _2A; //#29123\n $1.fn = _2B; //#29123\n $$.selectfont(_2B, _2A); //#29124\n } else { //#29126\n $j -= 2; //#29126\n } //#29126\n var _2C = $k[--$j]; //#29128\n $$.moveto($k[--$j], _2C); //#29128\n $$.show($k[--$j], 0, 0); //#29128\n } //#29128\n } else { //#29171\n $$.selectfont($1.textfont, $1.textsize); //#29131\n if ($eq($1.alttext, \"\")) { //#29137\n $k[$j++] = Infinity; //#29133\n var _2I = $1.txt; //#29133\n for (var _2J = 0, _2K = _2I.length; _2J < _2K; _2J++) { //#29133\n $forall($get($get(_2I, _2J), 0)); //#29133\n } //#29133\n $1.txt = $a(); //#29133\n $1.tstr = $s($1.txt.length); //#29134\n for (var _2S = 0, _2R = $1.txt.length - 1; _2S <= _2R; _2S += 1) { //#29135\n $put($1.tstr, _2S, $get($1.txt, _2S)); //#29135\n } //#29135\n } else { //#29137\n $1.tstr = $1.alttext; //#29137\n } //#29137\n if ($1.tstr.length == 0) { //#29147\n $k[$j++] = 0; //#29142\n } else { //#29147\n $$.save(); //#29144\n $$.newpath(); //#29145\n $$.moveto(0, 0); //#29145\n $$.charpath(\"0\", false); //#29145\n var _2Y = $$.pathbbox(); //#29145\n $$.restore(); //#29147\n $k[$j++] = _2Y.ury; //#29147\n } //#29147\n $1.textascent = $k[--$j]; //#29156\n var _2b = $$.stringwidth($1.tstr); //#29157\n $1.textwidth = $f(_2b.w + (($1.tstr.length - 1) * $1.textgaps)); //#29157\n $1.textxpos = $f($1.textxoffset + ($f($1.x - $1.textwidth) / 2)); //#29159\n if ($eq($1.textxalign, \"left\")) { //#29160\n $1.textxpos = $1.textxoffset; //#29160\n } //#29160\n if ($eq($1.textxalign, \"right\")) { //#29161\n $1.textxpos = $f($f($1.x - $1.textxoffset) - $1.textwidth); //#29161\n } //#29161\n if ($eq($1.textxalign, \"offleft\")) { //#29162\n $1.textxpos = -$f($1.textwidth + $1.textxoffset); //#29162\n } //#29162\n if ($eq($1.textxalign, \"offright\")) { //#29163\n $1.textxpos = $f($1.x + $1.textxoffset); //#29163\n } //#29163\n if ($eq($1.textxalign, \"justify\") && ($1.textwidth < $1.x)) { //#29167\n $1.textxpos = 0; //#29165\n $1.textgaps = $f($1.x - $1.textwidth) / ($1.tstr.length - 1); //#29166\n } //#29166\n $1.textypos = -($f($f($1.textyoffset + $1.textascent) + 1)); //#29168\n if ($eq($1.textyalign, \"above\")) { //#29169\n $1.textypos = $f($f($1.textyoffset + $1.maxh) + 1); //#29169\n } //#29169\n if ($eq($1.textyalign, \"center\")) { //#29170\n $1.textypos = $f($1.textyoffset + ($f($1.maxh - $1.textascent) / 2)); //#29170\n } //#29170\n $$.moveto($1.textxpos, $1.textypos); //#29171\n $$.show($1.tstr, $1.textgaps, 0); //#29171\n } //#29171\n } //#29171\n if ($1.guardwhitespace) { //#29186\n $$.selectfont(\"OCR-B\", $1.guardheight * 2); //#29177\n if ($1.guardleftpos != 0) { //#29181\n $$.moveto($f((-$1.guardleftpos) - 1), $f(($f($1.guardleftypos - ($1.guardheight / 2))) - 1.5)); //#29179\n $$.show(\"<\", 0, 0); //#29180\n } //#29180\n if ($1.guardrightpos != 0) { //#29185\n $$.moveto($f(($f($f($1.guardrightpos + $1.x) - $1.guardwidth)) + 1), $f(($f($1.guardrightypos - ($1.guardheight / 2))) - 1.5)); //#29183\n $$.show(\">\", 0, 0); //#29184\n } //#29184\n } //#29184\n $$.restore(); //#29188\n}\n\nfunction bwipp_renmaximatrix() {\n if ($0.bwipjs_dontdraw) { //#29208\n return; //#29208\n } //#29208\n var $1 = {}; //#29210\n $1.args = $k[--$j]; //#29212\n $1.barcolor = \"unset\"; //#29215\n $1.backgroundcolor = \"unset\"; //#29216\n $forall($1.args, function() { //#29219\n var _3 = $k[--$j]; //#29219\n $1[$k[--$j]] = _3; //#29219\n }); //#29219\n var _5 = $1.opt; //#29220\n for (var _A = _5.size, _9 = _5.keys(), _8 = 0; _8 < _A; _8++) { //#29220\n var _6 = _9.next().value; //#29220\n $1[_6] = _5.get(_6); //#29220\n } //#29220\n $1.barcolor = \"\" + $1.barcolor; //#29222\n $1.backgroundcolor = \"\" + $1.backgroundcolor; //#29223\n $$.save(); //#29225\n if ($ne($1.barcolor, \"unset\")) { //#29227\n $$.setcolor($1.barcolor); //#29227\n } //#29227\n $$.maxicode($1.pixs); //#29228\n $$.restore(); //#29230\n}\n// bwip-js/barcode-ftr.js\n//\n// This code is injected below the cross-compiled barcode.js.\n\n// `encoder` is one of the $0_* BWIPP functions\nfunction bwipp_encode(bwipjs, encoder, text, opts, dontdraw) {\n if (typeof text !== 'string') {\n throw new Error('bwipp.typeError: barcode text not a string (' +\n text + ')');\n }\n opts = opts || {};\n if (typeof opts === 'string') {\n var tmp = opts.split(' ');\n opts = {};\n for (var i = 0; i < tmp.length; i++) {\n if (!tmp[i]) {\n continue;\n }\n var eq = tmp[i].indexOf('=');\n if (eq == -1) {\n opts[tmp[i]] = true;\n } else {\n opts[tmp[i].substr(0, eq)] = tmp[i].substr(eq + 1);\n }\n }\n } else if (typeof opts !== 'object' || opts.constructor !== Object) {\n throw new Error('bwipp.typeError: options not an object');\n }\n\n // Convert utf-16 to utf-8 but leave binary (8-bit) strings untouched.\n if (/[\\u0100-\\uffff]/.test(text)) {\n text = unescape(encodeURIComponent(text));\n }\n\n // Don't draw? (See file runtest)\n $0.bwipjs_dontdraw = opts.dontdraw || dontdraw || false;\n\n // Convert opts to a Map\n var map = new Map;\n for (var id in opts) {\n if (opts.hasOwnProperty(id)) {\n map.set(id, opts[id]);\n }\n }\n\n // Invoke the encoder\n $$ = bwipjs;\n $k = [text, map];\n $j = 2;\n encoder();\n\n // Return what is left on the stack. This branch should only be taken\n // when running with the dontdraw option.\n if ($j) {\n return $k.splice(0, $j);\n }\n\n return true;\n}\n\nfunction bwipp_lookup(symbol) {\n if (!symbol) {\n throw new Error(\"bwipp.undefinedEncoder: bcid is not defined\");\n }\n switch (symbol.replace(/-/g, \"_\")) {\n case \"auspost\":\n return bwipp_auspost;\n case \"azteccode\":\n return bwipp_azteccode;\n case \"azteccodecompact\":\n return bwipp_azteccodecompact;\n case \"aztecrune\":\n return bwipp_aztecrune;\n case \"bc412\":\n return bwipp_bc412;\n case \"channelcode\":\n return bwipp_channelcode;\n case \"codablockf\":\n return bwipp_codablockf;\n case \"code11\":\n return bwipp_code11;\n case \"code128\":\n return bwipp_code128;\n case \"code16k\":\n return bwipp_code16k;\n case \"code2of5\":\n return bwipp_code2of5;\n case \"code32\":\n return bwipp_code32;\n case \"code39\":\n return bwipp_code39;\n case \"code39ext\":\n return bwipp_code39ext;\n case \"code49\":\n return bwipp_code49;\n case \"code93\":\n return bwipp_code93;\n case \"code93ext\":\n return bwipp_code93ext;\n case \"codeone\":\n return bwipp_codeone;\n case \"coop2of5\":\n return bwipp_coop2of5;\n case \"daft\":\n return bwipp_daft;\n case \"databarexpanded\":\n return bwipp_databarexpanded;\n case \"databarexpandedcomposite\":\n return bwipp_databarexpandedcomposite;\n case \"databarexpandedstacked\":\n return bwipp_databarexpandedstacked;\n case \"databarexpandedstackedcomposite\":\n return bwipp_databarexpandedstackedcomposite;\n case \"databarlimited\":\n return bwipp_databarlimited;\n case \"databarlimitedcomposite\":\n return bwipp_databarlimitedcomposite;\n case \"databaromni\":\n return bwipp_databaromni;\n case \"databaromnicomposite\":\n return bwipp_databaromnicomposite;\n case \"databarstacked\":\n return bwipp_databarstacked;\n case \"databarstackedcomposite\":\n return bwipp_databarstackedcomposite;\n case \"databarstackedomni\":\n return bwipp_databarstackedomni;\n case \"databarstackedomnicomposite\":\n return bwipp_databarstackedomnicomposite;\n case \"databartruncated\":\n return bwipp_databartruncated;\n case \"databartruncatedcomposite\":\n return bwipp_databartruncatedcomposite;\n case \"datalogic2of5\":\n return bwipp_datalogic2of5;\n case \"datamatrix\":\n return bwipp_datamatrix;\n case \"datamatrixrectangular\":\n return bwipp_datamatrixrectangular;\n case \"datamatrixrectangularextension\":\n return bwipp_datamatrixrectangularextension;\n case \"dotcode\":\n return bwipp_dotcode;\n case \"ean13\":\n return bwipp_ean13;\n case \"ean13composite\":\n return bwipp_ean13composite;\n case \"ean14\":\n return bwipp_ean14;\n case \"ean2\":\n return bwipp_ean2;\n case \"ean5\":\n return bwipp_ean5;\n case \"ean8\":\n return bwipp_ean8;\n case \"ean8composite\":\n return bwipp_ean8composite;\n case \"flattermarken\":\n return bwipp_flattermarken;\n case \"gs1_128\":\n return bwipp_gs1_128;\n case \"gs1_128composite\":\n return bwipp_gs1_128composite;\n case \"gs1_cc\":\n return bwipp_gs1_cc;\n case \"gs1datamatrix\":\n return bwipp_gs1datamatrix;\n case \"gs1datamatrixrectangular\":\n return bwipp_gs1datamatrixrectangular;\n case \"gs1dotcode\":\n return bwipp_gs1dotcode;\n case \"gs1northamericancoupon\":\n return bwipp_gs1northamericancoupon;\n case \"gs1qrcode\":\n return bwipp_gs1qrcode;\n case \"hanxin\":\n return bwipp_hanxin;\n case \"hibcazteccode\":\n return bwipp_hibcazteccode;\n case \"hibccodablockf\":\n return bwipp_hibccodablockf;\n case \"hibccode128\":\n return bwipp_hibccode128;\n case \"hibccode39\":\n return bwipp_hibccode39;\n case \"hibcdatamatrix\":\n return bwipp_hibcdatamatrix;\n case \"hibcdatamatrixrectangular\":\n return bwipp_hibcdatamatrixrectangular;\n case \"hibcmicropdf417\":\n return bwipp_hibcmicropdf417;\n case \"hibcpdf417\":\n return bwipp_hibcpdf417;\n case \"hibcqrcode\":\n return bwipp_hibcqrcode;\n case \"iata2of5\":\n return bwipp_iata2of5;\n case \"identcode\":\n return bwipp_identcode;\n case \"industrial2of5\":\n return bwipp_industrial2of5;\n case \"interleaved2of5\":\n return bwipp_interleaved2of5;\n case \"isbn\":\n return bwipp_isbn;\n case \"ismn\":\n return bwipp_ismn;\n case \"issn\":\n return bwipp_issn;\n case \"itf14\":\n return bwipp_itf14;\n case \"jabcode\":\n return bwipp_jabcode;\n case \"japanpost\":\n return bwipp_japanpost;\n case \"kix\":\n return bwipp_kix;\n case \"leitcode\":\n return bwipp_leitcode;\n case \"mailmark\":\n return bwipp_mailmark;\n case \"matrix2of5\":\n return bwipp_matrix2of5;\n case \"maxicode\":\n return bwipp_maxicode;\n case \"micropdf417\":\n return bwipp_micropdf417;\n case \"microqrcode\":\n return bwipp_microqrcode;\n case \"msi\":\n return bwipp_msi;\n case \"onecode\":\n return bwipp_onecode;\n case \"pdf417\":\n return bwipp_pdf417;\n case \"pdf417compact\":\n return bwipp_pdf417compact;\n case \"pharmacode\":\n return bwipp_pharmacode;\n case \"pharmacode2\":\n return bwipp_pharmacode2;\n case \"planet\":\n return bwipp_planet;\n case \"plessey\":\n return bwipp_plessey;\n case \"posicode\":\n return bwipp_posicode;\n case \"postnet\":\n return bwipp_postnet;\n case \"pzn\":\n return bwipp_pzn;\n case \"qrcode\":\n return bwipp_qrcode;\n case \"rationalizedCodabar\":\n return bwipp_rationalizedCodabar;\n case \"raw\":\n return bwipp_raw;\n case \"rectangularmicroqrcode\":\n return bwipp_rectangularmicroqrcode;\n case \"royalmail\":\n return bwipp_royalmail;\n case \"sscc18\":\n return bwipp_sscc18;\n case \"swissqrcode\":\n return bwipp_swissqrcode;\n case \"symbol\":\n return bwipp_symbol;\n case \"telepen\":\n return bwipp_telepen;\n case \"telepennumeric\":\n return bwipp_telepennumeric;\n case \"ultracode\":\n return bwipp_ultracode;\n case \"upca\":\n return bwipp_upca;\n case \"upcacomposite\":\n return bwipp_upcacomposite;\n case \"upce\":\n return bwipp_upce;\n case \"upcecomposite\":\n return bwipp_upcecomposite;\n }\n throw new Error(\"bwipp.unknownEncoder: unknown encoder name: \" + symbol);\n}\nvar BWIPP_VERSION = '2021-02-06';\n// file : bwipjs.js\n//\n// Graphics-context interface to the BWIPP cross-compiled code\n\nvar BWIPJS = (function() {\n\n// Math.floor(), etc. are notoriously slow. Caching seems to help.\nvar floor = Math.floor;\nvar round = Math.round;\nvar ceil = Math.ceil;\nvar min\t = Math.min;\nvar max\t = Math.max;\n\nfunction BWIPJS(drawing) {\n\tif (this.constructor !== BWIPJS) {\n\t\treturn new BWIPJS(drawing);\n\t}\n\tthis.gstk\t = [];\t\t// Graphics save/restore stack\n\tthis.cmds\t = [];\t\t// Graphics primitives to replay when rendering\n\tthis.drawing = drawing;\t// Drawing interface\n\n\tthis.reset();\n\n\t// Drawing surface bounding box\n\tthis.minx = this.miny = Infinity;\n\tthis.maxx = this.maxy = -Infinity;\n};\n\n// All graphics state that must be saved/restored is given a prefix of g_\nBWIPJS.prototype.reset = function() {\n\t// Current Transform Matrix - since we don't do rotation, we can fake\n\t// the matrix math\n\tthis.g_tdx\t= 0;\t\t// CTM x-offset\n\tthis.g_tdy\t= 0;\t\t// CTM y-offset\n\tthis.g_tsx\t= 1;\t\t// CTM x-scale factor\n\tthis.g_tsy\t= 1;\t\t// CTM y-scale factor\n\n\tthis.g_posx\t= 0;\t\t// current x position\n\tthis.g_posy\t= 0;\t\t// current y position\n\tthis.g_penw\t= 1;\t\t// current line/pen width\n\tthis.g_path\t= [];\t\t// current path\n\tthis.g_font\t= null;\t\t// current font object\n\tthis.g_rgb = [0,0,0];\t// current color (black)\n this.g_clip = false; // clip region active\n};\nBWIPJS.prototype.save = function() {\n\t// clone all g_ properties\n\tvar ctx = {};\n\tfor (var id in this) {\n\t\tif (id.indexOf('g_') == 0) {\n\t\t\tctx[id] = clone(this[id]);\n\t\t}\n\t}\n\tthis.gstk.push(ctx);\n\n\t// Perform a deep clone of the graphics state properties\n\tfunction clone(v) {\n\t\tif (v instanceof Array) {\n\t\t\tvar t = [];\n\t\t\tfor (var i = 0; i < v.length; i++)\n\t\t\t\tt[i] = clone(v[i]);\n\t\t\treturn t;\n\t\t}\n\t\tif (v instanceof Object) {\n\t\t\tvar t = {};\n\t\t\tfor (var id in v)\n\t\t\t\tt[id] = clone(v[id]);\n\t\t\treturn t;\n\t\t}\n\t\treturn v;\n\t}\n};\nBWIPJS.prototype.restore = function() {\n\tif (!this.gstk.length) {\n\t\tthrow new Error('grestore: stack underflow');\n\t}\n\tvar ctx = this.gstk.pop();\n var self = this;\n if (this.g_clip && !ctx.g_clip) {\n this.cmds.push(function() {\n self.drawing.unclip();\n });\n }\n\tfor (var id in ctx) {\n\t\tthis[id] = ctx[id];\n\t}\n};\n// Per the postscript spec:\n//\tAs discussed in Section 4.4.1, Current Path, points entered into a path\n//\tare immediately converted to device coordinates by the current\n//\ttransformation matrix (CTM); subsequent modifications to the CTM do not\n//\taffect existing points. `currentpoint` computes the user space\n//\tcoordinates corresponding to the current point according to the current\n//\tvalue of the CTM. Thus, if a current point is set and then the CTM is\n//\tchanged, the coordinates returned by currentpoint will be different\n//\tfrom those that were originally specified for the point. \nBWIPJS.prototype.currpos = function() {\n\treturn { x:(this.g_posx-this.g_tdx)/this.g_tsx,\n\t\t\t y:(this.g_posy-this.g_tdy)/this.g_tsy\n\t\t};\n};\nBWIPJS.prototype.currfont = function() {\n\treturn this.g_font;\n};\nBWIPJS.prototype.translate = function(x, y) {\n\tthis.g_tdx = this.g_tsx * x;\n\tthis.g_tdy = this.g_tsy * y;\n};\nBWIPJS.prototype.scale = function(x, y) {\n\tthis.g_tsx *= x;\n\tthis.g_tsy *= y;\n\tvar sxy = this.drawing.scale(this.g_tsx, this.g_tsy);\n\tif (sxy && sxy[0] && sxy[1]) {\n\t\tthis.g_tsx = sxy[0];\n\t\tthis.g_tsy = sxy[1];\n\t}\n};\nBWIPJS.prototype.setlinewidth = function(w) {\n\tthis.g_penw = w;\n};\nBWIPJS.prototype.selectfont = function(f, z) {\n\tthis.g_font = { FontName:this.jsstring(f), FontSize:+z };\n};\nBWIPJS.prototype.getfont = function() {\n\treturn this.g_font.FontName;\n};\n// Special function for converting a Uint8Array string to string.\nBWIPJS.prototype.jsstring = function(s) {\n\tif (s instanceof Uint8Array) {\n\t\t// Postscript (like C) treats nul-char as end of string.\n\t\tfor (var i = 0, l = s.length; i < l && s[i]; i++);\n\t\tif (i < l) {\n\t\t\treturn String.fromCharCode.apply(null,s.subarray(0, i));\n\t\t}\n\t\treturn String.fromCharCode.apply(null,s)\n\t}\n\treturn ''+s;\n};\n// Special function to replace setanycolor in BWIPP\n// Takes a string of hex digits either 6 chars in length (rrggbb) or\n// 8 chars (ccmmyykk).\nBWIPJS.prototype.setcolor = function(s) {\n\tif (s instanceof Uint8Array) {\n\t\ts = this.jsstring(s);\n\t}\n\tif (s.length == 6) {\n\t\tvar r = parseInt(s.substr(0,2), 16);\n\t\tvar g = parseInt(s.substr(2,2), 16);\n\t\tvar b = parseInt(s.substr(4,2), 16);\n\t\tthis.g_rgb = [ r, g, b ];\n\t} else if (s.length == 8) {\n\t\tvar c = parseInt(s.substr(0,2), 16) / 255;\n\t\tvar m = parseInt(s.substr(2,2), 16) / 255;\n\t\tvar y = parseInt(s.substr(4,2), 16) / 255;\n\t\tvar k = parseInt(s.substr(6,2), 16) / 255;\n\t\tvar r = round((1-c) * (1-k) * 255);\n\t\tvar g = round((1-m) * (1-k) * 255);\n\t\tvar b = round((1-y) * (1-k) * 255);\n\t\tthis.g_rgb = [ r, g, b ];\n\t}\n};\n// Used only by swissqrcode\nBWIPJS.prototype.setrgbcolor = function(r,g,b) {\n this.g_rgb = [ r, g, b ];\n};\n// Returns the current rgb values as a 'RRGGBB'\nBWIPJS.prototype.getRGB = function() {\n\tvar r = this.g_rgb[0].toString(16);\n\tvar g = this.g_rgb[1].toString(16);\n\tvar b = this.g_rgb[2].toString(16);\n\treturn '00'.substr(r.length) + r + '00'.substr(g.length) + g + '00'.substr(b.length) + b;\n};\nBWIPJS.prototype.newpath = function() {\n\tthis.g_path = [];\n};\nBWIPJS.prototype.closepath = function() {\n\tvar path = this.g_path;\n\tvar plen = path.length;\n\tif (!plen) return;\n\n\tvar f = plen-1;\n\tfor ( ; f >= 0 && path[f].op == 'l'; f--);\n\tf++;\n\tif (f < plen-1) {\n\t\tvar poly = [];\n\t\tvar xmin = Infinity;\n\t\tvar ymin = Infinity;\n\t\tvar xmax = -Infinity;\n\t\tvar ymax = -Infinity;\n\t\tfor (var i = f; i < plen; i++) {\n\t\t\tvar a = path[i];\n\t\t\tpoly.push([ a.x0, a.y0 ]);\n\t\t\tif (xmin > a.x0) xmin = a.x0;\n\t\t\tif (xmax < a.x0) xmax = a.x0;\n\t\t\tif (ymin > a.y0) ymin = a.y0;\n\t\t\tif (ymax < a.y0) ymax = a.y0;\n\t\t}\n\t\tvar a = path[plen-1];\n\t\tvar b = path[f];\n\t\tif (a.x1 != b.x0 || a.y1 != b.y0) {\n\t\t\tpoly.push([ a.x1, a.y1 ]);\n\t\t\tif (xmin > a.x1) xmin = a.x1;\n\t\t\tif (xmax < a.x1) xmax = a.x1;\n\t\t\tif (ymin > a.y1) ymin = a.y1;\n\t\t\tif (ymax < a.y1) ymax = a.y1;\n\t\t}\n\t\tpath.splice(f, plen-f,\n\t\t\t\t\t{ op:'p', x0:xmin, y0:ymin, x1:xmax, y1:ymax, poly:poly });\n\t} else {\n\t\tpath.push({ op:'c' });\n\t}\n};\nBWIPJS.prototype.moveto = function(x,y) {\n\tthis.g_posx = this.g_tdx + this.g_tsx * x;\n\tthis.g_posy = this.g_tdy + this.g_tsy * y;\n};\nBWIPJS.prototype.rmoveto = function(x,y) {\n\tthis.g_posx += this.g_tsx * x;\n\tthis.g_posy += this.g_tsy * y;\n};\nBWIPJS.prototype.lineto = function(x,y) {\n\tvar x0 = round(this.g_posx);\n\tvar y0 = round(this.g_posy);\n\tthis.g_posx = this.g_tdx + this.g_tsx * x;\n\tthis.g_posy = this.g_tdy + this.g_tsy * y;\n\tvar x1 = round(this.g_posx);\n\tvar y1 = round(this.g_posy);\n\n\tthis.g_path.push({ op:'l', x0:x0, y0:y0, x1:x1, y1:y1 });\n};\nBWIPJS.prototype.rlineto = function(x,y) {\n\tvar x0 = round(this.g_posx);\n\tvar y0 = round(this.g_posy);\n\tthis.g_posx += this.g_tsx * x;\n\tthis.g_posy += this.g_tsy * y;\n\tvar x1 = round(this.g_posx);\n\tvar y1 = round(this.g_posy);\n\n\tthis.g_path.push({ op:'l', x0:x0, y0:y0, x1:x1, y1:y1 });\n};\n// implements both arc and arcn\nBWIPJS.prototype.arc = function(x,y,r,sa,ea,ccw) {\n\tif (sa == ea) {\n\t\treturn;\n\t}\n\t// For now, we only implement full circles...\n\tif (sa != 0 && sa != 360 || ea != 0 && ea != 360) {\n\t\tthrow new Error('arc: not a full circle (' + sa + ',' + ea + ')');\n\t}\n\n\tx = this.g_tdx + this.g_tsx * x;\n\ty = this.g_tdy + this.g_tsy * y;\n\n\t// e == ellipse\n\tvar rx = r * this.g_tsx;\n\tvar ry = r * this.g_tsy;\n\tthis.g_path.push({ op:'e', x0:x-rx, y0:y-ry, x1:x+rx, y1:y+ry,\n\t\t\t\t\t\t\t\tx:x, y:y, rx:rx, ry:ry, sa:sa, ea:ea, ccw:ccw });\n};\nBWIPJS.prototype.stringwidth = function(str) {\n\tvar tsx = this.g_tsx;\n\tvar tsy = this.g_tsy;\n\tvar size = +this.g_font.FontSize || 10;\n\n\t// The string can be either a uint8-string or regular string\n\tstr = this.jsstring(str);\n\n\tvar bbox = this.drawing.measure(str, this.g_font.FontName, size*tsx, size*tsy);\n\n\treturn { w:bbox.width/tsx, h:(bbox.ascent+bbox.descent)/tsy,\n\t\t\t a:bbox.ascent/tsy, d:bbox.descent/tsy };\n};\nBWIPJS.prototype.charpath = function(str, b) {\n\tvar sw = this.stringwidth(str);\n\n\t// Emulate the char-path by placing a rectangle around it\n\tthis.rlineto(0, sw.a);\n\tthis.rlineto(sw.w, 0);\n\tthis.rlineto(0, -sw.h);\n};\nBWIPJS.prototype.pathbbox = function() {\n\tif (!this.g_path.length)\tthrow new Error('pathbbox: --nocurrentpoint--');\n\tvar path = this.g_path;\n\tvar llx = Infinity;\n\tvar lly = Infinity;\n\tvar urx = -Infinity;\n\tvar ury = -Infinity;\n\tfor (var i = 0; i < path.length; i++) {\n\t\tvar a = path[i];\n\t\tif (a.op == 'c') {\n\t\t\tcontinue;\n\t\t}\n\t\tif (a.x0 < a.x1) {\n\t\t\tif (llx > a.x0) llx = a.x0;\n\t\t\tif (urx < a.x1) urx = a.x1;\n\t\t} else {\n\t\t\tif (llx > a.x1) llx = a.x1;\n\t\t\tif (urx < a.x0) urx = a.x0;\n\t\t}\n\t\tif (a.y0 < a.y1) {\n\t\t\tif (lly > a.y0) lly = a.y0;\n\t\t\tif (ury < a.y1) ury = a.y1;\n\t\t} else {\n\t\t\tif (lly > a.y1) lly = a.y1;\n\t\t\tif (ury < a.y0) ury = a.y0;\n\t\t}\n\t}\n\n\t// Convert to user-space coordinates\n\tvar rv = {\tllx:(llx-this.g_tdx)/this.g_tsx,\n\t\t\t\tlly:(lly-this.g_tdy)/this.g_tsy,\n\t\t\t\turx:(urx-this.g_tdx)/this.g_tsx,\n\t\t\t\tury:(ury-this.g_tdy)/this.g_tsy };\n\treturn rv;\n};\n// Tranforms the pts array to standard (not y-inverted), unscalled values.\nBWIPJS.prototype.transform = function(pts) {\n\tvar minx = this.minx;\n\tvar maxy = this.maxy;\n\n\tfor (var i = 0; i < pts.length; i++) {\n\t\tvar pt = pts[i];\n\t\tpt[0] = pt[0] - minx;\n\t\tpt[1] = maxy - pt[1];\n\t}\n};\nBWIPJS.prototype.stroke = function() {\n\tvar tsx = this.g_tsx;\n\tvar tsy = this.g_tsy;\n\tvar path = this.g_path;\n\tvar rgb = this.getRGB();\n\tthis.g_path = [];\n\n\t// This is a \"super majority\" round i.e. if over .66 round up.\n\tvar penw = floor(this.g_penw * tsx + 0.66);\n\tvar penh = floor(this.g_penw * tsy + 0.66);\n\n\t// Calculate the bounding boxes\n\tvar nlines = 0, npolys = 0;\n\tfor (var i = 0; i < path.length; i++) {\n\t\tvar a = path[i];\n\t\tif (a.op == 'l') {\n\t\t\t// We only stroke vertical and horizontal lines. Complex shapes are\n\t\t\t// always filled.\n\t\t\tif (a.x0 != a.x1 && a.y0 != a.y1) {\n\t\t\t\tthrow new Error('stroke: --not-orthogonal--');\n\t\t\t}\n\t\t\tvar x0 = a.x0;\n\t\t\tvar y0 = a.y0;\n\t\t\tvar x1 = a.x1;\n\t\t\tvar y1 = a.y1;\n\n\t\t\t// Half widths (may be factional)\n\t\t\tvar penw2 = penw/2;\n\t\t\tvar penh2 = penh/2;\n\n\t\t\tif (x0 > x1) { var t = x0; x0 = x1; x1 = t; }\n\t\t\tif (y0 > y1) { var t = y0; y0 = y1; y1 = t; }\n\t\t\tif (x0 == x1) {\n\t\t\t\tthis.bbox(x0-penw2, y0, x0+penw-penw2-1, y1); \t// vertical line\n\t\t\t} else {\n\t\t\t\tthis.bbox(x0, y0-penh+penh2+1, x1, y1+penh2);\t// horizontal line\n\t\t\t}\n\t\t\tnlines++;\n\t\t} else if (a.op == 'p') {\n\t\t\t// Closed (rectangular) poly (border around the barcode)\n\t\t\tvar minx = Infinity;\n\t\t\tvar miny = Infinity;\n\t\t\tvar maxx = -Infinity;\n\t\t\tvar maxy = -Infinity;\n\t\t\tvar pts = a.poly;\n\t\t\tif (pts.length != 4) {\n\t\t\t\tthrow new Error('stroke: --not-a-rect--');\n\t\t\t}\n\t\t\tfor (var i = 0, j = pts.length-1; i < pts.length; j = i++) {\n\t\t\t\tvar xj = pts[j][0];\n\t\t\t\tvar yj = pts[j][1];\n\t\t\t\tvar xi = pts[i][0];\n\t\t\t\tvar yi = pts[i][1];\n\n\t\t\t\tif (xi != xj && yi != yj) {\n\t\t\t\t\tthrow new Error('stroke: --not-orthogonal--');\n\t\t\t\t}\n\n\t\t\t\tif (xi < minx) minx = xi;\n\t\t\t\tif (xi > maxx) maxx = xi;\n\t\t\t\tif (yi < miny) miny = yi;\n\t\t\t\tif (yi > maxy) maxy = yi;\n\t\t\t}\n\n\t\t\t// Half widths (integer)\n\t\t\tvar penw2 = ceil(penw/2);\n\t\t\tvar penh2 = ceil(penh/2);\n\n\t\t\t// We render these as two polygons plus a fill.\n\t\t\t// When border width is odd, allocate the bigger half to the outside.\n\t\t\tthis.bbox(minx-penw2, miny-penh2, maxx+penw2, maxy+penh2);\n\t\t\tnpolys++;\n\t\t} else {\n\t\t\tthrow new Error('stroke: --not-a-line--');\n\t\t}\n\t}\n\n\t// Draw the lines\n\tvar self = this;\n\tthis.cmds.push(function() {\n\t\t// Half widths (big half and remaining half)\n\t\tvar bigw2 = ceil(penw/2);\n\t\tvar bigh2 = ceil(penh/2);\n\t\tvar remw2 = penw - bigw2;\n\t\tvar remh2 = penh - bigh2;\n\n\t\tfor (var i = 0; i < path.length; i++) {\n\t\t\tvar a = path[i]\n\t\t\tif (a.op == 'l') {\n\t\t\t\tvar pts = [ [ a.x0, a.y0 ], [ a.x1, a.y1 ] ];\n\t\t\t\tself.transform(pts);\n\t\t\t\tself.drawing.line(pts[0][0], pts[0][1], pts[1][0], pts[1][1],\n\t\t\t\t\t\t\ta.x0 == a.x1 ? penw : penh, rgb);\n\t\t\t\tself.fill(rgb);\n\t\t\t} else {\n\t\t\t\tvar pts = a.poly;\n\t\t\t\tself.transform(pts);\n\t\t\t\tvar x0 = min(pts[0][0], pts[2][0]);\n\t\t\t\tvar x1 = max(pts[0][0], pts[2][0]);\n\t\t\t\tvar y0 = min(pts[0][1], pts[2][1]);\n\t\t\t\tvar y1 = max(pts[0][1], pts[2][1]);\n\n\t\t\t\t// Top and left edges are \"inside\" the polygon.\n\t\t\t\t// Bottom and right edges are outside.\n\t\t\t\tself.drawing.polygon([\n\t\t\t\t\t\t[ x0-bigw2, y0-bigh2 ],\n\t\t\t\t\t\t[ x0-bigw2, y1+bigh2+1 ],\n\t\t\t\t\t\t[ x1+bigw2+1, y1+bigh2+1 ],\n\t\t\t\t\t\t[ x1+bigw2+1, y0-bigh2 ]\n\t\t\t\t\t]);\n\t\t\t\tself.drawing.polygon([\n\t\t\t\t\t\t[ x0+remw2, y0+remh2 ],\n\t\t\t\t\t\t[ x0+remw2, y1-remh2+1 ],\n\t\t\t\t\t\t[ x1-remw2+1, y1-remh2+1 ],\n\t\t\t\t\t\t[ x1-remw2+1, y0+remh2 ],\n\t\t\t\t\t]);\n\t\t\t\tself.drawing.fill(rgb);\n\t\t\t}\n\t\t}\n\t});\n};\nBWIPJS.prototype.fill = function() {\n\tvar path = this.g_path;\n\tvar rgb = this.getRGB();\n\tthis.g_path = [];\n\n\t// Calculate the bounding boxes\n\tfor (var p = 0; p < path.length; p++) {\n\t\tvar a = path[p];\n\t\tif (a.op == 'p') { // polygon\n\t\t\tvar minx = Infinity;\n\t\t\tvar miny = Infinity;\n\t\t\tvar maxx = -Infinity;\n\t\t\tvar maxy = -Infinity;\n\t\t\tvar pts = a.poly;\n\t\t\tfor (var i = 0; i < pts.length; i++) {\n\t\t\t\tvar xi = pts[i][0];\n\t\t\t\tvar yi = pts[i][1];\n\n\t\t\t\tif (xi < minx) minx = xi;\n\t\t\t\tif (xi > maxx) maxx = xi;\n\t\t\t\tif (yi < miny) miny = yi;\n\t\t\t\tif (yi > maxy) maxy = yi;\n\t\t\t}\n\t\t\t// With polygons, the right and bottom edges are \"outside\" and do not\n\t\t\t// contribute to the bounding box. But we are in postscript inverted-y\n\t\t\t// mode.\n\t\t\tthis.bbox(minx, miny+1, maxx-1, maxy);\n\t\t} else if (a.op == 'e') {\t// ellipse\n\t\t\tthis.bbox(a.x - a.rx, a.y - a.ry, a.x + a.rx, a.y + a.ry);\n\t\t} else {\n\t\t\tthrow new Error('fill: --not-a-polygon--');\n\t\t}\n\t}\n\n\t// Render the poly\n\tvar self = this;\n\tthis.cmds.push(function() {\n\t\tfor (var i = 0; i < path.length; i++) {\n\t\t\tvar a = path[i];\n\t\t\tif (a.op == 'p') {\n\t\t\t\tvar pts = a.poly\n\t\t\t\tself.transform(pts);\n\t\t\t\tself.drawing.polygon(pts);\n\t\t\t} else if (a.op == 'e') {\n\t\t\t\tvar pts = [ [ a.x, a.y ] ];\n\t\t\t\tself.transform(pts);\n\t\t\t\tself.drawing.ellipse(pts[0][0], pts[0][1], a.rx, a.ry, a.ccw);\n\t\t\t}\n\t\t}\n\t\tself.drawing.fill(rgb);\n\t});\n};\nBWIPJS.prototype.clip = function() {\n\tvar path = this.g_path;\n\tthis.g_path = [];\n this.g_clip = true;\n\n\tvar self = this;\n\tthis.cmds.push(function() {\n var polys = [];\n\t\tfor (var i = 0; i < path.length; i++) {\n\t\t\tvar a = path[i];\n\t\t\tif (a.op == 'p') {\n\t\t\t\tvar pts = a.poly\n\t\t\t\tself.transform(pts);\n polys.push(pts);\n\t\t\t} else {\n throw new Error('clip: only polygon regions supported');\n\t\t\t}\n\t\t}\n\t\tself.drawing.clip(polys);\n\t});\n};\n\n// The pix array is in standard (not y-inverted postscript) orientation.\nBWIPJS.prototype.maxicode = function(pix) {\n\tvar tsx = this.g_tsx;\n\tvar tsy = this.g_tsy;\n\tvar rgb = this.getRGB();\n\n\t// Module width. Module height is an integer multiple of tsy.\n\tvar twidth = 1.04 * tsx * 100;\n\tvar mwidth = (twidth / 30)|0;\n\tif (twidth - (mwidth*30-1) > 9) {\n\t\tmwidth++;\n\t}\n\n\t// Dimensions needed for plotting the hexagons. These must be integer values.\n\tvar w, h, wgap, hgap;\n\t// if (opts.??? ) {\n\t//\t// Create a one or two pixel gap\n\t//\twgap = (mwidth & 1) ? 1 : 2;\n\t//\thgap = 1;\n\t//\tw = mwidth - gap;\n\t//\th = 4 * tsy;\n\t// } else {\n\t\t// Create a 1/8mm gap\n\t\twgap = (tsx/2)|0;\n\t\thgap = (tsy/2)|0;\n\t\tw = mwidth - wgap;\n\t\tif (w & 1) {\n\t\t\tw--;\n\t\t}\n\t\th = ((4*tsy)|0) - hgap;\n\t//}\n\n\t// These must be integer values\n\tvar w2 = w / 2 - 1;\t\t\t// half width\n\tvar qh = ((w2+1) / 2)|0;\t// quarter height\n\tvar vh = h - 2 - 2 * qh;\t// side height\n\n\t// Bounding box\n\tthis.bbox(0, 0, mwidth*30 - wgap, tsy * 3 * 32 + tsy * 4 - hgap);\n\n\t// Render the elements\n\tvar self = this;\n\tthis.cmds.push(function() {\n\t\t// Draw the hexagons\n\t\tfor (var i = 0; i < pix.length; i++) {\n\t\t\tvar c = pix[i];\n\t\t\tvar x = c % 30;\n\t\t\tvar y = (c / 30)|0;\n\n\t\t\t// Adjust x,y to the top of hexagon\n\t\t\tx *= mwidth;\n\t\t\tx += (y & 1) ? mwidth : mwidth/2;\n\t\t\tx = x|0;\n\n\t\t\ty = 33 - y;\t// invert for postscript notation\n\t\t\ty *= tsy * 3;\n\t\t\ty += tsy * 2 - h/2;\n\t\t\ty = y|0;\n\t\t\t\n\t\t\t// Build bottom up so the drawing is top-down.\n\t\t\tvar pts = [ [ x-0.5, y-- ] ]; \n\t\t\ty -= qh-1;\n\t\t\tpts.push([x-1-w2, y--]);\n\t\t\ty -= vh;\n\t\t\tpts.push([x-1-w2, y--]);\n\t\t\ty -= qh-1;\n\t\t\tpts.push([x-0.5, y++]);\n\t\t\ty += qh-1;\n\t\t\tpts.push([x+w2, y++]);\n\t\t\ty += vh;\n\t\t\tpts.push([x+w2, y++]);\n\n\t\t\tself.transform(pts);\n\t\t\tself.drawing.hexagon(pts, rgb);\n\t\t}\n\t\tself.drawing.fill(rgb);\n\n\n\t\t// Draw the rings\n\t\tvar x = (14 * mwidth + mwidth/2 + 0.01)|0;\n\t\tvar y = ((12 * 4 + 3) * tsy - qh/2 + 0.01)|0;\n\t\tself.drawing.ellipse(x, y, (0.5774*3.5*tsx+0.01)|0, (0.5774*3.5*tsy+0.01)|0, true);\n\t\tself.drawing.ellipse(x, y, (1.3359*3.5*tsx+0.01)|0, (1.3359*3.5*tsy+0.01)|0, false);\n\t\tself.drawing.fill(rgb);\n\t\tself.drawing.ellipse(x, y, (2.1058*3.5*tsx+0.01)|0, (2.1058*3.5*tsy+0.01)|0, true);\n\t\tself.drawing.ellipse(x, y, (2.8644*3.5*tsx+0.01)|0, (2.8644*3.5*tsy+0.01)|0, false);\n\t\tself.drawing.fill(rgb);\n\t\tself.drawing.ellipse(x, y, (3.6229*3.5*tsx+0.01)|0, (3.6229*3.5*tsy+0.01)|0, true);\n\t\tself.drawing.ellipse(x, y, (4.3814*3.5*tsx+0.01)|0, (4.3814*3.5*tsy+0.01)|0, false);\n\t\tself.drawing.fill(rgb);\n\n\t});\n};\n\n// dx,dy are inter-character gaps\nBWIPJS.prototype.show = function(str, dx, dy) {\n\tif (!str.length) {\n\t\treturn;\n\t}\n\n\t// Capture current graphics state\n\tvar tsx\t = this.g_tsx;\n\tvar tsy = this.g_tsy;\n\tvar name = this.g_font.FontName || 'OCR-B';\n\tvar size = (this.g_font.FontSize || 10);\n\tvar szx = size * tsx;\n\tvar szy = size * tsy;\n\tvar posx = this.g_posx;\n\tvar posy = this.g_posy;\n\tvar rgb = this.getRGB();\n\n\t// The string can be either a uint8-string or regular string\n\tstr = this.jsstring(str);\n\n\t// Convert dx,dy to device space\n\tdx = tsx * dx || 0;\n\tdy = tsy * dy || 0;\n\n\t// Bounding box.\n\tvar base = posy + dy;\n\tvar bbox = this.drawing.measure(str, name, szx, szy);\n\tvar width = bbox.width + (str.length-1) * dx;\n\tthis.bbox(posx, base-bbox.descent+1, posx+width-1, base+bbox.ascent);\n\tthis.g_posx += width;\n\n\tvar self = this;\n\tself.cmds.push(function() {\n\t\t// self.transform()\n\t\tvar x = posx - self.minx;\n\t\tvar y = self.maxy - posy;\n\t\tself.drawing.text(x, y, str, rgb, { name:name, width:szx, height:szy, dx:dx });\n\t});\n};\n// drawing surface bounding box\nBWIPJS.prototype.bbox = function(x0, y0, x1, y1) {\n\tif (x0 > x1) { var t = x0; x0 = x1; x1 = t; }\n\tif (y0 > y1) { var t = y0; y0 = y1; y1 = t; }\n\n\tx0 = floor(x0);\n\ty0 = floor(y0);\n\tx1 = ceil(x1);\n\ty1 = ceil(y1);\n\n\tif (this.minx > x0) this.minx = x0;\n if (this.maxx < x1)\tthis.maxx = x1;\n if (this.miny > y0)\tthis.miny = y0;\n\tif (this.maxy < y1)\tthis.maxy = y1;\n};\nBWIPJS.prototype.render = function() {\n\tif (this.minx === Infinity) {\n // Most likely, `dontdraw` was set in the options\n return new Promise(function (resolve, reject) {\n resolve(null);\n });\n\t}\n\t// Draw the image\n\tthis.drawing.init(this.maxx - this.minx + 1, this.maxy - this.miny + 1,\n\t\t\t\t\t this.g_tsx, this.g_tsy);\n\tfor (var i = 0, l = this.cmds.length; i < l; i++) {\n\t\tthis.cmds[i]();\n\t}\n\treturn this.drawing.end();\n};\n\nreturn BWIPJS;\n})();\t// BWIPJS closure\n// drawing-builtin.js\n//\n// The aliased (except the fonts) graphics used by drawing-canvas.js and\n// drawing-png.js\n//\n// All x,y and lengths are integer values.\n//\n// For the methods that take a color `rgb` parameter, the value is always a\n// string with format RRGGBB.\n//\n// opts is the same options object passed into the bwipjs methods.\nfunction DrawingBuiltin(opts) {\n\tvar floor = Math.floor;\n\n\t// Unrolled x,y rotate/translate matrix\n\tvar tx0 = 0, tx1 = 0, tx2 = 0, tx3 = 0;\n\tvar ty0 = 0, ty1 = 0, ty2 = 0, ty3 = 0;\n\n\tvar gs_image, gs_rowbyte;\t// rowbyte will be 1 for png's, 0 for canvas\n\tvar gs_width, gs_height;\t// image size, in pixels\n\tvar gs_dx, gs_dy;\t\t\t// x,y translate (padding)\n\tvar gs_r, gs_g, gs_b;\t\t// rgb\n\tvar gs_xymap;\t\t\t\t// even-odd edge map\n var gs_xyclip; // clip region map (similar to xymap)\n\n\treturn {\n\t\t// Ensure compliant bar codes by always using integer scaling factors.\n\t\tscale : function(sx, sy) {\n // swissqrcode requires clipping and drawing that are not scaled to the\n // the barcode module size.\n if (opts.bcid == 'swissqrcode') {\n return [ sx, sy ];\n } else {\n\t\t\t return [ (sx|0)||1, (sy|0)||1 ];\n }\n\t\t},\n\n\t\t// Measure text. This and scale() are the only drawing primitives that\n\t\t// are called before init().\n\t\t//\n\t\t// `font` is the font name typically OCR-A or OCR-B.\n\t\t// `fwidth` and `fheight` are the requested font cell size. They will\n\t\t// usually be the same, except when the scaling is not symetric.\n\t\tmeasure : function(str, font, fwidth, fheight) {\n\t\t\tfwidth = fwidth|0;\n\t\t\tfheight = fheight|0;\n\n\t\t\tvar fontid = FontLib.lookup(font);\n\t\t\tvar width = 0;\n\t\t\tvar ascent = 0;\n\t\t\tvar descent = 0;\n\t\t\tfor (var i = 0, l = str.length; i < l; i++) {\n\t\t\t\tvar ch = str.charCodeAt(i);\n\t\t\t\tvar glyph = FontLib.getglyph(fontid, ch, fwidth, fheight);\n\n\t\t\t\tascent = Math.max(ascent, glyph.top);\n\t\t\t\tdescent = Math.max(descent, glyph.height - glyph.top);\n\n\t\t\t\tif (i == l-1) {\n\t\t\t\t\twidth += glyph.left + glyph.width;\n\t\t\t\t} else {\n\t\t\t\t\twidth += glyph.advance;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { width:width, ascent:ascent, descent:descent };\n\t\t},\n\n\t\t// width and height represent the maximum bounding box the graphics will occupy.\n\t\t// The dimensions are for an unrotated rendering. Adjust as necessary.\n\t\tinit : function(width, height) {\n\t\t\t// Add in the effects of padding. These are always set before the\n\t\t\t// drawing constructor is called.\n\t\t\tvar padl = opts.paddingleft;\n\t\t\tvar padr = opts.paddingright;\n\t\t\tvar padt = opts.paddingtop;\n\t\t\tvar padb = opts.paddingbottom;\n\t\t\tvar rot = opts.rotate || 'N';\n\n\t\t\twidth += padl + padr;\n\t\t\theight += padt + padb;\n\n\t\t\tif (+opts.sizelimit && +opts.sizelimit < width * height) {\n\t\t\t\tthrow new Error('Image size over limit');\n\t\t\t}\n\n\t\t\t// Transform indexes are: x, y, w, h\n\t\t\tswitch (rot) {\n\t\t\t// tx = w-y, ty = x\n\t\t\tcase 'R': tx1 = -1; tx2 = 1; ty0 = 1; break;\n\t\t\t// tx = w-x, ty = h-y\n\t\t\tcase 'I': tx0 = -1; tx2 = 1; ty1 = -1; ty3 = 1; break;\n\t\t\t// tx = y, ty = h-x\n\t\t\tcase 'L': tx1 = 1; ty0 = -1; ty3 = 1; break;\n\t\t\t// tx = x, ty = y\n\t\t\tdefault: tx0 = ty1 = 1; break;\n\t\t\t}\n\n\t\t\t// Setup the graphics state\n\t\t\tvar swap = rot == 'L' || rot == 'R';\n\t\t\tgs_width = swap ? height : width;\n\t\t\tgs_height = swap ? width : height;\n\t\t\tgs_dx = padl;\n\t\t\tgs_dy = padt;\n\t\t\tgs_xymap = [];\n\t\t\tgs_xymap.min = Infinity;\n gs_xyclip = null;\n\t\t\tgs_r = gs_g = gs_b = 0;\n\n\t\t\t// Get the rgba image from the constructor\n\t\t\tvar res = this.image(gs_width, gs_height);\n\t\t\tgs_image = res.buffer;\n\t\t\tgs_rowbyte = res.ispng ? 1 : 0;\n\t\t},\n\t\t// Unconnected stroked lines are used to draw the bars in linear barcodes;\n\t\t// and the border around a linear barcode (e.g. ITF-14)\n\t\t// No line cap should be applied. These lines are always orthogonal.\n\t\tline : function(x0, y0, x1, y1, lw, rgb) {\n\t\t\tx0 = x0|0;\n\t\t\ty0 = y0|0;\n\t\t\tx1 = x1|0;\n\t\t\ty1 = y1|0;\n\n\t\t\t// Most linear barcodes, the line width will be integral. The exceptions\n\t\t\t// are variable width barcodes (e.g. code39) and the postal 4-state codes.\n\t\t\tlw = Math.round(lw) || 1;\n\n\t\t\tif (y1 < y0) { var t = y0; y0 = y1; y1 = t; }\n\t\t\tif (x1 < x0) { var t = x0; x0 = x1; x1 = t; }\n\n\t\t\tgs_r = parseInt(rgb.substr(0,2), 16);\n\t\t\tgs_g = parseInt(rgb.substr(2,2), 16);\n\t\t\tgs_b = parseInt(rgb.substr(4,2), 16);\n\n\t\t\t// Horizontal or vertical line?\n\t\t\tvar w2 = (lw/2)|0;\n\t\t\tif (x0 == x1) {\n\t\t\t\t// Vertical line\n\t\t\t\tx0 = x0 - lw + w2; // big half\n\t\t\t\tx1 = x1 + w2 - 1; // small half\n\t\t\t} else {\n\t\t\t\t// Horizontal line (inverted halves)\n\t\t\t\ty0 = y0 - w2;\n\t\t\t\ty1 = y1 + lw - w2 - 1;\n\t\t\t}\n\t\t\tfor (var y = y0; y <= y1; y++) {\n\t\t\t\tfor (var x = x0; x <= x1; x++) {\n\t\t\t\t\tset(x, y, 255);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Polygons are used to draw the connected regions in a 2d barcode.\n\t\t// These will always be unstroked, filled, orthogonal shapes.\n // \n\t\t// You will see a series of polygon() calls, followed by a fill().\n\t\tpolygon : function(pts) {\n\t\t\tvar npts = pts.length;\n\t\t\tfor (var j = npts-1, i = 0; i < npts; j = i++) {\n\t\t\t\tif (pts[j][0] == pts[i][0]) {\n\t\t\t\t\t// Vertical lines do not get their end points. End points\n\t\t\t\t\t// are added by the horizontal line logic.\n\t\t\t\t\tvar xj = pts[j][0]|0;\t// i or j, doesn't matter\n\t\t\t\t\tvar yj = pts[j][1]|0;\n\t\t\t\t\tvar yi = pts[i][1]|0;\n\t\t\t\t\tif (yj > yi) {\n\t\t\t\t\t\tfor (var y = yi+1; y < yj; y++) {\n\t\t\t\t\t\t\taddPoint(xj, y);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (var y = yj+1; y < yi; y++) {\n\t\t\t\t\t\t\taddPoint(xj, y);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvar xj = pts[j][0]|0;\n\t\t\t\t\tvar xi = pts[i][0]|0;\n\t\t\t\t\tvar yj = pts[j][1]|0;\t// i or j, doesn't matter\n\n\t\t\t\t\t// Horizontal lines are tricky. As a rule, top lines get filled,\n\t\t\t\t\t// bottom lines do not (similar to how left edges get filled and\n\t\t\t\t\t// right edges do not).\n\t\t\t\t\t//\n\t\t\t\t\t// Where it gets complex is deciding whether the line actually\n\t\t\t\t\t// adds edges. There are cases where a horizontal line does\n\t\t\t\t\t// not add anything to the scanline plotting. And it doesn't\n\t\t\t\t\t// actually matter whether the line is a top or bottom edge,\n\t\t\t\t\t// the logic is the same.\n\t\t\t\t\t//\n\t\t\t\t\t// A left edge is added if the edge to its left is below.\n\t\t\t\t\t// A right edge is added if the edge to its right is below.\n\t\t\t\t\tif (xj < xi) {\n\t\t\t\t\t\tvar yl = pts[j == 0 ? npts-1 : j-1][1];\t// left edge\n\t\t\t\t\t\tvar yr = pts[i == npts-1 ? 0 : i+1][1];\t// right edge\n\t\t\t\t\t\tif (yl > yj) {\n\t\t\t\t\t\t\taddPoint(xj, yj);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (yr > yj) {\n\t\t\t\t\t\t\taddPoint(xi, yj);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar yl = pts[i == npts-1 ? 0 : i+1][1];\t// left edge\n\t\t\t\t\t\tvar yr = pts[j == 0 ? npts-1 : j-1][1];\t// right edge\n\t\t\t\t\t\tif (yl > yj) {\n\t\t\t\t\t\t\taddPoint(xi, yj);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (yr > yj) {\n\t\t\t\t\t\t\taddPoint(xj, yj);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// An unstroked, filled hexagon used by maxicode. You can choose to fill\n\t\t// each individually, or wait for the final fill().\n\t\t//\n\t\t// The hexagon is drawn from the top, counter-clockwise.\n\t\t//\n\t\t// The X-coordinate for the top and bottom points on the hexagon is always\n\t\t// .5 pixels. We draw our hexagons with a 2 pixel flat top.\n\t\t//\n\t\t// All other points of the polygon/hexagon are guaranteed to be integer values.\n\t\thexagon : function(pts, rgb) {\n\t\t\tvar x = pts[0][0]|0;\n\t\t\tvar y = pts[0][1]|0;\n\t\t\tvar qh = (pts[1][1] - pts[0][1])|0;\t\t// height of triangle (quarter height)\n\t\t\tvar vh = (pts[2][1] - pts[1][1] - 1)|0;\t// height of vertical side\n\t\t\tvar xl = (pts[2][0])|0;\t\t\t\t\t// left side\n\t\t\tvar xr = (pts[4][0])|0;\t\t\t\t\t// right side\n\n\t\t\tgs_r = parseInt(rgb.substr(0,2), 16);\n\t\t\tgs_g = parseInt(rgb.substr(2,2), 16);\n\t\t\tgs_b = parseInt(rgb.substr(4,2), 16);\n\n\t\t\tfillSegment(x, x+1, y++);\n\t\t\tfor (var k = 1; k < qh; k++) {\n\t\t\t\tfillSegment(x-2*k, x+1+2*k, y++);\n\t\t\t}\n\t\t\tfor (var k = 0; k <= vh; k++) {\n\t\t\t\tfillSegment(xl, xr, y++);\n\t\t\t}\n\t\t\tfor (var k = qh-1; k >= 1; k--) {\n\t\t\t\tfillSegment(x-2*k, x+1+2*k, y++);\n\t\t\t}\n\t\t\tfillSegment(x, x+1, y);\n\t\t},\n\t\t// An unstroked, filled ellipse. Used by dotcode and maxicode at present.\n\t\t// maxicode issues pairs of ellipse calls (one cw, one ccw) followed by a fill()\n\t\t// to create the bullseye rings. dotcode issues all of its ellipses then a\n\t\t// fill().\n\t\tellipse : function(x, y, rx, ry, ccw) {\n\t\t\tdrawEllipse((x-rx)|0, (y-ry)|0, (x+rx)|0, (y+ry)|0, ccw);\n\t\t},\n\t\t// PostScript's default fill rule is even-odd.\n\t\tfill : function(rgb) {\n\t\t\tgs_r = parseInt(rgb.substr(0,2), 16);\n\t\t\tgs_g = parseInt(rgb.substr(2,2), 16);\n\t\t\tgs_b = parseInt(rgb.substr(4,2), 16);\n\n\t\t\tevenodd();\n\t\t\tgs_xymap = [];\n\t\t\tgs_xymap.min = Infinity;\n\t\t},\n // Currently only used by swissqrcode. The `polys` area is an array of\n // arrays of points. Each array of points is identical to the `pts`\n // parameter passed to polygon(). The clipping rule, like the fill rule,\n // uses even-odd logic.\n clip : function(polys) {\n if (!gs_xyclip) {\n gs_xyclip = [];\n gs_xyclip.min = Infinity;\n }\n // Swap out the xymap for the clip map so addPoint() works on it.\n var xymap = gs_xymap;\n gs_xymap = gs_xyclip;\n\n // Now just use the polygon() logic to fill in the clipping regions.\n for (var i = 0, l = polys.length; i < l; i++) {\n this.polygon(polys[i]);\n }\n\n // Restore\n gs_xymap = xymap;\n },\n unclip : function() {\n gs_xyclip = null;\n },\n\t\t// Draw text with optional inter-character spacing. `y` is the baseline.\n\t\t// font is an object with properties { name, width, height, dx }\n\t\t// width and height are the font cell size.\n\t\t// dx is extra space requested between characters (usually zero).\n\t\ttext : function(x, y, str, rgb, font) {\n\t\t\tx = x|0;\n\t\t\ty = y|0;\n\n\t\t\tgs_r = parseInt(rgb.substr(0,2), 16);\n\t\t\tgs_g = parseInt(rgb.substr(2,2), 16);\n\t\t\tgs_b = parseInt(rgb.substr(4,2), 16);\n\n\t\t\tvar fontid = FontLib.lookup(font.name);\n\t\t\tvar fwidth = font.width|0;\n\t\t\tvar fheight = font.height|0;\n\t\t\tvar dx = font.dx|0;\n\t\t\tfor (var k = 0; k < str.length; k++) {\n\t\t\t\tvar ch = str.charCodeAt(k);\n\t\t\t\tvar glyph = FontLib.getglyph(fontid, ch, fwidth, fheight);\n\n\t\t\t\tvar gt = y - glyph.top;\n\t\t\t\tvar gl = glyph.left;\n\t\t\t\tvar gw = glyph.width;\n\t\t\t\tvar gh = glyph.height;\n\t\t\t\tvar gb = glyph.bytes;\n\t\t\t\tvar go = glyph.offset;\t\t// offset into bytes\n\n\t\t\t\tfor (var i = 0; i < gw; i++) {\n\t\t\t\t\tfor (var j = 0; j < gh; j++) {\n\t\t\t\t\t\tvar a = gb[go + j * gw + i];\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tset(x+gl+i, gt+j, a);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tx += glyph.advance + dx;\n\t\t\t}\n\t\t},\n\t\t// Called after all drawing is complete.\n\t\tend : function() {\n\t\t},\n\t};\n\n\t// This code is specialized to deal with two types of RGBA buffers:\n\t// - canvas style, which is true RGBA\n\t// - PNG style, which has a one-byte \"filter code\" prefixing each row.\n\tfunction set(x, y, a) {\n if (gs_xyclip && clipped(x, y)) {\n return;\n }\n\t\t// translate/rotate\n\t\tx += gs_dx;\n\t\ty += gs_dy;\n\t\tvar tx = tx0 * x + tx1 * y + tx2 * (gs_width-1) + tx3 * (gs_height-1);\n\t\tvar ty = ty0 * x + ty1 * y + ty2 * (gs_width-1) + ty3 * (gs_height-1);\n\n\t\t// https://en.wikipedia.org/wiki/Alpha_compositing\n\t\tvar offs = (ty * gs_width + tx) * 4 + (ty+1) * gs_rowbyte;\n\t\tvar dsta = gs_image[offs+3] / 255;\n\t\tvar srca = a / 255;\n\t\tvar inva = (1 - srca) * dsta;\n\t\tvar outa = srca + inva;\n\n\t\tgs_image[offs+0] = ((gs_r * srca + gs_image[offs+0] * inva) / outa)|0;\n\t\tgs_image[offs+1] = ((gs_g * srca + gs_image[offs+1] * inva) / outa)|0;\n\t\tgs_image[offs+2] = ((gs_b * srca + gs_image[offs+2] * inva) / outa)|0;\n\t\tgs_image[offs+3] = (255 * outa)|0;\n\t}\n\n\t// Add a point on an edge to the scanline map.\n\tfunction addPoint(x, y) {\n\t\tif (gs_xymap.min > y) gs_xymap.min = y;\n\t\tif (!gs_xymap[y]) {\n\t\t\tgs_xymap[y] = [ x ];\n\t\t} else {\n\t\t\tgs_xymap[y].push(x);\n\t\t}\n\t}\n\n\tfunction fillSegment(x0, x1, y) {\n\t\twhile (x0 <= x1) {\n\t\t\tset(x0++, y, 255);\n\t\t}\n\t}\n\n\t// even-odd fill\n\t//\n\t// This implementation is optimized for BWIPP's simple usage.\n\t// It is not a general purpose scanline fill. It relies heavily on\n\t// polygon() creating the correct intersections.\n\tfunction evenodd() {\n\t\tvar ymin = gs_xymap.min;\n\t\tvar ymax = gs_xymap.length-1;\n\n\t\tfor (var y = ymin; y <= ymax; y++) {\n\t\t\tvar pts = gs_xymap[y];\n\t\t\tif (!pts) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpts.sort(function(a, b) { return a - b; });\n\n\t\t\tvar wn = false;\n\t\t\tvar xl = 0;\n\t\t\tfor (var n = 0, npts = pts.length; n < npts; n++) {\n\t\t\t\tvar x = pts[n];\n\t\t\t\tif (wn) {\n\t\t\t\t\tfillSegment(xl, x-1, y);\n\t\t\t\t} else {\n\t\t\t\t\txl = x;\n\t\t\t\t}\n\t\t\t\twn = !wn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction drawEllipse(x0, y0, x1, y1, dir) {\n\t\tx0 = x0|0;\n\t\ty0 = y0|0;\n\t\tx1 = x1|0;\n\t\ty1 = y1|0;\n\n\t\tvar a = Math.abs(x1-x0);\n\t\tvar b = Math.abs(y1-y0);\n\t\tvar b1 = b & 1;\n\t\tvar dx = 4*(1-a)*b*b;\n\t\tvar dy = 4*(b1+1)*a*a;\n\t\tvar err = dx + dy + b1*a*a;\n\t\tvar e2;\n\n\t\t// Left and right edges\n\t\tvar left = [], right = [];\n\t\tleft.min = right.min = Infinity;\n\n\t\tif (x0 > x1) { x0 = x1; x1 += a; }\n\t\tif (y0 > y1) y0 = y1;\n\t\ty0 += ((b+1)/2)|0;\n\t\ty1 = y0 - b1;\n\t\ta *= 8*a; b1 = 8*b*b;\n\n\t\tdo {\n\t\t\tmaxedge(right, x1, y0);\t// 1st quadrant\n\t\t\tminedge(left, x0, y0);\t// 2nd quadrant\n\t\t\tminedge(left, x0, y1);\t// 3rd quadrant\n\t\t\tmaxedge(right, x1, y1);\t// 4th quadrant\n\t\t\te2 = 2*err;\n\t\t\tif (e2 >= dx) { x0++; x1--; dx += b1; err += dx; }\n\t\t\tif (e2 <= dy) { y0++; y1--; dy += a; err += dy; }\n\t\t} while (x0 <= x1);\n\n\t\twhile (y0-y1 < b) {\t// too early stop of flat ellipse\n\t\t\tmaxedge(right, x1+1, y0);\n\t\t\tminedge(left, x0-1, y0++);\n\t\t\tminedge(left, x0-1, y1);\n\t\t\tmaxedge(right, x1+1, y1--);\n\t\t}\n\n\t\tfor (var y = left.min, max = left.length-1; y <= max; y++) {\n\t\t\taddPoint(left[y], y);\n\t\t}\n\t\t// The points we calculated are \"inside\". The fill algorithm excludes \n\t\t// right edges, so +1 on each x.\n\t\tfor (var y = right.min, max = right.length-1; y <= max; y++) {\n\t\t\taddPoint(right[y]+1, y);\n\t\t}\n\n\t\tfunction minedge(e, x, y) {\n\t\t\tif (e.min > y) e.min = y;\n\t\t\tvar ey = e[y];\n\t\t\tif (ey == null || ey > x) {\n\t\t\t\te[y] = x;\n\t\t\t}\n\t\t}\n\n\t\tfunction maxedge(e, x, y) {\n\t\t\tif (e.min > y) e.min = y;\n\t\t\tvar ey = e[y];\n\t\t\tif (ey == null || ey < x) {\n\t\t\t\te[y] = x;\n\t\t\t}\n\t\t}\n\t}\n\n // Returns true if outside the clipping region.\n\tfunction clipped(x, y) {\n var pts = gs_xyclip[y];\n if (!pts) {\n return true;\n }\n if (!pts.sorted) {\n\t\t\tpts.sort(function(a, b) { return a - b; });\n pts.sorted = true;\n }\n\n var wn = false;\n for (var n = 0, npts = pts.length; n < npts; n++) {\n var xn = pts[n];\n if (xn > x) {\n return !wn; \n } else if (xn == x) {\n return wn;\n }\n wn = !wn;\n\t\t}\n return true;\n\t}\n\n\t// Returns 1 if clockwise, -1 if ccw.\n\tfunction polydir(pts) {\n\t\tvar xp = 0;\n\t\tfor (var i = 0, l = pts.length, j = l-1; i < l; j = i++) {\n\t\t\txp += pts[j][0] * pts[i][1] - pts[i][0] * pts[j][1];\n\t\t}\n\t\treturn xp > 0 ? 1 : -1;\n\t}\n}\n// drawing-canvas.js\n//\n\n// opts is the same options object passed into the bwipjs methods.\nfunction DrawingCanvas(opts, canvas) {\n\tif (typeof window == null) {\n\t\tthrow new Error('DrawingCanvas: not a browser');\n\t}\n\n\tvar img;\n\tvar ctx = canvas.getContext('2d');\n\tvar drawing = DrawingBuiltin(opts);\n\n\t// Provide our specializations for the builtin drawing\n\tdrawing.image = image;\n\tdrawing.end = end;\n\n\treturn drawing;\n\n\n\t// Called by DrawingBuiltin.init() to get the ARGB bitmap for rendering.\n\tfunction image(width, height) {\n\t\tcanvas.width = width;\n\t\tcanvas.height = height;\n\n\t\t// Set background \n\t\tctx.setTransform(1, 0, 0, 1, 0, 0);\n\t\tif (/^[0-9a-fA-F]{6}$/.test(''+opts.backgroundcolor)) {\n\t\t\tctx.fillStyle = '#' + opts.backgroundcolor;\n\t\t\tctx.fillRect(0, 0, width, height);\n\t\t} else {\n\t\t\tctx.clearRect(0, 0, width, height);\n\t\t}\n\n\t\t// Prepare the bitmap \n\t\timg = ctx.getImageData(0, 0, width, height);\n\n\t\t// The return value is designed for both canvas pure-RGBA and PNG RGBA\n\t\treturn { buffer:img.data, ispng:false };\n\t}\n\n\tfunction end() {\n\t\tctx.putImageData(img, 0, 0);\n\t}\n}\n// fontlib.js\nvar FontLib = (function() {\n var fonts = [];\n var names = {};\n var glyphcache = {};\n var glyphmru = {};\n var glyphcount = 0;\n\n // Sentinel to simplify moving entries around in the list.\n glyphmru.next = glyphmru;\n glyphmru.prev = glyphmru;\n\n return {\n lookup:lookup,\n monochrome:monochrome,\n getglyph:getglyph,\n getpaths:getpaths,\n loadFont:loadFont,\n };\n\n // loadFont(name, data)\n // loadFont(name, mult, data)\n // loadFont(name, multy, multx, data) // note order: y,x\n // data must be the font data, either a binary or base64 encoded string.\n function loadFont(name /*...args*/) {\n var multx = 100;\n var multy = 100;\n var data = null;\n\n if (arguments.length == 2) {\n data = arguments[1];\n } else if (arguments.length == 3) {\n multx = multy = +arguments[1] || 100;\n data = arguments[2];\n } else if (arguments.length == 4) {\n multy = +arguments[1] || 100;\n multx = +arguments[2] || 100;\n data = arguments[3];\n } else {\n throw new Error(\"loadFont(): invalid number of arguments\");\n }\n\n var font = STBTT.InitFont(toUint8Array(data));\n font.bwipjs_name = name;\n font.bwipjs_multx = multx;\n font.bwipjs_multy = multy;\n\n var fontid = fonts.push(font)-1;\n names[name.toUpperCase()] = fontid;\n return fontid;\n }\n\n // Always returns a valid font-id (default OCR-B)\n function lookup(name) {\n var fontid = names[name.toUpperCase()];\n return fontid === undefined ? 1 : fontid; // OCR B default\n }\n\n // Not supported by stbtt\n function monochrome(mono) {\n if (mono) {\n throw new Error('fontlib: monochrome not implemented');\n }\n }\n\n function getglyph(fontid, charcode, width, height) {\n fontid = fontid|0;\n charcode = charcode|0;\n width = +width;\n height = +height;\n if (!width || width < 8) {\n width = 8;\n }\n if (!height || height < 8) {\n height = width;\n }\n if (fontid < 0 || fontid >= fonts.length) {\n fontid = 1; // OCR B default\n }\n if (!charcode || charcode < 32) {\n charcode = 32;\n }\n\n // In the cache?\n var cachekey = '' + fontid + 'c' + charcode + 'w' + width + 'h' + height; \n var glyph = glyphcache[cachekey];\n if (glyph) {\n // Unthread from the MRU\n glyph.prev.next = glyph.next;\n glyph.next.prev = glyph.prev;\n\n // Thread back onto the top\n var sntl = glyphmru;\n sntl.next.prev = glyph;\n glyph.next = sntl.next;\n glyph.prev = sntl;\n sntl.next = glyph;\n \n return glyph;\n }\n\n var font = fonts[fontid];\n var glyph = STBTT.GetGlyph(font, charcode, width * font.bwipjs_multx / 100,\n height * font.bwipjs_multy / 100);\n \n glyph.bytes = glyph.pixels;\n glyph.cachekey = cachekey;\n glyph.offset = 0;\n\n //glyph = {\n // top:font.GlyphTop(),\n // left:font.GlyphLeft(),\n // width:font.GlyphWidth(),\n // height:font.GlyphHeight(),\n // advance:font.GlyphAdvance(),\n // bitmap:font.GlyphBitmap(),\n // offset:0,\n // cachekey:cachekey,\n // };\n\n // Purge old\n if (glyphcount > 250) {\n var sntl = glyphmru;\n var temp = sntl.prev;\n temp.prev.next = sntl;\n sntl.prev = temp.prev;\n temp.next = temp.prev = null;\n delete glyphcache[temp.cachekey];\n } else {\n glyphcount++;\n }\n\n // Add to cache and to the top of the MRU\n glyphcache[cachekey] = glyph;\n\n var sntl = glyphmru;\n sntl.next.prev = glyph;\n glyph.next = sntl.next;\n glyph.prev = sntl;\n sntl.next = glyph;\n\n return glyph;\n }\n\n function getpaths(fontid, charcode, width, height) {\n fontid = fontid|0;\n charcode = charcode|0;\n width = +width;\n height = +height;\n if (!width || width < 8) {\n width = 8;\n }\n if (!height || height < 8) {\n height = width;\n }\n if (fontid < 0 || fontid >= fonts.length) {\n fontid = 1; // OCR B default\n }\n if (!charcode || charcode < 32) {\n charcode = 32;\n }\n\n var font = fonts[fontid];\n return STBTT.GetPaths(font, charcode, width * font.bwipjs_multx / 100,\n height * font.bwipjs_multy / 100);\n }\n})();\n\n// bwip-js/stb_trutype.js\n//\n// JavaScript implementation of stb_truetype.h @ https://github.com/nothings/stb.\n//\n// This file is part of the bwip-js project available at:\n//\n// \t\thttp://metafloor.github.io/bwip-js\n//\n// Copyright (c) 2019 Mark Warren : MIT LICENSE\n\n// Copyright notice from stb_truetype.h:\n//\n// MIT License\n//\n// Copyright (c) 2017 Sean Barrett\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n// of the Software, and to permit persons to whom the Software is furnished to do\n// so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n\nvar STBTT = (function () {\n\nvar\tSTBTT_vmove\t = 1,\n\tSTBTT_vline\t = 2,\n\tSTBTT_vcurve = 3,\n\tSTBTT_vcubic = 4,\n\n\tSTBTT_PLATFORM_ID_UNICODE\t= 0,\n\tSTBTT_PLATFORM_ID_MAC\t\t= 1,\n\tSTBTT_PLATFORM_ID_ISO\t\t= 2,\n\tSTBTT_PLATFORM_ID_MICROSOFT = 3,\n\n\tSTBTT_UNICODE_EID_UNICODE_1_0\t\t= 0,\n\tSTBTT_UNICODE_EID_UNICODE_1_1\t\t= 1,\n\tSTBTT_UNICODE_EID_ISO_10646\t\t\t= 2,\n\tSTBTT_UNICODE_EID_UNICODE_2_0_BMP\t= 3,\n\tSTBTT_UNICODE_EID_UNICODE_2_0_FULL\t= 4,\n\n\tSTBTT_MS_EID_SYMBOL\t\t\t= 0,\n\tSTBTT_MS_EID_UNICODE_BMP\t= 1,\n\tSTBTT_MS_EID_SHIFTJIS\t\t= 2,\n\tSTBTT_MS_EID_UNICODE_FULL\t= 10;\n\nvar floor = Math.floor;\nvar ceil = Math.ceil;\nvar sqrt = Math.sqrt;\nvar abs = Math.abs;\n\n// Allocate an array of objects - replaces malloc(sizeof struct * n)\nfunction oalloc(n) {\n\tvar o = [];\n\tfor (var i = 0; i < n; i++) {\n\t\to.push({});\n\t}\n\treturn o;\n}\n\n//static unsigned char stbtt__buf_get8(stbtt__buf * b)\nfunction stbtt__buf_get8(b) {\n return b[b.cursor++]||0;\n}\n\n//static unsigned char stbtt__buf_peek8(stbtt__buf * b)\nfunction stbtt__buf_peek8(b) {\n return b[b.cursor];\n}\n\n//static void stbtt__buf_seek(stbtt__buf * b, int o)\nfunction stbtt__buf_seek(b, o) {\n b.cursor = (o > b.length || o < 0) ? b.length : o;\n}\n\n//static void stbtt__buf_skip(stbtt__buf * b, int o)\nfunction stbtt__buf_skip(b, o) {\n stbtt__buf_seek(b, b.cursor + o);\n}\n\n//static unsigned int stbtt__buf_get(stbtt__buf * b, int n)\nfunction stbtt__buf_get(b, n) {\n var v = 0;\n for (var i = 0; i < n; i++) {\n v = (v << 8) | stbtt__buf_get8(b);\n }\n return v;\n}\n\n// This function is only called once with a real 'p', all other uses are\n// for a NULL buffer. The for real usage, the code is inlined.\n//static stbtt__buf stbtt__new_buf(const void *p, int size)\nfunction stbtt__null_buf() {\n\treturn { length:0 };\n}\n\n//static stbtt__buf stbtt__buf_range(const stbtt__buf * b, int o, int s)\nfunction stbtt__buf_range(b, o, s) {\n if (o < 0 || s < 0 || o > b.length || s > b.length - o) {\n return stbtt__null_buf();\n }\n\tvar r = b.subarray(o, o + s);\n\tr.cursor = 0;\n\treturn r;\n}\n\n//static stbtt__buf stbtt__cff_get_index(stbtt__buf * b)\nfunction stbtt__cff_get_index(b) {\n var start = b.cursor;\n var count = stbtt__buf_get(b, 2);\n if (count) {\n var offsize = stbtt__buf_get8(b);\n stbtt__buf_skip(b, offsize * count);\n stbtt__buf_skip(b, stbtt__buf_get(b, offsize) - 1);\n }\n return stbtt__buf_range(b, start, b.cursor - start);\n}\n\n//static unsigned int stbtt__cff_int(stbtt__buf * b)\nfunction stbtt__cff_int(b) {\n var b0 = stbtt__buf_get8(b);\n if (b0 >= 32 && b0 <= 246) {\n return b0 - 139;\n } else if (b0 >= 247 && b0 <= 250) {\n return (b0 - 247) * 256 + stbtt__buf_get8(b) + 108;\n } else if (b0 >= 251 && b0 <= 254) {\n return -(b0 - 251) * 256 - stbtt__buf_get8(b) - 108;\n } else if (b0 == 28) {\n return stbtt__buf_get(b, 2);\n } else if (b0 == 29) {\n return stbtt__buf_get(b, 4);\n }\n return 0;\n}\n\n//static void stbtt__cff_skip_operand(stbtt__buf * b)\nfunction stbtt__cff_skip_operand(b) {\n var b0 = stbtt__buf_peek8(b);\n if (b0 == 30) {\n stbtt__buf_skip(b, 1);\n while (b.cursor < b.length) {\n var v = stbtt__buf_get8(b);\n if ((v & 0xF) == 0xF || (v >> 4) == 0xF) {\n break;\n }\n }\n } else {\n stbtt__cff_int(b);\n }\n}\n\n//static stbtt__buf stbtt__dict_get(stbtt__buf * b, int key)\nfunction stbtt__dict_get(b, key) {\n stbtt__buf_seek(b, 0);\n while (b.cursor < b.length) {\n var start = b.cursor, end, op;\n while (stbtt__buf_peek8(b) >= 28) {\n stbtt__cff_skip_operand(b);\n }\n end = b.cursor;\n op = stbtt__buf_get8(b);\n if (op == 12) {\n op = stbtt__buf_get8(b) | 0x100;\n }\n if (op == key) {\n return stbtt__buf_range(b, start, end - start);\n }\n }\n return stbtt__buf_range(b, 0, 0);\n}\n\n//static void stbtt__dict_get_ints(stbtt__buf * b, int key, int outcount, unsigned int *out)\nfunction stbtt__dict_get_ints(b, key, outcount, out) {\n var operands = stbtt__dict_get(b, key);\n for (var i = 0; i < outcount && operands.cursor < operands.length; i++) {\n out[i] = stbtt__cff_int(operands);\n }\n}\n// single-integer format of above since javascript doesn't have address-of\nfunction stbtt__dict_get_int(b, key, out) {\n var operands = stbtt__dict_get(b, key);\n if (operands.cursor < operands.length) {\n out = stbtt__cff_int(operands);\n }\n\treturn out;\n}\n\n//static int stbtt__cff_index_count(stbtt__buf * b)\nfunction stbtt__cff_index_count(b) {\n stbtt__buf_seek(b, 0);\n return stbtt__buf_get(b, 2);\n}\n\n//static stbtt__buf stbtt__cff_index_get(stbtt__buf b, int i)\nfunction stbtt__cff_index_get(b, i) {\n var count, offsize, start, end;\n stbtt__buf_seek(b, 0);\n count = stbtt__buf_get(b, 2);\n offsize = stbtt__buf_get8(b);\n stbtt__buf_skip(b, i * offsize);\n start = stbtt__buf_get(b, offsize);\n end = stbtt__buf_get(b, offsize);\n return stbtt__buf_range(b, 2 + (count + 1) * offsize + start, end - start);\n}\n\n// Convert sign-extend a 16-bit integer to JS number\nfunction INT16(n) {\n\treturn n & 0x8000 ? (0xffff0000|n)>>0 : n;\n}\n\n//static unsigned short ttUSHORT(unsigned char *p)\nfunction ttUSHORT(b, o) {\n return b[o] * 256 + b[o+1];\n}\n\n//static short ttSHORT(unsigned char *p)\nfunction ttSHORT(b, o) {\n var n = b[o] * 256 + b[o+1];\n\treturn n & 0x8000 ? (0xffff0000|n)>>0 : n;\n}\n\n//static unsigned int ttULONG(unsigned char *p)\nfunction ttULONG(b, o) {\n return (b[o] << 24) + (b[o+1] << 16) + (b[o+2] << 8) + b[o+3];\n}\n\n//static unsigned int stbtt__find_table(unsigned char *data, unsigned int fontstart, const char *tag)\nfunction stbtt__find_table(data, fontstart, tag) {\n var num_tables = ttUSHORT(data, fontstart + 4);\n var tabledir = fontstart + 12;\n for (var i = 0; i < num_tables; ++i) {\n var loc = tabledir + 16 * i;\n if (data[loc] == tag[0] && data[loc+1] == tag[1] && data[loc+2] == tag[2] && data[loc+3] == tag[3]) {\n return ttULONG(data, loc + 8);\n }\n }\n return 0;\n}\n\n//static stbtt__buf stbtt__get_subrs(stbtt__buf cff, stbtt__buf fontdict)\nfunction stbtt__get_subrs(cff, fontdict) {\n var private_loc = [ 0, 0 ];\n stbtt__dict_get_ints(fontdict, 18, 2, private_loc);\n if (!private_loc[1] || !private_loc[0]) {\n return stbtt__null_buf();\n }\n var pdict = stbtt__buf_range(cff, private_loc[1], private_loc[0]);\n var subrsoff = stbtt__dict_get_int(pdict, 19, 0);\n if (!subrsoff) {\n return stbtt__null_buf();\n }\n stbtt__buf_seek(cff, private_loc[1] + subrsoff);\n return stbtt__cff_get_index(cff);\n}\n\n//static int stbtt_InitFont_internal(stbtt_fontinfo * info, unsigned char *data, int fontstart)\nfunction stbtt_InitFont_internal(info, data, fontstart) {\n var cmap, t, i, numTables;\n\n info.data = data;\n info.fontstart = fontstart;\n info.cff = stbtt__null_buf();\n\n cmap = stbtt__find_table(data, fontstart, [ 99, 109, 97, 112 ]);\t\t//\"cmap\"\n info.loca = stbtt__find_table(data, fontstart, [ 108, 111, 99, 97 ]);\t//\"loca\"\n info.head = stbtt__find_table(data, fontstart, [ 104, 101, 97, 100 ]);\t//\"head\"\n info.glyf = stbtt__find_table(data, fontstart, [ 103, 108, 121, 102 ]);\t//\"glyf\"\n info.hhea = stbtt__find_table(data, fontstart, [ 104, 104, 101, 97 ]);\t//\"hhea\"\n info.hmtx = stbtt__find_table(data, fontstart, [ 104, 109, 116, 120 ]);\t//\"hmtx\"\n info.kern = stbtt__find_table(data, fontstart, [ 107, 101, 114, 110 ]);\t//\"kern\"\n\n if (!cmap || !info.head || !info.hhea || !info.hmtx) {\n return 0;\n }\n if (info.glyf) {\n if (!info.loca) {\n return 0;\n }\n } else {\n var b, topdict, topdictidx, cff,\n\t\t\tcstype = 2, charstrings = 0, fdarrayoff = 0, fdselectoff = 0;\n\n cff = stbtt__find_table(data, fontstart, [ 67, 70, 70, 32 ]);\t//\"CFF \"\n if (!cff) {\n return 0;\n }\n\n info.fontdicts = stbtt__null_buf();\n info.fdselect = stbtt__null_buf();\n\n info.cff = data.subarray(cff); //stbtt__new_buf(data + cff, 512 * 1024 * 1024);\n\t\tinfo.cff.cursor = 0;\n b = info.cff;\n\n stbtt__buf_skip(b, 2);\n stbtt__buf_seek(b, stbtt__buf_get8(b));\n\n stbtt__cff_get_index(b);\n topdictidx = stbtt__cff_get_index(b);\n topdict = stbtt__cff_index_get(topdictidx, 0);\n stbtt__cff_get_index(b);\n info.gsubrs = stbtt__cff_get_index(b);\n\n charstrings = stbtt__dict_get_int(topdict, 17, charstrings);\n cstype = stbtt__dict_get_int(topdict, 0x100 | 6, cstype);\n fdarrayoff = stbtt__dict_get_int(topdict, 0x100 | 36, fdarrayoff);\n fdselectoff = stbtt__dict_get_int(topdict, 0x100 | 37, fdselectoff);\n info.subrs = stbtt__get_subrs(b, topdict);\n\n if (cstype != 2) {\n return 0;\n }\n if (charstrings == 0) {\n return 0;\n }\n\n if (fdarrayoff) {\n if (!fdselectoff) {\n return 0;\n }\n stbtt__buf_seek(b, fdarrayoff);\n info.fontdicts = stbtt__cff_get_index(b);\n info.fdselect = stbtt__buf_range(b, fdselectoff, b.length - fdselectoff);\n }\n\n stbtt__buf_seek(b, charstrings);\n info.charstrings = stbtt__cff_get_index(b);\n }\n\n t = stbtt__find_table(data, fontstart, [ 109, 97, 120, 112 ]);\t//\"maxp\"\n if (t) {\n info.numGlyphs = ttUSHORT(data, t + 4);\n }\n else {\n info.numGlyphs = 0xffff;\n }\n\n numTables = ttUSHORT(data, cmap + 2);\n info.index_map = 0;\n for (i = 0; i < numTables; ++i) {\n var encoding_record = cmap + 4 + 8 * i;\n\n switch (ttUSHORT(data, encoding_record)) {\n case STBTT_PLATFORM_ID_MICROSOFT:\n switch (ttUSHORT(data, encoding_record + 2)) {\n case STBTT_MS_EID_UNICODE_BMP:\n case STBTT_MS_EID_UNICODE_FULL:\n info.index_map = cmap + ttULONG(data, encoding_record + 4);\n break;\n }\n break;\n case STBTT_PLATFORM_ID_UNICODE:\n info.index_map = cmap + ttULONG(data, encoding_record + 4);\n break;\n }\n }\n if (info.index_map == 0) {\n return 0;\n }\n\n info.indexToLocFormat = ttUSHORT(data, info.head + 50);\n return 1;\n}\n\n//extern int stbtt_FindGlyphIndex(const stbtt_fontinfo * info, int unicode_codepoint)\nfunction stbtt_FindGlyphIndex(info, unicode_codepoint) {\n var data = info.data, index_map = info.index_map;\n\n var format = ttUSHORT(data, index_map + 0);\n if (format == 0) {\n var bytes = ttUSHORT(data, index_map + 2);\n if (unicode_codepoint < bytes - 6) {\n return data[index_map + 6 + unicode_codepoint];\n\t\t}\n return 0;\n } else if (format == 6) {\n var first = ttUSHORT(data, index_map + 6),\n count = ttUSHORT(data, index_map + 8);\n if (unicode_codepoint >= first && unicode_codepoint < first + count) {\n return ttUSHORT(data, index_map + 10 + (unicode_codepoint - first) * 2);\n\t\t}\n return 0;\n } else if (format == 2) {\n return 0;\n } else if (format == 4) {\n var segcount = ttUSHORT(data, index_map + 6) >> 1,\n searchRange = ttUSHORT(data, index_map + 8) >> 1,\n entrySelector = ttUSHORT(data, index_map + 10),\n rangeShift = ttUSHORT(data, index_map + 12) >> 1,\n\t\t\tendCount = index_map + 14,\n search = endCount;\n\n if (unicode_codepoint > 0xffff) {\n return 0;\n }\n\n if (unicode_codepoint >= ttUSHORT(data, search + rangeShift * 2)) {\n search += rangeShift * 2;\n }\n\n search -= 2;\n while (entrySelector) {\n searchRange >>= 1;\n var end = ttUSHORT(data, search + searchRange * 2);\n if (unicode_codepoint > end) {\n search += searchRange * 2;\n }\n --entrySelector;\n }\n search += 2;\n\n\t\tvar offset, start, item = (search - endCount) >>> 1;\n\n\t\tstart = ttUSHORT(data, index_map + 14 + segcount * 2 + 2 + 2 * item);\n\t\tif (unicode_codepoint < start) {\n\t\t\treturn 0;\n\t\t}\n\n\t\toffset = ttUSHORT(data, index_map + 14 + segcount * 6 + 2 + 2 * item);\n\t\tif (offset == 0) {\n\t\t\treturn unicode_codepoint + ttSHORT(data, index_map + 14 + segcount * 4 + 2 + 2 * item);\n\t\t}\n\t\treturn ttUSHORT(data, offset + (unicode_codepoint - start) * 2 +\n\t\t\t\t\t\t\t\tindex_map + 14 + segcount * 6 + 2 +\t2 * item);\n } else if (format == 12 || format == 13) {\n var ngroups = ttULONG(data, index_map + 12),\n\t\t\tlow = 0, high = ngroups;\n while (low < high) {\n var mid = low + ((high - low) >> 1);\n var start_char = ttULONG(data, index_map + 16 + mid * 12);\n var end_char = ttULONG(data, index_map + 16 + mid * 12 + 4);\n if (unicode_codepoint < start_char) {\n high = mid;\n } else if (unicode_codepoint > end_char) {\n low = mid + 1;\n } else {\n var start_glyph = ttULONG(data, index_map + 16 + mid * 12 + 8);\n if (format == 12) {\n return start_glyph + unicode_codepoint - start_char;\n\t\t\t\t} else {\n return start_glyph;\n }\n }\n }\n return 0;\n }\n return 0;\n}\n\n//static void stbtt_setvertex(stbtt_vertex * v, unsigned char type, int x, int y, int cx, int cy)\nfunction stbtt_setvertex(v, type, x, y, cx, cy) {\n v.type = type;\n v.x = x;\n v.y = y;\n v.cx = cx;\n v.cy = cy;\n}\n\n//static int stbtt__GetGlyfOffset(const stbtt_fontinfo * info, int glyph_index)\nfunction stbtt__GetGlyfOffset(info, glyph_index) {\n var g1, g2;\n if (glyph_index >= info.numGlyphs) {\n return -1;\n }\n if (info.indexToLocFormat >= 2) {\n return -1;\n }\n\n if (info.indexToLocFormat == 0) {\n g1 = info.glyf + ttUSHORT(info.data, info.loca + glyph_index * 2) * 2;\n g2 = info.glyf + ttUSHORT(info.data, info.loca + glyph_index * 2 + 2) * 2;\n } else {\n g1 = info.glyf + ttULONG(info.data, info.loca + glyph_index * 4);\n g2 = info.glyf + ttULONG(info.data, info.loca + glyph_index * 4 + 4);\n }\n\n return g1 == g2 ? -1 : g1;\n}\n\n//extern int stbtt_GetGlyphBox(const stbtt_fontinfo * info, int glyph_index, int *x0, int *y0, int *x1, int *y1)\nfunction stbtt_GetGlyphBox(info, glyph_index, out) {\n if (info.cff.length) {\n stbtt__GetGlyphInfoT2(info, glyph_index, out);\n } else {\n var g = stbtt__GetGlyfOffset(info, glyph_index);\n if (g < 0) {\n return 0;\n }\n\t out.x0 = ttSHORT(info.data, g + 2);\n\t\tout.y0 = ttSHORT(info.data, g + 4);\n\t\tout.x1 = ttSHORT(info.data, g + 6);\n\t\tout.y1 = ttSHORT(info.data, g + 8);\n }\n return 1;\n}\n\n//static int stbtt__close_shape(stbtt_vertex * vertices, int num_vertices, int was_off,\n// int start_off, int sx, int sy, int scx, int scy, int cx, int cy)\nfunction stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx, sy, scx, scy, cx, cy) {\n if (start_off) {\n if (was_off) {\n stbtt_setvertex(vertices[num_vertices++], STBTT_vcurve,\n (cx + scx) >> 1, (cy + scy) >> 1, cx, cy);\n\t\t}\n stbtt_setvertex(vertices[num_vertices++], STBTT_vcurve, sx, sy, scx, scy);\n } else {\n if (was_off) {\n stbtt_setvertex(vertices[num_vertices++], STBTT_vcurve, sx, sy, cx, cy);\n\t\t} else {\n stbtt_setvertex(vertices[num_vertices++], STBTT_vline, sx, sy, 0, 0);\n\t\t}\n }\n return num_vertices;\n}\n\n//static int stbtt__GetGlyphShapeTT(const stbtt_fontinfo * info, int glyph_index, stbtt_vertex ** pvertices)\nfunction stbtt__GetGlyphShapeTT(info, glyph_index) {\n var data = info.data,\n\t\tg = stbtt__GetGlyfOffset(info, glyph_index);\n\n\tif (g < 0) {\n return null;\n }\n\n\tvar vertices = [];\n var numberOfContours = ttSHORT(data, g);\n if (numberOfContours > 0) {\n var flags = 0, flagcount,\n\t\t\ti, j = 0, m, n, next_move, was_off = 0, off, start_off = 0,\n\t\t\tx, y, cx, cy, sx, sy, scx, scy;\n var endPtsOfContours = g + 10;\n var ins = ttUSHORT(data, g + 10 + numberOfContours * 2);\n var points = data.subarray(g + 10 + numberOfContours * 2 + 2 + ins);\n\t\tvar ptsoff = 0;\n\n n = 1 + ttUSHORT(data, endPtsOfContours + numberOfContours * 2 - 2);\n m = n + 2 * numberOfContours;\n\n vertices = oalloc(m);\n next_move = 0;\n flagcount = 0;\n off = m - n;\n\n for (i = 0; i < n; ++i) {\n if (flagcount == 0) {\n flags = points[ptsoff++];\n if (flags & 8) {\n flagcount = points[ptsoff++];\n }\n } else {\n --flagcount;\n }\n vertices[off + i].type = flags;\n }\n\n x = 0;\n for (i = 0; i < n; ++i) {\n flags = vertices[off + i].type;\n if (flags & 2) {\n var dx = points[ptsoff++];\n x += (flags & 16) ? dx : -dx;\n } else {\n if (!(flags & 16)) {\n x = x + INT16(points[ptsoff] * 256 + points[ptsoff+1]);\n ptsoff += 2;\n }\n }\n vertices[off + i].x = x;\n }\n\n y = 0;\n for (i = 0; i < n; ++i) {\n flags = vertices[off + i].type;\n if (flags & 4) {\n var dy = points[ptsoff++];\n y += (flags & 32) ? dy : -dy;\n } else {\n if (!(flags & 32)) {\n y = y + INT16(points[ptsoff] * 256 + points[ptsoff+1]);\n ptsoff += 2;\n }\n }\n vertices[off + i].y = y;\n }\n\n var num_vertices = 0;\n sx = sy = cx = cy = scx = scy = 0;\n for (i = 0; i < n; ++i) {\n flags = vertices[off + i].type;\n x = vertices[off + i].x;\n y = vertices[off + i].y;\n\n if (next_move == i) {\n if (i != 0) {\n num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off,\n\t\t\t\t\t\t\t\t\t\t\tsx, sy, scx, scy, cx, cy);\n\t\t\t\t}\n start_off = !(flags & 1);\n if (start_off) {\n scx = x;\n scy = y;\n if (!(vertices[off + i + 1].type & 1)) {\n sx = (x + vertices[off + i + 1].x) >> 1;\n sy = (y + vertices[off + i + 1].y) >> 1;\n } else {\n sx = vertices[off + i + 1].x;\n sy = vertices[off + i + 1].y;\n ++i;\n }\n } else {\n sx = x;\n sy = y;\n }\n stbtt_setvertex(vertices[num_vertices++], STBTT_vmove, sx, sy, 0, 0);\n was_off = 0;\n next_move = 1 + ttUSHORT(data, endPtsOfContours + j * 2);\n ++j;\n } else {\n if (!(flags & 1)) {\n if (was_off) {\n stbtt_setvertex(vertices[num_vertices++], STBTT_vcurve,\n (cx + x) >> 1, (cy + y) >> 1, cx, cy);\n\t\t\t\t\t}\n cx = x;\n cy = y;\n was_off = 1;\n } else {\n if (was_off) {\n stbtt_setvertex(vertices[num_vertices++], STBTT_vcurve, x, y, cx, cy);\n } else {\n stbtt_setvertex(vertices[num_vertices++], STBTT_vline, x, y, 0, 0);\n\t\t\t\t\t}\n was_off = 0;\n }\n }\n }\n vertices.length = stbtt__close_shape(vertices, num_vertices, was_off, start_off,\n\t\t\t\t\t\t\t\t\t\t\t\tsx, sy, scx, scy, cx, cy);\n } else if (numberOfContours == -1) {\n var more = 1;\n var comp = g + 10;\n while (more) {\n var flags, gidx, mtx = [ 1, 0, 0, 1, 0, 0 ];\n\n flags = ttSHORT(data, comp);\n comp += 2;\n gidx = ttSHORT(data, comp);\n comp += 2;\n\n if (flags & 2) {\n if (flags & 1) {\n mtx[4] = ttSHORT(data, comp);\n comp += 2;\n mtx[5] = ttSHORT(data, comp);\n comp += 2;\n } else {\n mtx[4] = stbtt__buf_get8(data, comp);\n comp += 1;\n mtx[5] = stbtt__buf_get8(data, comp);\n comp += 1;\n }\n }\n if (flags & (1 << 3)) {\n mtx[0] = mtx[3] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n mtx[1] = mtx[2] = 0;\n } else if (flags & (1 << 6)) {\n mtx[0] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n mtx[1] = mtx[2] = 0;\n mtx[3] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n } else if (flags & (1 << 7)) {\n mtx[0] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n mtx[1] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n mtx[2] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n mtx[3] = ttSHORT(data, comp) / 16384.0;\n comp += 2;\n }\n\n var m = sqrt(mtx[0] * mtx[0] + mtx[1] * mtx[1]);\n var n = sqrt(mtx[2] * mtx[2] + mtx[3] * mtx[3]);\n var comp_verts = stbtt_GetGlyphShape(info, gidx);\n if (comp_verts.length > 0) {\n for (var i = 0, l = comp_verts.length; i < l; ++i) {\n var v = comp_verts[i], x, y;\n\t\t\t\t\tx = v.x;\n\t\t\t\t\ty = v.y;\n v.x = floor(m * (mtx[0] * x + mtx[2] * y + mtx[4]));\n v.y = floor(n * (mtx[1] * x + mtx[3] * y + mtx[5]));\n x = v.cx;\n y = v.cy;\n v.cx = floor(m * (mtx[0] * x + mtx[2] * y + mtx[4]));\n v.cy = floor(n * (mtx[1] * x + mtx[3] * y + mtx[5]));\n }\n\n\t\t\t\tvertices = vertices.concat(comp_verts);\n }\n more = flags & (1 << 5);\n }\n }\n\t//console.log('vertices(' + vertices.length + ')');\n\t//for (var i = 0; i < vertices.length; i++) {\n\t//\tvar pt = vertices[i];\n\t//\tconsole.log(`${i}: ${pt.x},${pt.y} / ${pt.cx},${pt.cy} / ${pt.type}`);\n\t//}\n\n return vertices;\n}\n\n//static void stbtt__track_vertex(stbtt__csctx * c, int x, int y)\nfunction stbtt__track_vertex(c, x, y) {\n if (x > c.max_x || !c.started) {\n c.max_x = x;\n }\n if (y > c.max_y || !c.started) {\n c.max_y = y;\n }\n if (x < c.min_x || !c.started) {\n c.min_x = x;\n }\n if (y < c.min_y || !c.started) {\n c.min_y = y;\n }\n c.started = 1;\n}\n\n//static void stbtt__csctx_v(stbtt__csctx * c, unsigned char type, int x, int y, int cx, int cy, int cx1, int cy1)\nfunction stbtt__csctx_v(c, type, x, y, cx, cy, cx1, cy1) {\n\tstbtt__track_vertex(c, x, y);\n\tif (type == STBTT_vcubic) {\n\t\tstbtt__track_vertex(c, cx, cy);\n\t\tstbtt__track_vertex(c, cx1, cy1);\n\t}\n\tvar v = {};\n\tstbtt_setvertex(v, type, x, y, cx, cy);\n\tv.cx1 = cx1;\n\tv.cy1 = cy1;\n\tc.vertices.push(v);\n }\n\n//static void stbtt__csctx_close_shape(stbtt__csctx * ctx)\nfunction stbtt__csctx_close_shape(ctx) {\n if (ctx.first_x != ctx.x || ctx.first_y != ctx.y) {\n stbtt__csctx_v(ctx, STBTT_vline, ctx.first_x, ctx.first_y, 0, 0, 0, 0);\n\t}\n}\n\n//static void stbtt__csctx_rmove_to(stbtt__csctx * ctx, float dx, float dy)\nfunction stbtt__csctx_rmove_to(ctx, dx, dy) {\n stbtt__csctx_close_shape(ctx);\n ctx.first_x = ctx.x = ctx.x + dx;\n ctx.first_y = ctx.y = ctx.y + dy;\n stbtt__csctx_v(ctx, STBTT_vmove, ctx.x, ctx.y, 0, 0, 0, 0);\n}\n\n//static void stbtt__csctx_rline_to(stbtt__csctx * ctx, float dx, float dy)\nfunction stbtt__csctx_rline_to(ctx, dx, dy) {\n ctx.x += dx;\n ctx.y += dy;\n stbtt__csctx_v(ctx, STBTT_vline, ctx.x, ctx.y, 0, 0, 0, 0);\n}\n\n//static void stbtt__csctx_rccurve_to(stbtt__csctx * ctx, float dx1, float dy1, float dx2,\n//\t\t\t\t\t\t\t\t\tfloat dy2, float dx3, float dy3)\nfunction stbtt__csctx_rccurve_to(ctx, dx1, dy1, dx2, dy2, dx3, dy3) {\n var cx1 = ctx.x + dx1,\n\t\tcy1 = ctx.y + dy1,\n\t\tcx2 = cx1 + dx2,\n\t\tcy2 = cy1 + dy2;\n ctx.x = cx2 + dx3;\n ctx.y = cy2 + dy3;\n stbtt__csctx_v(ctx, STBTT_vcubic, ctx.x, ctx.y, cx1, cy1, cx2, cy2);\n}\n\n//static stbtt__buf stbtt__get_subr(stbtt__buf idx, int n)\nfunction stbtt__get_subr(b, n) {\n var count = stbtt__cff_index_count(b);\n var bias = 107;\n if (count >= 33900) {\n bias = 32768;\n } else if (count >= 1240) {\n bias = 1131;\n }\n n += bias;\n if (n < 0 || n >= count) {\n return stbtt__null_buf();\n }\n return stbtt__cff_index_get(b, n);\n}\n\n//static stbtt__buf stbtt__cid_get_glyph_subrs(const stbtt_fontinfo * info, int glyph_index)\nfunction stbtt__cid_get_glyph_subrs(info, glyph_index) {\n var fdselect = info.fdselect;\n var nranges, start, end, v, fmt, fdselector = -1, i;\n\n stbtt__buf_seek(fdselect, 0);\n fmt = stbtt__buf_get8(fdselect);\n if (fmt == 0) {\n stbtt__buf_skip(fdselect, glyph_index);\n fdselector = stbtt__buf_get8(fdselect);\n } else if (fmt == 3) {\n nranges = stbtt__buf_get(fdselect, 2);\n start = stbtt__buf_get(fdselect, 2);\n for (i = 0; i < nranges; i++) {\n v = stbtt__buf_get8(fdselect);\n end = stbtt__buf_get(fdselect, 2);\n if (glyph_index >= start && glyph_index < end) {\n fdselector = v;\n break;\n }\n start = end;\n }\n }\n if (fdselector == -1) {\n stbtt__null_buf();\n }\n return stbtt__get_subrs(info.cff, stbtt__cff_index_get(info.fontdicts, fdselector));\n}\n\n//static int stbtt__run_charstring(const stbtt_fontinfo * info, int glyph_index,\n//\t\t\t\t\t\t\t\t stbtt__csctx * c)\nfunction stbtt__run_charstring(info, glyph_index, c) {\n var in_header = 1, maskbits = 0, subr_stack_height = 0, sp = 0, v, i, b0,\n\t\thas_subrs = 0, clear_stack,\n\t\ts = [], subr_stack = [], subrs = info.subrs, b, f;\n\n b = stbtt__cff_index_get(info.charstrings, glyph_index);\n while (b.cursor < b.length) {\n i = 0;\n clear_stack = 1;\n b0 = stbtt__buf_get8(b);\n switch (b0) {\n case 0x13:\n case 0x14:\n if (in_header) {\n maskbits += (sp / 2)|0;\n }\n in_header = 0;\n stbtt__buf_skip(b, ((maskbits + 7) / 8)|0);\n break;\n\n case 0x01:\n case 0x03:\n case 0x12:\n case 0x17:\n maskbits += (sp / 2)|0;\n break;\n\n case 0x15:\n in_header = 0;\n if (sp < 2) {\n return 0;\n }\n stbtt__csctx_rmove_to(c, s[sp - 2], s[sp - 1]);\n break;\n case 0x04:\n in_header = 0;\n if (sp < 1) {\n return 0;\n }\n stbtt__csctx_rmove_to(c, 0, s[sp - 1]);\n break;\n case 0x16:\n in_header = 0;\n if (sp < 1) {\n return 0;\n }\n stbtt__csctx_rmove_to(c, s[sp - 1], 0);\n break;\n\n case 0x05:\n if (sp < 2) {\n return 0;\n }\n for (; i + 1 < sp; i += 2) {\n stbtt__csctx_rline_to(c, s[i], s[i + 1]);\n }\n break;\n\n case 0x07:\n if (sp < 1) {\n return 0;\n }\n\t\t\tfor (;;) {\n if (i >= sp) {\n break;\n }\n stbtt__csctx_rline_to(c, 0, s[i]);\n i++;\n if (i >= sp) {\n break;\n }\n stbtt__csctx_rline_to(c, s[i], 0);\n i++;\n\t\t\t}\n\t\t\tbreak;\n case 0x06:\n if (sp < 1) {\n return 0;\n }\n for (;;) {\n if (i >= sp) {\n break;\n }\n stbtt__csctx_rline_to(c, s[i], 0);\n i++;\n if (i >= sp) {\n break;\n }\n stbtt__csctx_rline_to(c, 0, s[i]);\n i++;\n }\n break;\n\n case 0x1F:\n if (sp < 4) {\n return 0;\n }\n\t\t\tfor (;;) {\n if (i + 3 >= sp) {\n break;\n }\n stbtt__csctx_rccurve_to(c, s[i], 0, s[i + 1], s[i + 2],\n (sp - i == 5) ? s[i + 4] : 0.0,\n s[i + 3]);\n i += 4;\n if (i + 3 >= sp) {\n break;\n }\n stbtt__csctx_rccurve_to(c, 0, s[i], s[i + 1],\n s[i + 2], s[i + 3],\n (sp - i == 5) ? s[i + 4] : 0.0);\n i += 4;\n\t\t\t}\n\t\t\tbreak;\n case 0x1E:\n if (sp < 4) {\n return 0;\n }\n for (;;) {\n if (i + 3 >= sp) {\n break;\n }\n stbtt__csctx_rccurve_to(c, 0, s[i], s[i + 1],\n s[i + 2], s[i + 3],\n (sp - i == 5) ? s[i + 4] : 0.0);\n i += 4;\n if (i + 3 >= sp) {\n break;\n }\n stbtt__csctx_rccurve_to(c, s[i], 0, s[i + 1], s[i + 2],\n (sp - i == 5) ? s[i + 4] : 0.0,\n s[i + 3]);\n i += 4;\n }\n break;\n\n case 0x08:\n if (sp < 6) {\n return 0;\n }\n for (; i + 5 < sp; i += 6) {\n stbtt__csctx_rccurve_to(c, s[i], s[i + 1],\n s[i + 2], s[i + 3],\n s[i + 4], s[i + 5]);\n\t\t\t}\n break;\n\n case 0x18:\n if (sp < 8) {\n return 0;\n }\n for (; i + 5 < sp - 2; i += 6) {\n stbtt__csctx_rccurve_to(c, s[i], s[i + 1],\n s[i + 2], s[i + 3],\n s[i + 4], s[i + 5]);\n\t\t\t}\n if (i + 1 >= sp) {\n return 0;\n }\n stbtt__csctx_rline_to(c, s[i], s[i + 1]);\n break;\n\n case 0x19:\n if (sp < 8) {\n return 0;\n }\n for (; i + 1 < sp - 6; i += 2) {\n stbtt__csctx_rline_to(c, s[i], s[i + 1]);\n }\n if (i + 5 >= sp) {\n return 0;\n }\n stbtt__csctx_rccurve_to(c, s[i], s[i + 1], s[i + 2],\n s[i + 3], s[i + 4], s[i + 5]);\n break;\n\n case 0x1A:\n case 0x1B:\n if (sp < 4) {\n return 0;\n }\n f = 0.0;\n if (sp & 1) {\n f = s[i];\n i++;\n }\n for (; i + 3 < sp; i += 4) {\n if (b0 == 0x1B) {\n stbtt__csctx_rccurve_to(c, s[i], f,\n s[i + 1],\n s[i + 2],\n s[i + 3], 0.0);\n } else {\n stbtt__csctx_rccurve_to(c, f, s[i],\n s[i + 1],\n s[i + 2], 0.0,\n s[i + 3]);\n\t\t\t\t}\n f = 0.0;\n }\n break;\n\n case 0x0A:\n if (!has_subrs) {\n if (info.fdselect.length) {\n subrs = stbtt__cid_get_glyph_subrs(info, glyph_index);\n\t\t\t\t}\n has_subrs = 1;\n }\n\n case 0x1D:\n if (sp < 1) {\n return 0;\n }\n v = s[--sp]|0;\n if (subr_stack_height >= 10) {\n return 0;\n }\n subr_stack[subr_stack_height++] = b;\n b = stbtt__get_subr(b0 == 0x0A ? subrs : info.gsubrs, v);\n if (b.length == 0) {\n return 0;\n }\n b.cursor = 0;\n clear_stack = 0;\n break;\n\n case 0x0B:\n if (subr_stack_height <= 0) {\n return 0;\n }\n b = subr_stack[--subr_stack_height];\n clear_stack = 0;\n break;\n\n case 0x0E:\n stbtt__csctx_close_shape(c);\n return 1;\n\n case 0x0C:\n var dx1, dx2, dx3, dx4, dx5, dx6, dy1, dy2, dy3, dy4, dy5, dy6,\n\t\t\t\tdx, dy, b1 = stbtt__buf_get8(b);\n switch (b1) {\n case 0x22:\n if (sp < 7) {\n return 0;\n }\n dx1 = s[0];\n dx2 = s[1];\n dy2 = s[2];\n dx3 = s[3];\n dx4 = s[4];\n dx5 = s[5];\n dx6 = s[6];\n stbtt__csctx_rccurve_to(c, dx1, 0, dx2, dy2, dx3, 0);\n stbtt__csctx_rccurve_to(c, dx4, 0, dx5, -dy2, dx6, 0);\n break;\n\n case 0x23:\n if (sp < 13) {\n return 0;\n }\n dx1 = s[0];\n dy1 = s[1];\n dx2 = s[2];\n dy2 = s[3];\n dx3 = s[4];\n dy3 = s[5];\n dx4 = s[6];\n dy4 = s[7];\n dx5 = s[8];\n dy5 = s[9];\n dx6 = s[10];\n dy6 = s[11];\n\n stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, dy3);\n stbtt__csctx_rccurve_to(c, dx4, dy4, dx5, dy5, dx6, dy6);\n break;\n\n case 0x24:\n if (sp < 9) {\n return 0;\n }\n dx1 = s[0];\n dy1 = s[1];\n dx2 = s[2];\n dy2 = s[3];\n dx3 = s[4];\n dx4 = s[5];\n dx5 = s[6];\n dy5 = s[7];\n dx6 = s[8];\n stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, 0);\n stbtt__csctx_rccurve_to(c, dx4, 0, dx5, dy5, dx6, -(dy1 + dy2 + dy5));\n break;\n\n case 0x25:\n if (sp < 11) {\n return 0;\n }\n dx1 = s[0];\n dy1 = s[1];\n dx2 = s[2];\n dy2 = s[3];\n dx3 = s[4];\n dy3 = s[5];\n dx4 = s[6];\n dy4 = s[7];\n dx5 = s[8];\n dy5 = s[9];\n dx6 = dy6 = s[10];\n dx = dx1 + dx2 + dx3 + dx4 + dx5;\n dy = dy1 + dy2 + dy3 + dy4 + dy5;\n if (abs(dx) > abs(dy)) {\n dy6 = -dy;\n } else {\n dx6 = -dx;\n }\n stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, dy3);\n stbtt__csctx_rccurve_to(c, dx4, dy4, dx5, dy5, dx6, dy6);\n break;\n\n default:\n return 0;\n }\n \tbreak;\n\n default:\n if (b0 != 255 && b0 != 28 && (b0 < 32 || b0 > 254)) {\n return 0;\n }\n if (b0 == 255) {\n // f = (float)(stbtt_int32)stbtt__buf_get32(&b) / 0x10000;\n f = (stbtt__buf_get(b, 4)|0) / 0x10000;\n } else {\n stbtt__buf_skip(b, -1);\n // f = (float)(stbtt_int16)stbtt__cff_int(&b);\n f = ((stbtt__cff_int(b)<<16)|0)>>16;\n }\n if (sp >= 48) {\n return 0;\n }\n s[sp++] = f;\n clear_stack = 0;\n break;\n }\n if (clear_stack) {\n sp = 0;\n }\n }\n return 0;\n}\n\nfunction stbtt__csctx_init() {\n\treturn { started:0, first_x:0, first_y:0, x:0, y:0,\n\t\t\tmin_x:0, max_x:0, min_y:0, max_y:0,\n\t\t\tvertices:[]\n\t\t};\n}\n\n//static int stbtt__GetGlyphShapeT2(const stbtt_fontinfo * info, int glyph_index,\n//\t\t\t\t\t\t\t\t\tstbtt_vertex ** pvertices)\nfunction stbtt__GetGlyphShapeT2(info, glyph_index) {\n var output_ctx = stbtt__csctx_init();\n if (stbtt__run_charstring(info, glyph_index, output_ctx)) {\n\t\treturn output_ctx.vertices;\n }\n return null;\n}\n\n//static int stbtt__GetGlyphInfoT2(const stbtt_fontinfo * info, int glyph_index, int *x0,\n// int *y0, int *x1, int *y1)\nfunction stbtt__GetGlyphInfoT2(info, glyph_index, out) {\n var c = stbtt__csctx_init();\n var r = stbtt__run_charstring(info, glyph_index, c);\n\tout.x0 = r ? c.min_x : 0;\n\tout.y0 = r ? c.min_y : 0;\n\tout.x1 = r ? c.max_x : 0;\n\tout.y1 = r ? c.max_y : 0;\n return r && c.vertices ? c.vertices.length : 0;\n}\n\n//extern int stbtt_GetGlyphShape(const stbtt_fontinfo * info, int glyph_index,\n//\t\t\t\t\t\t\t\t stbtt_vertex ** pvertices)\nfunction stbtt_GetGlyphShape(info, glyph_index) {\n if (!info.cff.length) {\n return stbtt__GetGlyphShapeTT(info, glyph_index);\n } else {\n return stbtt__GetGlyphShapeT2(info, glyph_index);\n }\n}\n\n//extern void stbtt_GetGlyphHMetrics(const stbtt_fontinfo * info, int glyph_index,\n// int *advanceWidth, int *leftSideBearing)\nfunction stbtt_GetGlyphHMetrics(info, glyph_index) {\n var numOfLongHorMetrics = ttUSHORT(info.data, info.hhea + 34);\n if (glyph_index < numOfLongHorMetrics) {\n\t\treturn {\n\t\t\t\tadvanceWidth: ttSHORT(info.data, info.hmtx + 4 * glyph_index),\n\t\t\t\tleftSideBearing:ttSHORT(info.data, info.hmtx + 4 * glyph_index + 2)\n\t\t\t};\n } else {\n\t\treturn {\n\t\t\t\tadvanceWidth: ttSHORT(info.data, info.hmtx + 4 * (numOfLongHorMetrics - 1)),\n\t\t\t\tleftSideBearing:ttSHORT(info.data, info.hmtx + 4 * numOfLongHorMetrics +\n\t\t\t\t\t\t\t\t\t\t\t2 * (glyph_index - numOfLongHorMetrics))\n\t\t\t};\n }\n}\n\n//extern void stbtt_GetCodepointHMetrics(const stbtt_fontinfo * info, int codepoint,\n// int *advanceWidth, int *leftSideBearing)\nfunction stbtt_GetCodepointHMetrics(info, codepoint) {\n return stbtt_GetGlyphHMetrics(info, stbtt_FindGlyphIndex(info, codepoint));\n}\n\n//extern void stbtt_GetFontVMetrics(const stbtt_fontinfo * info, int *ascent, int *descent, int *lineGap)\nfunction stbtt_GetFontVMetrics(info) {\n\treturn {\n ascent:\tttSHORT(info.data, info.hhea + 4),\n descent:ttSHORT(info.data, info.hhea + 6),\n linegap:ttSHORT(info.data, info.hhea + 8),\n\t};\n}\n\n//extern void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo * font, int glyph,\n// float scale_x, float scale_y, float shift_x, float shift_y,\n//\t\t\t\t\t\t\t\tint *ix0, int *iy0, int *ix1, int *iy1)\nfunction stbtt_GetGlyphBitmapBoxSubpixel(font, glyph, scale_x, scale_y, shift_x, shift_y) {\n var tmp = {};\n if (!stbtt_GetGlyphBox(font, glyph, tmp)) {\n\t\treturn { x0:0, y0:0, x1:0, y1:0 };\n }\n\treturn {\n\t\t\tx0:floor(tmp.x0 * scale_x + shift_x),\n\t\t\ty0:floor(-tmp.y1 * scale_y + shift_y),\n\t\t\tx1:ceil(tmp.x1 * scale_x + shift_x),\n\t\t\ty1:ceil(-tmp.y0 * scale_y + shift_y),\n\t\t};\n}\n\n//extern void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo * font,\n// int codepoint, float scale_x, float scale_y, float shift_x,\n// float shift_y, int *ix0, int *iy0, int *ix1, int *iy1)\nfunction stbtt_GetCodepointBitmapBoxSubpixel(font, codepoint, scale_x, scale_y, shift_x, shift_y) {\n return stbtt_GetGlyphBitmapBoxSubpixel(font, stbtt_FindGlyphIndex(font, codepoint),\n\t\t\t\t\t\t\t\t\t\t\tscale_x, scale_y, shift_x, shift_y);\n}\n\n//extern void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo * font, int codepoint,\tfloat scale_x, float scale_y,\n//\t\t\t\t\t\t\t\t\t\tint *ix0, int *iy0, int *ix1, int *iy1)\nfunction stbtt_GetCodepointBitmapBox(font, codepoint, scale_x, scale_y) {\n return stbtt_GetCodepointBitmapBoxSubpixel(font, codepoint, scale_x, scale_y, 0, 0);\n}\n\n//static stbtt__active_edge *stbtt__new_active(stbtt__hheap * hh, stbtt__edge * e, int off_x, float start_point, void *userdata)\nfunction stbtt__new_active(e, off_x, start_point) {\n var dxdy = (e.x1 - e.x0) / (e.y1 - e.y0);\n\treturn {\n\t\tfdx:dxdy,\n\t\tfdy:dxdy != 0.0 ? (1.0 / dxdy) : 0.0,\n\t\tfx:(e.x0 + dxdy * (start_point - e.y0)) - (off_x|0),\n\t\tdirection:e.invert ? 1.0 : -1.0,\n\t\tsy:e.y0,\n\t\tey:e.y1,\n\t\tnext:0,\n };\n}\n\n//static void stbtt__handle_clipped_edge(float *scanline, int x, stbtt__active_edge * e,\n// float x0, float y0, float x1, float y1)\nfunction stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x1, y1) {\n\tx = x|0;\n if (y0 == y1) {\n return;\n }\n if (y0 > e.ey) {\n return;\n }\n if (y1 < e.sy) {\n return;\n }\n if (y0 < e.sy) {\n x0 += (x1 - x0) * (e.sy - y0) / (y1 - y0);\n y0 = e.sy;\n }\n if (y1 > e.ey) {\n x1 += (x1 - x0) * (e.ey - y1) / (y1 - y0);\n y1 = e.ey;\n }\n\n if (x0 <= x && x1 <= x) {\n scanline[x] += e.direction * (y1 - y0);\n } else if (x0 >= x + 1 && x1 >= x + 1) {\n\n } else {\n scanline[x] += e.direction * (y1 - y0) * (1 - ((x0 - x) + (x1 - x)) / 2);\n }\n}\n\n//static void stbtt__fill_active_edges_new(float *scanline, float *scanline_fill, int len,\n// stbtt__active_edge * e, float y_top)\n// The C implementation passed scanline_fill as a +1 pointer on the call, and then -1 in\n// places in this function. That doesn't work with array-views, so we reverse the handling.\nfunction stbtt__fill_active_edges_new(scanline, scanline_fill, len, e, y_top) {\n var y_bottom = y_top + 1;\n while (e) {\n if (e.fdx == 0) {\n var x0 = e.fx;\n if (x0 < len) {\n if (x0 >= 0) {\n stbtt__handle_clipped_edge(scanline, x0, e, x0, y_top, x0, y_bottom);\n stbtt__handle_clipped_edge(scanline_fill, x0+1, e, x0, y_top, x0, y_bottom);\n } else {\n stbtt__handle_clipped_edge(scanline_fill, 0, e, x0, y_top, x0, y_bottom);\n }\n }\n } else {\n var x0 = e.fx,\n\t\t\t\tdx = e.fdx,\n\t\t\t\txb = x0 + dx,\n\t\t\t\tx_top, x_bottom,\n\t\t\t\tsy0, sy1,\n\t\t\t\tdy = e.fdy;\n\n if (e.sy > y_top) {\n x_top = x0 + dx * (e.sy - y_top);\n sy0 = e.sy;\n } else {\n x_top = x0;\n sy0 = y_top;\n }\n if (e.ey < y_bottom) {\n x_bottom = x0 + dx * (e.ey - y_top);\n sy1 = e.ey;\n } else {\n x_bottom = xb;\n sy1 = y_bottom;\n }\n\n if (x_top >= 0 && x_bottom >= 0 && x_top < len && x_bottom < len) {\n if ((x_top|0) == (x_bottom|0)) {\n var height = sy1 - sy0,\n\t\t\t\t\t\tx = x_top|0;\n scanline[x] += e.direction * (1 - ((x_top - x) + (x_bottom - x)) / 2) * height;\n scanline_fill[x+1] += e.direction * height;\n } else {\n var t, x, x1, x2, y_crossing, step, sign, area;\n if (x_top > x_bottom) {\n sy0 = y_bottom - (sy0 - y_top);\n sy1 = y_bottom - (sy1 - y_top);\n t = sy0, sy0 = sy1, sy1 = t;\n t = x_bottom, x_bottom = x_top, x_top = t;\n dx = -dx;\n dy = -dy;\n t = x0, x0 = xb, xb = t;\n }\n\n x1 = x_top|0;\n x2 = x_bottom|0;\n y_crossing = (x1 + 1 - x0) * dy + y_top;\n sign = e.direction;\n area = sign * (y_crossing - sy0);\n\n scanline[x1] += area * (1 - ((x_top - x1) + (x1 + 1 - x1)) / 2);\n\n step = sign * dy;\n for (x = x1 + 1; x < x2; ++x) {\n scanline[x] += area + step / 2;\n area += step;\n }\n y_crossing += dy * (x2 - (x1 + 1));\n\n scanline[x2] += area + sign * (1 - ((x2 - x2) + (x_bottom - x2)) / 2) *\n\t\t\t\t\t\t\t\t\t\t\t\t(sy1 - y_crossing);\n scanline_fill[x2+1] += sign * (sy1 - sy0);\n }\n } else {\n for (var x = 0; x < len; ++x) {\n var y0 = y_top,\n\t\t\t\t\t\tx1 = x,\n\t\t\t\t\t\tx2 = x + 1,\n\t\t\t\t\t\tx3 = xb,\n\t\t\t\t\t\ty3 = y_bottom,\n\t\t\t\t\t\ty1 = (x - x0) / dx + y_top,\n\t\t\t\t\t\ty2 = (x + 1 - x0) / dx + y_top;\n\n if (x0 < x1 && x3 > x2) {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x1, y1);\n stbtt__handle_clipped_edge(scanline, x, e, x1, y1, x2, y2);\n stbtt__handle_clipped_edge(scanline, x, e, x2, y2, x3, y3);\n } else if (x3 < x1 && x0 > x2) {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x2, y2);\n stbtt__handle_clipped_edge(scanline, x, e, x2, y2, x1, y1);\n stbtt__handle_clipped_edge(scanline, x, e, x1, y1, x3, y3);\n } else if (x0 < x1 && x3 > x1) {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x1, y1);\n stbtt__handle_clipped_edge(scanline, x, e, x1, y1, x3, y3);\n } else if (x3 < x1 && x0 > x1) {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x1, y1);\n stbtt__handle_clipped_edge(scanline, x, e, x1, y1, x3, y3);\n } else if (x0 < x2 && x3 > x2) {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x2, y2);\n stbtt__handle_clipped_edge(scanline, x, e, x2, y2, x3, y3);\n } else if (x3 < x2 && x0 > x2) {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x2, y2);\n stbtt__handle_clipped_edge(scanline, x, e, x2, y2, x3, y3);\n } else {\n stbtt__handle_clipped_edge(scanline, x, e, x0, y0, x3, y3);\n }\n }\n }\n }\n e = e.next;\n }\n}\n\n//static void stbtt__rasterize_sorted_edges(stbtt__bitmap * result, stbtt__edge * e, int n,\n// int vsubsample, int off_x, int off_y, void *userdata)\nfunction stbtt__rasterize_sorted_edges(result, edges, nedges, vsubsample, off_x, off_y) {\n\tvsubsample |= 0, off_x |= 0, off_y |= 0;\n var active = null, z;\n var y = off_y, j = 0, i;\n var scanline = new Float32Array(result.w * 2 + 1);\n var scanline2 = scanline.subarray(result.w);\n\tvar eoff = 0;\n\n edges[nedges].y0 = off_y + result.h + 1;\n while (j < result.h) {\n var scan_y_top = y + 0.0,\n\t\t\tscan_y_bottom = y + 1.0,\n\t\t\tstep = active;\n\n\t\t// F'ing IE\n\t\tif (scanline.fill) { scanline.fill(0); }\n\t\telse { for (var $i = 0, $l = scanline.length; $i < $l; $i++) scanline[$i] = 0; }\n\n while (step) {\n z = step;\n\t\t\tstep = z.next;\n if (z.ey <= scan_y_top) {\n z.direction = 0;\n } else {\n\t\t\t}\n }\n\n while (edges[eoff].y0 <= scan_y_bottom) {\n if (edges[eoff].y0 != edges[eoff].y1) {\n z = stbtt__new_active(edges[eoff], off_x, scan_y_top);\n\t\t\t\tz.next = active;\n\t\t\t\tactive = z;\n }\n ++eoff;\n }\n\n if (active) {\n\t\t\t// C implementation passed scanline2+1. See function for details.\n stbtt__fill_active_edges_new(scanline, scanline2, result.w, active, scan_y_top);\n\t\t}\n\t\tfor (var i = 0, sum = 0; i < result.w; ++i) {\n\t\t\tvar k, m;\n\t\t\tsum += scanline2[i];\n\t\t\tk = scanline[i] + sum;\n\t\t\tk = abs(k) * 255 + 0.5;\n\t\t\tm = k>>>0;\n\t\t\tif (m > 255) {\n\t\t\t\tm = 255;\n\t\t\t}\n\t\t\tresult.pixels[j * result.stride + i] = m;\n }\n\n step = active;\n while (step) {\n z = step;\n z.fx += z.fdx;\n step = z.next;\n }\n ++y;\n ++j;\n }\n}\n\n//static void stbtt__sort_edges_ins_sort(stbtt__edge * p, int n)\nfunction stbtt__sort_edges_ins_sort(p, n) {\n for (var i = 1; i < n; ++i) {\n var t = p[i], j = i;\n while (j > 0 && t.y0 < p[j-1].y0) {\n p[j] = p[j - 1];\n --j;\n }\n if (i != j) {\n p[j] = t;\n }\n }\n}\n\n//static void stbtt__sort_edges_quicksort(stbtt__edge * p, int n)\n// The C implementation messed with the p pointer. JS uses an offset instead.\nfunction stbtt__sort_edges_quicksort(p, o, n) {\n while (n > 12) {\n var t, c, i, j, z,\n\t\t\tm = n >> 1,\n\t\t\tc01 = p[o].y0 < p[o+m].y0,\n\t\t\tc12 = p[o+m].y0 < p[o+n-1].y0;\n\n if (c01 != c12) {\n c = p[o].y0 < p[o+n-11].y0;\n z = (c == c12) ? 0 : n - 1;\n t = p[o+z];\n p[o+z] = p[o+m];\n p[o+m] = t;\n }\n\n t = p[o];\n p[o] = p[o+m];\n p[o+m] = t;\n\n i = 1;\n j = n - 1;\n for (;;) {\n for ( ; p[o+i].y0 < p[o].y0; ++i) {\n }\n for ( ; p[o].y0 < p[o+j].y0; --j) {\n }\n if (i >= j) {\n break;\n }\n t = p[o+i];\n p[o+i] = p[o+j];\n p[o+j] = t;\n\n ++i;\n --j;\n }\n\n if (j < n - i) {\n stbtt__sort_edges_quicksort(p, o, j);\n o += i;\n n -= i;\n } else {\n stbtt__sort_edges_quicksort(p, o + i, n - i);\n n = j;\n }\n }\n}\n\n//static void stbtt__sort_edges(stbtt__edge * p, int n)\nfunction stbtt__sort_edges(p, n) {\n stbtt__sort_edges_quicksort(p, 0, n);\n stbtt__sort_edges_ins_sort(p, n);\n}\n\n//static void stbtt__rasterize(stbtt__bitmap * result, stbtt__point * pts, int *wcount,\n// int windings, float scale_x, float scale_y, float shift_x,\n// float shift_y, int off_x, int off_y, int invert,\n// void *userdata)\nfunction stbtt__rasterize(result, pts, wcount, scale_x, scale_y, shift_x, shift_y, off_x, off_y, invert) {\n var y_scale_inv = invert ? -scale_y : scale_y,\n\t\te, n, i, j, k, m,\n\t\tvsubsample = 1;\n\n n = 0;\n for (i = 0; i < wcount.length; ++i) {\n n += wcount[i];\n }\n\n e = oalloc(n + 1);\n n = 0;\n m = 0;\n for (i = 0; i < wcount.length; ++i) {\n var p = m;\n m += wcount[i];\n j = wcount[i] - 1;\n for (k = 0; k < wcount[i]; j = k++) {\n var a = k, b = j;\n if (pts[p+j].y == pts[p+k].y) {\n continue;\n }\n\n e[n].invert = 0;\n if (invert ? pts[p+j].y > pts[p+k].y : pts[p+j].y < pts[p+k].y) {\n e[n].invert = 1;\n a = j, b = k;\n }\n e[n].x0 = pts[p+a].x * scale_x + shift_x;\n e[n].y0 = (pts[p+a].y * y_scale_inv + shift_y) * vsubsample;\n e[n].x1 = pts[p+b].x * scale_x + shift_x;\n e[n].y1 = (pts[p+b].y * y_scale_inv + shift_y) * vsubsample;\n ++n;\n }\n }\n\n stbtt__sort_edges(e, n);\n stbtt__rasterize_sorted_edges(result, e, n, vsubsample, off_x, off_y);\n }\n\n//static int stbtt__tesselate_curve(stbtt__point * points, int *num_points, float x0,\n// float y0, float x1, float y1, float x2, float y2,\n// float objspace_flatness_squared, int n)\nfunction stbtt__tesselate_curve(points, x0, y0, x1, y1, x2, y2, objspace_flatness_squared, n) {\n var mx = (x0 + 2 * x1 + x2) / 4,\n\t\tmy = (y0 + 2 * y1 + y2) / 4,\n\t\tdx = (x0 + x2) / 2 - mx,\n\t\tdy = (y0 + y2) / 2 - my;\n if (n > 16) {\n return 1;\n }\n if (dx * dx + dy * dy > objspace_flatness_squared) {\n stbtt__tesselate_curve(points, x0, y0, (x0 + x1) / 2.0, (y0 + y1) / 2.0, mx, my,\n objspace_flatness_squared, n + 1);\n stbtt__tesselate_curve(points, mx, my, (x1 + x2) / 2.0, (y1 + y2) / 2.0, x2, y2,\n objspace_flatness_squared, n + 1);\n } else {\n\t\tpoints.push({ x:x2, y:y2 });\n }\n return 1;\n}\n\n//static void stbtt__tesselate_cubic(stbtt__point * points, int *num_points, float x0,\n// float y0, float x1, float y1, float x2, float y2,\n// float x3, float y3, float objspace_flatness_squared, int n)\nfunction stbtt__tesselate_cubic(points, x0, y0, x1, y1, x2, y2, x3, y3, objspace_flatness_squared, n) {\n var dx0 = x1 - x0,\n\t\tdy0 = y1 - y0,\n\t\tdx1 = x2 - x1,\n\t\tdy1 = y2 - y1,\n\t\tdx2 = x3 - x2,\n\t\tdy2 = y3 - y2,\n\t\tdx = x3 - x0,\n\t\tdy = y3 - y0,\n\t\tlonglen = sqrt(dx0 * dx0 + dy0 * dy0) +\n\t\t\t\t sqrt(dx1 * dx1 + dy1 * dy1) +\n sqrt(dx2 * dx2 + dy2 * dy2),\n\t\tshortlen = sqrt(dx * dx + dy * dy),\n\t\tflatness_squared = longlen * longlen - shortlen * shortlen;\n if (n > 16) {\n return;\n }\n\n if (flatness_squared > objspace_flatness_squared) {\n var x01 = (x0 + x1) / 2,\n\t\t\ty01 = (y0 + y1) / 2,\n\t\t\tx12 = (x1 + x2) / 2,\n\t\t\ty12 = (y1 + y2) / 2,\n\t\t\tx23 = (x2 + x3) / 2,\n\t\t\ty23 = (y2 + y3) / 2,\n\t\t\txa = (x01 + x12) / 2,\n\t\t\tya = (y01 + y12) / 2,\n\t\t\txb = (x12 + x23) / 2,\n\t\t\tyb = (y12 + y23) / 2,\n\t\t\tmx = (xa + xb) / 2,\n\t\t\tmy = (ya + yb) / 2;\n\n stbtt__tesselate_cubic(points, x0, y0, x01, y01, xa, ya, mx, my,\n\t\t\t\t\t\t\t\tobjspace_flatness_squared, n + 1);\n stbtt__tesselate_cubic(points, mx, my, xb, yb, x23, y23, x3, y3,\n\t\t\t\t\t\t\t\tobjspace_flatness_squared, n + 1);\n } else {\n\t\tpoints.push({ x:x3, y:y3 });\n }\n}\n\n//static stbtt__point *stbtt_FlattenCurves(stbtt_vertex * vertices, int num_verts,\n// float objspace_flatness, int **contour_lengths, int *num_contours, void *userdata)\nfunction stbtt_FlattenCurves(vertices, objspace_flatness, contour_lengths) {\n var points = [],\n\t\tobjspace_flatness_squared = objspace_flatness * objspace_flatness,\n\t\tn = -1, start = 0,\n\t\tx = 0, y = 0;\n\tfor (var i = 0, nverts = vertices.length; i < nverts; ++i) {\n\t\tswitch (vertices[i].type) {\n\t\tcase STBTT_vmove:\n\t\t\tif (n >= 0) {\n\t\t\t\tcontour_lengths[n] = points.length - start;\n\t\t\t}\n\t\t\t++n;\n\t\t\tstart = points.length;\n\t\t\tx = vertices[i].x, y = vertices[i].y;\n\t\t\tpoints.push({ x:x, y:y });\n\t\t\tbreak;\n\t\tcase STBTT_vline:\n\t\t\tx = vertices[i].x, y = vertices[i].y;\n\t\t\tpoints.push({ x:x, y:y });\n\t\t\tbreak;\n\t\tcase STBTT_vcurve:\n\t\t\tstbtt__tesselate_curve(points, x, y, vertices[i].cx, vertices[i].cy,\n\t\t\t\t\t\t\t\t vertices[i].x, vertices[i].y, objspace_flatness_squared, 0);\n\t\t\tx = vertices[i].x, y = vertices[i].y;\n\t\t\tbreak;\n\t\tcase STBTT_vcubic:\n\t\t\tstbtt__tesselate_cubic(points, x, y, vertices[i].cx, vertices[i].cy,\n\t\t\t\t\t\t\t\t vertices[i].cx1, vertices[i].cy1, vertices[i].x, vertices[i].y,\n\t\t\t\t\t\t\t\t objspace_flatness_squared, 0);\n\t\t\tx = vertices[i].x, y = vertices[i].y;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcontour_lengths[n] = points.length - start;\n\n\t//console.log(\"--cl(\" + (n+1) + '):');\n\t//for (var i = 0; i <= n; i++) {\n\t//\tconsole.log(\" %d\", contour_lengths[i]);\n\t//}\n\t//console.log(\"\\n--pts(\" + points.length + '):');\n\t//for (var i = 0; i < points.length; i++) {\n\t//\tvar pt = points[i];\n\t//\tconsole.log(i + ': ' + pt.x + ',' + pt.y);\n\t//}\n\n return points;\n}\n\n//extern void stbtt_Rasterize(stbtt__bitmap * result, float flatness_in_pixels,\n// stbtt_vertex * vertices, int num_verts, float scale_x,\n// float scale_y, float shift_x, float shift_y, int x_off,\n// int y_off, int invert, void *userdata)\nfunction stbtt_Rasterize(result, flatness_in_pixels, vertices, scale_x, scale_y, shift_x, shift_y,\n\t\t\t\t\t\t x_off, y_off, invert) {\n\tx_off |= 0, y_off |= 0;\n var scale = scale_x > scale_y ? scale_y : scale_x,\n\t\twcount = [],\n\t\twindings = stbtt_FlattenCurves(vertices, flatness_in_pixels / scale, wcount);\n if (windings) {\n stbtt__rasterize(result, windings, wcount, scale_x, scale_y,\n\t\t\t\t\t\t shift_x, shift_y, x_off, y_off, invert);\n }\n}\n\n//extern void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo * info,\n// unsigned char *output, int out_w, int out_h,\n// int out_stride, float scale_x, float scale_y,\n// float shift_x, float shift_y, int glyph)\nfunction stbtt_MakeGlyphBitmapSubpixel(info, buffer, out_w, out_h, out_stride,\n\t\t\t\t\t\t\t\t\tscale_x, scale_y, shift_x, shift_y, glyph) {\n var vertices = stbtt_GetGlyphShape(info, glyph);\n var gbm = {};\n var rect = stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y);\n gbm.pixels = buffer;\n gbm.w = out_w|0;\n gbm.h = out_h|0;\n gbm.stride = out_stride|0;\n\n if (gbm.w && gbm.h) {\n stbtt_Rasterize(gbm, 0.35, vertices, scale_x, scale_y, shift_x, shift_y, rect.x0, rect.y0, 1);\n\t}\n}\n\n//extern void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo * info,\n// unsigned char *output, int out_w,\n// int out_h, int out_stride, float scale_x,\n// float scale_y, float shift_x,\n// float shift_y, int codepoint)\nfunction stbtt_MakeCodepointBitmapSubpixel(info, buffer, out_w, out_h, out_stride,\n\t\t\t\t\t\t\t\t\tscale_x, scale_y, shift_x, shift_y, codepoint) {\n stbtt_MakeGlyphBitmapSubpixel(info, buffer, out_w, out_h, out_stride,\n scale_x, scale_y, shift_x, shift_y,\n stbtt_FindGlyphIndex(info, codepoint));\n}\n\n//extern int stbtt_InitFont(stbtt_fontinfo * info, const unsigned char *data, int offset)\nfunction stbtt_InitFont(font, data, offset) {\n return stbtt_InitFont_internal(font, data, offset);\n}\n\n\nfunction InitFont(data) {\n\tvar font = {};\n if (!stbtt_InitFont_internal(font, data, 0)) {\n\t\treturn null;\n\t}\n\n\tvar vm = stbtt_GetFontVMetrics(font);\n\n\tfont.ascent = vm.ascent;\n\tfont.descent = vm.descent;\n\tfont.linegap = vm.linegap;\n\n\treturn font;\n}\n\nfunction GetGlyph(font, codepoint, size_x, size_y) {\n\tsize_y = size_y || size_x;\n\tvar scale_x = size_x / font.ascent;\n\tvar scale_y = size_y / font.ascent;\n\n\tvar glyph = stbtt_FindGlyphIndex(font, codepoint);\n\tif (!glyph && codepoint) {\n\t\treturn null;\n\t}\n\n var vertices = stbtt_GetGlyphShape(font, glyph);\n\tvar rect = stbtt_GetGlyphBitmapBoxSubpixel(font, glyph, scale_x, scale_y, 0, 0);\n\tvar width = rect.x1 - rect.x0;\n\tvar height = rect.y1 - rect.y0;\n\tvar pixels = null;\n\n\tif (width && height) {\n\t\tvar gbm = {\n\t\t\tpixels : (pixels = new Uint8Array(width * height)),\n\t\t\tw : width,\n\t\t\th : height,\n\t\t\tstride : width,\n\t\t}\n\t\tstbtt_Rasterize(gbm, 0.35, vertices, scale_x, scale_y, 0, 0, rect.x0, rect.y0, 1);\n\t}\n\n\tvar hmetrics = stbtt_GetGlyphHMetrics(font, glyph);\n\treturn {\n\t\tglyph:glyph, pixels:pixels, width:width, height:height, top:-rect.y0, left:rect.x0,\n\t\tadvance:floor(hmetrics.advanceWidth * scale_x),\n\t}\n}\nfunction GetPaths(font, codepoint, size_x, size_y) {\n\tsize_y = size_y || size_x;\n\tvar scale_x = size_x / font.ascent;\n\tvar scale_y = size_y / font.ascent;\n\n\tvar glyph = stbtt_FindGlyphIndex(font, codepoint);\n\tif (!glyph && codepoint) {\n\t\treturn null;\n\t}\n var vertices = stbtt_GetGlyphShape(font, glyph);\n\tvar hmetrics = stbtt_GetGlyphHMetrics(font, glyph);\n\n\t// The hmetrics just give us advance. We need ascent and descent as well.\n\tvar ascent = 0;\n\tvar descent = 0;\n\n\t// Convert to SVG notation\n\tvar paths = [];\n\tif (vertices) {\n\t\tfor (var i = 0, l = vertices.length; i < l; i++) {\n\t\t\tvar v = vertices[i];\n\t\t\tvar path;\n\t\t\tif (v.type == STBTT_vmove) {\n\t\t\t\tpath = { type:'M', x:v.x * scale_x, y:v.y * scale_y };\n\t\t\t} else if (v.type == STBTT_vline) {\n\t\t\t\tpath = { type:'L', x:v.x * scale_x, y:v.y * scale_y };\n\t\t\t} else if (v.type == STBTT_vcurve) {\n\t\t\t\tpath = { type:'Q', x:v.x * scale_x, y:v.y * scale_y,\n\t\t\t\t\t\t\t\t cx:v.cx * scale_x, cy:v.cy * scale_y };\n\t\t\t} else if (v.type == STBTT_vcubic) {\n\t\t\t\tpath = { type:'C', x:v.x * scale_x, y:v.y * scale_y,\n\t\t\t\t\t\t\t\t cx1:v.cx * scale_x, cy1:v.cy * scale_y,\n\t\t\t\t\t\t\t\t cx2:v.cx1 * scale_x, cy2:v.cy1 * scale_y };\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (path.y > ascent) ascent = path.y;\n\t\t\tif (path.y < descent) descent = path.y;\n\t\t\tpaths.push(path);\n\t\t}\n\t}\n\n\t// Add the glyph metrics to the returned array.\n\tpaths.advance = hmetrics.advanceWidth * scale_x;\n\tpaths.ascent = ascent;\n\tpaths.descent = descent;\n\treturn paths;\n}\n\n\n// exports\nreturn {\n\tInitFont:\tInitFont,\n\tGetGlyph:\tGetGlyph,\n\tGetPaths:\tGetPaths,\n}\n\n})();\nfunction toUint8Array(data) {\n if (typeof data == \"string\") {\n var binary = /[^A-Za-z0-9+\\/=\\s]/.test(data);\n var bstr = binary ? data : atob(data),\n len = bstr.length,\n bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = bstr.charCodeAt(i);\n }\n return bytes;\n } else if (data instanceof Uint8Array) {\n return data;\n } else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n throw new ReferenceError(\"data must be a binary or base64 encoded string or Uint8Array\");\n}\n\nFontLib.loadFont(\"OCR-A\", 100, 100, \"AAEAAAAPAIAAAwBwRkZUTXxHoksAADPIAAAAHEdERUYAmQAGAAAyIAAAACBHUE9TuP+4/gAAM5gAAAAwR1NVQuq3l/0AADJAAAABWE9TLzKDm4kvAAABeAAAAGBjbWFwO6GiGgAAArgAAAFaZ2FzcP//AAMAADIYAAAACGdseWYfHUemAAAE8AAAKUBoZWFkFeCL3QAAAPwAAAA2aGhlYQcqAgQAAAE0AAAAJGhtdHgagBVHAAAB2AAAAOBsb2NhH+IWRAAABBQAAADabWF4cACxAF0AAAFYAAAAIG5hbWUIp3NfAAAuMAAAAoJwb3N0oJoboAAAMLQAAAFkAAEAAAACAAAhYPsHXw889QALA+gAAAAA2gMjvQAAAADaAyO9AD7/LAJ8BFIAAAAIAAIAAAAAAAAAAQAABFL/LABaAtMAAAAAAnwAAQAAAAAAAAAAAAAAAAAAAAQAAQAAAGwAWgADAAAAAAACAAAAAQABAAAAQAAAAAAAAAACAtMBkAAFAAACigK8AAAAjAKKArwAAAHgADEBAgAAAgAFCQAAAAAAAAAAACMAACoAAAAAAAAAAABQZkVkAEAAICWgAyD/OABaBFIA1AAAAAEAAAAAAjgDDAAAACAAAQLTAAAAAAAAAtMAAALTAAAA9gBJAEkASQBJAEkA3QDdAKwASQBJAKwASQDdAEkASQBJAEkASQBhAEkASQBJAEkASQDdAKwASQBJAEkASQBJAEYASQBJAEkASQBJAEkASQBJAHoASQBJAEkASQBJAEkASQBJAEkASQBJAEkASQBJAEkASABJAEkASQBIAEkAegBJAEkASQBJAEkAYQBJAEkAegB6AEkAegBBAEkASQBJAEkASQBJAEkASQBJAD4ASQBJAEkASQEPAEkASQBxAHEAcQE3AFcA7QBxAQMA1ABxAAAAAwAAAAMAAAAcAAEAAAAAAFQAAwABAAAAHAAEADgAAAAKAAgAAgACAH4kQiUCJaD//wAAACAkQCUCJaD////j3CLbY9rGAAEAAAAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAADBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAFIApgDoAS4BigGqAdYCAgJKAnQCkAKsAsYC5AMIAzIDYAOcA8gD+gQmBFIEggSuBNwFDAU0BVwFhAXEBhIGPgZwBqgG5AcKBy4HageWB8QH7gggCDoIZgiICMoI8glMCYIJwAnmChAKNAp0Cq4K1gr6CyYLRAtwC5QLrgvODBYMdAysDRANag2eDhYOSA6EDsYO+A8iD2YPmA/yEFgQvBDqETQRbhGgEcwSDhJEEnoSqBLiEwITPBNyE5ITthPeE+wT+hQUFEYUaBSIFKAAAAACAPYAAAGNAwwADwAfAAA3NTQ2OwEyFh0BFAYrASImETQ2OwEyFh0BAxQGIyImJ/YeFTEVHh4VMRUeHhUxFB8ZHhQVHAIzKhUdHRUqFR4eArwUHhwTA/6BFR0dFQAAAAABAEkBqAI7AwwAEwAAEychFQYHBiMiJjUnIwcOASMiJidKAQHyJgsMKBQgKHIqAxwSExwDAsJKSrkvMhoS09YRGBgRAAIASQB/AjsDDAA9AEEAABM0NjsBNSMiJjQ2OwE1NDYyFh0BMzU0NjIWHQEzMhYUBisBFTMyFhUUBisBFRQGIiY9ASMVFAYiJj0BIyImNzM1I0kdFTExFR0dFTEdKh5hHiodMRUeHhUxMRUeHhUxHSoeYR4qHTEVHchhYQFcFB5vHiodeBQeHhR4eBQeHhR4HSoebx4UFR53FR4eFXd3FR4eFXceR28AAAEASQAAAjsDDAAxAAA2NDYzITUhIiY9ATQ2OwE1NDYzMhYdATMyFhQGIyEVITIWHQEUBisBFRQGIyImPQEjIkkdFQFb/qUVHR0VlB4VFB6UFR4eFf6lAVsVHh4VlB4UFR6UFccqHkQeFaoVHXgUHh4UeB0qHkQeFaoVHXcVHh4VdwAAAAMASQAAAjsDDAAPAB8ALwAANzQ3ATYzMhYVFAcBBiMiJhE1NDY7ATIWHQEUBisBIiYBNTQ2OwEyFh0BFAYrASImSQoBjQ4aFR4L/nMOGhUdHRVjFR4eFWMVHQEpHhVjFR4eFWMVHocUCwH+Ex0VEg3+AhMdAhNVFB4eFFUVHh79w1QVHh4VVBUeHgAAAwBJAAACOwK3AC4ANgBBAAA3NTQ/AScmPQE0NjsBMhYdARQPARc3NjMyFhUUDgIHFxYVFAYjIi8BBwYrASImNxQWOwE3JwcRFzc1NCYrASIGFUkRXGANWT5gPlkRfWszDxIVHhAPIQI0Dh4VFw43Sg8RYj5ZZR4UTzhrTlVvHhRgFB6XRRgPT2YPFEU+WVk+RRkOa3IsDB4VDRoOGAI4EBIVHhA7PwxZPhUdMHJCASpbXi4UHh0VAAEA3QFUAaYDDAARAAATETQ2OwEyFhcUBg8BDgEjIibdHhVjFRwCMhoZBRoSFR4BhgFUFB4dFQawVVURFR0AAAABAN0AAAHZAwwAGwAAEzU0PwE2MzIWFRQPAQYdARQfARYVFAYjIi8BJt0rdRAYFR8MdRYWdQodFRgQdSsBJsBFOJYTHhQOEpUdIsAiHZUPEBUeE5Y4AAAAAQCsAAABpgMMABsAADc0PwE2PQE0LwEmNTQ2MzIfARYdARQPAQYjIiasCnUWFnUKHRUYEHUrK3UQGBUdMxAPlR0iwCIdlQ8RFB4TljhFwEU4lhMeAAAAAAEASQBVAjsCtwAzAAA3ND8BJyY1NDYzMh8BNTQ2MzIWHQE3NjMyFhUUDwEXFhUUBiMiLwEVFAYjIiY9AQcGIyImSRGZmREdFRMOcx4VFB5zDRQVHhKZmRIeFRQNcx4UFR5zDhMVHdwYD4ODDxgVHQxikRUdHRWRYgwdFRcQg4MQFxUdDGKRFR0dFZFiDB0AAAEASQCNAjsCfwAdAAASNDY7ATU0NjMyFh0BMzIWFAYrARUUBiMiJj0BIyJJHRWUHhUUHpQVHh4VlB4UFR6UFQFxKh6UFB4eFJQeKh2UFR4eFZQAAAEArAAAAdcBZAAQAAASNDY7ATIWHQEUBiImPQEjIqwdFccVHR0qHpQVARwqHh4V/hUeHhXMAAAAAQBJASkCOwG5AA8AABM1NDYzITIWHQEUBiMhIiZJHRUBjRUeHhX+cxUdAVwqFR4eFSoVHh4AAAABAN0AfwGmATkADwAANzU0NjsBMhYdARQGKwEiJt0eFWMVHh4VYxUeslUVHR0VVRUeHgAAAQBJAAACOwMMAA8AADc0NwE2MzIWFRQHAQYjIiZJBgGNDx0VHgf+cw8dFR0zDQwCpxkeFAwO/VkZHgAAAgBJAAACOwMMAA8AEwAANxE0NjMhMhYVERQGIyEiJjchESFJPCkBKCg9PSj+2Ck8ZQEo/thlAkIpPDwp/b4pPDwpAkIAAAAAAQBJAAACOwMMABwAADc0NjsBESMiJjU0NjsBETM1NDYyFh0BFAYjISImSR0VlJQVHR0V+WIdKh4eFf5zFR0zFB4CQh4VFB79WcwVHh4V/hUeHgAAAQBJAAACOwMMAB4AADMRNDYzITUhIiY1NDYzITIWHQEUBiMhFSEyFhUUBiNJPCkBKP6lFR0dFQFbKD08Kf7YAVoVHh4VAVQpO+8eFRQePCnvKDzvHhQVHgAAAAABAEkAAAI7AwwAKgAANzQ2MyE1NCYrASImNDY7ATI2PQEhIiY1NDYzITIWHQEUBxYdARQGIyEiJkkdFQFbHxTFFR0dFcUVHv6lFR0dFQFbKD0oKD0o/qUVHTMUHrwUHx0qHh4UvB4VFB48Kbw6Kys6vCk8HgAAAAABAGEAAAIiAwwAHQAAExE0NjIWFREzETQ2MzIWFREyFhQGIxUUBiMiJj0BYR4qHcUeFRQeFR0dFR4UFR4A/wHbFB4eFP6KASEVHR0V/t8eKh3MFR4eFcwAAQBJAAACOwMMACIAADc0NjMyHwEzNSERITIWFRQGKwEVMzIWHQEUBisBIi4CJyZJHRUMCFrt/tYBXBUeHhX3xSg9PSjjFCkaLAkeXRUdBCbvAbgeFBUe7j0o7yk8CgsVBA0AAAIASQAAAjsDDAAXABsAADcRNDY7ATIWFRQGIxEhMhYdARQGIyEiJjchNSFJHRUyFR0dFQFbFR4eFf5zFR1kASn+1zMCpxQeHhQVHv69HhX+FR4eR5oAAAABAEkAAAI7AwwAGwAAEzU0NjMhERQPARUUBiMiJj0BND8BNSEOASMiJkkdFQHAErUeFBUeErX+1wMcExUdAq8rFB7+zxcQmucVHh4V/hcQmrUSGB0AAAAAAwBJAAACOwMMABcAGwAfAAA3NTQ2MxE0NjsBMhYVETIWHQEUBiMhIiY3ITUhNzM1I0k7KRwVxxUcKD09KP7XKTtkASn+12RhYWXvKTwBIRUdHRX+3z0o7yk8PCnvZe4AAgBJAAACOwMMABcAGwAAExE0NjMhMhYVERQGKwEiJjU0NjMRISImNyE1IUkdFQGNFR4eFTIVHR0V/qUVHWQBKf7XAdsA/xQeHhT9WRUeHhUUHgFDHkeaAAIA3QB/AaYCjQAPAB8AADc1NDY7ATIWHQEUBisBIiYRNTQ2OwEyFh0BFAYrASIm3R4VYxUeHhVjFR4eFWMVHh4VYxUeslUVHR0VVRUeHgFoVRUeHhVVFR0dAAAAAgCsAAAB1wK3ABAAIAAAEjQ2OwEyFh0BFAYiJj0BIyIDNTQ2OwEyFh0BFAYrASImrB0VxxUdHSoelBUdHRVkFB4eFGQVHQEcKh4eFf4VHh4VzAExVRUdHRVVFR4eAAAAAQBJAFUCOwK3ABYAABM1NDclNjMyFhUUBw0BFhUUBiMiJyUmSRgBjQsPFR4Z/pkBZxkeFQ8L/nMYAXArHQ/pBx0VHBDT0xAcFR0H6Q8AAAACAEkA/wI7AjgACwAXAAASNDYzITIWFAYjISImNDYzITIWFAYjISJJHRUBjRUeHhX+cxUdHRUBjRUeHhX+cxUBHCoeHiod8SoeHiodAAAAAAEASQBVAjsCtwAWAAA3NDctASY1NDYzMhcFFh0BFAcFBiMiJkkYAWj+mBgdFQ8LAY0ZFP5uCw8VHYcdD9PTDx0VHQfpEBwqHQzsBx0AAAAAAgBJAAACOwMMAB4AKAAAEzQ3ATYyHwEWHQEUBwUVFAYiJj0BNDclNScFBiMiJhM0NjIWFRQGIiZJEQEqDyQPYxIS/ugeKh0RARkx/vcPEhUdYx0qHh4qHQHbGA4A/wwMVQ8XVRcQ7z4VHR0VVRkO7yYq4wwe/m0UHh4UFR4eAAACAEkAAAI7AwwALQA4AAA3NTQ2OwEyFhURFBYyNjURNCYrASIGBwYjIiY1NDc2OwEyFhURFAYjIicGIyImNxQWMjY9ASMiBhVJWD1kFB4dKB0uH48ZLQwOHxUdNjdEj0lpWT05Kiw4PVhlHCgdMRQclrc+WB4V/uYUHR0UAcQgLSMXGx4VJDEyakj+PD1ZJydYPhQdHRToHRQAAAACAEYAAAI8AwwAFQAYAAA3Ez4BMhYXExQGIyImLwEjBw4BIyImNzMDRssFGiIcBMofFREaBSffJwUbERUfqqNSMwK1EBQUEP1LFR4UEIaGEBQe8QEWAAAAAwBJAAACOwMMAA4AGAAiAAAzESEyFh0BFAcWHQEUBiMnMzI2PQE0JisBNTMyNj0BNCYrAUkBKFJ4RkZ4UsPDKTw8KcPDKTw8KcMDDHhSJVk+PlklUnhlPSglKTxlPCglKD0AAAEASQAAAjsDDAAlAAATND8BPgE7ATIWFRQGKwEiDwEGFB8BFjsBMhYVFAYrASImJyYnJkkYZRBLLboVHh4Vuh8NZw0NZw0fuhUeHhW6LEkSShwYAYY1MswkLx4UFR4cyxw8HMscHhQVHjAkjT4zAAACAEkAAAI7AwwAGwAoAAA3NDY7AREjIiY1NDY7ATIWHwEWFA8BDgErASImNzMyPwE2NTQvASYrAUkdFTExFR0dFbosSRJmGRllEEstuhUdyCQfDWcODmcNHyQzFB4CQh4VFB4wJMs0ZjTMJC8eRxzLIhgeHMscAAABAEkAAAI7AwwAGQAAMxEhMhYVFAYjIRUzMhYUBisBFSEyFhUUBiNJAb8VHh4V/qaUFB4eFJQBWhUeHhUDDB4UFR7uHiod7x4UFR4AAQBJAAACOwMMABYAADcRITIWFRQGIyEVMzIWFAYrAREUBiImSQG/FR4eFf6m9xUdHRX3HiodMwLZHhQVHpodKh7+ixUeHgAAAQBJAAACOwMMACoAADcRND8BNjsBMhYVFAYrASIPAQYVERQWOwEyNj0BIyImNDY7ARUUBisBIiZJKogtS5UVHh4VlRkPiBUeFMMUH2MVHR0VyFo+wz9YmAEPRTawOh4UFR4Urhwi/vEVHh4VZx0qHsw+WlkAAAAAAQBJAAACOwMMABsAADcRNDYyFhURIRE0NjIWFREUBiImNREhERQGIiZJHSoeASgdKh4eKh3+2B4qHTMCpxQeHhT+3wEhFB4eFP1ZFR4eFQEh/t8VHh4AAAEASQAAAjsDDAAfAAA3NDY7AREjIiY1NDYzITIWFRQGKwERMzIWFRQGIyEiJkkdFZSUFR0dFQGNFR4eFZSUFR4eFf5zFR0zFB4CQh4VFB4eFBUe/b4eFBUeHgAAAQB6AAACCQMMABsAADc1NDYyFh0BFBY7ATI2NRE0NjIWFREUBisBIiZ6HiodHhVfFR4dKh5aPl8+WpeaFR4eFZoVHR4UAkMUHh4U/b0+WVkAAAAAAQBJAAACOwMMAB4AADcRNDYyFh0BATYzMhYVFAcJARYVFAYjIicBFRQGIiZJHSoeATkPEhUeEv6gAWASHhUSD/7HHiodMwKnFB4eFOYBDAweFBgP/tP+0w8XFR4MAQzlFR4eAAEASQAAAjsDDAAOAAAzETQ2MhYVESEyFhUUBiNJHSoeAVoVHh4VAtoUHh4U/YseFBUeAAABAEkAAAI7AwwAGwAANxEzFzczERQGIiY1EQcVFAYjIiY9AScRFAYiJkl+e3p/HiodYh4UFR5hHiodMwLZr6/9JxUeHhUCTowaFR4eFRqK/bQVHh4AAAAAAQBJAAACOwMMABEAADcRMwERNDYyFhURIwERFAYiJkmFAQgdKh6G/vkeKh0zAtn9pgIoFB4eFP0mAlj92xUeHgAAAAACAEkAAAI7AwwAFgApAAATND8BPgEzMhYfARYUDwEOASMiJi8BJjcGFB8BFjMyPwE2NTQvASYjIgdJGGsQPyYnPxBrGRlrED8nJj8QaxhyDQ1sCBIUCGsODmwIExEJAYY1MtcfKSkf1zRmNNcfKSkf1y5zHDwc1hEQ1yIYHhzVEhIAAAACAEkAAAI7AwwADwAZAAA3ESEyFh0BFAYrARUUBiImEzMyNj0BNCYrAUkBWj5aWj71HiodZfUUHx8U9TMC2Vk+tD5a9hUeHgFwHhW0FB4AAAIASQAAAjsDDAAhAEAAADcRND8BNjMyFhURFA4FBxczMhYVFAYrAScHBiMiJjcUOwE3JyY1NDYzMh4DFz4ENRE0JisBBwYVSUbhIC8ySggUDiMOLAUYQRUeHhWGJUsiLTJIZRUIbCUDHhUNFA8IDAIEHw4UCQ0KB+giewEaXj2+Hkky/uYXKSUZIg0kBD0eFBUeXkAeSTIWXF4HCxUeCxoRJAQEGQ0aHBEBGgkMwx4wAAAAAAIASQAAAjsDDAAZACMAADcRITIWHQEUBisBExYVFAYjIicDIxEUBiImEzMyNj0BNCYrAUkBWj5aWz06ywceFR0P6UUeKh1l9RQfHxT1MwLZWj40Plr+pA4LFR4ZAY/+ixUeHgHvHxQ0FR4AAAEASQAAAjsDDAAsAAA3NDYyFhUUFjsBMjUBJj0BNDY7ATIWFRQGIiY1NCYrASIdAgEWFQ4BKwEiJkkdKh4UDvkN/ooXQy75N1EeKh0VDvkMAXQZAkEv+TdQhxUeHhUOFA0B4iAmAy1CUDcVHh4VDRUKAwT+Ih4oL0NQAAABAEkAAAI7AwwAGAAAEzUhFRQGIiY9ASMRFAYjIiY1ESMVFAYiJkkB8h4qHWIeFBUeYR4qHQKFh4cVHh4VIv2MFR4eFQJ0IhUeHgAAAQBJAAACOwMMABsAADcRNDYyFhURFBY7ATI2NRE0NjIWFREUBisBIiZJHSoeHhTDFB8dKh5aPsM+WZcCQxQeHhT9vRUdHhQCQxQeHhT9vT5ZWQAAAQBJAAACOwMMABUAABM1NDYyFh0BGwE1NDYyFh0BAwYjIidJHSoelJQdKh7KDSIjDQIltRQeHhSh/oYBeqEUHh4UtP36ICAAAQBJAAACOwMMACsAADcRNDYyFhURFzM+ATcRNDYzMhYVER4BFzM3ETQ2MhYVEQcGKwEiJwYrASInSR0qHhwpAhQGHhUUHgYUAikdHSoeOQ8dYiASFR5hHg96AmAUHh4U/bswAyYKAUMVHR0V/r0KJgMwAkUUHh4U/aBhGSMjGQABAEkAAAI7AwwAIwAANzQ3EwMmNTQ2MzIXGwE2MzIWFRQHAxMWFRQGIyInCwEGIyImSQa4uAYdFR0Pm5oPHRUeB7i4Bx4VHQ+amw8dFR0zDQwBOgE6DA4UHhn++AEIGR4UDA7+xv7GDgsVHhkBCP74GR4AAAEASQAAAjsDDAAZAAATNTQ2MhYdARc3NTQ2MhYdAQcRFAYjIiY1EUkdKh6Ukx4qHsceFBUeAnNnFB4eFES+vkQUHh4UZ/7+vhUeHhUBQgAAAQBIAAACOwMMABMAADcBISImNTQ2MyEVASEyFhUUBiMhSAFo/ssVHR0VAcD+mAE1FR4eFf5BQAJnHhUUHkD9mR4UFR4AAAAAAgBJAAACOwMMABcAGwAANxE0NjMhMhYVFAYrAREzMhYVFAYjISImNzMRI0kdFQGNFR4eFcbGFR4eFf5zFR1kMDAzAqcUHh4UFR79vh4UFR4eRwJCAAAAAAEASQAAAjsDDAAPAAATNDYzMhcBFhUUBiMiJwEmSR0VHQ8BjQceFR0P/nMGAtoUHhn9WQ4LFR4ZAqcMAAIASQAAAjsDDAAXABsAADc0NjsBESMiJjU0NjMhMhYVERQGIyEiJiUzESNJHRXGxhUdHRUBjRUeHhX+cxUdAV0wMDMUHgJCHhUUHh4U/VkVHh5HAkIAAAABAEgAfwI7AmIAFAAANxM2MzIXExYVFAYjIi8BBwYjIiY1SM0NIB4OyAUeFRsOnZ4OGxUdvgGJGxv+gAwJFR4V7OwVHhUAAAABAEn/mwI7AAAADQAAFzQ2MyEyFhUUBiMhIiZJHRUBjRUeHhX+cxUdMhQeHhQVHh4AAAAAAQB6AagCCQMMABAAABM0NjsBMhcTFhUUBiMiJwEmeh4VYxoOywYeFRAQ/tYSAtoUHhP++gsNFR4MAP8PAAAAAAIASQAAAjsCOAAmADQAADc1NDY7ATIXNC4FKwEiJjQ2OwEyFhcTFAYjIiY1BwYrASImNxQWOwE3NTQmKwEiBhVJWD3BGBQBAQMGCxEMuhUdHRW6PVcCDR8VFB1KCg+VPVhlHBSHax8SwRMdljg+WAcHIQ8cDRAGHSoeVTz+ixUdHhQrB1g+FB0/LBIdHRQAAAIASQAAAjsDDAApAEMAADcRNDYyFh0BNjsBMh4FFxYdARQOBA8BBisBIi4BJxUUBiImNxQfARY7ATI+ATc2PQE0LgEnJisBIg8BBhVJHSoeRENLDRgYDhgHGwE1BA4HGgURESk4Sx02HRceKh1lEVYMFEsOFh4CEg0fARUUSxQMVhEzAqcUHh4U4kADCwUTBRcBLkTOEBsaDxoGDw4kFhcVDxUeHsIXDkoMDB4BDhfODhQaARMMSgsaAAAAAQBJAAACOwI4ACYAADc1NDc+AzsBMhYUBisBIg8BBh0BFB8BFjsBMhYVFAYrASIvASZJNAszITof0xUeHhXTFAxWERFWDBTTFR4eFdM5KVY04HhFLQkxGxkeKh0MSgsaeBcPSQweFBUeJEotAAAAAAIASQAAAjsDDAAtAEgAADc1NDY3Njc2OwEyHgQXNTQ2MhYVERQGIiY9AQ4CKwEiLgcnJjcUHgIXFjsBMj8BNj0BNC8BJisBIg4BBwYVSSonBQMpOEsQHhMeCB8CHSoeHiodFx02HksLExMOEQoRBhMCNGUMDRgEDxFLEg5WEhJWDBRLDhcaBBK1zjA7IAQCJAcHFAYcAecUHh4U/VkVHh4VEBYXFgIGBQoGDgURAitHDBYMEwMMDEoNGHgVEEoMDRoDEBYAAAAAAgBJAAACOwI4ADQAQQAANzU0PgE3NjsBMh4GHwEWHQEUBiMhFRQeAhcWMyEyFhUUBiMhIi4HJyY3ITU0JisBIg4BBwYVSSAaHyk4fQoTFAwUBxQECws1HhX+pgwNGAQPEQEFFR4eFf77CxMTDhEKEQYTAjRlASg8Gn0OFh4CEbXOIzwYGiQCBgQMBBECCgouRHwVHh8MFgwTAwweFBUeAgYFCgYOBRECK8tKGjYMHgEOFwAAAQBhAAACIQMMACQAABI0NjsBNTQ2OwEyFhUUBisBIgYdATMyFhQGKwERFAYiJjURIyJhHRUxaEp5FR0dFXkgLWMUHh4UYx0qHjEVAfAqHiJKaB4UFR4tICIeKh3+YBUeHhUBoAAAAAACAEn/LAI7AjgAQgBZAAA3NTQ+CDc2OwEyHgQXNTQ2MhYVERQOBA8BBisBIiY0NjsBMj4BNzY9AQ4CKwEiLgMvASY3FBY7ATI/ATY9ATQvASYrASIOAQcGFUkDAwsEEAQVAxcBKThLEB4THggfAh0qHgQOBxoFEREpONMVHh4V0w4XHAMSFx42HUsPHxIeBxARNGQ7G0sUDFYSElYMFEsPFxgGEuCjCxYQFAoTBhIDEwEkBwcUBhwBEhUeHhX93BAbGg8aBg8OJB0qHg4aAw4XjRUYFwcGFQUPDi1FGzYMSg4XThUQSgwOGAQSFAAAAAABAEkAAAI6AwwAIAAANxE0NjIWHQE3NjsBMhYXExQGIyImNQMuASsBBxEUBiImSR0qHmAmKzk9VwIMHRUUHg0CGxRHox4qHTMCpxQeHhT3PRhVPP6MFR4dFAFzExxp/skVHh4AAgB6AAACCQM2ABoAKgAANzQ2OwERIyImNDY7ATIWFREzMhYVFAYjISImEzU0NjsBMhYdARQGKwEiJnoeFWNjFR4eFZUUHmIVHh4V/tcVHmMeFTIUHh4UMhUeMxQeAW4dKh4eFf5gHhQVHh4CvCoVHR0VKhUeHgAAAgB6/ywCCQM2AB8ALwAAFzQ2MzIeAjsBMjY1ESMiJjQ2OwEyFhURFAYrASImJxM1NDY7ATIWHQEUBisBIiZ6HhUUGAkZFWIUH5UVHh4VxhUeWT5iOFYI+B4VMRUeHhUxFR5NFR4bHxsdFAIRHSoeHhX9vT5YSjUDLyoVHR0VKhUeHgAAAQBJAAACOwMMAB8AADcRNDYyFhURJTYzMhYVFA8BFxYVFAYjIiclBxUUBiImSR0qHgEIDhIVHhLL/RIdFRMP/vcwHiodMwKnFB4eFP5x4QweFRcPrtgPFxUeDOMqkhUeHgAAAAEAegAAAgkDDAAbAAA3NDY7AREjIiY1NDY7ATIWFREzMhYVFAYjISImeh4VYmIVHh4VlRQeYhUeHhX+1xUeMxQeAkIeFRQeHhT9ix4UFR4eAAAAAAEAQQAAAkICOAAuAAA3ETQ2MzIWFzYzMhc3NjMyFhcTFAYjIiYnAyYrAQcRFAYjIiY1ETQrAQcRFAYiJkEdFRAbBSktPSQWISovSAEPHRUUHgEOAg8GRB4UFR4WCEseKh0zAdIVHhQPIzASG0Iv/m8VHh0UAY8TOv6aFR4eFQGKFkH+oRUeHgABAEkAAAI6AjgAIAAANxE0NjIWHQE3NjsBMhYXExQGIyImNQMuASsBBxEUBiImSR0qHmAmKzk9VwIMHRUUHg0CGxRHox4qHTMB0hUeHhUiPRhVPP6MFR4dFAFzExxp/skVHh4AAgBJAAACOwI4ACYAQAAANzU0PgE3NjsBMh4FFxYdARQOBA8BBisBIi4EJyY3FB4CFxY7ATI+ATc2PQE0JisBIg4BBwYVSSAaHyk4fQ0YGA4YBxsBNQQOBxoFEREpOH0QHRQbCxsENGUMDRgEDxF9DhYeAhI8Gn0OFh4CEbXOIzwYGiQDCwUTBRcBLkTOEBsaDxoGDw4kBwcSCBgDK0cMFgwTAwwMHgEOF84aNgweAQ4XAAAAAgBJ/ywCOwJNACwASgAAFxE0NjIWHQE+CDsBMh4BFx4EHQEUDwEGKwEiLgEnFRQGIiYTFB4CFx4CFxY7ATI/ATY9ATQvASYrASIPAQYVSR0qHgITBhIKEg8TFQsVHTcbGQIwDB0KNVYpORUfNyAVHiodZQoKFQMHGBQJDhUVFAxXERFXDBQVFQ5aDqICvRQeHhQbAhQFEQYNBQcCGBUXAikPJiYXoUQuSiQYHBfYFR0dAZIMFQsSAwcZFAgODEoNGKEYDUsMDlsLFwAAAgBJ/ywCOwI4AC0ASAAANzU0Njc2NzY7ATIeBBc1NDYyFhURFAYiJj0BDgIrASIuBycmNxQeAhcWOwEyPwE2PQE0LwEmKwEiDgEHBhVJKicFAyk4SxAeEx4IHwIdKh4eKh0XHTYeSwsTEw4RChEGEwI0ZQwNGAQPEUsSDlYSElYMFEsOFxoEErXOMDsgBAIkBwcUBhwBEhUeHhX9WRUdHRXlFhcWAgYFCgYOBRECK0cMFgwTAwwMSg0YeBUQSgwNGgMQFgAAAAABAEkAAAI7AjgAHwAANxE0NjIWHQE3NjsBMhYdARQGIiY9ATQmKwEHERQGIiZJHSoedwsSYz1ZHiodHRRRph4qHTMB0hUeHhU7ZghZPRwVHR0VHBQdj/7vFR4eAAEASQAAAjoCOAA0AAA3NDYzMhYXHgE7ATI2NTQnJS4BNTQ3NjsBMhcWFRQGIyImKwEiBhUUFwUeAR0BDgErASInJkkcFRImCQIUBMsYGx3+6yIqJSY11kswCh4VEi0T1g0PEAEWJjUBWj+9ST4TXRUdHQMBCSAWIg14D0MnMyQmPw0RFR4rEgsSBngRTS4CP1k1EAABAEkAAAI7AuIAKgAAEjQ2OwE1NDYyFh0BMzIWFAYrAREUFjsBMj4CMzIWHQEOASsBIiY1ESMiSR0VMR0qHsUVHR0VxRwUZBQZCRkUFR4KVTdkPVgxFQHwKh53FR4eFXceKh3+wxQdGx8bHhUINEtZPQE9AAEASQAAAjsCOAAgAAATNDYzMhYVEx4BOwE3ETQ2MhYVERQGIiY9AQcGKwEiJidJHRUUHg0CGxRHpB0qHh4qHWEmKzk8WAICBRUeHRT+jRQbaAE4FR4eFf4uFR4eFSM+GFU7AAABAEkAAAI7AjgAGgAAEzU0NjIWHQEbATU0NjIWHQEUBwMGKwEiJwMmSR0qHpOVHSoeBacNIT8hDacEAbBVFR4eFUr+rQFTShUeHhVVCgr+gh4eAX4IAAAAAQA+AAACRQI4ACsAABM0NjMyFhcTFzc1NDYzMhYdARc3Ez4BMhYdAQMHDgErASIvAQcGKwEiJi8BPh4VFB0BCiBCHhUUHkIgCgEdKB8LMwUbETEdDzc4Dx0xERsFNAIEFR8dFP7dbHJyFB4eFHJybAEjFB0eFAL+yqoQFBlfXxkUELYAAQBJAAACOwI4ACMAADc0PwEnJjU0NjMyHwE3NjMyFhUUDwEXFhUUBiMiLwEHBiMiJkkKraEMHhUXEJWUEBcVHgyhrQseFRgPn6APGBUdMxMN0MIPERUeE7OzEx4VEQ/C0A4SFR4SwcESHgAAAQBJ/ywCOwI4ACMAABY0NjsBNyMiJwMmPQE0NjIWHQETMxM1NDYyFh0BFAcBBisBIkkdFWdDFSIMlQQdKh6DIIQeKh4F/vwNIogVtyoemR8BUwgMVRUeHhVK/tQBLEoVHh4VVQoK/a4eAAAAAQBJAAACOwI4ABwAADc1NDcBISImNDYzITIWHQEUBwEhMhYVFAYjISImSQ8BYP7bFR0dFQF1FR4Q/qEBPBUeHhX+cxUdMyoXDQFSHSoeHhUqFRD+rx4UFR4eAAABAEkAAAI7AwwAKgAAEjQ2OwEyNj0BNDY7ATIWFRQGKwEVFAcWHQEzMhYVFAYrASImPQE0JisBIkkdFWEWHT0olBUeHhWUJyeUFR4eFZQoPR4VYRUBcSoeHRW8KTweFBUevDksLDm8HhQVHjwpvBQfAAAAAAIBDwAAAXQDDAAIABEAACURMxEUBiMiJhkBNDYzMhYVEQEPZR4UFR4eFRQeMwEh/t8VHh4BmwEhFB4eFP7fAAABAEkAAAI7AwwAKgAANzQ2OwE1NDcmPQEjIiY1NDY7ATIWHQEUFjsBMhYUBisBIgYdARQGKwEiJkkdFZQnJ5QVHR0VlCk8HRViFR4eFWIVHTwplBUdMxQevDksLDm8HhUUHjwpvBQeHiodHxS8KTweAAAAAAEASQGqAjsDCwAmAAATNTQ2MzIWHQEUFjI2PQE0NjIWHQEUBiMiJyY9ATQmIgYdARQGIiZJXTw6WB0oHR0qHlw9PCssHSgcHiodAgVvQVZYPzQUHx8UbxUeHhVvQVUrLj00FB4eFG8VHR0AAAEAcQAAAmMDDAATAAAzETQ2MhYdATMRIREUBiImPQEjEXEdKh5hASweKh1iATEVHh4VzAKn/s8VHh4VzP1ZAAABAHEAAAJjAwwAFQAANxEhETQ2MhYVERQGIiY1ESERFAYiJnEBjR0qHh4qHf7YHiodMwGGASEUHh4U/VkVHh4VASH+3xUeHgABAHEAAAJjAwwAGAAAExE0NjIWFREhETQ2MhYVESMRFAYjIiY1EXEdKh4BKB0qHsceFBUeAVQBhhQeHhT+3wEhFB4eFP56/t8VHh4VASEAAAEBN/+bAZwEUgADAAAFETMRATdlZQS3+0kAAAABAFf/5wJ8AyUAAwAAFxEhEVcCJRkDPvzCAAAAAQDtAAAB5gD6AA8AADc1NDY7ATIWHQEUBisBIibtHRWVFR0dFZUVHTOUFR4eFZQVHh4AAAEAcQAAAmMDDAAeAAATNDcBNjIfARYdARQHBRUUBiImPQE0NyU1JwUGIyImcREBKg8kD2MSEv7oHiodEQEZMf73DxIVHQHbGA4A/wwMVQ8XVRcQ7+cVHh4V/hkO7yYq4wweAAABAQMBqAHRAwwAEwAAATQ2OwEyFhUUBhUDFAYiJjU0NjUBAyAVYxQiATMfKCEBAtoUHhoSAQQB/wAUHhoSAQQBAAAAAAEA1AAAAf8BZAAUAAATNTQ2OwEyFh0BFAYrASImPQEjIibUHRXHFR0dFTIVHWMVHQEHKhUeHhX+FR4eFaEeAAABAHEBVAJjAbkACwAAEjQ2MyEyFhQGIyEicR0VAY0VHh4V/nMVAXEqHh4qHQAAAAAAAA4ArgABAAAAAAAAAFYArgABAAAAAAABAAQBDwABAAAAAAACAAcBJAABAAAAAAADACEBcAABAAAAAAAEAAUBngABAAAAAAAFAAoBugABAAAAAAAGAAQBzwADAAEECQAAAKwAAAADAAEECQABAAgBBQADAAEECQACAA4BFAADAAEECQADAEIBLAADAAEECQAEAAoBkgADAAEECQAFABQBpAADAAEECQAGAAgBxQBNAGEAdAB0AGgAZQB3ACAAUwBrAGEAbABhACAAKAAyADAAMQAxAC0AMQAyACkAOwAgAGIAYQBzAGUAZAAgAG8AbgAgAGMAbwBkAGUAIABiAHkAIABSAGkAYwBoAGEAcgBkACAAQgAuACAAVwBhAGwAZQBzACAAKAAxADkAOAA4AC0AOAA5ACkAIABhAG4AZAAgAFQAbwByACAATABpAGwAbABxAHYAaQBzAHQAAE1hdHRoZXcgU2thbGEgKDIwMTEtMTIpOyBiYXNlZCBvbiBjb2RlIGJ5IFJpY2hhcmQgQi4gV2FsZXMgKDE5ODgtODkpIGFuZCBUb3IgTGlsbHF2aXN0AABPAEMAUgBBAABPQ1JBAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAE8AQwBSACAAQQAgADoAIAAyADcALQA5AC0AMgAwADEAMgAARm9udEZvcmdlIDIuMCA6IE9DUiBBIDogMjctOS0yMDEyAABPAEMAUgAgAEEAAE9DUiBBAABWAGUAcgBzAGkAbwBuACAAMgAgAABWZXJzaW9uIDIgAABPAEMAUgBBAABPQ1JBAAAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAbAAAAAEAAgADAAQABQAGAAcACAAJALcACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCALYARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBAgEDAQQBBQEGAQcBCAEJAQoBCwd1bmkyNDQwB3VuaTI0NDEHdW5pMjQ0MghTRjExMDAwMAtibGFja3NxdWFyZQpwZXJpb2QuYWx0DHF1ZXN0aW9uLmFsdA9xdW90ZXNpbmdsZS5hbHQJY29tbWEuYWx0Cmh5cGhlbi5hbHQAAAAB//8AAgABAAAADgAAABgAAAAAAAIAAQADAGsAAQAEAAAAAgAAAAEAAAAKAEQAogACREZMVAAObGF0bgAkAAQAAAAA//8ABgAAAAEAAgADAAQABQAEAAAAAP//AAYAAAABAAIAAwAEAAUABmFhbHQAJnNzMDEALHNzMDIAMnNzMDMAOHNzMDQAPnNzMDUARAAAAAEAAAAeAAEAAQAcAAEAAgAaAAEAAwAYAAEABAAWAAEABQAAAQAAAAEBAAABAgAAAQMAAAEEAAYADgAWAB4AJgAuADYAAwAAAAEAMAABAAAAAQBkAAEAAAABAGgAAQAAAAEAbAABAAAAAQBwAAEAAAABAHQAAQAuAAUAEAAWABwAIgAoAAIACgBpAAIADwBqAAIAEABrAAIAEQBnAAIAIgBoAAEABQAKAA8AEAARACIAAQAGAFYAAQABABEAAQAGAEYAAQABACIAAQAGAF8AAQABAAoAAQAGAFsAAQABAA8AAQAGAFsAAQABABAAAQAAAAoALAAuAAJERkxUAA5sYXRuABgABAAAAAD//wAAAAQAAAAA//8AAAAAAAAAAAABAAAAAMw9os8AAAAA1gbbzAAAAADaAyOv\");\nFontLib.loadFont(\"OCR-B\", 96, 100, \"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\");\n return {\n // The public interface\n toCanvas:ToCanvas, render:Render, raw:ToRaw,\n fixupOptions:FixupOptions,\n loadFont:FontLib.loadFont,\n BWIPJS_VERSION:'3.0.4 (2021-08-05)',\n BWIPP_VERSION:BWIPP_VERSION,\n // Internals\n BWIPJS:BWIPJS, STBTT:STBTT, FontLib:FontLib,\n DrawingBuiltin:DrawingBuiltin, DrawingCanvas:DrawingCanvas,\n };\n}));\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","'use strict';\n\nvar Buffer = require('buffer').Buffer;\nvar Transform = require('stream').Transform;\nvar binding = require('./binding');\nvar util = require('util');\nvar assert = require('assert').ok;\nvar kMaxLength = require('buffer').kMaxLength;\nvar kRangeErrorMessage = 'Cannot create final Buffer. It would be larger ' + 'than 0x' + kMaxLength.toString(16) + ' bytes';\n\n// zlib doesn't provide these, so kludge them in following the same\n// const naming scheme zlib uses.\nbinding.Z_MIN_WINDOWBITS = 8;\nbinding.Z_MAX_WINDOWBITS = 15;\nbinding.Z_DEFAULT_WINDOWBITS = 15;\n\n// fewer than 64 bytes per chunk is stupid.\n// technically it could work with as few as 8, but even 64 bytes\n// is absurdly low. Usually a MB or more is best.\nbinding.Z_MIN_CHUNK = 64;\nbinding.Z_MAX_CHUNK = Infinity;\nbinding.Z_DEFAULT_CHUNK = 16 * 1024;\n\nbinding.Z_MIN_MEMLEVEL = 1;\nbinding.Z_MAX_MEMLEVEL = 9;\nbinding.Z_DEFAULT_MEMLEVEL = 8;\n\nbinding.Z_MIN_LEVEL = -1;\nbinding.Z_MAX_LEVEL = 9;\nbinding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n\n// expose all the zlib constants\nvar bkeys = Object.keys(binding);\nfor (var bk = 0; bk < bkeys.length; bk++) {\n var bkey = bkeys[bk];\n if (bkey.match(/^Z/)) {\n Object.defineProperty(exports, bkey, {\n enumerable: true, value: binding[bkey], writable: false\n });\n }\n}\n\n// translation table for return codes.\nvar codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n};\n\nvar ckeys = Object.keys(codes);\nfor (var ck = 0; ck < ckeys.length; ck++) {\n var ckey = ckeys[ck];\n codes[codes[ckey]] = ckey;\n}\n\nObject.defineProperty(exports, 'codes', {\n enumerable: true, value: Object.freeze(codes), writable: false\n});\n\nexports.Deflate = Deflate;\nexports.Inflate = Inflate;\nexports.Gzip = Gzip;\nexports.Gunzip = Gunzip;\nexports.DeflateRaw = DeflateRaw;\nexports.InflateRaw = InflateRaw;\nexports.Unzip = Unzip;\n\nexports.createDeflate = function (o) {\n return new Deflate(o);\n};\n\nexports.createInflate = function (o) {\n return new Inflate(o);\n};\n\nexports.createDeflateRaw = function (o) {\n return new DeflateRaw(o);\n};\n\nexports.createInflateRaw = function (o) {\n return new InflateRaw(o);\n};\n\nexports.createGzip = function (o) {\n return new Gzip(o);\n};\n\nexports.createGunzip = function (o) {\n return new Gunzip(o);\n};\n\nexports.createUnzip = function (o) {\n return new Unzip(o);\n};\n\n// Convenience methods.\n// compress/decompress a string or buffer in one step.\nexports.deflate = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new Deflate(opts), buffer, callback);\n};\n\nexports.deflateSync = function (buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n};\n\nexports.gzip = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new Gzip(opts), buffer, callback);\n};\n\nexports.gzipSync = function (buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n};\n\nexports.deflateRaw = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n};\n\nexports.deflateRawSync = function (buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n};\n\nexports.unzip = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new Unzip(opts), buffer, callback);\n};\n\nexports.unzipSync = function (buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n};\n\nexports.inflate = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new Inflate(opts), buffer, callback);\n};\n\nexports.inflateSync = function (buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n};\n\nexports.gunzip = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n};\n\nexports.gunzipSync = function (buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n};\n\nexports.inflateRaw = function (buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n};\n\nexports.inflateRawSync = function (buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n};\n\nfunction zlibBuffer(engine, buffer, callback) {\n var buffers = [];\n var nread = 0;\n\n engine.on('error', onError);\n engine.on('end', onEnd);\n\n engine.end(buffer);\n flow();\n\n function flow() {\n var chunk;\n while (null !== (chunk = engine.read())) {\n buffers.push(chunk);\n nread += chunk.length;\n }\n engine.once('readable', flow);\n }\n\n function onError(err) {\n engine.removeListener('end', onEnd);\n engine.removeListener('readable', flow);\n callback(err);\n }\n\n function onEnd() {\n var buf;\n var err = null;\n\n if (nread >= kMaxLength) {\n err = new RangeError(kRangeErrorMessage);\n } else {\n buf = Buffer.concat(buffers, nread);\n }\n\n buffers = [];\n engine.close();\n callback(err, buf);\n }\n}\n\nfunction zlibBufferSync(engine, buffer) {\n if (typeof buffer === 'string') buffer = Buffer.from(buffer);\n\n if (!Buffer.isBuffer(buffer)) throw new TypeError('Not a string or buffer');\n\n var flushFlag = engine._finishFlushFlag;\n\n return engine._processChunk(buffer, flushFlag);\n}\n\n// generic zlib\n// minimal 2-byte header\nfunction Deflate(opts) {\n if (!(this instanceof Deflate)) return new Deflate(opts);\n Zlib.call(this, opts, binding.DEFLATE);\n}\n\nfunction Inflate(opts) {\n if (!(this instanceof Inflate)) return new Inflate(opts);\n Zlib.call(this, opts, binding.INFLATE);\n}\n\n// gzip - bigger header, same deflate compression\nfunction Gzip(opts) {\n if (!(this instanceof Gzip)) return new Gzip(opts);\n Zlib.call(this, opts, binding.GZIP);\n}\n\nfunction Gunzip(opts) {\n if (!(this instanceof Gunzip)) return new Gunzip(opts);\n Zlib.call(this, opts, binding.GUNZIP);\n}\n\n// raw - no header\nfunction DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw)) return new DeflateRaw(opts);\n Zlib.call(this, opts, binding.DEFLATERAW);\n}\n\nfunction InflateRaw(opts) {\n if (!(this instanceof InflateRaw)) return new InflateRaw(opts);\n Zlib.call(this, opts, binding.INFLATERAW);\n}\n\n// auto-detect header.\nfunction Unzip(opts) {\n if (!(this instanceof Unzip)) return new Unzip(opts);\n Zlib.call(this, opts, binding.UNZIP);\n}\n\nfunction isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n}\n\n// the Zlib class they all inherit from\n// This thing manages the queue of requests, and returns\n// true or false if there is anything in the queue when\n// you call the .write() method.\n\nfunction Zlib(opts, mode) {\n var _this = this;\n\n this._opts = opts = opts || {};\n this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK;\n\n Transform.call(this, opts);\n\n if (opts.flush && !isValidFlushFlag(opts.flush)) {\n throw new Error('Invalid flush flag: ' + opts.flush);\n }\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush)) {\n throw new Error('Invalid flush flag: ' + opts.finishFlush);\n }\n\n this._flushFlag = opts.flush || binding.Z_NO_FLUSH;\n this._finishFlushFlag = typeof opts.finishFlush !== 'undefined' ? opts.finishFlush : binding.Z_FINISH;\n\n if (opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK) {\n throw new Error('Invalid chunk size: ' + opts.chunkSize);\n }\n }\n\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS) {\n throw new Error('Invalid windowBits: ' + opts.windowBits);\n }\n }\n\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL) {\n throw new Error('Invalid compression level: ' + opts.level);\n }\n }\n\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL) {\n throw new Error('Invalid memLevel: ' + opts.memLevel);\n }\n }\n\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY) {\n throw new Error('Invalid strategy: ' + opts.strategy);\n }\n }\n\n if (opts.dictionary) {\n if (!Buffer.isBuffer(opts.dictionary)) {\n throw new Error('Invalid dictionary: it should be a Buffer instance');\n }\n }\n\n this._handle = new binding.Zlib(mode);\n\n var self = this;\n this._hadError = false;\n this._handle.onerror = function (message, errno) {\n // there is no way to cleanly recover.\n // continuing only obscures problems.\n _close(self);\n self._hadError = true;\n\n var error = new Error(message);\n error.errno = errno;\n error.code = exports.codes[errno];\n self.emit('error', error);\n };\n\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === 'number') level = opts.level;\n\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === 'number') strategy = opts.strategy;\n\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary);\n\n this._buffer = Buffer.allocUnsafe(this._chunkSize);\n this._offset = 0;\n this._level = level;\n this._strategy = strategy;\n\n this.once('end', this.close);\n\n Object.defineProperty(this, '_closed', {\n get: function () {\n return !_this._handle;\n },\n configurable: true,\n enumerable: true\n });\n}\n\nutil.inherits(Zlib, Transform);\n\nZlib.prototype.params = function (level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL) {\n throw new RangeError('Invalid compression level: ' + level);\n }\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY) {\n throw new TypeError('Invalid strategy: ' + strategy);\n }\n\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function () {\n assert(self._handle, 'zlib binding closed');\n self._handle.params(level, strategy);\n if (!self._hadError) {\n self._level = level;\n self._strategy = strategy;\n if (callback) callback();\n }\n });\n } else {\n process.nextTick(callback);\n }\n};\n\nZlib.prototype.reset = function () {\n assert(this._handle, 'zlib binding closed');\n return this._handle.reset();\n};\n\n// This is the _flush function called by the transform class,\n// internally, when the last chunk has been written.\nZlib.prototype._flush = function (callback) {\n this._transform(Buffer.alloc(0), '', callback);\n};\n\nZlib.prototype.flush = function (kind, callback) {\n var _this2 = this;\n\n var ws = this._writableState;\n\n if (typeof kind === 'function' || kind === undefined && !callback) {\n callback = kind;\n kind = binding.Z_FULL_FLUSH;\n }\n\n if (ws.ended) {\n if (callback) process.nextTick(callback);\n } else if (ws.ending) {\n if (callback) this.once('end', callback);\n } else if (ws.needDrain) {\n if (callback) {\n this.once('drain', function () {\n return _this2.flush(kind, callback);\n });\n }\n } else {\n this._flushFlag = kind;\n this.write(Buffer.alloc(0), '', callback);\n }\n};\n\nZlib.prototype.close = function (callback) {\n _close(this, callback);\n process.nextTick(emitCloseNT, this);\n};\n\nfunction _close(engine, callback) {\n if (callback) process.nextTick(callback);\n\n // Caller may invoke .close after a zlib error (which will null _handle).\n if (!engine._handle) return;\n\n engine._handle.close();\n engine._handle = null;\n}\n\nfunction emitCloseNT(self) {\n self.emit('close');\n}\n\nZlib.prototype._transform = function (chunk, encoding, cb) {\n var flushFlag;\n var ws = this._writableState;\n var ending = ws.ending || ws.ended;\n var last = ending && (!chunk || ws.length === chunk.length);\n\n if (chunk !== null && !Buffer.isBuffer(chunk)) return cb(new Error('invalid input'));\n\n if (!this._handle) return cb(new Error('zlib binding closed'));\n\n // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag\n // (or whatever flag was provided using opts.finishFlush).\n // If it's explicitly flushing at some other time, then we use\n // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression\n // goodness.\n if (last) flushFlag = this._finishFlushFlag;else {\n flushFlag = this._flushFlag;\n // once we've flushed the last of the queue, stop flushing and\n // go back to the normal behavior.\n if (chunk.length >= ws.length) {\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n }\n }\n\n this._processChunk(chunk, flushFlag, cb);\n};\n\nZlib.prototype._processChunk = function (chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length;\n var availOutBefore = this._chunkSize - this._offset;\n var inOff = 0;\n\n var self = this;\n\n var async = typeof cb === 'function';\n\n if (!async) {\n var buffers = [];\n var nread = 0;\n\n var error;\n this.on('error', function (er) {\n error = er;\n });\n\n assert(this._handle, 'zlib binding closed');\n do {\n var res = this._handle.writeSync(flushFlag, chunk, // in\n inOff, // in_off\n availInBefore, // in_len\n this._buffer, // out\n this._offset, //out_off\n availOutBefore); // out_len\n } while (!this._hadError && callback(res[0], res[1]));\n\n if (this._hadError) {\n throw error;\n }\n\n if (nread >= kMaxLength) {\n _close(this);\n throw new RangeError(kRangeErrorMessage);\n }\n\n var buf = Buffer.concat(buffers, nread);\n _close(this);\n\n return buf;\n }\n\n assert(this._handle, 'zlib binding closed');\n var req = this._handle.write(flushFlag, chunk, // in\n inOff, // in_off\n availInBefore, // in_len\n this._buffer, // out\n this._offset, //out_off\n availOutBefore); // out_len\n\n req.buffer = chunk;\n req.callback = callback;\n\n function callback(availInAfter, availOutAfter) {\n // When the callback is used in an async write, the callback's\n // context is the `req` object that was created. The req object\n // is === this._handle, and that's why it's important to null\n // out the values after they are done being used. `this._handle`\n // can stay in memory longer than the callback and buffer are needed.\n if (this) {\n this.buffer = null;\n this.callback = null;\n }\n\n if (self._hadError) return;\n\n var have = availOutBefore - availOutAfter;\n assert(have >= 0, 'have should not go down');\n\n if (have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n self._offset += have;\n // serve some output to the consumer.\n if (async) {\n self.push(out);\n } else {\n buffers.push(out);\n nread += out.length;\n }\n }\n\n // exhausted the output buffer, or used all the input create a new one.\n if (availOutAfter === 0 || self._offset >= self._chunkSize) {\n availOutBefore = self._chunkSize;\n self._offset = 0;\n self._buffer = Buffer.allocUnsafe(self._chunkSize);\n }\n\n if (availOutAfter === 0) {\n // Not actually done. Need to reprocess.\n // Also, update the availInBefore to the availInAfter value,\n // so that if we have to hit it a third (fourth, etc.) time,\n // it'll have the correct byte counts.\n inOff += availInBefore - availInAfter;\n availInBefore = availInAfter;\n\n if (!async) return true;\n\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback; // this same function\n newReq.buffer = chunk;\n return;\n }\n\n if (!async) return false;\n\n // finished with the chunk.\n cb();\n }\n};\n\nutil.inherits(Deflate, Zlib);\nutil.inherits(Inflate, Zlib);\nutil.inherits(Gzip, Zlib);\nutil.inherits(Gunzip, Zlib);\nutil.inherits(DeflateRaw, Zlib);\nutil.inherits(InflateRaw, Zlib);\nutil.inherits(Unzip, Zlib);","module.exports = require('./lib/base45')\n","'use strict';\n\nvar _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; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _class, _temp;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = require('react');\nvar Component = React.Component;\n\nvar PropTypes = require('prop-types');\n\nvar _require = require('./getDeviceId'),\n getDeviceId = _require.getDeviceId,\n getFacingModePattern = _require.getFacingModePattern;\n\nvar havePropsChanged = require('./havePropsChanged');\nvar createBlob = require('./createBlob');\n\n// Require adapter to support older browser implementations\nrequire('webrtc-adapter');\n\n// Inline worker.js as a string value of workerBlob.\n// eslint-disable-next-line\nvar workerBlob = createBlob([\"!function(o,e){\\\"object\\\"==typeof exports&&\\\"object\\\"==typeof module?module.exports=e():\\\"function\\\"==typeof define&&define.amd?define([],e):\\\"object\\\"==typeof exports?exports.jsQR=e():o.jsQR=e()}(\\\"undefined\\\"!=typeof self?self:this,function(){return function(o){function e(t){if(r[t])return r[t].exports;var c=r[t]={i:t,l:!1,exports:{}};return o[t].call(c.exports,c,c.exports,e),c.l=!0,c.exports}var r={};return e.m=o,e.c=r,e.d=function(o,r,t){e.o(o,r)||Object.defineProperty(o,r,{configurable:!1,enumerable:!0,get:t})},e.n=function(o){var r=o&&o.__esModule?function(){return o.default}:function(){return o};return e.d(r,\\\"a\\\",r),r},e.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},e.p=\\\"\\\",e(e.s=3)}([function(o,e,r){\\\"use strict\\\";Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var t=function(){function o(o,e){this.width=e,this.height=o.length/e,this.data=o}return o.createEmpty=function(e,r){return new o(new Uint8ClampedArray(e*r),e)},o.prototype.get=function(o,e){return!(o<0||o>=this.width||e<0||e>=this.height)&&!!this.data[e*this.width+o]},o.prototype.set=function(o,e,r){this.data[e*this.width+o]=r?1:0},o.prototype.setRegion=function(o,e,r,t,c){for(var s=e;s=this.size&&(t=(t^this.primitive)&this.size-1);for(var s=0;s1&&0===e[0]){for(var t=1;tc.length&&(n=[c,r],r=n[0],c=n[1]);for(var s=new Uint8ClampedArray(c.length),a=c.length-r.length,d=0;dr?r:o}function c(o,e,r,c){if(o.length!==e*r*4)throw new Error(\\\"Malformed data passed to binarizer.\\\");for(var l=new n(e,r),i=0;i0&&v>0)){var x=(w.get(v,P-1)+2*w.get(v-1,P)+w.get(v-1,P-1))/4;p6&&(r.setRegion(e-11,0,3,6,!0),r.setRegion(0,e-11,6,3,!0)),r}function a(o,e,r){for(var t=w[r.dataMask],a=o.height,d=s(e),n=[],l=0,i=0,B=!0,k=a-1;k>0;k-=2){6===k&&k--;for(var u=0;u=0;a--)for(var d=e-9;d>=e-11;d--)s=c(o.get(d,a),s);for(var n=0,d=5;d>=0;d--)for(var a=e-9;a>=e-11;a--)n=c(o.get(d,a),n);for(var l,i=1/0,B=0,k=m.VERSIONS;B=0;s--)6!==s&&(e=c(o.get(8,s),e));for(var a=o.height,d=0,s=a-1;s>=a-7;s--)d=c(o.get(8,s),d);for(var r=a-8;r1)for(var B=t.ecBlocks[0].numBlocks,k=t.ecBlocks[1].numBlocks,d=0;d0;)for(var u=0,C=c;u=3;){var a=o.readBits(10);if(a>=1e3)throw new Error(\\\"Invalid numeric value above 999\\\");var d=Math.floor(a/100),n=Math.floor(a/10)%10,l=a%10;r.push(48+d,48+n,48+l),t+=d.toString()+n.toString()+l.toString(),s-=3}if(2===s){var a=o.readBits(7);if(a>=100)throw new Error(\\\"Invalid numeric value above 99\\\");var d=Math.floor(a/10),n=a%10;r.push(48+d,48+n),t+=d.toString()+n.toString()}else if(1===s){var a=o.readBits(4);if(a>=10)throw new Error(\\\"Invalid numeric value above 9\\\");r.push(48+a),t+=a.toString()}return{bytes:r,text:t}}function c(o,e){for(var r=[],t=\\\"\\\",c=[9,11,13][e],s=o.readBits(c);s>=2;){var a=o.readBits(11),d=Math.floor(a/45),n=a%45;r.push(k[d].charCodeAt(0),k[n].charCodeAt(0)),t+=k[d]+k[n],s-=2}if(1===s){var d=o.readBits(6);r.push(k[d].charCodeAt(0)),t+=k[d]}return{bytes:r,text:t}}function s(o,e){for(var r=[],t=\\\"\\\",c=[8,16,16][e],s=o.readBits(c),a=0;a>8,255&n),t+=String.fromCharCode(i.shiftJISTable[n])}return{bytes:r,text:t}}function d(o,e){for(var r=new l.BitStream(o),d=e<=9?0:e<=26?1:2,i={text:\\\"\\\",bytes:[],chunks:[]};r.available()>=4;){var k=r.readBits(4);if(k===B.Terminator)return i;if(k===B.ECI)0===r.readBits(1)?i.chunks.push({type:n.ECI,assignmentNumber:r.readBits(7)}):0===r.readBits(1)?i.chunks.push({type:n.ECI,assignmentNumber:r.readBits(14)}):0===r.readBits(1)?i.chunks.push({type:n.ECI,assignmentNumber:r.readBits(21)}):i.chunks.push({type:n.ECI,assignmentNumber:-1});else if(k===B.Numeric){var u=t(r,d);i.text+=u.text,(w=i.bytes).push.apply(w,u.bytes),i.chunks.push({type:n.Numeric,text:u.text})}else if(k===B.Alphanumeric){var C=c(r,d);i.text+=C.text,(P=i.bytes).push.apply(P,C.bytes),i.chunks.push({type:n.Alphanumeric,text:C.text})}else if(k===B.Byte){var m=s(r,d);i.text+=m.text,(v=i.bytes).push.apply(v,m.bytes),i.chunks.push({type:n.Byte,bytes:m.bytes,text:m.text})}else if(k===B.Kanji){var f=a(r,d);i.text+=f.text,(h=i.bytes).push.apply(h,f.bytes),i.chunks.push({type:n.Kanji,bytes:f.bytes,text:f.text})}}var w,P,v,h}Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var n,l=r(7),i=r(8);!function(o){o.Numeric=\\\"numeric\\\",o.Alphanumeric=\\\"alphanumeric\\\",o.Byte=\\\"byte\\\",o.Kanji=\\\"kanji\\\",o.ECI=\\\"eci\\\"}(n=e.Mode||(e.Mode={}));var B;!function(o){o[o.Terminator=0]=\\\"Terminator\\\",o[o.Numeric=1]=\\\"Numeric\\\",o[o.Alphanumeric=2]=\\\"Alphanumeric\\\",o[o.Byte=4]=\\\"Byte\\\",o[o.Kanji=8]=\\\"Kanji\\\",o[o.ECI=7]=\\\"ECI\\\"}(B||(B={}));var k=[\\\"0\\\",\\\"1\\\",\\\"2\\\",\\\"3\\\",\\\"4\\\",\\\"5\\\",\\\"6\\\",\\\"7\\\",\\\"8\\\",\\\"9\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\" \\\",\\\"$\\\",\\\"%\\\",\\\"*\\\",\\\"+\\\",\\\"-\\\",\\\".\\\",\\\"/\\\",\\\":\\\"];e.decode=d},function(o,e,r){\\\"use strict\\\";Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var t=function(){function o(o){this.byteOffset=0,this.bitOffset=0,this.bytes=o}return o.prototype.readBits=function(o){if(o<1||o>32||o>this.available())throw new Error(\\\"Cannot read \\\"+o.toString()+\\\" bits\\\");var e=0;if(this.bitOffset>0){var r=8-this.bitOffset,t=o>8-t<>c,o-=t,this.bitOffset+=t,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(o>0){for(;o>=8;)e=e<<8|255&this.bytes[this.byteOffset],this.byteOffset++,o-=8;if(o>0){var c=8-o,s=255>>c<>c,this.bitOffset+=o}}return e},o.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},o}();e.BitStream=t},function(o,e,r){\\\"use strict\\\";Object.defineProperty(e,\\\"__esModule\\\",{value:!0}),e.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,\\n36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,\\n39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,\\n59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}},function(o,e,r){\\\"use strict\\\";function t(o,e,r,t){e.degree()=t/2;){var n=c,l=a;if(c=s,a=d,c.isZero())return null;s=n;for(var i=o.zero,B=c.getCoefficient(c.degree()),k=o.inverse(B);s.degree()>=c.degree()&&!s.isZero();){var u=s.degree()-c.degree(),C=o.multiply(s.getCoefficient(s.degree()),k);i=i.addOrSubtract(o.buildMonomial(u,C)),s=s.addOrSubtract(c.multiplyByMonomial(u,C))}if(d=i.multiplyPoly(a).addOrSubtract(l),s.degree()>=c.degree())return null}var m=d.getCoefficient(0);if(0===m)return null;var f=o.inverse(m);return[d.multiply(f),s.multiply(f)];var w}function c(o,e){var r=e.degree();if(1===r)return[e.getCoefficient(1)];for(var t=new Array(r),c=0,s=1;s=a&&d>=n?(l=[e,o,r],t=l[0],c=l[1],s=l[2]):n>=d&&n>=a?(i=[o,e,r],t=i[0],c=i[1],s=i[2]):(B=[o,r,e],t=B[0],c=B[1],s=B[2]),(s.x-c.x)*(t.y-c.y)-(s.y-c.y)*(t.x-c.x)<0&&(k=[s,t],t=k[0],s=k[1]),{bottomLeft:t,topLeft:c,topRight:s};var l,i,B,k}function s(o,e,r,c){var s=(t(d(o,r,c,5))/7+t(d(o,e,c,5))/7+t(d(r,o,c,5))/7+t(d(e,o,c,5))/7)/4;if(s<1)throw new Error(\\\"Invalid module size\\\");var a=Math.round(C(o,e)/s),n=Math.round(C(o,r)/s),l=Math.floor((a+n)/2)+7;switch(l%4){case 0:l++;break;case 2:l--}return{dimension:l,moduleSize:s}}function a(o,e,r,t){var c,s,a,d,n=[{x:Math.floor(o.x),y:Math.floor(o.y)}],l=Math.abs(e.y-o.y)>Math.abs(e.x-o.x);l?(c=Math.floor(o.y),s=Math.floor(o.x),a=Math.floor(e.y),d=Math.floor(e.x)):(c=Math.floor(o.x),s=Math.floor(o.y),a=Math.floor(e.x),d=Math.floor(e.y));for(var i=Math.abs(a-c),B=Math.abs(d-s),k=Math.floor(-i/2),u=c0){if(P===d)break;P+=m,k-=i}}for(var p=[],y=0;y=o.bottom.startX&&w<=o.bottom.endX||f>=o.bottom.startX&&w<=o.bottom.endX||w<=o.bottom.startX&&f>=o.bottom.endX&&l[2]/(o.bottom.endX-o.bottom.startX)k});v.length>0?v[0].bottom=P:r.push({top:P,bottom:P})}if(m){var h=e-l[4],p=h-l[3],P={startX:p,y:c,endX:h},v=d.filter(function(o){return p>=o.bottom.startX&&p<=o.bottom.endX||h>=o.bottom.startX&&p<=o.bottom.endX||p<=o.bottom.startX&&h>=o.bottom.endX&&l[2]/(o.bottom.endX-o.bottom.startX)k});v.length>0?v[0].bottom=P:d.push({top:P,bottom:P})}}}(i);e.push.apply(e,r.filter(function(o){return o.bottom.y!==c&&o.bottom.y-o.top.y>=2})),r=r.filter(function(o){return o.bottom.y===c}),a.push.apply(a,d.filter(function(o){return o.bottom.y!==c})),d=d.filter(function(o){return o.bottom.y===c})}(n);e.push.apply(e,r.filter(function(o){return o.bottom.y-o.top.y>=2})),a.push.apply(a,d);var i=e.filter(function(o){return o.bottom.y-o.top.y>=2}).map(function(e){var r=(e.top.startX+e.top.endX+e.bottom.startX+e.bottom.endX)/4,c=(e.top.y+e.bottom.y+1)/2;if(o.get(Math.round(r),Math.round(c))){\\nvar s=[e.top.endX-e.top.startX,e.bottom.endX-e.bottom.startX,e.bottom.y-e.top.y+1],a=t(s)/s.length;return{score:l({x:Math.round(r),y:Math.round(c)},[1,1,3,1,1],o),x:r,y:c,size:a}}}).filter(function(o){return!!o}).sort(function(o,e){return o.score-e.score}).map(function(o,e,r){if(e>B)return null;var t=r.filter(function(o,r){return e!==r}).map(function(e){return{x:e.x,y:e.y,score:e.score+Math.pow(e.size-o.size,2)/o.size,size:e.size}}).sort(function(o,e){return o.score-e.score});if(t.length<2)return null;var c=o.score+t[0].score+t[1].score;return{points:[o].concat(t.slice(0,2)),score:c}}).filter(function(o){return!!o}).sort(function(o,e){return o.score-e.score});if(0===i.length)return null;var m,f,w=c(i[0].points[0],i[0].points[1],i[0].points[2]),P=w.topRight,v=w.topLeft,h=w.bottomLeft;try{L=s(v,P,h,o),m=L.dimension,f=L.moduleSize}catch(o){return null}var p={x:P.x-v.x+h.x,y:P.y-v.y+h.y},y=(C(v,h)+C(v,P))/2/f,b=1-3/y,g={x:v.x+b*(p.x-v.x),y:v.y+b*(p.y-v.y)},x=a.map(function(e){var r=(e.top.startX+e.top.endX+e.bottom.startX+e.bottom.endX)/4,c=(e.top.y+e.bottom.y+1)/2;if(o.get(Math.floor(r),Math.floor(c))){var s=[e.top.endX-e.top.startX,e.bottom.endX-e.bottom.startX,e.bottom.y-e.top.y+1];t(s);return{x:r,y:c,score:l({x:Math.floor(r),y:Math.floor(c)},[1,1,1],o)+C({x:r,y:c},g)}}}).filter(function(o){return!!o}).sort(function(o,e){return o.score-e.score}),M=y>=15&&x.length?x[0]:g;return{alignmentPattern:{x:M.x,y:M.y},bottomLeft:{x:h.x,y:h.y},dimension:m,topLeft:{x:v.x,y:v.y},topRight:{x:P.x,y:P.y}};var L}Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var B=4,k=.5,u=1.5,C=function(o,e){return Math.sqrt(Math.pow(e.x-o.x,2)+Math.pow(e.y-o.y,2))};e.locate=i}]).default}),self.addEventListener(\\\"message\\\",function(o){var e=jsQR(o.data.data,o.data.width,o.data.height);e?postMessage(e.data):postMessage(null)});\"], {\n type: 'application/javascript'\n});\n\n// Props that are allowed to change dynamicly\nvar propsKeys = ['delay', 'legacyMode', 'facingMode'];\n\nmodule.exports = (_temp = _class = function (_Component) {\n _inherits(Reader, _Component);\n\n function Reader(props) {\n _classCallCheck(this, Reader);\n\n var _this = _possibleConstructorReturn(this, (Reader.__proto__ || Object.getPrototypeOf(Reader)).call(this, props));\n\n _this.els = {};\n\n\n _this.state = {\n mirrorVideo: false\n\n // Bind function to the class\n };_this.initiate = _this.initiate.bind(_this);\n _this.initiateLegacyMode = _this.initiateLegacyMode.bind(_this);\n _this.check = _this.check.bind(_this);\n _this.handleVideo = _this.handleVideo.bind(_this);\n _this.handleLoadStart = _this.handleLoadStart.bind(_this);\n _this.handleInputChange = _this.handleInputChange.bind(_this);\n _this.clearComponent = _this.clearComponent.bind(_this);\n _this.handleReaderLoad = _this.handleReaderLoad.bind(_this);\n _this.openImageDialog = _this.openImageDialog.bind(_this);\n _this.handleWorkerMessage = _this.handleWorkerMessage.bind(_this);\n _this.setRefFactory = _this.setRefFactory.bind(_this);\n return _this;\n }\n\n _createClass(Reader, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // Initiate web worker execute handler according to mode.\n this.worker = new Worker(URL.createObjectURL(workerBlob));\n this.worker.onmessage = this.handleWorkerMessage;\n\n if (!this.props.legacyMode) {\n this.initiate();\n } else {\n this.initiateLegacyMode();\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n // React according to change in props\n var changedProps = havePropsChanged(this.props, nextProps, propsKeys);\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = changedProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var prop = _step.value;\n\n if (prop == 'facingMode') {\n this.clearComponent();\n this.initiate(nextProps);\n break;\n } else if (prop == 'delay') {\n if (this.props.delay == false && !nextProps.legacyMode) {\n this.timeout = setTimeout(this.check, nextProps.delay);\n }\n if (nextProps.delay == false) {\n clearTimeout(this.timeout);\n }\n } else if (prop == 'legacyMode') {\n if (this.props.legacyMode && !nextProps.legacyMode) {\n this.clearComponent();\n this.initiate(nextProps);\n } else {\n this.clearComponent();\n this.componentDidUpdate = this.initiateLegacyMode;\n }\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n if (nextState !== this.state) {\n return true;\n }\n\n // Only render when the `propsKeys` have changed.\n var changedProps = havePropsChanged(this.props, nextProps, propsKeys);\n return changedProps.length > 0;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n // Stop web-worker and clear the component\n if (this.worker) {\n this.worker.terminate();\n this.worker = undefined;\n }\n this.clearComponent();\n }\n }, {\n key: 'clearComponent',\n value: function clearComponent() {\n // Remove all event listeners and variables\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = undefined;\n }\n if (this.stopCamera) {\n this.stopCamera();\n }\n if (this.reader) {\n this.reader.removeEventListener('load', this.handleReaderLoad);\n }\n if (this.els.img) {\n this.els.img.removeEventListener('load', this.check);\n }\n }\n }, {\n key: 'initiate',\n value: function initiate() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var onError = props.onError,\n facingMode = props.facingMode;\n\n // Check browser facingMode constraint support\n // Firefox ignores facingMode or deviceId constraints\n\n var isFirefox = /firefox/i.test(navigator.userAgent);\n var supported = {};\n if (navigator.mediaDevices && typeof navigator.mediaDevices.getSupportedConstraints === 'function') {\n supported = navigator.mediaDevices.getSupportedConstraints();\n }\n var constraints = {};\n\n if (supported.facingMode) {\n constraints.facingMode = { ideal: facingMode };\n }\n if (supported.frameRate) {\n constraints.frameRate = { ideal: 25, min: 10 };\n }\n\n var vConstraintsPromise = supported.facingMode || isFirefox ? Promise.resolve(props.constraints || constraints) : getDeviceId(facingMode).then(function (deviceId) {\n return Object.assign({}, { deviceId: deviceId }, props.constraints);\n });\n\n vConstraintsPromise.then(function (video) {\n return navigator.mediaDevices.getUserMedia({ video: video });\n }).then(this.handleVideo).catch(onError);\n }\n }, {\n key: 'handleVideo',\n value: function handleVideo(stream) {\n var preview = this.els.preview;\n var facingMode = this.props.facingMode;\n\n // Preview element hasn't been rendered so wait for it.\n\n if (!preview) {\n return setTimeout(this.handleVideo, 200, stream);\n }\n\n // Handle different browser implementations of MediaStreams as src\n if ((preview || {}).srcObject !== undefined) {\n preview.srcObject = stream;\n } else if (preview.mozSrcObject !== undefined) {\n preview.mozSrcObject = stream;\n } else if (window.URL.createObjectURL) {\n preview.src = window.URL.createObjectURL(stream);\n } else if (window.webkitURL) {\n preview.src = window.webkitURL.createObjectURL(stream);\n } else {\n preview.src = stream;\n }\n\n // IOS play in fullscreen\n preview.playsInline = true;\n\n var streamTrack = stream.getTracks()[0];\n // Assign `stopCamera` so the track can be stopped once component is cleared\n this.stopCamera = streamTrack.stop.bind(streamTrack);\n\n preview.addEventListener('loadstart', this.handleLoadStart);\n\n this.setState({ mirrorVideo: facingMode == 'user', streamLabel: streamTrack.label });\n }\n }, {\n key: 'handleLoadStart',\n value: function handleLoadStart() {\n var _props = this.props,\n delay = _props.delay,\n onLoad = _props.onLoad;\n var _state = this.state,\n mirrorVideo = _state.mirrorVideo,\n streamLabel = _state.streamLabel;\n\n var preview = this.els.preview;\n preview.play();\n\n if (typeof onLoad == 'function') {\n onLoad({ mirrorVideo: mirrorVideo, streamLabel: streamLabel });\n }\n\n if (typeof delay == 'number') {\n this.timeout = setTimeout(this.check, delay);\n }\n\n // Some browsers call loadstart continuously\n preview.removeEventListener('loadstart', this.handleLoadStart);\n }\n }, {\n key: 'check',\n value: function check() {\n var _props2 = this.props,\n legacyMode = _props2.legacyMode,\n resolution = _props2.resolution,\n delay = _props2.delay;\n var _els = this.els,\n preview = _els.preview,\n canvas = _els.canvas,\n img = _els.img;\n\n // Get image/video dimensions\n\n var width = Math.floor(legacyMode ? img.naturalWidth : preview.videoWidth);\n var height = Math.floor(legacyMode ? img.naturalHeight : preview.videoHeight);\n\n // Canvas draw offsets\n var hozOffset = 0;\n var vertOffset = 0;\n\n // Scale image to correct resolution\n if (legacyMode) {\n // Keep image aspect ratio\n var greatestSize = width > height ? width : height;\n var ratio = resolution / greatestSize;\n\n height = ratio * height;\n width = ratio * width;\n\n canvas.width = width;\n canvas.height = height;\n } else {\n // Crop image to fit 1:1 aspect ratio\n var smallestSize = width < height ? width : height;\n var _ratio = resolution / smallestSize;\n\n height = _ratio * height;\n width = _ratio * width;\n\n vertOffset = (height - resolution) / 2 * -1;\n hozOffset = (width - resolution) / 2 * -1;\n\n canvas.width = resolution;\n canvas.height = resolution;\n }\n\n var previewIsPlaying = preview && preview.readyState === preview.HAVE_ENOUGH_DATA;\n\n if (legacyMode || previewIsPlaying) {\n var ctx = canvas.getContext('2d');\n\n ctx.drawImage(legacyMode ? img : preview, hozOffset, vertOffset, width, height);\n\n var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n // Send data to web-worker\n this.worker.postMessage(imageData);\n } else {\n // Preview not ready -> check later\n this.timeout = setTimeout(this.check, delay);\n }\n }\n }, {\n key: 'handleWorkerMessage',\n value: function handleWorkerMessage(e) {\n var _props3 = this.props,\n onScan = _props3.onScan,\n legacyMode = _props3.legacyMode,\n delay = _props3.delay;\n\n var decoded = e.data;\n onScan(decoded || null);\n\n if (!legacyMode && typeof delay == 'number' && this.worker) {\n this.timeout = setTimeout(this.check, delay);\n }\n }\n }, {\n key: 'initiateLegacyMode',\n value: function initiateLegacyMode() {\n this.reader = new FileReader();\n this.reader.addEventListener('load', this.handleReaderLoad);\n this.els.img.addEventListener('load', this.check, false);\n\n // Reset componentDidUpdate\n this.componentDidUpdate = undefined;\n\n if (typeof this.props.onLoad == 'function') {\n this.props.onLoad();\n }\n }\n }, {\n key: 'handleInputChange',\n value: function handleInputChange(e) {\n var selectedImg = e.target.files[0];\n this.reader.readAsDataURL(selectedImg);\n }\n }, {\n key: 'handleReaderLoad',\n value: function handleReaderLoad(e) {\n // Set selected image blob as img source\n this.els.img.src = e.target.result;\n }\n }, {\n key: 'openImageDialog',\n value: function openImageDialog() {\n // Function to be executed by parent in user action context to trigger img file uploader\n this.els.input.click();\n }\n }, {\n key: 'setRefFactory',\n value: function setRefFactory(key) {\n var _this2 = this;\n\n return function (element) {\n _this2.els[key] = element;\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _props4 = this.props,\n style = _props4.style,\n className = _props4.className,\n onImageLoad = _props4.onImageLoad,\n legacyMode = _props4.legacyMode,\n showViewFinder = _props4.showViewFinder,\n facingMode = _props4.facingMode;\n\n\n var containerStyle = {\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n paddingTop: '100%'\n };\n var hiddenStyle = { display: 'none' };\n var previewStyle = {\n top: 0,\n left: 0,\n display: 'block',\n position: 'absolute',\n overflow: 'hidden',\n width: '100%',\n height: '100%'\n };\n var videoPreviewStyle = _extends({}, previewStyle, {\n objectFit: 'cover',\n transform: this.state.mirrorVideo ? 'scaleX(-1)' : undefined\n });\n var imgPreviewStyle = _extends({}, previewStyle, {\n objectFit: 'scale-down'\n });\n\n var viewFinderStyle = {\n top: 0,\n left: 0,\n zIndex: 1,\n boxSizing: 'border-box',\n border: '50px solid rgba(0, 0, 0, 0.3)',\n boxShadow: 'inset 0 0 0 5px rgba(255, 0, 0, 0.5)',\n position: 'absolute',\n width: '100%',\n height: '100%'\n };\n\n return React.createElement(\n 'section',\n { className: className, style: style },\n React.createElement(\n 'section',\n { style: containerStyle },\n !legacyMode && showViewFinder ? React.createElement('div', { style: viewFinderStyle }) : null,\n legacyMode ? React.createElement('input', {\n style: hiddenStyle,\n type: 'file',\n accept: 'image/*',\n ref: this.setRefFactory('input'),\n onChange: this.handleInputChange\n }) : null,\n legacyMode ? React.createElement('img', { style: imgPreviewStyle, ref: this.setRefFactory('img'), onLoad: onImageLoad }) : React.createElement('video', { style: videoPreviewStyle, ref: this.setRefFactory('preview') }),\n React.createElement('canvas', { style: hiddenStyle, ref: this.setRefFactory('canvas') })\n )\n );\n }\n }]);\n\n return Reader;\n}(Component), _class.propTypes = {\n onScan: PropTypes.func.isRequired,\n onError: PropTypes.func.isRequired,\n onLoad: PropTypes.func,\n onImageLoad: PropTypes.func,\n delay: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n facingMode: PropTypes.oneOf(['user', 'environment']),\n legacyMode: PropTypes.bool,\n resolution: PropTypes.number,\n showViewFinder: PropTypes.bool,\n style: PropTypes.any,\n className: PropTypes.string,\n constraints: PropTypes.object\n}, _class.defaultProps = {\n delay: 500,\n resolution: 600,\n facingMode: 'environment',\n showViewFinder: true,\n constraints: null\n}, _temp);","/*\n * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar SDPUtils = require('sdp');\n\nfunction fixStatsType(stat) {\n return {\n inboundrtp: 'inbound-rtp',\n outboundrtp: 'outbound-rtp',\n candidatepair: 'candidate-pair',\n localcandidate: 'local-candidate',\n remotecandidate: 'remote-candidate'\n }[stat.type] || stat.type;\n}\n\nfunction writeMediaSection(transceiver, caps, type, stream, dtlsRole) {\n var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n // Map ICE parameters (ufrag, pwd) to SDP.\n sdp += SDPUtils.writeIceParameters(\n transceiver.iceGatherer.getLocalParameters());\n\n // Map DTLS parameters to SDP.\n sdp += SDPUtils.writeDtlsParameters(\n transceiver.dtlsTransport.getLocalParameters(),\n type === 'offer' ? 'actpass' : dtlsRole || 'active');\n\n sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n if (transceiver.rtpSender && transceiver.rtpReceiver) {\n sdp += 'a=sendrecv\\r\\n';\n } else if (transceiver.rtpSender) {\n sdp += 'a=sendonly\\r\\n';\n } else if (transceiver.rtpReceiver) {\n sdp += 'a=recvonly\\r\\n';\n } else {\n sdp += 'a=inactive\\r\\n';\n }\n\n if (transceiver.rtpSender) {\n var trackId = transceiver.rtpSender._initialTrackId ||\n transceiver.rtpSender.track.id;\n transceiver.rtpSender._initialTrackId = trackId;\n // spec.\n var msid = 'msid:' + (stream ? stream.id : '-') + ' ' +\n trackId + '\\r\\n';\n sdp += 'a=' + msid;\n // for Chrome. Legacy should no longer be required.\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n ' ' + msid;\n\n // RTX\n if (transceiver.sendEncodingParameters[0].rtx) {\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n ' ' + msid;\n sdp += 'a=ssrc-group:FID ' +\n transceiver.sendEncodingParameters[0].ssrc + ' ' +\n transceiver.sendEncodingParameters[0].rtx.ssrc +\n '\\r\\n';\n }\n }\n // FIXME: this should be written by writeRtpDescription.\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n ' cname:' + SDPUtils.localCName + '\\r\\n';\n if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) {\n sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n ' cname:' + SDPUtils.localCName + '\\r\\n';\n }\n return sdp;\n}\n\n// Edge does not like\n// 1) stun: filtered after 14393 unless ?transport=udp is present\n// 2) turn: that does not have all of turn:host:port?transport=udp\n// 3) turn: with ipv6 addresses\n// 4) turn: occurring muliple times\nfunction filterIceServers(iceServers, edgeVersion) {\n var hasTurn = false;\n iceServers = JSON.parse(JSON.stringify(iceServers));\n return iceServers.filter(function(server) {\n if (server && (server.urls || server.url)) {\n var urls = server.urls || server.url;\n if (server.url && !server.urls) {\n console.warn('RTCIceServer.url is deprecated! Use urls instead.');\n }\n var isString = typeof urls === 'string';\n if (isString) {\n urls = [urls];\n }\n urls = urls.filter(function(url) {\n var validTurn = url.indexOf('turn:') === 0 &&\n url.indexOf('transport=udp') !== -1 &&\n url.indexOf('turn:[') === -1 &&\n !hasTurn;\n\n if (validTurn) {\n hasTurn = true;\n return true;\n }\n return url.indexOf('stun:') === 0 && edgeVersion >= 14393 &&\n url.indexOf('?transport=udp') === -1;\n });\n\n delete server.url;\n server.urls = isString ? urls[0] : urls;\n return !!urls.length;\n }\n });\n}\n\n// Determines the intersection of local and remote capabilities.\nfunction getCommonCapabilities(localCapabilities, remoteCapabilities) {\n var commonCapabilities = {\n codecs: [],\n headerExtensions: [],\n fecMechanisms: []\n };\n\n var findCodecByPayloadType = function(pt, codecs) {\n pt = parseInt(pt, 10);\n for (var i = 0; i < codecs.length; i++) {\n if (codecs[i].payloadType === pt ||\n codecs[i].preferredPayloadType === pt) {\n return codecs[i];\n }\n }\n };\n\n var rtxCapabilityMatches = function(lRtx, rRtx, lCodecs, rCodecs) {\n var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs);\n var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs);\n return lCodec && rCodec &&\n lCodec.name.toLowerCase() === rCodec.name.toLowerCase();\n };\n\n localCapabilities.codecs.forEach(function(lCodec) {\n for (var i = 0; i < remoteCapabilities.codecs.length; i++) {\n var rCodec = remoteCapabilities.codecs[i];\n if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &&\n lCodec.clockRate === rCodec.clockRate) {\n if (lCodec.name.toLowerCase() === 'rtx' &&\n lCodec.parameters && rCodec.parameters.apt) {\n // for RTX we need to find the local rtx that has a apt\n // which points to the same local codec as the remote one.\n if (!rtxCapabilityMatches(lCodec, rCodec,\n localCapabilities.codecs, remoteCapabilities.codecs)) {\n continue;\n }\n }\n rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy\n // number of channels is the highest common number of channels\n rCodec.numChannels = Math.min(lCodec.numChannels,\n rCodec.numChannels);\n // push rCodec so we reply with offerer payload type\n commonCapabilities.codecs.push(rCodec);\n\n // determine common feedback mechanisms\n rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) {\n for (var j = 0; j < lCodec.rtcpFeedback.length; j++) {\n if (lCodec.rtcpFeedback[j].type === fb.type &&\n lCodec.rtcpFeedback[j].parameter === fb.parameter) {\n return true;\n }\n }\n return false;\n });\n // FIXME: also need to determine .parameters\n // see https://github.com/openpeer/ortc/issues/569\n break;\n }\n }\n });\n\n localCapabilities.headerExtensions.forEach(function(lHeaderExtension) {\n for (var i = 0; i < remoteCapabilities.headerExtensions.length;\n i++) {\n var rHeaderExtension = remoteCapabilities.headerExtensions[i];\n if (lHeaderExtension.uri === rHeaderExtension.uri) {\n commonCapabilities.headerExtensions.push(rHeaderExtension);\n break;\n }\n }\n });\n\n // FIXME: fecMechanisms\n return commonCapabilities;\n}\n\n// is action=setLocalDescription with type allowed in signalingState\nfunction isActionAllowedInSignalingState(action, type, signalingState) {\n return {\n offer: {\n setLocalDescription: ['stable', 'have-local-offer'],\n setRemoteDescription: ['stable', 'have-remote-offer']\n },\n answer: {\n setLocalDescription: ['have-remote-offer', 'have-local-pranswer'],\n setRemoteDescription: ['have-local-offer', 'have-remote-pranswer']\n }\n }[type][action].indexOf(signalingState) !== -1;\n}\n\nfunction maybeAddCandidate(iceTransport, candidate) {\n // Edge's internal representation adds some fields therefore\n // not all fieldѕ are taken into account.\n var alreadyAdded = iceTransport.getRemoteCandidates()\n .find(function(remoteCandidate) {\n return candidate.foundation === remoteCandidate.foundation &&\n candidate.ip === remoteCandidate.ip &&\n candidate.port === remoteCandidate.port &&\n candidate.priority === remoteCandidate.priority &&\n candidate.protocol === remoteCandidate.protocol &&\n candidate.type === remoteCandidate.type;\n });\n if (!alreadyAdded) {\n iceTransport.addRemoteCandidate(candidate);\n }\n return !alreadyAdded;\n}\n\n\nfunction makeError(name, description) {\n var e = new Error(description);\n e.name = name;\n // legacy error codes from https://heycam.github.io/webidl/#idl-DOMException-error-names\n e.code = {\n NotSupportedError: 9,\n InvalidStateError: 11,\n InvalidAccessError: 15,\n TypeError: undefined,\n OperationError: undefined\n }[name];\n return e;\n}\n\nmodule.exports = function(window, edgeVersion) {\n // https://w3c.github.io/mediacapture-main/#mediastream\n // Helper function to add the track to the stream and\n // dispatch the event ourselves.\n function addTrackToStreamAndFireEvent(track, stream) {\n stream.addTrack(track);\n stream.dispatchEvent(new window.MediaStreamTrackEvent('addtrack',\n {track: track}));\n }\n\n function removeTrackFromStreamAndFireEvent(track, stream) {\n stream.removeTrack(track);\n stream.dispatchEvent(new window.MediaStreamTrackEvent('removetrack',\n {track: track}));\n }\n\n function fireAddTrack(pc, track, receiver, streams) {\n var trackEvent = new Event('track');\n trackEvent.track = track;\n trackEvent.receiver = receiver;\n trackEvent.transceiver = {receiver: receiver};\n trackEvent.streams = streams;\n window.setTimeout(function() {\n pc._dispatchEvent('track', trackEvent);\n });\n }\n\n var RTCPeerConnection = function(config) {\n var pc = this;\n\n var _eventTarget = document.createDocumentFragment();\n ['addEventListener', 'removeEventListener', 'dispatchEvent']\n .forEach(function(method) {\n pc[method] = _eventTarget[method].bind(_eventTarget);\n });\n\n this.canTrickleIceCandidates = null;\n\n this.needNegotiation = false;\n\n this.localStreams = [];\n this.remoteStreams = [];\n\n this._localDescription = null;\n this._remoteDescription = null;\n\n this.signalingState = 'stable';\n this.iceConnectionState = 'new';\n this.connectionState = 'new';\n this.iceGatheringState = 'new';\n\n config = JSON.parse(JSON.stringify(config || {}));\n\n this.usingBundle = config.bundlePolicy === 'max-bundle';\n if (config.rtcpMuxPolicy === 'negotiate') {\n throw(makeError('NotSupportedError',\n 'rtcpMuxPolicy \\'negotiate\\' is not supported'));\n } else if (!config.rtcpMuxPolicy) {\n config.rtcpMuxPolicy = 'require';\n }\n\n switch (config.iceTransportPolicy) {\n case 'all':\n case 'relay':\n break;\n default:\n config.iceTransportPolicy = 'all';\n break;\n }\n\n switch (config.bundlePolicy) {\n case 'balanced':\n case 'max-compat':\n case 'max-bundle':\n break;\n default:\n config.bundlePolicy = 'balanced';\n break;\n }\n\n config.iceServers = filterIceServers(config.iceServers || [], edgeVersion);\n\n this._iceGatherers = [];\n if (config.iceCandidatePoolSize) {\n for (var i = config.iceCandidatePoolSize; i > 0; i--) {\n this._iceGatherers.push(new window.RTCIceGatherer({\n iceServers: config.iceServers,\n gatherPolicy: config.iceTransportPolicy\n }));\n }\n } else {\n config.iceCandidatePoolSize = 0;\n }\n\n this._config = config;\n\n // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...\n // everything that is needed to describe a SDP m-line.\n this.transceivers = [];\n\n this._sdpSessionId = SDPUtils.generateSessionId();\n this._sdpSessionVersion = 0;\n\n this._dtlsRole = undefined; // role for a=setup to use in answers.\n\n this._isClosed = false;\n };\n\n Object.defineProperty(RTCPeerConnection.prototype, 'localDescription', {\n configurable: true,\n get: function() {\n return this._localDescription;\n }\n });\n Object.defineProperty(RTCPeerConnection.prototype, 'remoteDescription', {\n configurable: true,\n get: function() {\n return this._remoteDescription;\n }\n });\n\n // set up event handlers on prototype\n RTCPeerConnection.prototype.onicecandidate = null;\n RTCPeerConnection.prototype.onaddstream = null;\n RTCPeerConnection.prototype.ontrack = null;\n RTCPeerConnection.prototype.onremovestream = null;\n RTCPeerConnection.prototype.onsignalingstatechange = null;\n RTCPeerConnection.prototype.oniceconnectionstatechange = null;\n RTCPeerConnection.prototype.onconnectionstatechange = null;\n RTCPeerConnection.prototype.onicegatheringstatechange = null;\n RTCPeerConnection.prototype.onnegotiationneeded = null;\n RTCPeerConnection.prototype.ondatachannel = null;\n\n RTCPeerConnection.prototype._dispatchEvent = function(name, event) {\n if (this._isClosed) {\n return;\n }\n this.dispatchEvent(event);\n if (typeof this['on' + name] === 'function') {\n this['on' + name](event);\n }\n };\n\n RTCPeerConnection.prototype._emitGatheringStateChange = function() {\n var event = new Event('icegatheringstatechange');\n this._dispatchEvent('icegatheringstatechange', event);\n };\n\n RTCPeerConnection.prototype.getConfiguration = function() {\n return this._config;\n };\n\n RTCPeerConnection.prototype.getLocalStreams = function() {\n return this.localStreams;\n };\n\n RTCPeerConnection.prototype.getRemoteStreams = function() {\n return this.remoteStreams;\n };\n\n // internal helper to create a transceiver object.\n // (which is not yet the same as the WebRTC 1.0 transceiver)\n RTCPeerConnection.prototype._createTransceiver = function(kind, doNotAdd) {\n var hasBundleTransport = this.transceivers.length > 0;\n var transceiver = {\n track: null,\n iceGatherer: null,\n iceTransport: null,\n dtlsTransport: null,\n localCapabilities: null,\n remoteCapabilities: null,\n rtpSender: null,\n rtpReceiver: null,\n kind: kind,\n mid: null,\n sendEncodingParameters: null,\n recvEncodingParameters: null,\n stream: null,\n associatedRemoteMediaStreams: [],\n wantReceive: true\n };\n if (this.usingBundle && hasBundleTransport) {\n transceiver.iceTransport = this.transceivers[0].iceTransport;\n transceiver.dtlsTransport = this.transceivers[0].dtlsTransport;\n } else {\n var transports = this._createIceAndDtlsTransports();\n transceiver.iceTransport = transports.iceTransport;\n transceiver.dtlsTransport = transports.dtlsTransport;\n }\n if (!doNotAdd) {\n this.transceivers.push(transceiver);\n }\n return transceiver;\n };\n\n RTCPeerConnection.prototype.addTrack = function(track, stream) {\n if (this._isClosed) {\n throw makeError('InvalidStateError',\n 'Attempted to call addTrack on a closed peerconnection.');\n }\n\n var alreadyExists = this.transceivers.find(function(s) {\n return s.track === track;\n });\n\n if (alreadyExists) {\n throw makeError('InvalidAccessError', 'Track already exists.');\n }\n\n var transceiver;\n for (var i = 0; i < this.transceivers.length; i++) {\n if (!this.transceivers[i].track &&\n this.transceivers[i].kind === track.kind) {\n transceiver = this.transceivers[i];\n }\n }\n if (!transceiver) {\n transceiver = this._createTransceiver(track.kind);\n }\n\n this._maybeFireNegotiationNeeded();\n\n if (this.localStreams.indexOf(stream) === -1) {\n this.localStreams.push(stream);\n }\n\n transceiver.track = track;\n transceiver.stream = stream;\n transceiver.rtpSender = new window.RTCRtpSender(track,\n transceiver.dtlsTransport);\n return transceiver.rtpSender;\n };\n\n RTCPeerConnection.prototype.addStream = function(stream) {\n var pc = this;\n if (edgeVersion >= 15025) {\n stream.getTracks().forEach(function(track) {\n pc.addTrack(track, stream);\n });\n } else {\n // Clone is necessary for local demos mostly, attaching directly\n // to two different senders does not work (build 10547).\n // Fixed in 15025 (or earlier)\n var clonedStream = stream.clone();\n stream.getTracks().forEach(function(track, idx) {\n var clonedTrack = clonedStream.getTracks()[idx];\n track.addEventListener('enabled', function(event) {\n clonedTrack.enabled = event.enabled;\n });\n });\n clonedStream.getTracks().forEach(function(track) {\n pc.addTrack(track, clonedStream);\n });\n }\n };\n\n RTCPeerConnection.prototype.removeTrack = function(sender) {\n if (this._isClosed) {\n throw makeError('InvalidStateError',\n 'Attempted to call removeTrack on a closed peerconnection.');\n }\n\n if (!(sender instanceof window.RTCRtpSender)) {\n throw new TypeError('Argument 1 of RTCPeerConnection.removeTrack ' +\n 'does not implement interface RTCRtpSender.');\n }\n\n var transceiver = this.transceivers.find(function(t) {\n return t.rtpSender === sender;\n });\n\n if (!transceiver) {\n throw makeError('InvalidAccessError',\n 'Sender was not created by this connection.');\n }\n var stream = transceiver.stream;\n\n transceiver.rtpSender.stop();\n transceiver.rtpSender = null;\n transceiver.track = null;\n transceiver.stream = null;\n\n // remove the stream from the set of local streams\n var localStreams = this.transceivers.map(function(t) {\n return t.stream;\n });\n if (localStreams.indexOf(stream) === -1 &&\n this.localStreams.indexOf(stream) > -1) {\n this.localStreams.splice(this.localStreams.indexOf(stream), 1);\n }\n\n this._maybeFireNegotiationNeeded();\n };\n\n RTCPeerConnection.prototype.removeStream = function(stream) {\n var pc = this;\n stream.getTracks().forEach(function(track) {\n var sender = pc.getSenders().find(function(s) {\n return s.track === track;\n });\n if (sender) {\n pc.removeTrack(sender);\n }\n });\n };\n\n RTCPeerConnection.prototype.getSenders = function() {\n return this.transceivers.filter(function(transceiver) {\n return !!transceiver.rtpSender;\n })\n .map(function(transceiver) {\n return transceiver.rtpSender;\n });\n };\n\n RTCPeerConnection.prototype.getReceivers = function() {\n return this.transceivers.filter(function(transceiver) {\n return !!transceiver.rtpReceiver;\n })\n .map(function(transceiver) {\n return transceiver.rtpReceiver;\n });\n };\n\n\n RTCPeerConnection.prototype._createIceGatherer = function(sdpMLineIndex,\n usingBundle) {\n var pc = this;\n if (usingBundle && sdpMLineIndex > 0) {\n return this.transceivers[0].iceGatherer;\n } else if (this._iceGatherers.length) {\n return this._iceGatherers.shift();\n }\n var iceGatherer = new window.RTCIceGatherer({\n iceServers: this._config.iceServers,\n gatherPolicy: this._config.iceTransportPolicy\n });\n Object.defineProperty(iceGatherer, 'state',\n {value: 'new', writable: true}\n );\n\n this.transceivers[sdpMLineIndex].bufferedCandidateEvents = [];\n this.transceivers[sdpMLineIndex].bufferCandidates = function(event) {\n var end = !event.candidate || Object.keys(event.candidate).length === 0;\n // polyfill since RTCIceGatherer.state is not implemented in\n // Edge 10547 yet.\n iceGatherer.state = end ? 'completed' : 'gathering';\n if (pc.transceivers[sdpMLineIndex].bufferedCandidateEvents !== null) {\n pc.transceivers[sdpMLineIndex].bufferedCandidateEvents.push(event);\n }\n };\n iceGatherer.addEventListener('localcandidate',\n this.transceivers[sdpMLineIndex].bufferCandidates);\n return iceGatherer;\n };\n\n // start gathering from an RTCIceGatherer.\n RTCPeerConnection.prototype._gather = function(mid, sdpMLineIndex) {\n var pc = this;\n var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n if (iceGatherer.onlocalcandidate) {\n return;\n }\n var bufferedCandidateEvents =\n this.transceivers[sdpMLineIndex].bufferedCandidateEvents;\n this.transceivers[sdpMLineIndex].bufferedCandidateEvents = null;\n iceGatherer.removeEventListener('localcandidate',\n this.transceivers[sdpMLineIndex].bufferCandidates);\n iceGatherer.onlocalcandidate = function(evt) {\n if (pc.usingBundle && sdpMLineIndex > 0) {\n // if we know that we use bundle we can drop candidates with\n // ѕdpMLineIndex > 0. If we don't do this then our state gets\n // confused since we dispose the extra ice gatherer.\n return;\n }\n var event = new Event('icecandidate');\n event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex};\n\n var cand = evt.candidate;\n // Edge emits an empty object for RTCIceCandidateComplete‥\n var end = !cand || Object.keys(cand).length === 0;\n if (end) {\n // polyfill since RTCIceGatherer.state is not implemented in\n // Edge 10547 yet.\n if (iceGatherer.state === 'new' || iceGatherer.state === 'gathering') {\n iceGatherer.state = 'completed';\n }\n } else {\n if (iceGatherer.state === 'new') {\n iceGatherer.state = 'gathering';\n }\n // RTCIceCandidate doesn't have a component, needs to be added\n cand.component = 1;\n // also the usernameFragment. TODO: update SDP to take both variants.\n cand.ufrag = iceGatherer.getLocalParameters().usernameFragment;\n\n var serializedCandidate = SDPUtils.writeCandidate(cand);\n event.candidate = Object.assign(event.candidate,\n SDPUtils.parseCandidate(serializedCandidate));\n\n event.candidate.candidate = serializedCandidate;\n event.candidate.toJSON = function() {\n return {\n candidate: event.candidate.candidate,\n sdpMid: event.candidate.sdpMid,\n sdpMLineIndex: event.candidate.sdpMLineIndex,\n usernameFragment: event.candidate.usernameFragment\n };\n };\n }\n\n // update local description.\n var sections = SDPUtils.getMediaSections(pc._localDescription.sdp);\n if (!end) {\n sections[event.candidate.sdpMLineIndex] +=\n 'a=' + event.candidate.candidate + '\\r\\n';\n } else {\n sections[event.candidate.sdpMLineIndex] +=\n 'a=end-of-candidates\\r\\n';\n }\n pc._localDescription.sdp =\n SDPUtils.getDescription(pc._localDescription.sdp) +\n sections.join('');\n var complete = pc.transceivers.every(function(transceiver) {\n return transceiver.iceGatherer &&\n transceiver.iceGatherer.state === 'completed';\n });\n\n if (pc.iceGatheringState !== 'gathering') {\n pc.iceGatheringState = 'gathering';\n pc._emitGatheringStateChange();\n }\n\n // Emit candidate. Also emit null candidate when all gatherers are\n // complete.\n if (!end) {\n pc._dispatchEvent('icecandidate', event);\n }\n if (complete) {\n pc._dispatchEvent('icecandidate', new Event('icecandidate'));\n pc.iceGatheringState = 'complete';\n pc._emitGatheringStateChange();\n }\n };\n\n // emit already gathered candidates.\n window.setTimeout(function() {\n bufferedCandidateEvents.forEach(function(e) {\n iceGatherer.onlocalcandidate(e);\n });\n }, 0);\n };\n\n // Create ICE transport and DTLS transport.\n RTCPeerConnection.prototype._createIceAndDtlsTransports = function() {\n var pc = this;\n var iceTransport = new window.RTCIceTransport(null);\n iceTransport.onicestatechange = function() {\n pc._updateIceConnectionState();\n pc._updateConnectionState();\n };\n\n var dtlsTransport = new window.RTCDtlsTransport(iceTransport);\n dtlsTransport.ondtlsstatechange = function() {\n pc._updateConnectionState();\n };\n dtlsTransport.onerror = function() {\n // onerror does not set state to failed by itself.\n Object.defineProperty(dtlsTransport, 'state',\n {value: 'failed', writable: true});\n pc._updateConnectionState();\n };\n\n return {\n iceTransport: iceTransport,\n dtlsTransport: dtlsTransport\n };\n };\n\n // Destroy ICE gatherer, ICE transport and DTLS transport.\n // Without triggering the callbacks.\n RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function(\n sdpMLineIndex) {\n var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n if (iceGatherer) {\n delete iceGatherer.onlocalcandidate;\n delete this.transceivers[sdpMLineIndex].iceGatherer;\n }\n var iceTransport = this.transceivers[sdpMLineIndex].iceTransport;\n if (iceTransport) {\n delete iceTransport.onicestatechange;\n delete this.transceivers[sdpMLineIndex].iceTransport;\n }\n var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport;\n if (dtlsTransport) {\n delete dtlsTransport.ondtlsstatechange;\n delete dtlsTransport.onerror;\n delete this.transceivers[sdpMLineIndex].dtlsTransport;\n }\n };\n\n // Start the RTP Sender and Receiver for a transceiver.\n RTCPeerConnection.prototype._transceive = function(transceiver,\n send, recv) {\n var params = getCommonCapabilities(transceiver.localCapabilities,\n transceiver.remoteCapabilities);\n if (send && transceiver.rtpSender) {\n params.encodings = transceiver.sendEncodingParameters;\n params.rtcp = {\n cname: SDPUtils.localCName,\n compound: transceiver.rtcpParameters.compound\n };\n if (transceiver.recvEncodingParameters.length) {\n params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc;\n }\n transceiver.rtpSender.send(params);\n }\n if (recv && transceiver.rtpReceiver && params.codecs.length > 0) {\n // remove RTX field in Edge 14942\n if (transceiver.kind === 'video'\n && transceiver.recvEncodingParameters\n && edgeVersion < 15019) {\n transceiver.recvEncodingParameters.forEach(function(p) {\n delete p.rtx;\n });\n }\n if (transceiver.recvEncodingParameters.length) {\n params.encodings = transceiver.recvEncodingParameters;\n } else {\n params.encodings = [{}];\n }\n params.rtcp = {\n compound: transceiver.rtcpParameters.compound\n };\n if (transceiver.rtcpParameters.cname) {\n params.rtcp.cname = transceiver.rtcpParameters.cname;\n }\n if (transceiver.sendEncodingParameters.length) {\n params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc;\n }\n transceiver.rtpReceiver.receive(params);\n }\n };\n\n RTCPeerConnection.prototype.setLocalDescription = function(description) {\n var pc = this;\n\n // Note: pranswer is not supported.\n if (['offer', 'answer'].indexOf(description.type) === -1) {\n return Promise.reject(makeError('TypeError',\n 'Unsupported type \"' + description.type + '\"'));\n }\n\n if (!isActionAllowedInSignalingState('setLocalDescription',\n description.type, pc.signalingState) || pc._isClosed) {\n return Promise.reject(makeError('InvalidStateError',\n 'Can not set local ' + description.type +\n ' in state ' + pc.signalingState));\n }\n\n var sections;\n var sessionpart;\n if (description.type === 'offer') {\n // VERY limited support for SDP munging. Limited to:\n // * changing the order of codecs\n sections = SDPUtils.splitSections(description.sdp);\n sessionpart = sections.shift();\n sections.forEach(function(mediaSection, sdpMLineIndex) {\n var caps = SDPUtils.parseRtpParameters(mediaSection);\n pc.transceivers[sdpMLineIndex].localCapabilities = caps;\n });\n\n pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n pc._gather(transceiver.mid, sdpMLineIndex);\n });\n } else if (description.type === 'answer') {\n sections = SDPUtils.splitSections(pc._remoteDescription.sdp);\n sessionpart = sections.shift();\n var isIceLite = SDPUtils.matchPrefix(sessionpart,\n 'a=ice-lite').length > 0;\n sections.forEach(function(mediaSection, sdpMLineIndex) {\n var transceiver = pc.transceivers[sdpMLineIndex];\n var iceGatherer = transceiver.iceGatherer;\n var iceTransport = transceiver.iceTransport;\n var dtlsTransport = transceiver.dtlsTransport;\n var localCapabilities = transceiver.localCapabilities;\n var remoteCapabilities = transceiver.remoteCapabilities;\n\n // treat bundle-only as not-rejected.\n var rejected = SDPUtils.isRejected(mediaSection) &&\n SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0;\n\n if (!rejected && !transceiver.rejected) {\n var remoteIceParameters = SDPUtils.getIceParameters(\n mediaSection, sessionpart);\n var remoteDtlsParameters = SDPUtils.getDtlsParameters(\n mediaSection, sessionpart);\n if (isIceLite) {\n remoteDtlsParameters.role = 'server';\n }\n\n if (!pc.usingBundle || sdpMLineIndex === 0) {\n pc._gather(transceiver.mid, sdpMLineIndex);\n if (iceTransport.state === 'new') {\n iceTransport.start(iceGatherer, remoteIceParameters,\n isIceLite ? 'controlling' : 'controlled');\n }\n if (dtlsTransport.state === 'new') {\n dtlsTransport.start(remoteDtlsParameters);\n }\n }\n\n // Calculate intersection of capabilities.\n var params = getCommonCapabilities(localCapabilities,\n remoteCapabilities);\n\n // Start the RTCRtpSender. The RTCRtpReceiver for this\n // transceiver has already been started in setRemoteDescription.\n pc._transceive(transceiver,\n params.codecs.length > 0,\n false);\n }\n });\n }\n\n pc._localDescription = {\n type: description.type,\n sdp: description.sdp\n };\n if (description.type === 'offer') {\n pc._updateSignalingState('have-local-offer');\n } else {\n pc._updateSignalingState('stable');\n }\n\n return Promise.resolve();\n };\n\n RTCPeerConnection.prototype.setRemoteDescription = function(description) {\n var pc = this;\n\n // Note: pranswer is not supported.\n if (['offer', 'answer'].indexOf(description.type) === -1) {\n return Promise.reject(makeError('TypeError',\n 'Unsupported type \"' + description.type + '\"'));\n }\n\n if (!isActionAllowedInSignalingState('setRemoteDescription',\n description.type, pc.signalingState) || pc._isClosed) {\n return Promise.reject(makeError('InvalidStateError',\n 'Can not set remote ' + description.type +\n ' in state ' + pc.signalingState));\n }\n\n var streams = {};\n pc.remoteStreams.forEach(function(stream) {\n streams[stream.id] = stream;\n });\n var receiverList = [];\n var sections = SDPUtils.splitSections(description.sdp);\n var sessionpart = sections.shift();\n var isIceLite = SDPUtils.matchPrefix(sessionpart,\n 'a=ice-lite').length > 0;\n var usingBundle = SDPUtils.matchPrefix(sessionpart,\n 'a=group:BUNDLE ').length > 0;\n pc.usingBundle = usingBundle;\n var iceOptions = SDPUtils.matchPrefix(sessionpart,\n 'a=ice-options:')[0];\n if (iceOptions) {\n pc.canTrickleIceCandidates = iceOptions.substr(14).split(' ')\n .indexOf('trickle') >= 0;\n } else {\n pc.canTrickleIceCandidates = false;\n }\n\n sections.forEach(function(mediaSection, sdpMLineIndex) {\n var lines = SDPUtils.splitLines(mediaSection);\n var kind = SDPUtils.getKind(mediaSection);\n // treat bundle-only as not-rejected.\n var rejected = SDPUtils.isRejected(mediaSection) &&\n SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0;\n var protocol = lines[0].substr(2).split(' ')[2];\n\n var direction = SDPUtils.getDirection(mediaSection, sessionpart);\n var remoteMsid = SDPUtils.parseMsid(mediaSection);\n\n var mid = SDPUtils.getMid(mediaSection) || SDPUtils.generateIdentifier();\n\n // Reject datachannels which are not implemented yet.\n if (rejected || (kind === 'application' && (protocol === 'DTLS/SCTP' ||\n protocol === 'UDP/DTLS/SCTP'))) {\n // TODO: this is dangerous in the case where a non-rejected m-line\n // becomes rejected.\n pc.transceivers[sdpMLineIndex] = {\n mid: mid,\n kind: kind,\n protocol: protocol,\n rejected: true\n };\n return;\n }\n\n if (!rejected && pc.transceivers[sdpMLineIndex] &&\n pc.transceivers[sdpMLineIndex].rejected) {\n // recycle a rejected transceiver.\n pc.transceivers[sdpMLineIndex] = pc._createTransceiver(kind, true);\n }\n\n var transceiver;\n var iceGatherer;\n var iceTransport;\n var dtlsTransport;\n var rtpReceiver;\n var sendEncodingParameters;\n var recvEncodingParameters;\n var localCapabilities;\n\n var track;\n // FIXME: ensure the mediaSection has rtcp-mux set.\n var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection);\n var remoteIceParameters;\n var remoteDtlsParameters;\n if (!rejected) {\n remoteIceParameters = SDPUtils.getIceParameters(mediaSection,\n sessionpart);\n remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,\n sessionpart);\n remoteDtlsParameters.role = 'client';\n }\n recvEncodingParameters =\n SDPUtils.parseRtpEncodingParameters(mediaSection);\n\n var rtcpParameters = SDPUtils.parseRtcpParameters(mediaSection);\n\n var isComplete = SDPUtils.matchPrefix(mediaSection,\n 'a=end-of-candidates', sessionpart).length > 0;\n var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')\n .map(function(cand) {\n return SDPUtils.parseCandidate(cand);\n })\n .filter(function(cand) {\n return cand.component === 1;\n });\n\n // Check if we can use BUNDLE and dispose transports.\n if ((description.type === 'offer' || description.type === 'answer') &&\n !rejected && usingBundle && sdpMLineIndex > 0 &&\n pc.transceivers[sdpMLineIndex]) {\n pc._disposeIceAndDtlsTransports(sdpMLineIndex);\n pc.transceivers[sdpMLineIndex].iceGatherer =\n pc.transceivers[0].iceGatherer;\n pc.transceivers[sdpMLineIndex].iceTransport =\n pc.transceivers[0].iceTransport;\n pc.transceivers[sdpMLineIndex].dtlsTransport =\n pc.transceivers[0].dtlsTransport;\n if (pc.transceivers[sdpMLineIndex].rtpSender) {\n pc.transceivers[sdpMLineIndex].rtpSender.setTransport(\n pc.transceivers[0].dtlsTransport);\n }\n if (pc.transceivers[sdpMLineIndex].rtpReceiver) {\n pc.transceivers[sdpMLineIndex].rtpReceiver.setTransport(\n pc.transceivers[0].dtlsTransport);\n }\n }\n if (description.type === 'offer' && !rejected) {\n transceiver = pc.transceivers[sdpMLineIndex] ||\n pc._createTransceiver(kind);\n transceiver.mid = mid;\n\n if (!transceiver.iceGatherer) {\n transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex,\n usingBundle);\n }\n\n if (cands.length && transceiver.iceTransport.state === 'new') {\n if (isComplete && (!usingBundle || sdpMLineIndex === 0)) {\n transceiver.iceTransport.setRemoteCandidates(cands);\n } else {\n cands.forEach(function(candidate) {\n maybeAddCandidate(transceiver.iceTransport, candidate);\n });\n }\n }\n\n localCapabilities = window.RTCRtpReceiver.getCapabilities(kind);\n\n // filter RTX until additional stuff needed for RTX is implemented\n // in adapter.js\n if (edgeVersion < 15019) {\n localCapabilities.codecs = localCapabilities.codecs.filter(\n function(codec) {\n return codec.name !== 'rtx';\n });\n }\n\n sendEncodingParameters = transceiver.sendEncodingParameters || [{\n ssrc: (2 * sdpMLineIndex + 2) * 1001\n }];\n\n // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams\n var isNewTrack = false;\n if (direction === 'sendrecv' || direction === 'sendonly') {\n isNewTrack = !transceiver.rtpReceiver;\n rtpReceiver = transceiver.rtpReceiver ||\n new window.RTCRtpReceiver(transceiver.dtlsTransport, kind);\n\n if (isNewTrack) {\n var stream;\n track = rtpReceiver.track;\n // FIXME: does not work with Plan B.\n if (remoteMsid && remoteMsid.stream === '-') {\n // no-op. a stream id of '-' means: no associated stream.\n } else if (remoteMsid) {\n if (!streams[remoteMsid.stream]) {\n streams[remoteMsid.stream] = new window.MediaStream();\n Object.defineProperty(streams[remoteMsid.stream], 'id', {\n get: function() {\n return remoteMsid.stream;\n }\n });\n }\n Object.defineProperty(track, 'id', {\n get: function() {\n return remoteMsid.track;\n }\n });\n stream = streams[remoteMsid.stream];\n } else {\n if (!streams.default) {\n streams.default = new window.MediaStream();\n }\n stream = streams.default;\n }\n if (stream) {\n addTrackToStreamAndFireEvent(track, stream);\n transceiver.associatedRemoteMediaStreams.push(stream);\n }\n receiverList.push([track, rtpReceiver, stream]);\n }\n } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track) {\n transceiver.associatedRemoteMediaStreams.forEach(function(s) {\n var nativeTrack = s.getTracks().find(function(t) {\n return t.id === transceiver.rtpReceiver.track.id;\n });\n if (nativeTrack) {\n removeTrackFromStreamAndFireEvent(nativeTrack, s);\n }\n });\n transceiver.associatedRemoteMediaStreams = [];\n }\n\n transceiver.localCapabilities = localCapabilities;\n transceiver.remoteCapabilities = remoteCapabilities;\n transceiver.rtpReceiver = rtpReceiver;\n transceiver.rtcpParameters = rtcpParameters;\n transceiver.sendEncodingParameters = sendEncodingParameters;\n transceiver.recvEncodingParameters = recvEncodingParameters;\n\n // Start the RTCRtpReceiver now. The RTPSender is started in\n // setLocalDescription.\n pc._transceive(pc.transceivers[sdpMLineIndex],\n false,\n isNewTrack);\n } else if (description.type === 'answer' && !rejected) {\n transceiver = pc.transceivers[sdpMLineIndex];\n iceGatherer = transceiver.iceGatherer;\n iceTransport = transceiver.iceTransport;\n dtlsTransport = transceiver.dtlsTransport;\n rtpReceiver = transceiver.rtpReceiver;\n sendEncodingParameters = transceiver.sendEncodingParameters;\n localCapabilities = transceiver.localCapabilities;\n\n pc.transceivers[sdpMLineIndex].recvEncodingParameters =\n recvEncodingParameters;\n pc.transceivers[sdpMLineIndex].remoteCapabilities =\n remoteCapabilities;\n pc.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters;\n\n if (cands.length && iceTransport.state === 'new') {\n if ((isIceLite || isComplete) &&\n (!usingBundle || sdpMLineIndex === 0)) {\n iceTransport.setRemoteCandidates(cands);\n } else {\n cands.forEach(function(candidate) {\n maybeAddCandidate(transceiver.iceTransport, candidate);\n });\n }\n }\n\n if (!usingBundle || sdpMLineIndex === 0) {\n if (iceTransport.state === 'new') {\n iceTransport.start(iceGatherer, remoteIceParameters,\n 'controlling');\n }\n if (dtlsTransport.state === 'new') {\n dtlsTransport.start(remoteDtlsParameters);\n }\n }\n\n // If the offer contained RTX but the answer did not,\n // remove RTX from sendEncodingParameters.\n var commonCapabilities = getCommonCapabilities(\n transceiver.localCapabilities,\n transceiver.remoteCapabilities);\n\n var hasRtx = commonCapabilities.codecs.filter(function(c) {\n return c.name.toLowerCase() === 'rtx';\n }).length;\n if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) {\n delete transceiver.sendEncodingParameters[0].rtx;\n }\n\n pc._transceive(transceiver,\n direction === 'sendrecv' || direction === 'recvonly',\n direction === 'sendrecv' || direction === 'sendonly');\n\n // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams\n if (rtpReceiver &&\n (direction === 'sendrecv' || direction === 'sendonly')) {\n track = rtpReceiver.track;\n if (remoteMsid) {\n if (!streams[remoteMsid.stream]) {\n streams[remoteMsid.stream] = new window.MediaStream();\n }\n addTrackToStreamAndFireEvent(track, streams[remoteMsid.stream]);\n receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]);\n } else {\n if (!streams.default) {\n streams.default = new window.MediaStream();\n }\n addTrackToStreamAndFireEvent(track, streams.default);\n receiverList.push([track, rtpReceiver, streams.default]);\n }\n } else {\n // FIXME: actually the receiver should be created later.\n delete transceiver.rtpReceiver;\n }\n }\n });\n\n if (pc._dtlsRole === undefined) {\n pc._dtlsRole = description.type === 'offer' ? 'active' : 'passive';\n }\n\n pc._remoteDescription = {\n type: description.type,\n sdp: description.sdp\n };\n if (description.type === 'offer') {\n pc._updateSignalingState('have-remote-offer');\n } else {\n pc._updateSignalingState('stable');\n }\n Object.keys(streams).forEach(function(sid) {\n var stream = streams[sid];\n if (stream.getTracks().length) {\n if (pc.remoteStreams.indexOf(stream) === -1) {\n pc.remoteStreams.push(stream);\n var event = new Event('addstream');\n event.stream = stream;\n window.setTimeout(function() {\n pc._dispatchEvent('addstream', event);\n });\n }\n\n receiverList.forEach(function(item) {\n var track = item[0];\n var receiver = item[1];\n if (stream.id !== item[2].id) {\n return;\n }\n fireAddTrack(pc, track, receiver, [stream]);\n });\n }\n });\n receiverList.forEach(function(item) {\n if (item[2]) {\n return;\n }\n fireAddTrack(pc, item[0], item[1], []);\n });\n\n // check whether addIceCandidate({}) was called within four seconds after\n // setRemoteDescription.\n window.setTimeout(function() {\n if (!(pc && pc.transceivers)) {\n return;\n }\n pc.transceivers.forEach(function(transceiver) {\n if (transceiver.iceTransport &&\n transceiver.iceTransport.state === 'new' &&\n transceiver.iceTransport.getRemoteCandidates().length > 0) {\n console.warn('Timeout for addRemoteCandidate. Consider sending ' +\n 'an end-of-candidates notification');\n transceiver.iceTransport.addRemoteCandidate({});\n }\n });\n }, 4000);\n\n return Promise.resolve();\n };\n\n RTCPeerConnection.prototype.close = function() {\n this.transceivers.forEach(function(transceiver) {\n /* not yet\n if (transceiver.iceGatherer) {\n transceiver.iceGatherer.close();\n }\n */\n if (transceiver.iceTransport) {\n transceiver.iceTransport.stop();\n }\n if (transceiver.dtlsTransport) {\n transceiver.dtlsTransport.stop();\n }\n if (transceiver.rtpSender) {\n transceiver.rtpSender.stop();\n }\n if (transceiver.rtpReceiver) {\n transceiver.rtpReceiver.stop();\n }\n });\n // FIXME: clean up tracks, local streams, remote streams, etc\n this._isClosed = true;\n this._updateSignalingState('closed');\n };\n\n // Update the signaling state.\n RTCPeerConnection.prototype._updateSignalingState = function(newState) {\n this.signalingState = newState;\n var event = new Event('signalingstatechange');\n this._dispatchEvent('signalingstatechange', event);\n };\n\n // Determine whether to fire the negotiationneeded event.\n RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function() {\n var pc = this;\n if (this.signalingState !== 'stable' || this.needNegotiation === true) {\n return;\n }\n this.needNegotiation = true;\n window.setTimeout(function() {\n if (pc.needNegotiation) {\n pc.needNegotiation = false;\n var event = new Event('negotiationneeded');\n pc._dispatchEvent('negotiationneeded', event);\n }\n }, 0);\n };\n\n // Update the ice connection state.\n RTCPeerConnection.prototype._updateIceConnectionState = function() {\n var newState;\n var states = {\n 'new': 0,\n closed: 0,\n checking: 0,\n connected: 0,\n completed: 0,\n disconnected: 0,\n failed: 0\n };\n this.transceivers.forEach(function(transceiver) {\n if (transceiver.iceTransport && !transceiver.rejected) {\n states[transceiver.iceTransport.state]++;\n }\n });\n\n newState = 'new';\n if (states.failed > 0) {\n newState = 'failed';\n } else if (states.checking > 0) {\n newState = 'checking';\n } else if (states.disconnected > 0) {\n newState = 'disconnected';\n } else if (states.new > 0) {\n newState = 'new';\n } else if (states.connected > 0) {\n newState = 'connected';\n } else if (states.completed > 0) {\n newState = 'completed';\n }\n\n if (newState !== this.iceConnectionState) {\n this.iceConnectionState = newState;\n var event = new Event('iceconnectionstatechange');\n this._dispatchEvent('iceconnectionstatechange', event);\n }\n };\n\n // Update the connection state.\n RTCPeerConnection.prototype._updateConnectionState = function() {\n var newState;\n var states = {\n 'new': 0,\n closed: 0,\n connecting: 0,\n connected: 0,\n completed: 0,\n disconnected: 0,\n failed: 0\n };\n this.transceivers.forEach(function(transceiver) {\n if (transceiver.iceTransport && transceiver.dtlsTransport &&\n !transceiver.rejected) {\n states[transceiver.iceTransport.state]++;\n states[transceiver.dtlsTransport.state]++;\n }\n });\n // ICETransport.completed and connected are the same for this purpose.\n states.connected += states.completed;\n\n newState = 'new';\n if (states.failed > 0) {\n newState = 'failed';\n } else if (states.connecting > 0) {\n newState = 'connecting';\n } else if (states.disconnected > 0) {\n newState = 'disconnected';\n } else if (states.new > 0) {\n newState = 'new';\n } else if (states.connected > 0) {\n newState = 'connected';\n }\n\n if (newState !== this.connectionState) {\n this.connectionState = newState;\n var event = new Event('connectionstatechange');\n this._dispatchEvent('connectionstatechange', event);\n }\n };\n\n RTCPeerConnection.prototype.createOffer = function() {\n var pc = this;\n\n if (pc._isClosed) {\n return Promise.reject(makeError('InvalidStateError',\n 'Can not call createOffer after close'));\n }\n\n var numAudioTracks = pc.transceivers.filter(function(t) {\n return t.kind === 'audio';\n }).length;\n var numVideoTracks = pc.transceivers.filter(function(t) {\n return t.kind === 'video';\n }).length;\n\n // Determine number of audio and video tracks we need to send/recv.\n var offerOptions = arguments[0];\n if (offerOptions) {\n // Reject Chrome legacy constraints.\n if (offerOptions.mandatory || offerOptions.optional) {\n throw new TypeError(\n 'Legacy mandatory/optional constraints not supported.');\n }\n if (offerOptions.offerToReceiveAudio !== undefined) {\n if (offerOptions.offerToReceiveAudio === true) {\n numAudioTracks = 1;\n } else if (offerOptions.offerToReceiveAudio === false) {\n numAudioTracks = 0;\n } else {\n numAudioTracks = offerOptions.offerToReceiveAudio;\n }\n }\n if (offerOptions.offerToReceiveVideo !== undefined) {\n if (offerOptions.offerToReceiveVideo === true) {\n numVideoTracks = 1;\n } else if (offerOptions.offerToReceiveVideo === false) {\n numVideoTracks = 0;\n } else {\n numVideoTracks = offerOptions.offerToReceiveVideo;\n }\n }\n }\n\n pc.transceivers.forEach(function(transceiver) {\n if (transceiver.kind === 'audio') {\n numAudioTracks--;\n if (numAudioTracks < 0) {\n transceiver.wantReceive = false;\n }\n } else if (transceiver.kind === 'video') {\n numVideoTracks--;\n if (numVideoTracks < 0) {\n transceiver.wantReceive = false;\n }\n }\n });\n\n // Create M-lines for recvonly streams.\n while (numAudioTracks > 0 || numVideoTracks > 0) {\n if (numAudioTracks > 0) {\n pc._createTransceiver('audio');\n numAudioTracks--;\n }\n if (numVideoTracks > 0) {\n pc._createTransceiver('video');\n numVideoTracks--;\n }\n }\n\n var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId,\n pc._sdpSessionVersion++);\n pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n // For each track, create an ice gatherer, ice transport,\n // dtls transport, potentially rtpsender and rtpreceiver.\n var track = transceiver.track;\n var kind = transceiver.kind;\n var mid = transceiver.mid || SDPUtils.generateIdentifier();\n transceiver.mid = mid;\n\n if (!transceiver.iceGatherer) {\n transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex,\n pc.usingBundle);\n }\n\n var localCapabilities = window.RTCRtpSender.getCapabilities(kind);\n // filter RTX until additional stuff needed for RTX is implemented\n // in adapter.js\n if (edgeVersion < 15019) {\n localCapabilities.codecs = localCapabilities.codecs.filter(\n function(codec) {\n return codec.name !== 'rtx';\n });\n }\n localCapabilities.codecs.forEach(function(codec) {\n // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552\n // by adding level-asymmetry-allowed=1\n if (codec.name === 'H264' &&\n codec.parameters['level-asymmetry-allowed'] === undefined) {\n codec.parameters['level-asymmetry-allowed'] = '1';\n }\n\n // for subsequent offers, we might have to re-use the payload\n // type of the last offer.\n if (transceiver.remoteCapabilities &&\n transceiver.remoteCapabilities.codecs) {\n transceiver.remoteCapabilities.codecs.forEach(function(remoteCodec) {\n if (codec.name.toLowerCase() === remoteCodec.name.toLowerCase() &&\n codec.clockRate === remoteCodec.clockRate) {\n codec.preferredPayloadType = remoteCodec.payloadType;\n }\n });\n }\n });\n localCapabilities.headerExtensions.forEach(function(hdrExt) {\n var remoteExtensions = transceiver.remoteCapabilities &&\n transceiver.remoteCapabilities.headerExtensions || [];\n remoteExtensions.forEach(function(rHdrExt) {\n if (hdrExt.uri === rHdrExt.uri) {\n hdrExt.id = rHdrExt.id;\n }\n });\n });\n\n // generate an ssrc now, to be used later in rtpSender.send\n var sendEncodingParameters = transceiver.sendEncodingParameters || [{\n ssrc: (2 * sdpMLineIndex + 1) * 1001\n }];\n if (track) {\n // add RTX\n if (edgeVersion >= 15019 && kind === 'video' &&\n !sendEncodingParameters[0].rtx) {\n sendEncodingParameters[0].rtx = {\n ssrc: sendEncodingParameters[0].ssrc + 1\n };\n }\n }\n\n if (transceiver.wantReceive) {\n transceiver.rtpReceiver = new window.RTCRtpReceiver(\n transceiver.dtlsTransport, kind);\n }\n\n transceiver.localCapabilities = localCapabilities;\n transceiver.sendEncodingParameters = sendEncodingParameters;\n });\n\n // always offer BUNDLE and dispose on return if not supported.\n if (pc._config.bundlePolicy !== 'max-compat') {\n sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function(t) {\n return t.mid;\n }).join(' ') + '\\r\\n';\n }\n sdp += 'a=ice-options:trickle\\r\\n';\n\n pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n sdp += writeMediaSection(transceiver, transceiver.localCapabilities,\n 'offer', transceiver.stream, pc._dtlsRole);\n sdp += 'a=rtcp-rsize\\r\\n';\n\n if (transceiver.iceGatherer && pc.iceGatheringState !== 'new' &&\n (sdpMLineIndex === 0 || !pc.usingBundle)) {\n transceiver.iceGatherer.getLocalCandidates().forEach(function(cand) {\n cand.component = 1;\n sdp += 'a=' + SDPUtils.writeCandidate(cand) + '\\r\\n';\n });\n\n if (transceiver.iceGatherer.state === 'completed') {\n sdp += 'a=end-of-candidates\\r\\n';\n }\n }\n });\n\n var desc = new window.RTCSessionDescription({\n type: 'offer',\n sdp: sdp\n });\n return Promise.resolve(desc);\n };\n\n RTCPeerConnection.prototype.createAnswer = function() {\n var pc = this;\n\n if (pc._isClosed) {\n return Promise.reject(makeError('InvalidStateError',\n 'Can not call createAnswer after close'));\n }\n\n if (!(pc.signalingState === 'have-remote-offer' ||\n pc.signalingState === 'have-local-pranswer')) {\n return Promise.reject(makeError('InvalidStateError',\n 'Can not call createAnswer in signalingState ' + pc.signalingState));\n }\n\n var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId,\n pc._sdpSessionVersion++);\n if (pc.usingBundle) {\n sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function(t) {\n return t.mid;\n }).join(' ') + '\\r\\n';\n }\n sdp += 'a=ice-options:trickle\\r\\n';\n\n var mediaSectionsInOffer = SDPUtils.getMediaSections(\n pc._remoteDescription.sdp).length;\n pc.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n if (sdpMLineIndex + 1 > mediaSectionsInOffer) {\n return;\n }\n if (transceiver.rejected) {\n if (transceiver.kind === 'application') {\n if (transceiver.protocol === 'DTLS/SCTP') { // legacy fmt\n sdp += 'm=application 0 DTLS/SCTP 5000\\r\\n';\n } else {\n sdp += 'm=application 0 ' + transceiver.protocol +\n ' webrtc-datachannel\\r\\n';\n }\n } else if (transceiver.kind === 'audio') {\n sdp += 'm=audio 0 UDP/TLS/RTP/SAVPF 0\\r\\n' +\n 'a=rtpmap:0 PCMU/8000\\r\\n';\n } else if (transceiver.kind === 'video') {\n sdp += 'm=video 0 UDP/TLS/RTP/SAVPF 120\\r\\n' +\n 'a=rtpmap:120 VP8/90000\\r\\n';\n }\n sdp += 'c=IN IP4 0.0.0.0\\r\\n' +\n 'a=inactive\\r\\n' +\n 'a=mid:' + transceiver.mid + '\\r\\n';\n return;\n }\n\n // FIXME: look at direction.\n if (transceiver.stream) {\n var localTrack;\n if (transceiver.kind === 'audio') {\n localTrack = transceiver.stream.getAudioTracks()[0];\n } else if (transceiver.kind === 'video') {\n localTrack = transceiver.stream.getVideoTracks()[0];\n }\n if (localTrack) {\n // add RTX\n if (edgeVersion >= 15019 && transceiver.kind === 'video' &&\n !transceiver.sendEncodingParameters[0].rtx) {\n transceiver.sendEncodingParameters[0].rtx = {\n ssrc: transceiver.sendEncodingParameters[0].ssrc + 1\n };\n }\n }\n }\n\n // Calculate intersection of capabilities.\n var commonCapabilities = getCommonCapabilities(\n transceiver.localCapabilities,\n transceiver.remoteCapabilities);\n\n var hasRtx = commonCapabilities.codecs.filter(function(c) {\n return c.name.toLowerCase() === 'rtx';\n }).length;\n if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) {\n delete transceiver.sendEncodingParameters[0].rtx;\n }\n\n sdp += writeMediaSection(transceiver, commonCapabilities,\n 'answer', transceiver.stream, pc._dtlsRole);\n if (transceiver.rtcpParameters &&\n transceiver.rtcpParameters.reducedSize) {\n sdp += 'a=rtcp-rsize\\r\\n';\n }\n });\n\n var desc = new window.RTCSessionDescription({\n type: 'answer',\n sdp: sdp\n });\n return Promise.resolve(desc);\n };\n\n RTCPeerConnection.prototype.addIceCandidate = function(candidate) {\n var pc = this;\n var sections;\n if (candidate && !(candidate.sdpMLineIndex !== undefined ||\n candidate.sdpMid)) {\n return Promise.reject(new TypeError('sdpMLineIndex or sdpMid required'));\n }\n\n // TODO: needs to go into ops queue.\n return new Promise(function(resolve, reject) {\n if (!pc._remoteDescription) {\n return reject(makeError('InvalidStateError',\n 'Can not add ICE candidate without a remote description'));\n } else if (!candidate || candidate.candidate === '') {\n for (var j = 0; j < pc.transceivers.length; j++) {\n if (pc.transceivers[j].rejected) {\n continue;\n }\n pc.transceivers[j].iceTransport.addRemoteCandidate({});\n sections = SDPUtils.getMediaSections(pc._remoteDescription.sdp);\n sections[j] += 'a=end-of-candidates\\r\\n';\n pc._remoteDescription.sdp =\n SDPUtils.getDescription(pc._remoteDescription.sdp) +\n sections.join('');\n if (pc.usingBundle) {\n break;\n }\n }\n } else {\n var sdpMLineIndex = candidate.sdpMLineIndex;\n if (candidate.sdpMid) {\n for (var i = 0; i < pc.transceivers.length; i++) {\n if (pc.transceivers[i].mid === candidate.sdpMid) {\n sdpMLineIndex = i;\n break;\n }\n }\n }\n var transceiver = pc.transceivers[sdpMLineIndex];\n if (transceiver) {\n if (transceiver.rejected) {\n return resolve();\n }\n var cand = Object.keys(candidate.candidate).length > 0 ?\n SDPUtils.parseCandidate(candidate.candidate) : {};\n // Ignore Chrome's invalid candidates since Edge does not like them.\n if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) {\n return resolve();\n }\n // Ignore RTCP candidates, we assume RTCP-MUX.\n if (cand.component && cand.component !== 1) {\n return resolve();\n }\n // when using bundle, avoid adding candidates to the wrong\n // ice transport. And avoid adding candidates added in the SDP.\n if (sdpMLineIndex === 0 || (sdpMLineIndex > 0 &&\n transceiver.iceTransport !== pc.transceivers[0].iceTransport)) {\n if (!maybeAddCandidate(transceiver.iceTransport, cand)) {\n return reject(makeError('OperationError',\n 'Can not add ICE candidate'));\n }\n }\n\n // update the remoteDescription.\n var candidateString = candidate.candidate.trim();\n if (candidateString.indexOf('a=') === 0) {\n candidateString = candidateString.substr(2);\n }\n sections = SDPUtils.getMediaSections(pc._remoteDescription.sdp);\n sections[sdpMLineIndex] += 'a=' +\n (cand.type ? candidateString : 'end-of-candidates')\n + '\\r\\n';\n pc._remoteDescription.sdp =\n SDPUtils.getDescription(pc._remoteDescription.sdp) +\n sections.join('');\n } else {\n return reject(makeError('OperationError',\n 'Can not add ICE candidate'));\n }\n }\n resolve();\n });\n };\n\n RTCPeerConnection.prototype.getStats = function(selector) {\n if (selector && selector instanceof window.MediaStreamTrack) {\n var senderOrReceiver = null;\n this.transceivers.forEach(function(transceiver) {\n if (transceiver.rtpSender &&\n transceiver.rtpSender.track === selector) {\n senderOrReceiver = transceiver.rtpSender;\n } else if (transceiver.rtpReceiver &&\n transceiver.rtpReceiver.track === selector) {\n senderOrReceiver = transceiver.rtpReceiver;\n }\n });\n if (!senderOrReceiver) {\n throw makeError('InvalidAccessError', 'Invalid selector.');\n }\n return senderOrReceiver.getStats();\n }\n\n var promises = [];\n this.transceivers.forEach(function(transceiver) {\n ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport',\n 'dtlsTransport'].forEach(function(method) {\n if (transceiver[method]) {\n promises.push(transceiver[method].getStats());\n }\n });\n });\n return Promise.all(promises).then(function(allStats) {\n var results = new Map();\n allStats.forEach(function(stats) {\n stats.forEach(function(stat) {\n results.set(stat.id, stat);\n });\n });\n return results;\n });\n };\n\n // fix low-level stat names and return Map instead of object.\n var ortcObjects = ['RTCRtpSender', 'RTCRtpReceiver', 'RTCIceGatherer',\n 'RTCIceTransport', 'RTCDtlsTransport'];\n ortcObjects.forEach(function(ortcObjectName) {\n var obj = window[ortcObjectName];\n if (obj && obj.prototype && obj.prototype.getStats) {\n var nativeGetstats = obj.prototype.getStats;\n obj.prototype.getStats = function() {\n return nativeGetstats.apply(this)\n .then(function(nativeStats) {\n var mapStats = new Map();\n Object.keys(nativeStats).forEach(function(id) {\n nativeStats[id].type = fixStatsType(nativeStats[id]);\n mapStats.set(id, nativeStats[id]);\n });\n return mapStats;\n });\n };\n }\n });\n\n // legacy callback shims. Should be moved to adapter.js some days.\n var methods = ['createOffer', 'createAnswer'];\n methods.forEach(function(method) {\n var nativeMethod = RTCPeerConnection.prototype[method];\n RTCPeerConnection.prototype[method] = function() {\n var args = arguments;\n if (typeof args[0] === 'function' ||\n typeof args[1] === 'function') { // legacy\n return nativeMethod.apply(this, [arguments[2]])\n .then(function(description) {\n if (typeof args[0] === 'function') {\n args[0].apply(null, [description]);\n }\n }, function(error) {\n if (typeof args[1] === 'function') {\n args[1].apply(null, [error]);\n }\n });\n }\n return nativeMethod.apply(this, arguments);\n };\n });\n\n methods = ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'];\n methods.forEach(function(method) {\n var nativeMethod = RTCPeerConnection.prototype[method];\n RTCPeerConnection.prototype[method] = function() {\n var args = arguments;\n if (typeof args[1] === 'function' ||\n typeof args[2] === 'function') { // legacy\n return nativeMethod.apply(this, arguments)\n .then(function() {\n if (typeof args[1] === 'function') {\n args[1].apply(null);\n }\n }, function(error) {\n if (typeof args[2] === 'function') {\n args[2].apply(null, [error]);\n }\n });\n }\n return nativeMethod.apply(this, arguments);\n };\n });\n\n // getStats is special. It doesn't have a spec legacy method yet we support\n // getStats(something, cb) without error callbacks.\n ['getStats'].forEach(function(method) {\n var nativeMethod = RTCPeerConnection.prototype[method];\n RTCPeerConnection.prototype[method] = function() {\n var args = arguments;\n if (typeof args[1] === 'function') {\n return nativeMethod.apply(this, arguments)\n .then(function() {\n if (typeof args[1] === 'function') {\n args[1].apply(null);\n }\n });\n }\n return nativeMethod.apply(this, arguments);\n };\n });\n\n return RTCPeerConnection;\n};\n","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'use strict';\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(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\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\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\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict';\n\nvar _Object$setPrototypeO;\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 finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a