{"version":3,"sources":["webpack:///./transfer/components/feature-link/feature-props/gift.js","webpack:///./transfer/components/feature-link/feature-props/invoice.js","webpack:///./transfer/components/feature-link/feature-props/mass-payment.js","webpack:///./transfer/components/feature-link/feature-props/pools.js","webpack:///./transfer/components/feature-link/feature-props/ppme.js","webpack:///./transfer/components/feature-link/feature-props/xb.js","webpack:///./transfer/components/feature-link/feature-props/xb-biz.js","webpack:///./transfer/components/feature-link/feature-props/split.js","webpack:///./transfer/components/feature-link/feature-props/ppdg.js","webpack:///./transfer/components/feature-link/feature-props/donation.js","webpack:///./transfer/components/feature-link/feature-props/pix.js","webpack:///./transfer/components/feature-link/feature-props/seller.js","webpack:///./transfer/components/feature-link/feature-props/visa-plus.js","webpack:///./transfer/components/feature-link/feature-props/index.js","webpack:///./transfer/components/feature-link/link-card/badge.js","webpack:///./transfer/components/feature-link/link-card/index.js","webpack:///./experiments/xoomUa.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/base64-paypal/index.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/base64-js/index.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/ieee754/index.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/node-libs-browser/node_modules/isarray/index.js","webpack:///./calculator/actions/actions.js","webpack:///./calculator/lib/xoom-redirect-url.js","webpack:///./lib/glamorous-link.js","webpack:///./transfer/components/feature-link/link-card/icon.js","webpack:///./transfer/components/feature-link/utils/cssUtils.js","webpack:///./transfer/components/feature-link/utils/with-feature-props.js","webpack:///./transfer/components/feature-link/feature-props/utils.js","webpack:///./transfer/components/feature-link/utils/internationalize-props.js"],"names":["staticProps","_feature","GIFT","id","icon","titleKey","descriptionKey","to","name","giftLink","props","_objectSpread","INVOICE","badgeHTMLKey","href","invoiceLink","MASS_PAYMENT","target","massPaymentLink","_ref","businessAccountInfo","isSecondaryUser","privileges","isMassPayEnabled","massPaymentContent","includes","Object","assign","POOLS","onClick","tracking","Events","p2p_contact_moneypool_pressed","poolsLink","moneyPoolsCount","desc","PPME","ppmeLink","ppMeProfile","profile","slug","ppmeContent","XB","p2p_contact_abroad_friends_family_pressed","xbLinks","bankDeposit","options","descriptionArgs","numberOfCountries","concat","qs","stringify","from","cashPickup","XB_BIZ","xbLinksBiz","p2p_contact_send_to_bank_pressed","p2p_contact_cash_pickup_pressed","SPLIT","splitLink","PPDG","ppdgLink","FeaturesConfig","country","isPPDGEnabled","DONATION","donationLink","PIX","makePixLink","SELLER","tagKey","sellerLink","sellerProfileDetails","showSellerProfileAsNew","sellerProfileStatus","sellerProfileId","sellerContent","status","SELLER_PROFILE_STATUS","SHARE_SELLER_PROFILE","ACTIVATE_SELLER_PROFILE","content","returnUrl","params","encodeURIComponent","cancelUrl","keyValuePairs","_map","val","key","join","flowQueryValue","base64","PPBASE64","p2p_contact_seller_profile_pressed","has_ppme","SIGN_UP_FOR_SELLER_PROFILE","VISA_PLUS","visaPlusLink","phoneLandscapeMin","desktop","phoneLandscapeMax","mobile","mediaQueries","BadgeText","glamorous","div","flex","color","fontSize","textDecoration","display","defaultProps","ShieldIcon","glamorousIcon","paddingBottom","lineHeight","Filler","minHeight","BadgeContainer","width","backgroundImage","justifyContent","alignItems","textAlign","borderBottomLeftRadius","borderBottomRightRadius","padding","spaceChildrenHorizontally","Badge","children","filler","className","badgeHeight","rest","_objectWithoutProperties","_excluded","React","createElement","_extends","i18n","i18nXoom","sysColorPrimaryMain","sysColorPrimaryContrast","sysSpaceLg","_PAYPAL_THEME","LinkCardContainer","position","borderRadius","backgroundColor","border","colors","grey","flexDirection","getStyleOverrides","StyledXoomButton","button","background","noHover","StyledLink","glamorousLink","fontWeight","paddingLeft","paddingRight","outline","_ref2","StyledButton","marginLeft","marginRight","marginBottom","marginTop","xIconStyles","top","right","infoIconStyles","vxAccessibleBlue","cursor","_ref3","open","AgreementTextContainer","FocusBorder","outlineOffset","bottom","left","pointerEvents","tagLabelCSS","alignSelf","AgreeButton","HorizontalContainer","mediumAndSmaller","spaceChildrenVertically","ConditionalWrapper","wrapperInformation","isXoom","showAgree","onXoomCardClick","restProps","aria-expanded","LinkCard","Component","constructor","arguments","_defineProperty","event","this","setState","state","type","payload","dispatch","ViewActions","apostrophe","userAgreementLink","_Link","data-pagename","size","strong","componentDidMount","tag","pStudioContent","hasTag","Boolean","url","_get","post","render","_this$props","svg","title","description","badge","stackedMobile","compactView","styleOverrides","getIconProps","showButton","buttonText","thin","isAccountLinkedToXoom","linkProps","_excluded2","hasBadge","pxp","Media","query","screenSizes","isMobile","ThemeProvider","theme","funnelLinkCard","addFiller","Icon","data-test","TitleAndDetails","_HeadingText","as","Div","css","medium","_CaptionText","getInterstialLinks","_Button","aria-describedby","secondary","redirectToXoom","_ref4","titleAndDetails","Fragment","_BodyText","FEATURES","hasMgmSideBarEntryPointTreatment","hasMgmSideBarEntryPointTreatment2","LINKS","US","MGM","mgmMarketingTermsLink","overrides","connect","server","CharacterSet","DEFAULT","URLSAFE","PPUUENCODING","exports","DecodeCharacters","keys","reduce","obj","_decodeCharacterSet","characterSet","set","i","length","charCodeAt","encode","input","charset","pad","char3","result","pos","Buffer","isBuffer","encoded","toString","replace","nativeb64encode","slice","fill","decode","decodeChars","char4","buffer","nativeb64decode","ieee754","isArray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","__proto__","prototype","arg","encodingOrOffset","Error","allocUnsafe","value","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","fromString","len","checked","copy","data","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","call","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","asciiToBytes","latin1Write","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","e","typedArraySupport","poolSize","_augment","Symbol","species","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","list","swap16","swap32","swap64","equals","inspect","max","match","thisStart","thisEnd","thisCopy","targetCopy","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","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","stringtrim","base64clean","src","dst","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","output","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","abs","log","LN2","module","types","REDIRECT_TO_XOOM","window","location","getXoomRedirectUrl","setFlowModel","SET_INITIAL_FLOW_MODEL","Link","rootEl","displayName","forwardProps","SVGIcon","transition","circle","svgToIconFontRatio","svgSize","mobileSize","mobileSvgSize","styles","maxHeight","height","PPIcon","isFunnel","_Icon","aria-hidden","space","getFeaturePropsFromStore","user","transaction","userConfig","paymentTypes","redirectToClassicInfo","isNativeApp","isEnrolledInBillSplitting","isMassPaySupportedForUserCountry","featureEligibility","addFunnelRedirectUrl","addFunnelRequestRedirectUrl","isPSAEnabled","isLegalEntityUser","funnel","getFeatureProps","store","getState","propsReducer","allLinkProps","eligible","privileged","hasOwnProperty","shouldRender","internationalizeProps","badgeKey","buttonKey","titleHTMLKey","descriptionHTMLKey","titleArgs","getContent","htmlKey","args","html"],"mappings":"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","file":"default~more-funnel~request-page~request-success~send-page.esm.js","sourcesContent":["// @flow\nimport { GIFT } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: GIFT,\n id: 'nemo_giftLink',\n icon: 'giftcards',\n titleKey: 'flexible.gift.title',\n descriptionKey: 'flexible.gift.description',\n to: '/myaccount/transfer/gift',\n name: 'gift',\n 'data-pagename': 'main:p2p:home::funnel',\n 'data-pagename2': 'main:p2p:home::funnel:node::',\n 'data-nextpagegroup': 'main:consumer:p2p:gift:start',\n 'data-nextpagename': 'main:consumer:p2p:gift:start',\n}\n\nexport default giftLink\n\nfunction giftLink(props: FeatureProps): {} {\n return { ...staticProps }\n}\n","// @flow\nimport { INVOICE } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: INVOICE,\n id: 'nemo_invoiceLink',\n icon: 'invoice',\n titleKey: 'flexible.invoice.title',\n descriptionKey: 'flexible.invoice.description',\n badgeHTMLKey: 'protectionPlanFunnel6.sellers',\n href: '/cgi-bin/webscr?cmd=_manage-invoice',\n name: 'viewinvoice',\n 'data-pagename': 'main:p2p:home::funnel',\n 'data-pagename2': 'main:p2p:home::funnel:node::',\n}\n\nexport default invoiceLink\n\nfunction invoiceLink(props: FeatureProps): {} {\n return { ...staticProps }\n}\n","// @flow\nimport { MASS_PAYMENT } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: MASS_PAYMENT,\n id: 'nemo_massPayLink',\n icon: 'crowdfund',\n href: '/payoutsweb/batchFileUpload',\n target: '_top',\n titleKey: 'massPaymentLink.title',\n descriptionKey: 'massPaymentLink.description',\n name: 'masspayment',\n 'data-pagename': 'main:p2p:home::funnel',\n 'data-pagename2': 'main:p2p:home::funnel:node::',\n}\n\nexport default massPaymentLink\n\nfunction massPaymentLink({\n businessAccountInfo: {\n isSecondaryUser = false,\n privileges = [],\n isMassPayEnabled = false,\n } = {},\n}: FeatureProps): {} {\n const massPaymentContent = {}\n if (\n (isSecondaryUser && !privileges.includes('mass_pay')) ||\n (!isSecondaryUser && !isMassPayEnabled)\n ) {\n Object.assign(massPaymentContent, {\n href: '/myaccount/transfer/setting-up-mass-payments',\n })\n }\n\n return {\n ...staticProps,\n ...massPaymentContent,\n }\n}\n","// @flow\nimport { POOLS } from '../../../../../../lib/utils/featureEligibilityConstants'\nimport { tracking } from 'lib/analytics/mParticle'\nimport Events from 'lib/analytics/eventTags'\n\nconst staticProps = {\n _feature: POOLS,\n id: 'nemo_poolsLink',\n icon: 'crowdfund',\n titleKey: 'flexible.pools.title_1',\n href: '/pools',\n onClick: () => {\n tracking(Events.p2p_contact_moneypool_pressed())\n },\n name: 'createpool',\n 'data-pagename': 'main:p2p:moneypool::home',\n 'data-pagename2': 'main:p2p:moneypool::home:node::',\n}\n\nexport default poolsLink\n\nfunction poolsLink({ moneyPoolsCount }: FeatureProps): {} {\n const desc = {}\n desc.descriptionHTMLKey = 'flexible.pools.description_1'\n\n return { ...staticProps, ...desc }\n}\n","// @flow\nimport { PPME } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: PPME,\n id: 'nemo_ppMeLink',\n icon: 'link',\n descriptionKey: 'flexible.ppme.description',\n titleKey: 'flexible.ppme.title',\n href: '/paypalme/grab',\n target: '_top',\n name: 'paypalme',\n 'data-pagename': 'main:consumer:p2p:transfer::home',\n}\n\nexport default ppmeLink\n\nfunction ppmeLink(props: FeatureProps): {} {\n const { ppMeProfile: { profile: { slug } = {} } = {} } = props\n const ppmeContent = {}\n if (slug) {\n Object.assign(ppmeContent, {\n titleKey: 'flexible.ppme.titleWithLink',\n href: '/paypalme/my',\n })\n }\n return {\n ...staticProps,\n ...ppmeContent,\n }\n}\n","// @flow\nimport qs from 'querystring'\nimport { XB } from '../../../../../../lib/utils/featureEligibilityConstants'\nimport { tracking } from '../../../../lib/analytics/mParticle'\nimport Events from '../../../../lib/analytics/eventTags'\n\nconst staticProps = {\n _feature: XB,\n icon: 'world',\n 'data-pagename': 'main:consumer:p2p:transfer:xb:start',\n onClick: () => tracking(Events.p2p_contact_abroad_friends_family_pressed({})),\n}\n\nconst xbLinks = {\n bankDeposit: function(\n props: FeatureProps,\n options: { from: string }\n ): Object {\n return {\n ...staticProps,\n id: 'nemo_xbLink_bd', // BD = Bank Deposit\n name: 'xbStart_bd',\n titleKey: 'entry.xb.exp.title_4a',\n descriptionKey: 'entry.xb.exp.description',\n descriptionArgs: { numberOfCountries: 90 },\n icon: 'bank-deposit',\n href: `/myaccount/transfer/fx/fees?${qs.stringify({\n from: `bd-${options.from}`, // BD = Bank Deposit\n })}`,\n }\n },\n cashPickup: function(props: FeatureProps, options: { from: string }): Object {\n return {\n ...staticProps,\n id: 'nemo_xbLink_cpu', // CPU = Cash Pickup\n name: 'xbStart_cpu',\n titleKey: 'entry.xb.exp.title_4b',\n descriptionKey: 'entry.xb.exp.description',\n descriptionArgs: { numberOfCountries: 110 },\n icon: 'cash-pickup',\n href: `/myaccount/transfer/fx/fees?${qs.stringify({\n from: `cpu-${options.from}`, // CPU = Cash Pickup\n })}`,\n }\n },\n}\n\nexport default xbLinks\n","// @flow\nimport qs from 'querystring'\nimport { XB_BIZ } from '../../../../../../lib/utils/featureEligibilityConstants'\nimport { tracking } from 'lib/analytics/mParticle'\nimport Events from 'lib/analytics/eventTags'\n\nconst staticProps = {\n _feature: XB_BIZ,\n icon: 'world',\n 'data-pagename': 'main:business:p2p:transfer:xb:start',\n}\n\nconst xbLinksBiz = {\n bankDeposit: function(props: FeatureProps): Object {\n return {\n ...staticProps,\n id: 'data_biz_xbLink_bd', // BD = Bank Deposit\n name: 'xbStart_bd_biz',\n titleKey: 'entry.xb.exp.title_4a',\n descriptionKey: 'entry.xb.biz.description',\n icon: 'bank-deposit',\n href: `/myaccount/transfer/fx/fees?${qs.stringify({\n from: 'pyp-xbflow-onsite-business-bd', // BD = Bank Deposit\n })}`,\n onClick: () => tracking(Events.p2p_contact_send_to_bank_pressed({})),\n }\n },\n cashPickup: function(props: FeatureProps): Object {\n return {\n ...staticProps,\n id: 'data_biz_xbLink_cpu', // CPU = Cash Pickup\n name: 'xbStart_cpu_biz',\n titleKey: 'entry.xb.exp.title_4b',\n descriptionKey: 'entry.xb.biz.description',\n icon: 'cash-pickup',\n href: `/myaccount/transfer/fx/fees?${qs.stringify({\n from: 'pyp-xbflow-onsite-business-cpu', // CPU = Cash Pickup\n })}`,\n onClick: () => tracking(Events.p2p_contact_cash_pickup_pressed({})),\n }\n },\n}\n\nexport default xbLinksBiz\n","// @flow\n\nimport { SPLIT } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: SPLIT,\n id: 'nemo_splitLink',\n titleKey: 'flexible.split.title',\n descriptionKey: 'flexible.split.description',\n icon: 'split-bill',\n to: '/myaccount/transfer/split/preview',\n name: 'split',\n 'data-pagename': 'main:p2p:home::funnel',\n 'data-pagename2': 'main:p2p:home::funnel:node::',\n 'data-nextpagegroup': 'pgrp:main:p2p:request::start',\n 'data-nextpagename': 'page:main:p2p:request::start:node::',\n}\n\nexport default splitLink\n\nfunction splitLink(props: FeatureProps): {} {\n return { ...staticProps }\n}\n","// @flow\nimport { PPDG } from '../../../../../../lib/utils/featureEligibilityConstants'\nimport FeaturesConfig from '../../../../../../config/features.json'\n\nconst staticProps = {\n _feature: PPDG,\n id: 'nemo_ppdgLink',\n icon: 'gift-card',\n titleKey: 'entry.ppdg.title',\n descriptionKey: 'entry.ppdg.description',\n href: '/gifts',\n name: 'ppdg',\n 'data-pagename': 'main:p2p:home::funnel',\n 'data-pagename2': 'main:p2p:home::funnel:node::',\n}\n\nexport default ppdgLink\n\nfunction ppdgLink(props: FeatureProps): {} {\n if (\n FeaturesConfig[props.country] &&\n FeaturesConfig[props.country].isPPDGEnabled\n ) {\n return {\n ...staticProps,\n descriptionKey: 'entry.ppdg.usDescription',\n }\n }\n return { ...staticProps }\n}\n","// @flow\nimport { DONATION } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: DONATION,\n id: 'data_donationLink',\n name: 'donation',\n titleKey: 'entry.donations.title',\n descriptionKey: 'entry.donations.description',\n icon: 'donate',\n 'data-pagename': 'main:consumer:p2p:transfer:donation:start',\n}\n\nfunction donationLink(props: FeatureProps): {} {\n return {\n ...staticProps,\n href: `/${props.country}/fundraiser/hub`,\n }\n}\nexport default donationLink\n","// @flow\nimport { PIX } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: PIX,\n id: 'nemo_pixLink',\n href: '/pix/send',\n target: '_top',\n titleKey: 'makePixLink.title',\n descriptionKey: 'makePixLink.description',\n name: 'pix',\n}\n\nexport default makePixLink\n\nfunction makePixLink(props: FeatureProps): {} {\n return {\n ...staticProps,\n }\n}\n","// @flow\nimport { tracking } from 'lib/analytics/mParticle'\nimport Events from 'lib/analytics/eventTags'\nimport { SELLER } from '../../../../../../lib/utils/featureEligibilityConstants'\nimport { SELLER_PROFILE_STATUS } from '../../../../../../lib/constants'\nimport * as base64 from 'base64-paypal'\nimport _ from 'lodash'\n\nconst staticProps = {\n _feature: SELLER,\n id: 'data_sellerLink',\n name: 'seller',\n titleKey: 'entry.seller.title',\n descriptionKey: 'entry.seller.description',\n tagKey: 'entry.seller.newBadge',\n icon: 'instore',\n href: '/paypalme/seller/landing',\n 'data-pagename': 'main:consumer:p2p:transfer::home',\n}\n\nfunction sellerLink(props: FeatureProps): {} {\n const {\n sellerProfileDetails: {\n showSellerProfileAsNew = false,\n sellerProfileStatus = '',\n sellerProfileId = '',\n } = {},\n } = props\n\n let sellerContent = { status: sellerProfileStatus }\n\n if (sellerProfileStatus === SELLER_PROFILE_STATUS.SHARE_SELLER_PROFILE) {\n sellerContent = {\n ...sellerContent,\n titleKey: 'entry.seller.titleWithSeller',\n descriptionKey: 'entry.seller.descriptionWithSeller',\n tagKey: '',\n href: `/paypalme/seller/${sellerProfileId}/dashboard`,\n }\n } else if (\n sellerProfileStatus === SELLER_PROFILE_STATUS.ACTIVATE_SELLER_PROFILE\n ) {\n sellerContent = {\n ...sellerContent,\n titleKey: 'entry.seller.titleWithSeller',\n descriptionKey: 'entry.seller.descriptionWithSeller',\n tagKey: '',\n href: `/paypalme/seller/${sellerProfileId}/settings/profile`,\n }\n }\n\n const content = {\n ...staticProps,\n ...sellerContent,\n }\n\n const returnUrl = '/myaccount/transfer/homepage/request'\n\n const params = {\n returnUrl: encodeURIComponent(returnUrl),\n cancelUrl: encodeURIComponent(returnUrl),\n }\n\n const keyValuePairs = _.map(params, (val, key) => `${key}=${val}`).join('&')\n\n const flowQueryValue = base64.encode(\n keyValuePairs,\n base64.CharacterSet.PPBASE64,\n ''\n )\n\n return {\n ...content,\n onClick: () => {\n tracking(\n Events.p2p_contact_seller_profile_pressed({\n has_ppme:\n sellerProfileStatus ===\n SELLER_PROFILE_STATUS.SIGN_UP_FOR_SELLER_PROFILE\n ? 'n'\n : 'y',\n })\n )\n },\n href: `${content.href}?flow=${flowQueryValue}`,\n tagKey: showSellerProfileAsNew ? content.tagKey : '',\n }\n}\n\nexport default sellerLink\n","// @flow\nimport { VISA_PLUS } from '../../../../../../lib/utils/featureEligibilityConstants'\n\nconst staticProps = {\n _feature: VISA_PLUS,\n id: 'data_visaPlusLink',\n name: 'visaPlus',\n titleKey: 'entry.visaPlus.title',\n descriptionKey: 'entry.visaPlus.description',\n icon: 'cash',\n 'data-pagename': 'main:consumer:p2p:transfer:visaPlus:start',\n}\n\nfunction visaPlusLink(props: FeatureProps): {} {\n return {\n ...staticProps,\n href: `/myaccount/transfer/visa-plus/onboard`, // NOTE: Don't forget to update.\n }\n}\nexport default visaPlusLink\n","export { default as giftLink } from './gift'\nexport { default as invoiceLink } from './invoice'\nexport { default as massPaymentLink } from './mass-payment'\nexport { default as poolsLink } from './pools'\nexport { default as ppmeLink } from './ppme'\nexport { default as xbLinks } from './xb'\nexport { default as xbBizLinks } from './xb-biz'\nexport { default as splitLink } from './split'\nexport { default as ppdgLink } from './ppdg'\nexport { default as mgmLink } from './mgm'\nexport { default as donationLink } from './donation'\nexport { default as makePixLink } from './pix'\nexport { default as sellerLink } from './seller'\nexport { default as visaPlusLink } from './visa-plus'\n","// @flow\n/*\n * This is the blue badge at the bottom of the link.\n * It takes care of showing the icon and expects you\n * to give it content on the right of the sheild icon.\n * On desktop, if you don't give it content, it will\n * return a filler div that has a correct min-height\n * so things line up nicely\n */\nimport React from 'react'\nimport glamorous from 'glamorous'\nimport glamorousIcon from 'lib/glamorous-icon'\nimport { mediaQueries } from '../../../styles/index'\nimport { spaceChildrenHorizontally } from '../utils/cssUtils'\n\nconst { phoneLandscapeMin: desktop, phoneLandscapeMax: mobile } = mediaQueries\n\nconst BadgeText = glamorous.div(\n {\n flex: '0 1 auto',\n color: 'white',\n fontSize: 12,\n '& a, a:focus, a:hover, a:active': {\n color: 'white',\n textDecoration: 'underline',\n },\n '& div': {\n display: 'inline-block',\n },\n [mobile]: {\n fontSize: 9,\n },\n },\n props => ({ fontSize: props.fontSize })\n)\nBadgeText.defaultProps = { fontSize: 12 }\n\nconst ShieldIcon = glamorousIcon({\n [mobile]: {\n fontSize: 16,\n paddingBottom: 4,\n },\n [desktop]: {\n lineHeight: '1em',\n fontSize: 20,\n paddingBottom: 4,\n },\n})\nShieldIcon.defaultProps = { icon: 'shield' }\n\nconst Filler = glamorous.div({ minHeight: 22 })\n\nconst BadgeContainer = glamorous.div({\n width: '100%',\n backgroundImage: 'linear-gradient(93deg, #1446a0, #0070ba)',\n color: 'white',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minHeight: 22,\n textAlign: 'center',\n borderBottomLeftRadius: 5,\n borderBottomRightRadius: 5,\n [mobile]: {\n padding: '4px 10px',\n borderBottomRightRadius: 5,\n borderBottomLeftRadius: 5,\n ...spaceChildrenHorizontally(6),\n },\n [desktop]: {\n padding: '4 10',\n ...spaceChildrenHorizontally(12),\n },\n})\n\ntype BadgeProps = {\n children: any,\n filler?: boolean,\n className?: string,\n badgeHeight?: number,\n}\nfunction Badge({\n children,\n filler,\n className = '',\n badgeHeight = 36,\n ...rest\n}: BadgeProps) {\n if (!children) {\n return filler ? : null\n }\n return (\n \n \n {children}\n \n )\n}\n\nexport default Badge\n","// @flow\n\nimport React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { get } from 'lodash'\nimport glamorous, { ThemeProvider, Div } from 'glamorous'\nimport Media from 'react-media'\nimport glamorousLink from 'lib/glamorous-link'\nimport glamorousIcon from 'lib/glamorous-icon'\nimport { colors, mediaQueries, screenSizes } from '../../../styles/index'\nimport { spaceChildrenVertically } from '../utils/cssUtils'\nimport Badge from './badge'\nimport Icon from './icon'\nimport {\n BodyText,\n Button,\n CaptionText,\n Link,\n PAYPAL_THEME,\n HeadingText,\n} from '@paypalcorp/pp-react'\nimport LINKS from 'transfer/../../../config/links.json'\nimport {\n hasMgmSideBarEntryPointTreatment,\n hasMgmSideBarEntryPointTreatment2,\n} from '../../../../experiments/mgm'\nimport { isXoomUA } from '../../../../experiments/xoomUa'\nimport * as ViewActions from '../../../../calculator/actions/actions'\nimport { mediumAndSmaller } from '../../../../lib/styles/media-queries'\nimport content from 'pp-react-l10n'\nimport * as FEATURES from '../../../../../../lib/utils/featureEligibilityConstants'\nimport { connect } from 'transfer/utils/p2p-connect'\nimport { post } from '../../../../calculator/lib/xhr'\nconst i18n = content('transfer/page/mgm')\nconst i18nXoom = content('crossBorder/xoom')\nconst {\n sysColorPrimaryMain,\n sysColorPrimaryContrast,\n sysSpaceLg,\n} = PAYPAL_THEME\nconst { phoneLandscapeMin: desktop, phoneLandscapeMax: mobile } = mediaQueries\n\nconst borderRadius = 5\n\nconst LinkCardContainer = glamorous.div(\n {\n position: 'relative',\n borderRadius: borderRadius,\n backgroundColor: 'white',\n border: `solid 1px ${colors.grey}`,\n [desktop]: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n [mobile]: {\n width: '100%',\n },\n },\n getStyleOverrides('container')\n)\nconst focusBorderClass = 'link-card-focus-border'\n\nconst StyledXoomButton = glamorous.button(\n getStyleOverrides('link'),\n {\n background: 'none',\n color: sysColorPrimaryMain,\n border: 'none',\n textAlign: 'left',\n },\n ({ noHover }) => {\n if (noHover) {\n return\n }\n return {\n [desktop]: {\n ':hover': {\n '& .ppvx_icon, & .icon, & .sidebar__icon': {\n color: '#ffffff',\n backgroundColor: '#0070ba',\n },\n },\n },\n }\n }\n)\nconst StyledLink = glamorousLink(\n {\n fontWeight: 'normal',\n paddingLeft: 12,\n paddingRight: 12,\n textDecoration: 'none',\n [`& .${focusBorderClass}`]: {\n display: 'none',\n },\n '&:focus, &:active': {\n outline: 0,\n [`& .${focusBorderClass}`]: {\n display: 'block',\n },\n },\n },\n ({ noHover }) => {\n if (noHover) {\n return\n }\n return {\n [desktop]: {\n ':hover': {\n '& .ppvx_icon, & .icon, & .sidebar__icon': {\n color: '#ffffff',\n backgroundColor: '#0070ba',\n },\n },\n },\n }\n },\n getStyleOverrides('link')\n)\n\nconst StyledButton = glamorousLink(\n {\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: '1.5rem',\n marginTop: '1rem',\n ':focus': {\n color: sysColorPrimaryContrast,\n textDecoration: 'none',\n },\n },\n getStyleOverrides('button')\n)\n\nconst xIconStyles = {\n color: 'white',\n top: 16,\n right: 16,\n fontSize: 20,\n}\nconst infoIconStyles = {\n color: colors.vxAccessibleBlue,\n top: 14,\n right: 14,\n fontSize: 22,\n}\nconst InfoIcon = glamorousIcon(\n {\n cursor: 'pointer',\n position: 'absolute',\n },\n // we have to have different styles for the x and the i\n // icons because they're slightly different sizes :-/\n ({ open }) => (open ? xIconStyles : infoIconStyles)\n)\nInfoIcon.defaultProps = { 'data-test': 'link-card-info-icon' }\n\nconst AgreementTextContainer = glamorous.div({\n marginLeft: 62,\n marginTop: 10,\n marginBottom: 5,\n})\n\nconst FocusBorder = glamorous.div({\n position: 'absolute',\n // use default outline pattern based on pp-vx\n outline: '5px auto -webkit-focus-ring-color',\n outlineOffset: '-2px',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n})\nFocusBorder.defaultProps = { className: focusBorderClass }\n\nconst tagLabelCSS = {\n marginLeft: '10px',\n backgroundColor: colors.vxAccessibleBlue,\n padding: '0 8px',\n color: '#fff',\n borderRadius: '4px',\n lineHeight: '16px',\n alignSelf: 'center',\n}\nconst AgreeButton = glamorous.button({ marginTop: 10 })\nconst HorizontalContainer = glamorous.div(\n {\n marginLeft: sysSpaceLg,\n flex: 1,\n [mediumAndSmaller]: {\n flex: 'unset',\n },\n },\n spaceChildrenVertically(2)\n)\nHorizontalContainer.defaultProps = {\n 'data-test': 'link-card-horizontal-container',\n}\n\ntype GlamorousStyle = Object | Function | Array\n\ntype LinkCardProps = InternationalizedFeatureLinkProps & {\n className?: string,\n id?: string,\n href?: string,\n onClick?: Function,\n icon?: string,\n isAccountLinkedToXoom?: Boolean,\n dispatch: Function,\n svg?: string,\n stackedMobile?: boolean,\n compactView?: boolean,\n showButton?: boolean,\n getIconProps: Function,\n thin?: boolean,\n styleOverrides: {\n container: GlamorousStyle,\n link: GlamorousStyle,\n title: GlamorousStyle,\n inlineContent: GlamorousStyle,\n badge?: GlamorousStyle,\n button?: GlamorousStyle,\n },\n name: string,\n pStudioContent: Object,\n}\ntype LinkCardState = {\n showAgree: boolean,\n}\nconst ConditionalWrapper = wrapperInformation => {\n const {\n children,\n isXoom,\n showAgree,\n onXoomCardClick,\n ...restProps\n } = wrapperInformation\n return isXoom ? (\n \n {children}\n \n ) : (\n {children}\n )\n}\nclass LinkCard extends Component {\n props: LinkCardProps\n state = {\n showAgree: false,\n }\n componentDidMount() {\n const { tag, name, pStudioContent } = this.props\n const hasTag = Boolean(tag)\n // NOTE: This current implementation is for SELLER PROFILE\n // new badge impression count.\n if (name === 'seller' && hasTag) {\n const url = get(\n pStudioContent,\n 'p2p_seller_profiles.tracking_details.impression_url',\n {}\n )\n post('/myaccount/transfer/personalization/impression/', {\n url,\n })\n }\n }\n onXoomCardClick = event => {\n this.setState({\n showAgree: !this.state.showAgree,\n })\n }\n redirectToXoom = type => {\n const payload = {\n type,\n }\n\n this.props.dispatch(ViewActions.redirectToXoom(payload))\n }\n getInterstialLinks = () => {\n const userAgreementPageName =\n 'main:consumer:p2p:transfer:xb:xoomInterst:userAgreement'\n const userAgreementLinkName = 'userAgreement'\n const userAgreementURL = 'https://www.xoom.com/user-agreement'\n\n // build out the links\n const userAgreementLink = (\n \n {i18nXoom('interstitial.exp.noAccount.userAgreement')}\n \n )\n\n // workaround for issues explained here:\n // https://facebook.github.io/react/docs/jsx-gotchas.html\n const apostrophe = '\\u2019'\n\n return { apostrophe, userAgreementLink }\n }\n render() {\n const {\n id,\n icon,\n svg,\n title,\n description,\n badge,\n tag,\n className,\n stackedMobile,\n compactView,\n styleOverrides,\n getIconProps,\n showButton,\n buttonText,\n thin = false,\n _feature,\n isAccountLinkedToXoom,\n ...linkProps\n } = this.props\n const hasBadge = Boolean(badge)\n const hasTag = Boolean(tag)\n const isXoom =\n !showButton && // to check Xoom only in send tab side bar\n (id === 'nemo_xbLink_bd' || id === 'nemo_xbLink_cpu') &&\n !isAccountLinkedToXoom &&\n isXoomUA()\n\n return (\n \n {isMobile => (\n \n \n \n {/* div needed to center display elements in link correctly */}\n
\n \n \n\n {hasTag && (\n \n {tag}\n \n )}\n\n {/**\n * FocusBorder is needed for the \"More\" tab to encapsulate\n * the
\n \n {this.state.showAgree && (\n \n \n {i18nXoom(\n 'interstitial.exp.noAccount.disclosure',\n this.getInterstialLinks()\n )}\n \n this.redirectToXoom('linkNew')}\n >\n {i18nXoom('interstitial.exp.noAccount.agreeAndContinue')}\n \n \n )}\n \n {badge}\n \n {showButton && Boolean(buttonText) && (\n \n )}\n
\n
\n )}\n
\n )\n }\n}\n\nfunction TitleAndDetails({\n isMobile,\n title,\n description,\n stackedMobile,\n compactView,\n thin,\n _feature,\n isXoom,\n}) {\n const titleAndDetails = (\n <>\n
\n {title}\n
\n {description && {description}}\n {_feature === FEATURES.MGM &&\n (hasMgmSideBarEntryPointTreatment() ||\n hasMgmSideBarEntryPointTreatment2()) && (\n // eslint-disable-next-line consumerweb/require-pagename\n \n {i18n('mgm.descLinkNoPeriod')}\n \n )}\n \n )\n // if compactView is true\n // use this view regardless of desktop or mobile\n if ((isMobile && !stackedMobile) || compactView) {\n return {titleAndDetails}\n }\n return titleAndDetails\n}\nTitleAndDetails.propTypes = {\n isMobile: PropTypes.bool,\n title: PropTypes.string,\n description: PropTypes.string,\n stackedMobile: PropTypes.any,\n compactView: PropTypes.bool,\n thin: PropTypes.any,\n _feature: PropTypes.any,\n isXoom: PropTypes.bool,\n}\n\nfunction getStyleOverrides(name) {\n return props => {\n const overrides = props.theme.funnelLinkCard[name]\n if (typeof overrides === 'function') {\n return overrides(props)\n }\n return overrides\n }\n}\n\nexport default connect(state => ({\n pStudioContent: state.server.pStudioContent,\n isAccountLinkedToXoom: state.server.isAccountLinkedToXoom,\n}))(LinkCard)\n","// https://www.msmaster.qa.paypal.com/elmo/experiment/120264\n// Xoom User Agreement\n\nimport * as pxp from '../lib/pxp'\n\nexport function isXoomUA() {\n return pxp.isTreatment('Trmt_p2p_xoom_ua_web')\n}\n","'use strict';\n\nvar CharacterSet = {\n DEFAULT: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n PPBASE64: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.',\n URLSAFE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n PPUUENCODING: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-'\n};\n\nexports.CharacterSet = CharacterSet;\n\nvar DecodeCharacters = Object.keys(CharacterSet).reduce(function (obj, key) {\n obj[CharacterSet[key]] = _decodeCharacterSet(CharacterSet[key]);\n return obj;\n}, {});\n\nexports.encode = function (input, charset, pad) {\n var padding, size, char3, i, result, pos;\n\n // Ensure arguments are clean\n input = Buffer.isBuffer(input) ? input : new Buffer(input);\n if (!charset || typeof charset !== 'string') {\n pad = charset;\n charset = CharacterSet.DEFAULT;\n }\n pad = pad !== false;\n\n // Cache some useful values\n padding = ((3 - (input.length % 3)) % 3);\n\n // Depend on native decoding, when possible.\n if (charset === CharacterSet.DEFAULT || charset === CharacterSet.PPBASE64 || charset === CharacterSet.URLSAFE) {\n result = nativeb64encode(input, charset);\n if (!pad && padding) {\n result = result.slice(0, -padding);\n }\n return result;\n }\n\n size = input.length + padding;\n\n result = new Buffer(size * 2);\n result.fill(0);\n pos = 0;\n\n for (i = 0; i <= size; i += 3) {\n //3 Characters (8bit * 3 = 24 bits) as a 24 bit int\n char3 = ((input[i] & 0xff) << 16) |\n ((input[i + 1] & 0xff) << 8) |\n ((input[i + 2] & 0xff));\n\n //Convert int to 4 Characters (6 bit * 4 = 24 bits)\n result[pos++] = charset.charCodeAt((char3 >> 18) & 0x3f);\n result[pos++] = charset.charCodeAt((char3 >> 12) & 0x3f);\n result[pos++] = charset.charCodeAt((char3 >> 6) & 0x3f);\n result[pos++] = charset.charCodeAt((char3 & 0x3f));\n\n if (i + 3 >= size) {\n pos -= (4 - (4 - padding));\n }\n }\n\n result = result.slice(0, pos);\n\n if (pad && padding) {\n if (padding === 1) {\n result.length -= 2;\n }\n\n if (padding === 2) {\n result[result.length - 2] = 0x3d;\n }\n\n result[result.length - 1] = 0x3d;\n return result;\n }\n\n if( (4 - padding) > 0 ) {\n result = result.slice(0, - (4 - padding));\n }\n\n\n return result;\n};\n\nexports.decode = function (input, charset, pad) {\n var padding, decodeChars, char4, buffer, pos;\n\n // Ensure arguments are clean\n input = Buffer.isBuffer(input) ? input : new Buffer(input);\n if (!charset || typeof charset !== 'string') {\n pad = charset;\n charset = CharacterSet.DEFAULT;\n }\n pad = pad !== false;\n\n padding = 0;\n\n if (!pad) {\n padding = ((4 - (input.length % 4)) % 4);\n }\n else {\n if (input[input.length - 1] === 61) {\n padding++;\n }\n if (input[input.length - 2] === 61) {\n padding++;\n }\n }\n\n // Depend on native decoding, when possible.\n if (charset === CharacterSet.DEFAULT || charset === CharacterSet.PPBASE64 || charset === CharacterSet.URLSAFE) {\n input = input.toString();\n while (!pad && padding) {\n input += '=';\n padding -= 1;\n }\n return nativeb64decode(input, charset);\n }\n\n decodeChars = DecodeCharacters[charset] || (DecodeCharacters[charset] = _decodeCharacterSet(charset));\n\n // Trim off the trailing '=' padding before decode.\n if (pad && padding) {\n input = input.slice(0, input.length - padding);\n }\n\n buffer = new Buffer(input.length);\n buffer.fill(0);\n pos = 0;\n\n for (var i = 0; i < input.length; i += 4) {\n //4 Characters (6 bit * 4 = 24 bits) as 24 bit int.\n char4 = decodeChars[input[i]] << 18 |\n decodeChars[input[i + 1]] << 12 |\n decodeChars[input[i + 2]] << 6 |\n decodeChars[input[i + 3]];\n\n buffer[pos++] = char4 >> 16;\n buffer[pos++] = char4 >> 8;\n buffer[pos++] = char4;\n\n if (i + 4 >= input.length) {\n pos -= 3 - (3 - padding);\n }\n }\n\n return buffer.slice(0, pos);\n};\n\nfunction _decodeCharacterSet(characterSet) {\n var set = {};\n for (var i = 0; i < characterSet.length; i++) {\n set[characterSet.charCodeAt(i)] = i;\n }\n return set;\n}\n\nfunction nativeb64encode(input, charset) {\n var encoded = new Buffer(input).toString('base64');\n\n if (!charset) {\n charset = CharacterSet.DEFAULT;\n }\n\n switch (charset) {\n case CharacterSet.PPBASE64:\n encoded = encoded.replace(/\\+/g, '-');\n encoded = encoded.replace(/\\//g, '.');\n break;\n case CharacterSet.URLSAFE:\n encoded = encoded.replace(/\\+/g, '-');\n encoded = encoded.replace(/\\//g, '_');\n break;\n default:\n break;\n }\n\n return new Buffer(encoded);\n}\n\nfunction nativeb64decode(input, charset) {\n if (!charset) {\n charset = CharacterSet.DEFAULT;\n }\n\n switch (charset) {\n case CharacterSet.PPBASE64:\n input = input.replace(/\\-/g, '+');\n input = input.replace(/\\./g, '/');\n break;\n case CharacterSet.URLSAFE:\n input = input.replace(/\\-/g, '+');\n input = input.replace(/\\_/g, '/');\n break;\n default:\n break;\n }\n\n return new Buffer(input, 'base64');\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","'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","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\n * This file (for now) contains all actions that can be dispatched (store.dispatch({})).\n * These are all the actions that can be dispatched.\n *\n * These actions are called from async actions (in this file) as well as from UI components that\n * are dispatching actions.\n */\nimport { ActionTypes as types } from '../constants'\nimport getXoomRedirectUrl from '../lib/xoom-redirect-url'\n\n// Log an action and then redirect to Xoom.\nexport function redirectToXoom(options) {\n return function(dispatch) {\n dispatch({\n type: types.REDIRECT_TO_XOOM,\n data: { options },\n })\n\n // TODO: add client-side checks before redirecting here (isValidEmail, etc...)\n window.location.assign(getXoomRedirectUrl(options))\n }\n}\n\nexport function setFlowModel(data) {\n return {\n type: types.SET_INITIAL_FLOW_MODEL,\n data,\n }\n}\n","import qs from 'querystring'\n\n/**\n * Returns a URL to be used to redirecting to Xoom\n * @param {string} url the URL to redirect to\n * @return {string} the URL to do navigate to to get redirected\n */\nexport default function getXoomRedirectUrl(options) {\n return '/myaccount/transfer/fx/xoom/redirect?' + qs.stringify(options)\n}\n","/* eslint consumerweb/require-pagename:0 */\n// This allows us to make styled React components that can\n// either use or based on whether they\n// provide a `to` prop.\nimport PropTypes from 'prop-types'\n\nimport React from 'react'\nimport { Link } from 'react-router-dom'\nimport glamorous from 'glamorous'\n\n// this creates a glamorousComponentFactory\n// for the react-router Link component\n// with all the configuration needed\nfunction ConditionalLink(props) {\n if (props.to) {\n return \n }\n // eslint-disable-next-line react/prop-types\n return {props.children}\n}\nConditionalLink.propTypes = {\n to: PropTypes.string,\n}\n\nconst glamorousLink = glamorous(ConditionalLink, {\n rootEl: 'a',\n displayName: 'glamorous(RouterLink)',\n forwardProps: [\n 'to',\n 'query',\n 'hash',\n 'state',\n 'activeClassName',\n 'activeStyle',\n 'onlyActiveOnIndex',\n ],\n})\n\nexport default glamorousLink\n","// @flow\n/*\n * This is the icon text for the link. Normally this would\n * go inside the element at the top. It creates\n * the icon via the glamorousIcon which allows you to specify\n * an `icon` or `svg` prop and will style it properly\n */\nimport React from 'react'\nimport { Icon } from '@paypalcorp/pp-react'\nimport glamorousIcon from 'lib/glamorous-icon'\nimport { mediaQueries } from '../../../styles/index'\n\nconst { phoneLandscapeMin: desktop, phoneLandscapeMax: mobile } = mediaQueries\n\nconst SVGIcon = glamorousIcon(\n {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n textAlign: 'center',\n [desktop]: {\n transition: 'all 0.5s ease',\n },\n [mobile]: {\n '& svg': {\n marginTop: 0,\n },\n },\n },\n ({ circle = false, size }: { circle?: boolean, size: number }) => {\n const svgToIconFontRatio = circle ? 2 / 3 : 1\n const svgSize = size * svgToIconFontRatio\n const sizeToLineHeightRatio = 9 / 10\n const mobileSize = size / 2\n const mobileSvgSize = mobileSize * svgToIconFontRatio\n const styles = [\n {\n [desktop]: {\n // using height instead of minHeight/maxHeight caused issues in IE 11\n minHeight: size,\n maxHeight: size,\n width: size,\n fontSize: circle ? size / 2 : size,\n lineHeight: `${size * sizeToLineHeightRatio}px`,\n '& svg': {\n height: svgSize,\n width: svgSize,\n marginTop: circle ? svgSize / 4 : 0,\n },\n },\n [mobile]: {\n minHeight: mobileSize,\n maxHeight: mobileSize,\n width: mobileSize,\n fontSize: circle ? mobileSize / 2 : mobileSize,\n lineHeight: `${mobileSize * sizeToLineHeightRatio}px`,\n '& svg': {\n width: mobileSvgSize,\n height: mobileSvgSize,\n marginTop: circle ? mobileSvgSize / 4 : 0,\n },\n },\n },\n ]\n if (circle) {\n styles.push({\n border: '1px solid #0070ba',\n borderRadius: '50%',\n })\n }\n return styles\n }\n)\n\nfunction PPIcon({\n circle = false,\n isFunnel = false,\n icon,\n ...props\n}: {\n circle?: boolean,\n isFunnel?: boolean,\n icon: string,\n}) {\n return (\n \n )\n}\n\nexport default function({\n icon,\n svg,\n svgSize,\n size,\n ...props\n}: {\n icon?: string,\n svg?: string,\n svgSize?: number,\n size?: string, // pp-react size (\"sm\", \"md\", etc)\n}) {\n return !icon ? (\n \n ) : (\n \n )\n}\n","export function spaceChildrenVertically(space) {\n return {\n '& > *': {\n marginTop: 0,\n marginBottom: 0,\n '&:not(:first-child)': {\n marginTop: space / 2,\n },\n '&:not(:last-child)': {\n marginBottom: space / 2,\n },\n },\n }\n}\n\nexport function spaceChildrenHorizontally(space) {\n return {\n '& > *': {\n marginLeft: 0,\n marginRight: 0,\n '&:not(:first-child)': {\n marginLeft: space / 2,\n },\n '&:not(:last-child)': {\n marginRight: space / 2,\n },\n },\n }\n}\n","// @flow\nimport { connect } from 'transfer/utils/p2p-connect'\nimport store from '../../../stores/configureStore'\n\nfunction getFeaturePropsFromStore(state: Object): FeatureProps {\n const { server, user, transaction } = state\n\n return {\n userConfig: server.userConfig,\n country: server.country,\n paymentTypes: server.paymentTypes,\n businessAccountInfo: server.businessAccountInfo,\n redirectToClassicInfo: server.redirectToClassicInfo,\n ppMeProfile: server.ppMeProfile,\n isNativeApp: server.isNativeApp,\n moneyPoolsCount: user.moneyPoolsCount,\n isEnrolledInBillSplitting: server.isEnrolledInBillSplitting,\n isMassPaySupportedForUserCountry: server.isMassPaySupportedForUserCountry,\n featureEligibility: server.featureEligibility,\n addFunnelRedirectUrl: server.addFunnelRedirectUrl,\n addFunnelRequestRedirectUrl: server.addFunnelRequestRedirectUrl,\n sellerProfileDetails: server.sellerProfileDetails,\n isPSAEnabled: server.isPSAEnabled,\n isLegalEntityUser: server.isLegalEntityUser,\n funnel: transaction.funnel,\n }\n}\n\nexport default connect(getFeaturePropsFromStore)\n\nexport function getFeatureProps(): FeatureProps {\n const state = store.getState()\n return getFeaturePropsFromStore(state)\n}\n","// @flow\nimport store from 'transfer/stores/configureStore'\nimport internationalizeProps from '../utils/internationalize-props'\n\nexport function hasFeature(\n feature: string,\n { userConfig }: FeatureProps\n): boolean {\n return Boolean(userConfig.features && userConfig.features[feature])\n}\n\n/**\n * This allows us to make sweeping changes to the link props based on general conditions\n * Also allows us to filter out links based on their `shouldRender` prop\n */\nexport function propsReducer(allLinkProps: any, props: any) {\n const { featureEligibility } = store.getState().server\n if (\n featureEligibility[props._feature].eligible &&\n featureEligibility[props._feature].privileged &&\n (!props.hasOwnProperty('shouldRender') || props.shouldRender)\n ) {\n allLinkProps.push(internationalizeProps(props))\n }\n return allLinkProps\n}\n","// @flow\nimport React from 'react'\nimport content from 'pp-react-l10n'\n\nconst i18n = content('transfer/page/funnel')\n\nexport default internationalizeProps\n\n/**\n * This function accepts an i18n function and props to get the content\n * for title, description, and badge. It's used by variants\n * of the funnel page.\n * @param {Object} props the funnel link props to internationalize\n * @return {Object} The internationalizedFunnelProps\n */\nfunction internationalizeProps(\n props: FeatureLinkProps\n): InternationalizedFeatureLinkProps {\n const {\n titleKey,\n descriptionKey,\n badgeKey,\n tagKey,\n buttonKey,\n titleHTMLKey,\n descriptionHTMLKey,\n badgeHTMLKey,\n titleArgs,\n descriptionArgs,\n title = getContent(titleKey, titleHTMLKey, titleArgs),\n description = getContent(\n descriptionKey,\n descriptionHTMLKey,\n descriptionArgs\n ),\n badge = getContent(badgeKey, badgeHTMLKey),\n buttonText = getContent(buttonKey),\n tag = getContent(tagKey),\n _feature,\n ...rest\n } = props\n\n return {\n title,\n description,\n badge,\n buttonText,\n tag,\n _feature,\n ...rest,\n }\n\n /**\n * This allows us to get the content based on the given key with the given args.\n * @param {String} key A key to get the internationalized string from. This will\n * be returned as a raw string\n * @param {String} htmlKey A key to get the internationalized HTML from. Use sparingly.\n * @param {String} args The arguments used to interpolate into the i18n call\n * @return {*} The content to use (could be null, string, or a ReactElement)\n */\n function getContent(key, htmlKey, args) {\n if (htmlKey) {\n return
{i18n.html(htmlKey, args)}
\n }\n if (!key) {\n return null\n }\n return i18n(key, args)\n }\n}\n"],"sourceRoot":""}