/* Copyright 2017 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ (function webpackUniversalModuleDefinition(root,factory){if(typeof exports==='object'&&typeof module==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define("pdfjs-dist/build/pdf",[],factory);else if(typeof exports==='object')exports["pdfjs-dist/build/pdf"]=factory();else root["pdfjs-dist/build/pdf"]=root.pdfjsDistBuildPdf=factory()})(this,function(){return(function(modules){var installedModules={};function __w_pdfjs_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__w_pdfjs_require__);module.l=true;return module.exports}__w_pdfjs_require__.m=modules;__w_pdfjs_require__.c=installedModules;__w_pdfjs_require__.i=function(value){return value};__w_pdfjs_require__.d=function(exports,name,getter){if(!__w_pdfjs_require__.o(exports,name)){Object.defineProperty(exports,name,{configurable:false,enumerable:true,get:getter})}};__w_pdfjs_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module['default']}:function getModuleExports(){return module};__w_pdfjs_require__.d(getter,'a',getter);return getter};__w_pdfjs_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__w_pdfjs_require__.p="";return __w_pdfjs_require__(__w_pdfjs_require__.s=15)})([(function(module,exports,__w_pdfjs_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.unreachable=exports.warn=exports.utf8StringToString=exports.stringToUTF8String=exports.stringToPDFString=exports.stringToBytes=exports.string32=exports.shadow=exports.setVerbosityLevel=exports.ReadableStream=exports.removeNullCharacters=exports.readUint32=exports.readUint16=exports.readInt8=exports.log2=exports.loadJpegStream=exports.isEvalSupported=exports.isLittleEndian=exports.createValidAbsoluteUrl=exports.isSameOrigin=exports.isNodeJS=exports.isSpace=exports.isString=exports.isNum=exports.isInt=exports.isEmptyObj=exports.isBool=exports.isArrayBuffer=exports.isArray=exports.info=exports.globalScope=exports.getVerbosityLevel=exports.getLookupTableFactory=exports.deprecated=exports.createObjectURL=exports.createPromiseCapability=exports.createBlob=exports.bytesToString=exports.assert=exports.arraysToBytes=exports.arrayByteLength=exports.FormatError=exports.XRefParseException=exports.Util=exports.UnknownErrorException=exports.UnexpectedResponseException=exports.TextRenderingMode=exports.StreamType=exports.StatTimer=exports.PasswordResponses=exports.PasswordException=exports.PageViewport=exports.NotImplementedException=exports.NativeImageDecoding=exports.MissingPDFException=exports.MissingDataException=exports.MessageHandler=exports.InvalidPDFException=exports.AbortException=exports.CMapCompressionType=exports.ImageKind=exports.FontType=exports.AnnotationType=exports.AnnotationFlag=exports.AnnotationFieldFlag=exports.AnnotationBorderStyleType=exports.UNSUPPORTED_FEATURES=exports.VERBOSITY_LEVELS=exports.OPS=exports.IDENTITY_MATRIX=exports.FONT_IDENTITY_MATRIX=undefined;var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};__w_pdfjs_require__(16);var _streams_polyfill=__w_pdfjs_require__(17);var globalScope=typeof window!=='undefined'&&window.Math===Math?window:typeof global!=='undefined'&&global.Math===Math?global:typeof self!=='undefined'&&self.Math===Math?self:undefined;var FONT_IDENTITY_MATRIX=[0.001,0,0,0.001,0,0];var NativeImageDecoding={NONE:'none',DECODE:'decode',DISPLAY:'display'};var TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};var ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};var AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};var AnnotationFlag={INVISIBLE:0x01,HIDDEN:0x02,PRINT:0x04,NOZOOM:0x08,NOROTATE:0x10,NOVIEW:0x20,READONLY:0x40,LOCKED:0x80,TOGGLENOVIEW:0x100,LOCKEDCONTENTS:0x200};var AnnotationFieldFlag={READONLY:0x0000001,REQUIRED:0x0000002,NOEXPORT:0x0000004,MULTILINE:0x0001000,PASSWORD:0x0002000,NOTOGGLETOOFF:0x0004000,RADIO:0x0008000,PUSHBUTTON:0x0010000,COMBO:0x0020000,EDIT:0x0040000,SORT:0x0080000,FILESELECT:0x0100000,MULTISELECT:0x0200000,DONOTSPELLCHECK:0x0400000,DONOTSCROLL:0x0800000,COMB:0x1000000,RICHTEXT:0x2000000,RADIOSINUNISON:0x2000000,COMMITONSELCHANGE:0x4000000};var AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};var StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9};var FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};var VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var CMapCompressionType={NONE:0,BINARY:1,STREAM:2};var OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};var verbosity=VERBOSITY_LEVELS.warnings;function setVerbosityLevel(level){verbosity=level}function getVerbosityLevel(){return verbosity}function info(msg){if(verbosity>=VERBOSITY_LEVELS.infos){console.log('Info: '+msg)}}function warn(msg){if(verbosity>=VERBOSITY_LEVELS.warnings){console.log('Warning: '+msg)}}function deprecated(details){console.log('Deprecated API usage: '+details)}function unreachable(msg){throw new Error(msg);}function assert(cond,msg){if(!cond){unreachable(msg)}}var UNSUPPORTED_FEATURES={unknown:'unknown',forms:'forms',javaScript:'javaScript',smask:'smask',shadingPattern:'shadingPattern',font:'font'};function isSameOrigin(baseUrl,otherUrl){try{var base=new URL(baseUrl);if(!base.origin||base.origin==='null'){return false}}catch(e){return false}var other=new URL(otherUrl,base);return base.origin===other.origin}function isValidProtocol(url){if(!url){return false}switch(url.protocol){case'http:':case'https:':case'ftp:':case'mailto:':case'tel:':return true;default:return false}}function createValidAbsoluteUrl(url,baseUrl){if(!url){return null}try{var absoluteUrl=baseUrl?new URL(url,baseUrl):new URL(url);if(isValidProtocol(absoluteUrl)){return absoluteUrl}}catch(ex){}return null}function shadow(obj,prop,value){Object.defineProperty(obj,prop,{value:value,enumerable:true,configurable:true,writable:false});return value}function getLookupTableFactory(initializer){var lookup;return function(){if(initializer){lookup=Object.create(null);initializer(lookup);initializer=null}return lookup}}var PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};var PasswordException=function PasswordExceptionClosure(){function PasswordException(msg,code){this.name='PasswordException';this.message=msg;this.code=code}PasswordException.prototype=new Error();PasswordException.constructor=PasswordException;return PasswordException}();var UnknownErrorException=function UnknownErrorExceptionClosure(){function UnknownErrorException(msg,details){this.name='UnknownErrorException';this.message=msg;this.details=details}UnknownErrorException.prototype=new Error();UnknownErrorException.constructor=UnknownErrorException;return UnknownErrorException}();var InvalidPDFException=function InvalidPDFExceptionClosure(){function InvalidPDFException(msg){this.name='InvalidPDFException';this.message=msg}InvalidPDFException.prototype=new Error();InvalidPDFException.constructor=InvalidPDFException;return InvalidPDFException}();var MissingPDFException=function MissingPDFExceptionClosure(){function MissingPDFException(msg){this.name='MissingPDFException';this.message=msg}MissingPDFException.prototype=new Error();MissingPDFException.constructor=MissingPDFException;return MissingPDFException}();var UnexpectedResponseException=function UnexpectedResponseExceptionClosure(){function UnexpectedResponseException(msg,status){this.name='UnexpectedResponseException';this.message=msg;this.status=status}UnexpectedResponseException.prototype=new Error();UnexpectedResponseException.constructor=UnexpectedResponseException;return UnexpectedResponseException}();var NotImplementedException=function NotImplementedExceptionClosure(){function NotImplementedException(msg){this.message=msg}NotImplementedException.prototype=new Error();NotImplementedException.prototype.name='NotImplementedException';NotImplementedException.constructor=NotImplementedException;return NotImplementedException}();var MissingDataException=function MissingDataExceptionClosure(){function MissingDataException(begin,end){this.begin=begin;this.end=end;this.message='Missing data ['+begin+', '+end+')'}MissingDataException.prototype=new Error();MissingDataException.prototype.name='MissingDataException';MissingDataException.constructor=MissingDataException;return MissingDataException}();var XRefParseException=function XRefParseExceptionClosure(){function XRefParseException(msg){this.message=msg}XRefParseException.prototype=new Error();XRefParseException.prototype.name='XRefParseException';XRefParseException.constructor=XRefParseException;return XRefParseException}();var FormatError=function FormatErrorClosure(){function FormatError(msg){this.message=msg}FormatError.prototype=new Error();FormatError.prototype.name='FormatError';FormatError.constructor=FormatError;return FormatError}();var AbortException=function AbortExceptionClosure(){function AbortException(msg){this.name='AbortException';this.message=msg}AbortException.prototype=new Error();AbortException.constructor=AbortException;return AbortException}();var NullCharactersRegExp=/\x00/g;function removeNullCharacters(str){if(typeof str!=='string'){warn('The argument for removeNullCharacters must be a string.');return str}return str.replace(NullCharactersRegExp,'')}function bytesToString(bytes){assert(bytes!==null&&(typeof bytes==='undefined'?'undefined':_typeof(bytes))==='object'&&bytes.length!==undefined,'Invalid argument for bytesToString');var length=bytes.length;var MAX_ARGUMENT_COUNT=8192;if(length>24&0xff,value>>16&0xff,value>>8&0xff,value&0xff)}function log2(x){var n=1,i=0;while(x>n){n<<=1;i++}return i}function readInt8(data,start){return data[start]<<24>>24}function readUint16(data,offset){return data[offset]<<8|data[offset+1]}function readUint32(data,offset){return(data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3])>>>0}function isLittleEndian(){var buffer8=new Uint8Array(4);buffer8[0]=1;var view32=new Uint32Array(buffer8.buffer,0,1);return view32[0]===1}function isEvalSupported(){try{new Function('');return true}catch(e){return false}}var IDENTITY_MATRIX=[1,0,0,1,0,0];var Util=function UtilClosure(){function Util(){}var rgbBuf=['rgb(',0,',',0,',',0,')'];Util.makeCssRgb=function Util_makeCssRgb(r,g,b){rgbBuf[1]=r;rgbBuf[3]=g;rgbBuf[5]=b;return rgbBuf.join('')};Util.transform=function Util_transform(m1,m2){return[m1[0]*m2[0]+m1[2]*m2[1],m1[1]*m2[0]+m1[3]*m2[1],m1[0]*m2[2]+m1[2]*m2[3],m1[1]*m2[2]+m1[3]*m2[3],m1[0]*m2[4]+m1[2]*m2[5]+m1[4],m1[1]*m2[4]+m1[3]*m2[5]+m1[5]]};Util.applyTransform=function Util_applyTransform(p,m){var xt=p[0]*m[0]+p[1]*m[2]+m[4];var yt=p[0]*m[1]+p[1]*m[3]+m[5];return[xt,yt]};Util.applyInverseTransform=function Util_applyInverseTransform(p,m){var d=m[0]*m[3]-m[1]*m[2];var xt=(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d;var yt=(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d;return[xt,yt]};Util.getAxialAlignedBoundingBox=function Util_getAxialAlignedBoundingBox(r,m){var p1=Util.applyTransform(r,m);var p2=Util.applyTransform(r.slice(2,4),m);var p3=Util.applyTransform([r[0],r[3]],m);var p4=Util.applyTransform([r[2],r[1]],m);return[Math.min(p1[0],p2[0],p3[0],p4[0]),Math.min(p1[1],p2[1],p3[1],p4[1]),Math.max(p1[0],p2[0],p3[0],p4[0]),Math.max(p1[1],p2[1],p3[1],p4[1])]};Util.inverseTransform=function Util_inverseTransform(m){var d=m[0]*m[3]-m[1]*m[2];return[m[3]/d,-m[1]/d,-m[2]/d,m[0]/d,(m[2]*m[5]-m[4]*m[3])/d,(m[4]*m[1]-m[5]*m[0])/d]};Util.apply3dTransform=function Util_apply3dTransform(m,v){return[m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2]]};Util.singularValueDecompose2dScale=function Util_singularValueDecompose2dScale(m){var transpose=[m[0],m[2],m[1],m[3]];var a=m[0]*transpose[0]+m[1]*transpose[2];var b=m[0]*transpose[1]+m[1]*transpose[3];var c=m[2]*transpose[0]+m[3]*transpose[2];var d=m[2]*transpose[1]+m[3]*transpose[3];var first=(a+d)/2;var second=Math.sqrt((a+d)*(a+d)-4*(a*d-c*b))/2;var sx=first+second||1;var sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)]};Util.normalizeRect=function Util_normalizeRect(rect){var r=rect.slice(0);if(rect[0]>rect[2]){r[0]=rect[2];r[2]=rect[0]}if(rect[1]>rect[3]){r[1]=rect[3];r[3]=rect[1]}return r};Util.intersect=function Util_intersect(rect1,rect2){function compare(a,b){return a-b}var orderedX=[rect1[0],rect1[2],rect2[0],rect2[2]].sort(compare),orderedY=[rect1[1],rect1[3],rect2[1],rect2[3]].sort(compare),result=[];rect1=Util.normalizeRect(rect1);rect2=Util.normalizeRect(rect2);if(orderedX[0]===rect1[0]&&orderedX[1]===rect2[0]||orderedX[0]===rect2[0]&&orderedX[1]===rect1[0]){result[0]=orderedX[1];result[2]=orderedX[2]}else{return false}if(orderedY[0]===rect1[1]&&orderedY[1]===rect2[1]||orderedY[0]===rect2[1]&&orderedY[1]===rect1[1]){result[1]=orderedY[1];result[3]=orderedY[2]}else{return false}return result};Util.sign=function Util_sign(num){return num<0?-1:1};var ROMAN_NUMBER_MAP=['','C','CC','CCC','CD','D','DC','DCC','DCCC','CM','','X','XX','XXX','XL','L','LX','LXX','LXXX','XC','','I','II','III','IV','V','VI','VII','VIII','IX'];Util.toRoman=function Util_toRoman(number,lowerCase){assert(isInt(number)&&number>0,'The number should be a positive integer.');var pos,romanBuf=[];while(number>=1000){number-=1000;romanBuf.push('M')}pos=number/100|0;number%=100;romanBuf.push(ROMAN_NUMBER_MAP[pos]);pos=number/10|0;number%=10;romanBuf.push(ROMAN_NUMBER_MAP[10+pos]);romanBuf.push(ROMAN_NUMBER_MAP[20+number]);var romanStr=romanBuf.join('');return lowerCase?romanStr.toLowerCase():romanStr};Util.appendToArray=function Util_appendToArray(arr1,arr2){Array.prototype.push.apply(arr1,arr2)};Util.prependToArray=function Util_prependToArray(arr1,arr2){Array.prototype.unshift.apply(arr1,arr2)};Util.extendObj=function extendObj(obj1,obj2){for(var key in obj2){obj1[key]=obj2[key]}};Util.getInheritableProperty=function Util_getInheritableProperty(dict,name,getArray){while(dict&&!dict.has(name)){dict=dict.get('Parent')}if(!dict){return null}return getArray?dict.getArray(name):dict.get(name)};Util.inherit=function Util_inherit(sub,base,prototype){sub.prototype=Object.create(base.prototype);sub.prototype.constructor=sub;for(var prop in prototype){sub.prototype[prop]=prototype[prop]}};Util.loadScript=function Util_loadScript(src,callback){var script=document.createElement('script');var loaded=false;script.setAttribute('src',src);if(callback){script.onload=function(){if(!loaded){callback()}loaded=true}}document.getElementsByTagName('head')[0].appendChild(script)};return Util}();var PageViewport=function PageViewportClosure(){function PageViewport(viewBox,scale,rotation,offsetX,offsetY,dontFlip){this.viewBox=viewBox;this.scale=scale;this.rotation=rotation;this.offsetX=offsetX;this.offsetY=offsetY;var centerX=(viewBox[2]+viewBox[0])/2;var centerY=(viewBox[3]+viewBox[1])/2;var rotateA,rotateB,rotateC,rotateD;rotation=rotation%360;rotation=rotation<0?rotation+360:rotation;switch(rotation){case 180:rotateA=-1;rotateB=0;rotateC=0;rotateD=1;break;case 90:rotateA=0;rotateB=1;rotateC=1;rotateD=0;break;case 270:rotateA=0;rotateB=-1;rotateC=-1;rotateD=0;break;default:rotateA=1;rotateB=0;rotateC=0;rotateD=-1;break}if(dontFlip){rotateC=-rotateC;rotateD=-rotateD}var offsetCanvasX,offsetCanvasY;var width,height;if(rotateA===0){offsetCanvasX=Math.abs(centerY-viewBox[1])*scale+offsetX;offsetCanvasY=Math.abs(centerX-viewBox[0])*scale+offsetY;width=Math.abs(viewBox[3]-viewBox[1])*scale;height=Math.abs(viewBox[2]-viewBox[0])*scale}else{offsetCanvasX=Math.abs(centerX-viewBox[0])*scale+offsetX;offsetCanvasY=Math.abs(centerY-viewBox[1])*scale+offsetY;width=Math.abs(viewBox[2]-viewBox[0])*scale;height=Math.abs(viewBox[3]-viewBox[1])*scale}this.transform=[rotateA*scale,rotateB*scale,rotateC*scale,rotateD*scale,offsetCanvasX-rotateA*scale*centerX-rotateC*scale*centerY,offsetCanvasY-rotateB*scale*centerX-rotateD*scale*centerY];this.width=width;this.height=height;this.fontScale=scale}PageViewport.prototype={clone:function PageViewPort_clone(args){args=args||{};var scale='scale'in args?args.scale:this.scale;var rotation='rotation'in args?args.rotation:this.rotation;return new PageViewport(this.viewBox.slice(),scale,rotation,this.offsetX,this.offsetY,args.dontFlip)},convertToViewportPoint:function PageViewport_convertToViewportPoint(x,y){return Util.applyTransform([x,y],this.transform)},convertToViewportRectangle:function PageViewport_convertToViewportRectangle(rect){var tl=Util.applyTransform([rect[0],rect[1]],this.transform);var br=Util.applyTransform([rect[2],rect[3]],this.transform);return[tl[0],tl[1],br[0],br[1]]},convertToPdfPoint:function PageViewport_convertToPdfPoint(x,y){return Util.applyInverseTransform([x,y],this.transform)}};return PageViewport}();var PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2D8,0x2C7,0x2C6,0x2D9,0x2DD,0x2DB,0x2DA,0x2DC,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2022,0x2020,0x2021,0x2026,0x2014,0x2013,0x192,0x2044,0x2039,0x203A,0x2212,0x2030,0x201E,0x201C,0x201D,0x2018,0x2019,0x201A,0x2122,0xFB01,0xFB02,0x141,0x152,0x160,0x178,0x17D,0x131,0x142,0x153,0x161,0x17E,0,0x20AC];function stringToPDFString(str){var i,n=str.length,strBuf=[];if(str[0]==='\xFE'&&str[1]==='\xFF'){for(i=2;ilongest){longest=name.length}}for(i=0,ii=times.length;i2&&arguments[2]!==undefined?arguments[2]:false;if(!forceDataSchema&&URL.createObjectURL){var blob=createBlob(data,contentType);return URL.createObjectURL(blob)}var buffer='data:'+contentType+';base64,';for(var i=0,ii=data.length;i>2,d2=(b1&3)<<4|b2>>4;var d3=i+1>6:64;var d4=i+22&&arguments[2]!==undefined?arguments[2]:null;if(!fn){return Promise.resolve(undefined)}return new Promise(function(resolve,reject){resolve(fn.apply(thisArg,args))})}function wrapReason(reason){if((typeof reason==='undefined'?'undefined':_typeof(reason))!=='object'){return reason}switch(reason.name){case'AbortException':return new AbortException(reason.message);case'MissingPDFException':return new MissingPDFException(reason.message);case'UnexpectedResponseException':return new UnexpectedResponseException(reason.message,reason.status);default:return new UnknownErrorException(reason.message,reason.details)}}function resolveOrReject(capability,success,reason){if(success){capability.resolve()}else{capability.reject(reason)}}function finalize(promise){return Promise.resolve(promise).catch(function(){})}function MessageHandler(sourceName,targetName,comObj){var _this=this;this.sourceName=sourceName;this.targetName=targetName;this.comObj=comObj;this.callbackId=1;this.streamId=1;this.postMessageTransfers=true;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);var callbacksCapabilities=this.callbacksCapabilities=Object.create(null);var ah=this.actionHandler=Object.create(null);this._onComObjOnMessage=function(event){var data=event.data;if(data.targetName!==_this.sourceName){return}if(data.stream){_this._processStreamMessage(data)}else if(data.isReply){var callbackId=data.callbackId;if(data.callbackId in callbacksCapabilities){var callback=callbacksCapabilities[callbackId];delete callbacksCapabilities[callbackId];if('error'in data){callback.reject(wrapReason(data.error))}else{callback.resolve(data.data)}}else{throw new Error('Cannot resolve callback '+callbackId);}}else if(data.action in ah){var action=ah[data.action];if(data.callbackId){var _sourceName=_this.sourceName;var _targetName=data.sourceName;Promise.resolve().then(function(){return action[0].call(action[1],data.data)}).then(function(result){comObj.postMessage({sourceName:_sourceName,targetName:_targetName,isReply:true,callbackId:data.callbackId,data:result})},function(reason){if(reason instanceof Error){reason=reason+''}comObj.postMessage({sourceName:_sourceName,targetName:_targetName,isReply:true,callbackId:data.callbackId,error:reason})})}else if(data.streamId){_this._createStreamSink(data)}else{action[0].call(action[1],data.data)}}else{throw new Error('Unknown action from worker: '+data.action);}};comObj.addEventListener('message',this._onComObjOnMessage)}MessageHandler.prototype={on:function on(actionName,handler,scope){var ah=this.actionHandler;if(ah[actionName]){throw new Error('There is already an actionName called "'+actionName+'"');}ah[actionName]=[handler,scope]},send:function send(actionName,data,transfers){var message={sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data};this.postMessage(message,transfers)},sendWithPromise:function sendWithPromise(actionName,data,transfers){var callbackId=this.callbackId++;var message={sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data,callbackId:callbackId};var capability=createPromiseCapability();this.callbacksCapabilities[callbackId]=capability;try{this.postMessage(message,transfers)}catch(e){capability.reject(e)}return capability.promise},sendWithStream:function sendWithStream(actionName,data,queueingStrategy,transfers){var _this2=this;var streamId=this.streamId++;var sourceName=this.sourceName;var targetName=this.targetName;return new _streams_polyfill.ReadableStream({start:function start(controller){var startCapability=createPromiseCapability();_this2.streamControllers[streamId]={controller:controller,startCall:startCapability,isClosed:false};_this2.postMessage({sourceName:sourceName,targetName:targetName,action:actionName,streamId:streamId,data:data,desiredSize:controller.desiredSize});return startCapability.promise},pull:function pull(controller){var pullCapability=createPromiseCapability();_this2.streamControllers[streamId].pullCall=pullCapability;_this2.postMessage({sourceName:sourceName,targetName:targetName,stream:'pull',streamId:streamId,desiredSize:controller.desiredSize});return pullCapability.promise},cancel:function cancel(reason){var cancelCapability=createPromiseCapability();_this2.streamControllers[streamId].cancelCall=cancelCapability;_this2.streamControllers[streamId].isClosed=true;_this2.postMessage({sourceName:sourceName,targetName:targetName,stream:'cancel',reason:reason,streamId:streamId});return cancelCapability.promise}},queueingStrategy)},_createStreamSink:function _createStreamSink(data){var _this3=this;var self=this;var action=this.actionHandler[data.action];var streamId=data.streamId;var desiredSize=data.desiredSize;var sourceName=this.sourceName;var targetName=data.sourceName;var capability=createPromiseCapability();var sendStreamRequest=function sendStreamRequest(_ref){var stream=_ref.stream,chunk=_ref.chunk,transfers=_ref.transfers,success=_ref.success,reason=_ref.reason;_this3.postMessage({sourceName:sourceName,targetName:targetName,stream:stream,streamId:streamId,chunk:chunk,success:success,reason:reason},transfers)};var streamSink={enqueue:function enqueue(chunk){var size=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var transfers=arguments[2];if(this.isCancelled){return}var lastDesiredSize=this.desiredSize;this.desiredSize-=size;if(lastDesiredSize>0&&this.desiredSize<=0){this.sinkCapability=createPromiseCapability();this.ready=this.sinkCapability.promise}sendStreamRequest({stream:'enqueue',chunk:chunk,transfers:transfers})},close:function close(){if(this.isCancelled){return}sendStreamRequest({stream:'close'});delete self.streamSinks[streamId]},error:function error(reason){if(this.isCancelled){return}this.isCancelled=true;sendStreamRequest({stream:'error',reason:reason})},sinkCapability:capability,onPull:null,onCancel:null,isCancelled:false,desiredSize:desiredSize,ready:null};streamSink.sinkCapability.resolve();streamSink.ready=streamSink.sinkCapability.promise;this.streamSinks[streamId]=streamSink;resolveCall(action[0],[data.data,streamSink],action[1]).then(function(){sendStreamRequest({stream:'start_complete',success:true})},function(reason){sendStreamRequest({stream:'start_complete',success:false,reason:reason})})},_processStreamMessage:function _processStreamMessage(data){var _this4=this;var sourceName=this.sourceName;var targetName=data.sourceName;var streamId=data.streamId;var sendStreamResponse=function sendStreamResponse(_ref2){var stream=_ref2.stream,success=_ref2.success,reason=_ref2.reason;_this4.comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:stream,success:success,streamId:streamId,reason:reason})};var deleteStreamController=function deleteStreamController(){Promise.all([_this4.streamControllers[data.streamId].startCall,_this4.streamControllers[data.streamId].pullCall,_this4.streamControllers[data.streamId].cancelCall].map(function(capability){return capability&&finalize(capability.promise)})).then(function(){delete _this4.streamControllers[data.streamId]})};switch(data.stream){case'start_complete':resolveOrReject(this.streamControllers[data.streamId].startCall,data.success,wrapReason(data.reason));break;case'pull_complete':resolveOrReject(this.streamControllers[data.streamId].pullCall,data.success,wrapReason(data.reason));break;case'pull':if(!this.streamSinks[data.streamId]){sendStreamResponse({stream:'pull_complete',success:true});break}if(this.streamSinks[data.streamId].desiredSize<=0&&data.desiredSize>0){this.streamSinks[data.streamId].sinkCapability.resolve()}this.streamSinks[data.streamId].desiredSize=data.desiredSize;resolveCall(this.streamSinks[data.streamId].onPull).then(function(){sendStreamResponse({stream:'pull_complete',success:true})},function(reason){sendStreamResponse({stream:'pull_complete',success:false,reason:reason})});break;case'enqueue':assert(this.streamControllers[data.streamId],'enqueue should have stream controller');if(!this.streamControllers[data.streamId].isClosed){this.streamControllers[data.streamId].controller.enqueue(data.chunk)}break;case'close':assert(this.streamControllers[data.streamId],'close should have stream controller');if(this.streamControllers[data.streamId].isClosed){break}this.streamControllers[data.streamId].isClosed=true;this.streamControllers[data.streamId].controller.close();deleteStreamController();break;case'error':assert(this.streamControllers[data.streamId],'error should have stream controller');this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));deleteStreamController();break;case'cancel_complete':resolveOrReject(this.streamControllers[data.streamId].cancelCall,data.success,wrapReason(data.reason));deleteStreamController();break;case'cancel':if(!this.streamSinks[data.streamId]){break}resolveCall(this.streamSinks[data.streamId].onCancel,[wrapReason(data.reason)]).then(function(){sendStreamResponse({stream:'cancel_complete',success:true})},function(reason){sendStreamResponse({stream:'cancel_complete',success:false,reason:reason})});this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));this.streamSinks[data.streamId].isCancelled=true;delete this.streamSinks[data.streamId];break;default:throw new Error('Unexpected stream case');}},postMessage:function postMessage(message,transfers){if(transfers&&this.postMessageTransfers){this.comObj.postMessage(message,transfers)}else{this.comObj.postMessage(message)}},destroy:function destroy(){this.comObj.removeEventListener('message',this._onComObjOnMessage)}};function loadJpegStream(id,imageUrl,objs){var img=new Image();img.onload=function loadJpegStream_onloadClosure(){objs.resolve(id,img)};img.onerror=function loadJpegStream_onerrorClosure(){objs.resolve(id,null);warn('Error during JPEG image loading')};img.src=imageUrl}exports.FONT_IDENTITY_MATRIX=FONT_IDENTITY_MATRIX;exports.IDENTITY_MATRIX=IDENTITY_MATRIX;exports.OPS=OPS;exports.VERBOSITY_LEVELS=VERBOSITY_LEVELS;exports.UNSUPPORTED_FEATURES=UNSUPPORTED_FEATURES;exports.AnnotationBorderStyleType=AnnotationBorderStyleType;exports.AnnotationFieldFlag=AnnotationFieldFlag;exports.AnnotationFlag=AnnotationFlag;exports.AnnotationType=AnnotationType;exports.FontType=FontType;exports.ImageKind=ImageKind;exports.CMapCompressionType=CMapCompressionType;exports.AbortException=AbortException;exports.InvalidPDFException=InvalidPDFException;exports.MessageHandler=MessageHandler;exports.MissingDataException=MissingDataException;exports.MissingPDFException=MissingPDFException;exports.NativeImageDecoding=NativeImageDecoding;exports.NotImplementedException=NotImplementedException;exports.PageViewport=PageViewport;exports.PasswordException=PasswordException;exports.PasswordResponses=PasswordResponses;exports.StatTimer=StatTimer;exports.StreamType=StreamType;exports.TextRenderingMode=TextRenderingMode;exports.UnexpectedResponseException=UnexpectedResponseException;exports.UnknownErrorException=UnknownErrorException;exports.Util=Util;exports.XRefParseException=XRefParseException;exports.FormatError=FormatError;exports.arrayByteLength=arrayByteLength;exports.arraysToBytes=arraysToBytes;exports.assert=assert;exports.bytesToString=bytesToString;exports.createBlob=createBlob;exports.createPromiseCapability=createPromiseCapability;exports.createObjectURL=createObjectURL;exports.deprecated=deprecated;exports.getLookupTableFactory=getLookupTableFactory;exports.getVerbosityLevel=getVerbosityLevel;exports.globalScope=globalScope;exports.info=info;exports.isArray=isArray;exports.isArrayBuffer=isArrayBuffer;exports.isBool=isBool;exports.isEmptyObj=isEmptyObj;exports.isInt=isInt;exports.isNum=isNum;exports.isString=isString;exports.isSpace=isSpace;exports.isNodeJS=isNodeJS;exports.isSameOrigin=isSameOrigin;exports.createValidAbsoluteUrl=createValidAbsoluteUrl;exports.isLittleEndian=isLittleEndian;exports.isEvalSupported=isEvalSupported;exports.loadJpegStream=loadJpegStream;exports.log2=log2;exports.readInt8=readInt8;exports.readUint16=readUint16;exports.readUint32=readUint32;exports.removeNullCharacters=removeNullCharacters;exports.ReadableStream=_streams_polyfill.ReadableStream;exports.setVerbosityLevel=setVerbosityLevel;exports.shadow=shadow;exports.string32=string32;exports.stringToBytes=stringToBytes;exports.stringToPDFString=stringToPDFString;exports.stringToUTF8String=stringToUTF8String;exports.utf8StringToString=utf8StringToString;exports.warn=warn;exports.unreachable=unreachable}),(function(module,exports,__w_pdfjs_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DOMCMapReaderFactory=exports.DOMCanvasFactory=exports.DEFAULT_LINK_REL=exports.getDefaultSetting=exports.LinkTarget=exports.getFilenameFromUrl=exports.isValidUrl=exports.isExternalLinkTargetSet=exports.addLinkAttributes=exports.RenderingCancelledException=exports.CustomStyle=undefined;var _createClass=function(){function defineProperties(target,props){for(var i=0;i0?anchor:url.length,query>0?query:url.length);return url.substring(url.lastIndexOf('/',end)+1,end)}function getDefaultSetting(id){var globalSettings=_util.globalScope.PDFJS;switch(id){case'pdfBug':return globalSettings?globalSettings.pdfBug:false;case'disableAutoFetch':return globalSettings?globalSettings.disableAutoFetch:false;case'disableStream':return globalSettings?globalSettings.disableStream:false;case'disableRange':return globalSettings?globalSettings.disableRange:false;case'disableFontFace':return globalSettings?globalSettings.disableFontFace:false;case'disableCreateObjectURL':return globalSettings?globalSettings.disableCreateObjectURL:false;case'disableWebGL':return globalSettings?globalSettings.disableWebGL:true;case'cMapUrl':return globalSettings?globalSettings.cMapUrl:null;case'cMapPacked':return globalSettings?globalSettings.cMapPacked:false;case'postMessageTransfers':return globalSettings?globalSettings.postMessageTransfers:true;case'workerPort':return globalSettings?globalSettings.workerPort:null;case'workerSrc':return globalSettings?globalSettings.workerSrc:null;case'disableWorker':return globalSettings?globalSettings.disableWorker:false;case'maxImageSize':return globalSettings?globalSettings.maxImageSize:-1;case'imageResourcesPath':return globalSettings?globalSettings.imageResourcesPath:'';case'isEvalSupported':return globalSettings?globalSettings.isEvalSupported:true;case'externalLinkTarget':if(!globalSettings){return LinkTarget.NONE}switch(globalSettings.externalLinkTarget){case LinkTarget.NONE:case LinkTarget.SELF:case LinkTarget.BLANK:case LinkTarget.PARENT:case LinkTarget.TOP:return globalSettings.externalLinkTarget}(0,_util.warn)('PDFJS.externalLinkTarget is invalid: '+globalSettings.externalLinkTarget);globalSettings.externalLinkTarget=LinkTarget.NONE;return LinkTarget.NONE;case'externalLinkRel':return globalSettings?globalSettings.externalLinkRel:DEFAULT_LINK_REL;case'enableStats':return!!(globalSettings&&globalSettings.enableStats);case'pdfjsNext':return!!(globalSettings&&globalSettings.pdfjsNext);default:throw new Error('Unknown default setting: '+id);}}function isExternalLinkTargetSet(){var externalLinkTarget=getDefaultSetting('externalLinkTarget');switch(externalLinkTarget){case LinkTarget.NONE:return false;case LinkTarget.SELF:case LinkTarget.BLANK:case LinkTarget.PARENT:case LinkTarget.TOP:return true}}function isValidUrl(url,allowRelative){(0,_util.deprecated)('isValidUrl(), please use createValidAbsoluteUrl() instead.');var baseUrl=allowRelative?'http://example.com':null;return(0,_util.createValidAbsoluteUrl)(url,baseUrl)!==null}exports.CustomStyle=CustomStyle;exports.RenderingCancelledException=RenderingCancelledException;exports.addLinkAttributes=addLinkAttributes;exports.isExternalLinkTargetSet=isExternalLinkTargetSet;exports.isValidUrl=isValidUrl;exports.getFilenameFromUrl=getFilenameFromUrl;exports.LinkTarget=LinkTarget;exports.getDefaultSetting=getDefaultSetting;exports.DEFAULT_LINK_REL=DEFAULT_LINK_REL;exports.DOMCanvasFactory=DOMCanvasFactory;exports.DOMCMapReaderFactory=DOMCMapReaderFactory}),(function(module,exports,__w_pdfjs_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.build=exports.version=exports._UnsupportedManager=exports.setPDFNetworkStreamClass=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFWorker=exports.PDFDataRangeTransport=exports.LoopbackPort=exports.getDocument=undefined;var _createClass=function(){function defineProperties(target,props){for(var i=0;i1){(0,_util.deprecated)('getDocument is called with pdfDataRangeTransport, '+'passwordCallback or progressCallback argument')}if(pdfDataRangeTransport){if(!(pdfDataRangeTransport instanceof PDFDataRangeTransport)){pdfDataRangeTransport=Object.create(pdfDataRangeTransport);pdfDataRangeTransport.length=src.length;pdfDataRangeTransport.initialData=src.initialData;if(!pdfDataRangeTransport.abort){pdfDataRangeTransport.abort=function(){}}}src=Object.create(src);src.range=pdfDataRangeTransport}task.onPassword=passwordCallback||null;task.onProgress=progressCallback||null;var source;if(typeof src==='string'){source={url:src}}else if((0,_util.isArrayBuffer)(src)){source={data:src}}else if(src instanceof PDFDataRangeTransport){source={range:src}}else{if((typeof src==='undefined'?'undefined':_typeof(src))!=='object'){throw new Error('Invalid parameter in getDocument, '+'need either Uint8Array, string or a parameter object');}if(!src.url&&!src.data&&!src.range){throw new Error('Invalid parameter object: need either .data, .range or .url');}source=src}var params={};var rangeTransport=null;var worker=null;var CMapReaderFactory=_dom_utils.DOMCMapReaderFactory;for(var key in source){if(key==='url'&&typeof window!=='undefined'){params[key]=new URL(source[key],window.location).href;continue}else if(key==='range'){rangeTransport=source[key];continue}else if(key==='worker'){worker=source[key];continue}else if(key==='data'&&!(source[key]instanceof Uint8Array)){var pdfBytes=source[key];if(typeof pdfBytes==='string'){params[key]=(0,_util.stringToBytes)(pdfBytes)}else if((typeof pdfBytes==='undefined'?'undefined':_typeof(pdfBytes))==='object'&&pdfBytes!==null&&!isNaN(pdfBytes.length)){params[key]=new Uint8Array(pdfBytes)}else if((0,_util.isArrayBuffer)(pdfBytes)){params[key]=new Uint8Array(pdfBytes)}else{throw new Error('Invalid PDF binary data: either typed array, '+'string or array-like object is expected in the '+'data property.');}continue}else if(key==='CMapReaderFactory'){CMapReaderFactory=source[key];continue}params[key]=source[key]}params.rangeChunkSize=params.rangeChunkSize||DEFAULT_RANGE_CHUNK_SIZE;params.ignoreErrors=params.stopAtErrors!==true;if(params.disableNativeImageDecoder!==undefined){(0,_util.deprecated)('parameter disableNativeImageDecoder, '+'use nativeImageDecoderSupport instead')}params.nativeImageDecoderSupport=params.nativeImageDecoderSupport||(params.disableNativeImageDecoder===true?_util.NativeImageDecoding.NONE:_util.NativeImageDecoding.DECODE);if(params.nativeImageDecoderSupport!==_util.NativeImageDecoding.DECODE&¶ms.nativeImageDecoderSupport!==_util.NativeImageDecoding.NONE&¶ms.nativeImageDecoderSupport!==_util.NativeImageDecoding.DISPLAY){(0,_util.warn)('Invalid parameter nativeImageDecoderSupport: '+'need a state of enum {NativeImageDecoding}');params.nativeImageDecoderSupport=_util.NativeImageDecoding.DECODE}if(!worker){var workerPort=(0,_dom_utils.getDefaultSetting)('workerPort');worker=workerPort?PDFWorker.fromPort(workerPort):new PDFWorker();task._worker=worker}var docId=task.docId;worker.promise.then(function(){if(task.destroyed){throw new Error('Loading aborted');}return _fetchDocument(worker,params,rangeTransport,docId).then(function(workerId){if(task.destroyed){throw new Error('Loading aborted');}var networkStream=void 0;if(rangeTransport){networkStream=new _transport_stream.PDFDataTransportStream(params,rangeTransport)}else if(!params.data){networkStream=new PDFNetworkStream({source:params,disableRange:(0,_dom_utils.getDefaultSetting)('disableRange')})}var messageHandler=new _util.MessageHandler(docId,workerId,worker.port);messageHandler.postMessageTransfers=worker.postMessageTransfers;var transport=new WorkerTransport(messageHandler,task,networkStream,CMapReaderFactory);task._transport=transport;messageHandler.send('Ready',null)})}).catch(task._capability.reject);return task}function _fetchDocument(worker,source,pdfDataRangeTransport,docId){if(worker.destroyed){return Promise.reject(new Error('Worker was destroyed'))}source.disableAutoFetch=(0,_dom_utils.getDefaultSetting)('disableAutoFetch');source.disableStream=(0,_dom_utils.getDefaultSetting)('disableStream');source.chunkedViewerLoading=!!pdfDataRangeTransport;if(pdfDataRangeTransport){source.length=pdfDataRangeTransport.length;source.initialData=pdfDataRangeTransport.initialData}return worker.messageHandler.sendWithPromise('GetDocRequest',{docId:docId,source:{data:source.data,url:source.url,password:source.password,disableAutoFetch:source.disableAutoFetch,rangeChunkSize:source.rangeChunkSize,length:source.length},maxImageSize:(0,_dom_utils.getDefaultSetting)('maxImageSize'),disableFontFace:(0,_dom_utils.getDefaultSetting)('disableFontFace'),disableCreateObjectURL:(0,_dom_utils.getDefaultSetting)('disableCreateObjectURL'),postMessageTransfers:(0,_dom_utils.getDefaultSetting)('postMessageTransfers')&&!isPostMessageTransfersDisabled,docBaseUrl:source.docBaseUrl,nativeImageDecoderSupport:source.nativeImageDecoderSupport,ignoreErrors:source.ignoreErrors}).then(function(workerId){if(worker.destroyed){throw new Error('Worker was destroyed');}return workerId})}var PDFDocumentLoadingTask=function PDFDocumentLoadingTaskClosure(){var nextDocumentId=0;function PDFDocumentLoadingTask(){this._capability=(0,_util.createPromiseCapability)();this._transport=null;this._worker=null;this.docId='d'+nextDocumentId++;this.destroyed=false;this.onPassword=null;this.onProgress=null;this.onUnsupportedFeature=null}PDFDocumentLoadingTask.prototype={get promise(){return this._capability.promise},destroy:function destroy(){var _this=this;this.destroyed=true;var transportDestroyed=!this._transport?Promise.resolve():this._transport.destroy();return transportDestroyed.then(function(){_this._transport=null;if(_this._worker){_this._worker.destroy();_this._worker=null}})},then:function PDFDocumentLoadingTask_then(onFulfilled,onRejected){return this.promise.then.apply(this.promise,arguments)}};return PDFDocumentLoadingTask}();var PDFDataRangeTransport=function pdfDataRangeTransportClosure(){function PDFDataRangeTransport(length,initialData){this.length=length;this.initialData=initialData;this._rangeListeners=[];this._progressListeners=[];this._progressiveReadListeners=[];this._readyCapability=(0,_util.createPromiseCapability)()}PDFDataRangeTransport.prototype={addRangeListener:function PDFDataRangeTransport_addRangeListener(listener){this._rangeListeners.push(listener)},addProgressListener:function PDFDataRangeTransport_addProgressListener(listener){this._progressListeners.push(listener)},addProgressiveReadListener:function PDFDataRangeTransport_addProgressiveReadListener(listener){this._progressiveReadListeners.push(listener)},onDataRange:function PDFDataRangeTransport_onDataRange(begin,chunk){var listeners=this._rangeListeners;for(var i=0,n=listeners.length;i=0){intentState.renderTasks.splice(i,1)}if(_this4.cleanupAfterRender){_this4.pendingCleanup=true}_this4._tryCleanup();if(error){internalRenderTask.capability.reject(error)}else{internalRenderTask.capability.resolve()}stats.timeEnd('Rendering');stats.timeEnd('Overall')};var internalRenderTask=new InternalRenderTask(complete,params,this.objs,this.commonObjs,intentState.operatorList,this.pageNumber,canvasFactory);internalRenderTask.useRequestAnimationFrame=renderingIntent!=='print';if(!intentState.renderTasks){intentState.renderTasks=[]}intentState.renderTasks.push(internalRenderTask);var renderTask=internalRenderTask.task;if(params.continueCallback){(0,_util.deprecated)('render is used with continueCallback parameter');renderTask.onContinue=params.continueCallback}intentState.displayReadyCapability.promise.then(function(transparency){if(_this4.pendingCleanup){complete();return}stats.time('Rendering');internalRenderTask.initializeGraphics(transparency);internalRenderTask.operatorListChanged()}).catch(complete);return renderTask},getOperatorList:function PDFPageProxy_getOperatorList(){function operatorListChanged(){if(intentState.operatorList.lastChunk){intentState.opListReadCapability.resolve(intentState.operatorList);var i=intentState.renderTasks.indexOf(opListTask);if(i>=0){intentState.renderTasks.splice(i,1)}}}var renderingIntent='oplist';if(!this.intentStates[renderingIntent]){this.intentStates[renderingIntent]=Object.create(null)}var intentState=this.intentStates[renderingIntent];var opListTask;if(!intentState.opListReadCapability){opListTask={};opListTask.operatorListChanged=operatorListChanged;intentState.receivingOperatorList=true;intentState.opListReadCapability=(0,_util.createPromiseCapability)();intentState.renderTasks=[];intentState.renderTasks.push(opListTask);intentState.operatorList={fnArray:[],argsArray:[],lastChunk:false};this.transport.messageHandler.send('RenderPageRequest',{pageIndex:this.pageIndex,intent:renderingIntent})}return intentState.opListReadCapability.promise},streamTextContent:function streamTextContent(){var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var TEXT_CONTENT_CHUNK_SIZE=100;return this.transport.messageHandler.sendWithStream('GetTextContent',{pageIndex:this.pageNumber-1,normalizeWhitespace:params.normalizeWhitespace===true,combineTextItems:params.disableCombineTextItems!==true},{highWaterMark:TEXT_CONTENT_CHUNK_SIZE,size:function size(textContent){return textContent.items.length}})},getTextContent:function PDFPageProxy_getTextContent(params){params=params||{};var readableStream=this.streamTextContent(params);return new Promise(function(resolve,reject){function pump(){reader.read().then(function(_ref){var value=_ref.value,done=_ref.done;if(done){resolve(textContent);return}_util.Util.extendObj(textContent.styles,value.styles);_util.Util.appendToArray(textContent.items,value.items);pump()},reject)}var reader=readableStream.getReader();var textContent={items:[],styles:Object.create(null)};pump()})},_destroy:function PDFPageProxy_destroy(){this.destroyed=true;this.transport.pageCache[this.pageIndex]=null;var waitOn=[];Object.keys(this.intentStates).forEach(function(intent){if(intent==='oplist'){return}var intentState=this.intentStates[intent];intentState.renderTasks.forEach(function(renderTask){var renderCompleted=renderTask.capability.promise.catch(function(){});waitOn.push(renderCompleted);renderTask.cancel()})},this);this.objs.clear();this.annotationsPromise=null;this.pendingCleanup=false;return Promise.all(waitOn)},destroy:function destroy(){(0,_util.deprecated)('page destroy method, use cleanup() instead');this.cleanup()},cleanup:function PDFPageProxy_cleanup(){this.pendingCleanup=true;this._tryCleanup()},_tryCleanup:function PDFPageProxy_tryCleanup(){if(!this.pendingCleanup||Object.keys(this.intentStates).some(function(intent){var intentState=this.intentStates[intent];return intentState.renderTasks.length!==0||intentState.receivingOperatorList},this)){return}Object.keys(this.intentStates).forEach(function(intent){delete this.intentStates[intent]},this);this.objs.clear();this.annotationsPromise=null;this.pendingCleanup=false},_startRenderPage:function PDFPageProxy_startRenderPage(transparency,intent){var intentState=this.intentStates[intent];if(intentState.displayReadyCapability){intentState.displayReadyCapability.resolve(transparency)}},_renderPageChunk:function PDFPageProxy_renderPageChunk(operatorListChunk,intent){var intentState=this.intentStates[intent];var i,ii;for(i=0,ii=operatorListChunk.length;i=0;if(value===buffer){result=value}else if(transferable){result=new value.constructor(buffer,value.byteOffset,value.byteLength)}else{result=new value.constructor(value)}cloned.set(value,result);return result}result=(0,_util.isArray)(value)?[]:{};cloned.set(value,result);for(var i in value){var desc,p=value;while(!(desc=Object.getOwnPropertyDescriptor(p,i))){p=Object.getPrototypeOf(p)}if(typeof desc.value==='undefined'||typeof desc.value==='function'){continue}result[i]=cloneValue(desc.value)}return result}if(!this._defer){this._listeners.forEach(function(listener){listener.call(this,{data:obj})},this);return}var cloned=new WeakMap();var e={data:cloneValue(obj)};this._deferred.then(function(){_this5._listeners.forEach(function(listener){listener.call(this,e)},_this5)})}},{key:'addEventListener',value:function addEventListener(name,listener){this._listeners.push(listener)}},{key:'removeEventListener',value:function removeEventListener(name,listener){var i=this._listeners.indexOf(listener);this._listeners.splice(i,1)}},{key:'terminate',value:function terminate(){this._listeners=[]}}]);return LoopbackPort}();var PDFWorker=function PDFWorkerClosure(){var nextFakeWorkerId=0;function getWorkerSrc(){if(typeof workerSrc!=='undefined'){return workerSrc}if((0,_dom_utils.getDefaultSetting)('workerSrc')){return(0,_dom_utils.getDefaultSetting)('workerSrc')}if(pdfjsFilePath){return pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i,'.worker$1$2')}throw new Error('No PDFJS.workerSrc specified');}var fakeWorkerFilesLoadedCapability=void 0;function setupFakeWorkerGlobal(){var WorkerMessageHandler;if(fakeWorkerFilesLoadedCapability){return fakeWorkerFilesLoadedCapability.promise}fakeWorkerFilesLoadedCapability=(0,_util.createPromiseCapability)();var loader=fakeWorkerFilesLoader||function(callback){_util.Util.loadScript(getWorkerSrc(),function(){callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler)})};loader(fakeWorkerFilesLoadedCapability.resolve);return fakeWorkerFilesLoadedCapability.promise}function createCDNWrapper(url){var wrapper='importScripts(\''+url+'\');';return URL.createObjectURL(new Blob([wrapper]))}var pdfWorkerPorts=new WeakMap();function PDFWorker(name,port){if(port&&pdfWorkerPorts.has(port)){throw new Error('Cannot use more than one PDFWorker per port');}this.name=name;this.destroyed=false;this.postMessageTransfers=true;this._readyCapability=(0,_util.createPromiseCapability)();this._port=null;this._webWorker=null;this._messageHandler=null;if(port){pdfWorkerPorts.set(port,this);this._initializeFromPort(port);return}this._initialize()}PDFWorker.prototype={get promise(){return this._readyCapability.promise},get port(){return this._port},get messageHandler(){return this._messageHandler},_initializeFromPort:function PDFWorker_initializeFromPort(port){this._port=port;this._messageHandler=new _util.MessageHandler('main','worker',port);this._messageHandler.on('ready',function(){});this._readyCapability.resolve()},_initialize:function PDFWorker_initialize(){var _this6=this;if(!isWorkerDisabled&&!(0,_dom_utils.getDefaultSetting)('disableWorker')&&typeof Worker!=='undefined'){var workerSrc=getWorkerSrc();try{if(!(0,_util.isSameOrigin)(window.location.href,workerSrc)){workerSrc=createCDNWrapper(new URL(workerSrc,window.location).href)}var worker=new Worker(workerSrc);var messageHandler=new _util.MessageHandler('main','worker',worker);var terminateEarly=function terminateEarly(){worker.removeEventListener('error',onWorkerError);messageHandler.destroy();worker.terminate();if(_this6.destroyed){_this6._readyCapability.reject(new Error('Worker was destroyed'))}else{_this6._setupFakeWorker()}};var onWorkerError=function onWorkerError(){if(!_this6._webWorker){terminateEarly()}};worker.addEventListener('error',onWorkerError);messageHandler.on('test',function(data){worker.removeEventListener('error',onWorkerError);if(_this6.destroyed){terminateEarly();return}var supportTypedArray=data&&data.supportTypedArray;if(supportTypedArray){_this6._messageHandler=messageHandler;_this6._port=worker;_this6._webWorker=worker;if(!data.supportTransfers){_this6.postMessageTransfers=false;isPostMessageTransfersDisabled=true}_this6._readyCapability.resolve();messageHandler.send('configure',{verbosity:(0,_util.getVerbosityLevel)()})}else{_this6._setupFakeWorker();messageHandler.destroy();worker.terminate()}});messageHandler.on('console_log',function(data){console.log.apply(console,data)});messageHandler.on('console_error',function(data){console.error.apply(console,data)});messageHandler.on('ready',function(data){worker.removeEventListener('error',onWorkerError);if(_this6.destroyed){terminateEarly();return}try{sendTest()}catch(e){_this6._setupFakeWorker()}});var sendTest=function sendTest(){var postMessageTransfers=(0,_dom_utils.getDefaultSetting)('postMessageTransfers')&&!isPostMessageTransfersDisabled;var testObj=new Uint8Array([postMessageTransfers?255:0]);try{messageHandler.send('test',testObj,[testObj.buffer])}catch(ex){(0,_util.info)('Cannot use postMessage transfers');testObj[0]=0;messageHandler.send('test',testObj)}};sendTest();return}catch(e){(0,_util.info)('The worker has been disabled.')}}this._setupFakeWorker()},_setupFakeWorker:function PDFWorker_setupFakeWorker(){var _this7=this;if(!isWorkerDisabled&&!(0,_dom_utils.getDefaultSetting)('disableWorker')){(0,_util.warn)('Setting up fake worker.');isWorkerDisabled=true}setupFakeWorkerGlobal().then(function(WorkerMessageHandler){if(_this7.destroyed){_this7._readyCapability.reject(new Error('Worker was destroyed'));return}var isTypedArraysPresent=Uint8Array!==Float32Array;var port=new LoopbackPort(isTypedArraysPresent);_this7._port=port;var id='fake'+nextFakeWorkerId++;var workerHandler=new _util.MessageHandler(id+'_worker',id,port);WorkerMessageHandler.setup(workerHandler,port);var messageHandler=new _util.MessageHandler(id,id+'_worker',port);_this7._messageHandler=messageHandler;_this7._readyCapability.resolve()})},destroy:function PDFWorker_destroy(){this.destroyed=true;if(this._webWorker){this._webWorker.terminate();this._webWorker=null}pdfWorkerPorts.delete(this._port);this._port=null;if(this._messageHandler){this._messageHandler.destroy();this._messageHandler=null}}};PDFWorker.fromPort=function(port){if(pdfWorkerPorts.has(port)){return pdfWorkerPorts.get(port)}return new PDFWorker(null,port)};return PDFWorker}();var WorkerTransport=function WorkerTransportClosure(){function WorkerTransport(messageHandler,loadingTask,networkStream,CMapReaderFactory){this.messageHandler=messageHandler;this.loadingTask=loadingTask;this.commonObjs=new PDFObjects();this.fontLoader=new _font_loader.FontLoader(loadingTask.docId);this.CMapReaderFactory=new CMapReaderFactory({baseUrl:(0,_dom_utils.getDefaultSetting)('cMapUrl'),isCompressed:(0,_dom_utils.getDefaultSetting)('cMapPacked')});this.destroyed=false;this.destroyCapability=null;this._passwordCapability=null;this._networkStream=networkStream;this._fullReader=null;this._lastProgress=null;this.pageCache=[];this.pagePromises=[];this.downloadInfoCapability=(0,_util.createPromiseCapability)();this.setupMessageHandler()}WorkerTransport.prototype={destroy:function WorkerTransport_destroy(){var _this8=this;if(this.destroyCapability){return this.destroyCapability.promise}this.destroyed=true;this.destroyCapability=(0,_util.createPromiseCapability)();if(this._passwordCapability){this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'))}var waitOn=[];this.pageCache.forEach(function(page){if(page){waitOn.push(page._destroy())}});this.pageCache=[];this.pagePromises=[];var terminated=this.messageHandler.sendWithPromise('Terminate',null);waitOn.push(terminated);Promise.all(waitOn).then(function(){_this8.fontLoader.clear();if(_this8._networkStream){_this8._networkStream.cancelAllRequests()}if(_this8.messageHandler){_this8.messageHandler.destroy();_this8.messageHandler=null}_this8.destroyCapability.resolve()},this.destroyCapability.reject);return this.destroyCapability.promise},setupMessageHandler:function WorkerTransport_setupMessageHandler(){var messageHandler=this.messageHandler;var loadingTask=this.loadingTask;messageHandler.on('GetReader',function(data,sink){var _this9=this;(0,_util.assert)(this._networkStream);this._fullReader=this._networkStream.getFullReader();this._fullReader.onProgress=function(evt){_this9._lastProgress={loaded:evt.loaded,total:evt.total}};sink.onPull=function(){_this9._fullReader.read().then(function(_ref2){var value=_ref2.value,done=_ref2.done;if(done){sink.close();return}(0,_util.assert)((0,_util.isArrayBuffer)(value));sink.enqueue(new Uint8Array(value),1,[value])}).catch(function(reason){sink.error(reason)})};sink.onCancel=function(reason){_this9._fullReader.cancel(reason)}},this);messageHandler.on('ReaderHeadersReady',function(data){var _this10=this;var headersCapability=(0,_util.createPromiseCapability)();var fullReader=this._fullReader;fullReader.headersReady.then(function(){if(!fullReader.isStreamingSupported||!fullReader.isRangeSupported){if(_this10._lastProgress){var _loadingTask=_this10.loadingTask;if(_loadingTask.onProgress){_loadingTask.onProgress(_this10._lastProgress)}}fullReader.onProgress=function(evt){var loadingTask=_this10.loadingTask;if(loadingTask.onProgress){loadingTask.onProgress({loaded:evt.loaded,total:evt.total})}}}headersCapability.resolve({isStreamingSupported:fullReader.isStreamingSupported,isRangeSupported:fullReader.isRangeSupported,contentLength:fullReader.contentLength})},headersCapability.reject);return headersCapability.promise},this);messageHandler.on('GetRangeReader',function(data,sink){(0,_util.assert)(this._networkStream);var _rangeReader=this._networkStream.getRangeReader(data.begin,data.end);sink.onPull=function(){_rangeReader.read().then(function(_ref3){var value=_ref3.value,done=_ref3.done;if(done){sink.close();return}(0,_util.assert)((0,_util.isArrayBuffer)(value));sink.enqueue(new Uint8Array(value),1,[value])}).catch(function(reason){sink.error(reason)})};sink.onCancel=function(reason){_rangeReader.cancel(reason)}},this);messageHandler.on('GetDoc',function transportDoc(data){var pdfInfo=data.pdfInfo;this.numPages=data.pdfInfo.numPages;var loadingTask=this.loadingTask;var pdfDocument=new PDFDocumentProxy(pdfInfo,this,loadingTask);this.pdfDocument=pdfDocument;loadingTask._capability.resolve(pdfDocument)},this);messageHandler.on('PasswordRequest',function transportPasswordRequest(exception){var _this11=this;this._passwordCapability=(0,_util.createPromiseCapability)();if(loadingTask.onPassword){var updatePassword=function updatePassword(password){_this11._passwordCapability.resolve({password:password})};loadingTask.onPassword(updatePassword,exception.code)}else{this._passwordCapability.reject(new _util.PasswordException(exception.message,exception.code))}return this._passwordCapability.promise},this);messageHandler.on('PasswordException',function transportPasswordException(exception){loadingTask._capability.reject(new _util.PasswordException(exception.message,exception.code))},this);messageHandler.on('InvalidPDF',function transportInvalidPDF(exception){this.loadingTask._capability.reject(new _util.InvalidPDFException(exception.message))},this);messageHandler.on('MissingPDF',function transportMissingPDF(exception){this.loadingTask._capability.reject(new _util.MissingPDFException(exception.message))},this);messageHandler.on('UnexpectedResponse',function transportUnexpectedResponse(exception){this.loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message,exception.status))},this);messageHandler.on('UnknownError',function transportUnknownError(exception){this.loadingTask._capability.reject(new _util.UnknownErrorException(exception.message,exception.details))},this);messageHandler.on('DataLoaded',function transportPage(data){this.downloadInfoCapability.resolve(data)},this);messageHandler.on('PDFManagerReady',function transportPage(data){},this);messageHandler.on('StartRenderPage',function transportRender(data){if(this.destroyed){return}var page=this.pageCache[data.pageIndex];page.stats.timeEnd('Page Request');page._startRenderPage(data.transparency,data.intent)},this);messageHandler.on('RenderPageChunk',function transportRender(data){if(this.destroyed){return}var page=this.pageCache[data.pageIndex];page._renderPageChunk(data.operatorList,data.intent)},this);messageHandler.on('commonobj',function transportObj(data){var _this12=this;if(this.destroyed){return}var id=data[0];var type=data[1];if(this.commonObjs.hasData(id)){return}switch(type){case'Font':var exportedData=data[2];if('error'in exportedData){var exportedError=exportedData.error;(0,_util.warn)('Error during font loading: '+exportedError);this.commonObjs.resolve(id,exportedError);break}var fontRegistry=null;if((0,_dom_utils.getDefaultSetting)('pdfBug')&&_util.globalScope.FontInspector&&_util.globalScope['FontInspector'].enabled){fontRegistry={registerFont:function registerFont(font,url){_util.globalScope['FontInspector'].fontAdded(font,url)}}}var font=new _font_loader.FontFaceObject(exportedData,{isEvalSuported:(0,_dom_utils.getDefaultSetting)('isEvalSupported'),disableFontFace:(0,_dom_utils.getDefaultSetting)('disableFontFace'),fontRegistry:fontRegistry});var fontReady=function fontReady(fontObjs){_this12.commonObjs.resolve(id,font)};this.fontLoader.bind([font],fontReady);break;case'FontPath':this.commonObjs.resolve(id,data[2]);break;default:throw new Error('Got unknown common object type '+type);}},this);messageHandler.on('obj',function transportObj(data){if(this.destroyed){return}var id=data[0];var pageIndex=data[1];var type=data[2];var pageProxy=this.pageCache[pageIndex];var imageData;if(pageProxy.objs.hasData(id)){return}switch(type){case'JpegStream':imageData=data[3];(0,_util.loadJpegStream)(id,imageData,pageProxy.objs);break;case'Image':imageData=data[3];pageProxy.objs.resolve(id,imageData);var MAX_IMAGE_SIZE_TO_STORE=8000000;if(imageData&&'data'in imageData&&imageData.data.length>MAX_IMAGE_SIZE_TO_STORE){pageProxy.cleanupAfterRender=true}break;default:throw new Error('Got unknown object type '+type);}},this);messageHandler.on('DocProgress',function transportDocProgress(data){if(this.destroyed){return}var loadingTask=this.loadingTask;if(loadingTask.onProgress){loadingTask.onProgress({loaded:data.loaded,total:data.total})}},this);messageHandler.on('PageError',function transportError(data){if(this.destroyed){return}var page=this.pageCache[data.pageNum-1];var intentState=page.intentStates[data.intent];if(intentState.displayReadyCapability){intentState.displayReadyCapability.reject(data.error)}else{throw new Error(data.error);}if(intentState.operatorList){intentState.operatorList.lastChunk=true;for(var i=0;ithis.numPages){return Promise.reject(new Error('Invalid page request'))}var pageIndex=pageNumber-1;if(pageIndex in this.pagePromises){return this.pagePromises[pageIndex]}var promise=this.messageHandler.sendWithPromise('GetPage',{pageIndex:pageIndex}).then(function(pageInfo){if(_this13.destroyed){throw new Error('Transport destroyed');}var page=new PDFPageProxy(pageIndex,pageInfo,_this13);_this13.pageCache[pageIndex]=page;return page});this.pagePromises[pageIndex]=promise;return promise},getPageIndex:function WorkerTransport_getPageIndexByRef(ref){return this.messageHandler.sendWithPromise('GetPageIndex',{ref:ref}).catch(function(reason){return Promise.reject(new Error(reason))})},getAnnotations:function WorkerTransport_getAnnotations(pageIndex,intent){return this.messageHandler.sendWithPromise('GetAnnotations',{pageIndex:pageIndex,intent:intent})},getDestinations:function WorkerTransport_getDestinations(){return this.messageHandler.sendWithPromise('GetDestinations',null)},getDestination:function WorkerTransport_getDestination(id){return this.messageHandler.sendWithPromise('GetDestination',{id:id})},getPageLabels:function WorkerTransport_getPageLabels(){return this.messageHandler.sendWithPromise('GetPageLabels',null)},getPageMode:function getPageMode(){return this.messageHandler.sendWithPromise('GetPageMode',null)},getAttachments:function WorkerTransport_getAttachments(){return this.messageHandler.sendWithPromise('GetAttachments',null)},getJavaScript:function WorkerTransport_getJavaScript(){return this.messageHandler.sendWithPromise('GetJavaScript',null)},getOutline:function WorkerTransport_getOutline(){return this.messageHandler.sendWithPromise('GetOutline',null)},getMetadata:function WorkerTransport_getMetadata(){return this.messageHandler.sendWithPromise('GetMetadata',null).then(function transportMetadata(results){return{info:results[0],metadata:results[1]?new _metadata.Metadata(results[1]):null}})},getStats:function WorkerTransport_getStats(){return this.messageHandler.sendWithPromise('GetStats',null)},startCleanup:function WorkerTransport_startCleanup(){var _this14=this;this.messageHandler.sendWithPromise('Cleanup',null).then(function(){for(var i=0,ii=_this14.pageCache.length;i0){container.style.borderWidth=data.borderStyle.width+'px';if(data.borderStyle.style!==_util.AnnotationBorderStyleType.UNDERLINE){width=width-2*data.borderStyle.width;height=height-2*data.borderStyle.width}var horizontalRadius=data.borderStyle.horizontalCornerRadius;var verticalRadius=data.borderStyle.verticalCornerRadius;if(horizontalRadius>0||verticalRadius>0){var radius=horizontalRadius+'px / '+verticalRadius+'px';_dom_utils.CustomStyle.setProp('borderRadius',container,radius)}switch(data.borderStyle.style){case _util.AnnotationBorderStyleType.SOLID:container.style.borderStyle='solid';break;case _util.AnnotationBorderStyleType.DASHED:container.style.borderStyle='dashed';break;case _util.AnnotationBorderStyleType.BEVELED:(0,_util.warn)('Unimplemented border style: beveled');break;case _util.AnnotationBorderStyleType.INSET:(0,_util.warn)('Unimplemented border style: inset');break;case _util.AnnotationBorderStyleType.UNDERLINE:container.style.borderBottomStyle='solid';break;default:break}if(data.color){container.style.borderColor=_util.Util.makeCssRgb(data.color[0]|0,data.color[1]|0,data.color[2]|0)}else{container.style.borderWidth=0}}container.style.left=rect[0]+'px';container.style.top=rect[1]+'px';container.style.width=width+'px';container.style.height=height+'px';return container},_createPopup:function AnnotationElement_createPopup(container,trigger,data){if(!trigger){trigger=document.createElement('div');trigger.style.height=container.style.height;trigger.style.width=container.style.width;container.appendChild(trigger)}var popupElement=new PopupElement({container:container,trigger:trigger,color:data.color,title:data.title,contents:data.contents,hideWrapper:true});var popup=popupElement.render();popup.style.left=container.style.width;container.appendChild(popup)},render:function AnnotationElement_render(){throw new Error('Abstract method AnnotationElement.render called');}};return AnnotationElement}();var LinkAnnotationElement=function LinkAnnotationElementClosure(){function LinkAnnotationElement(parameters){AnnotationElement.call(this,parameters,true)}_util.Util.inherit(LinkAnnotationElement,AnnotationElement,{render:function LinkAnnotationElement_render(){this.container.className='linkAnnotation';var link=document.createElement('a');(0,_dom_utils.addLinkAttributes)(link,{url:this.data.url,target:this.data.newWindow?_dom_utils.LinkTarget.BLANK:undefined});if(!this.data.url){if(this.data.action){this._bindNamedAction(link,this.data.action)}else{this._bindLink(link,this.data.dest)}}this.container.appendChild(link);return this.container},_bindLink:function _bindLink(link,destination){var _this=this;link.href=this.linkService.getDestinationHash(destination);link.onclick=function(){if(destination){_this.linkService.navigateTo(destination)}return false};if(destination){link.className='internalLink'}},_bindNamedAction:function _bindNamedAction(link,action){var _this2=this;link.href=this.linkService.getAnchorUrl('');link.onclick=function(){_this2.linkService.executeNamedAction(action);return false};link.className='internalLink'}});return LinkAnnotationElement}();var TextAnnotationElement=function TextAnnotationElementClosure(){function TextAnnotationElement(parameters){var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable)}_util.Util.inherit(TextAnnotationElement,AnnotationElement,{render:function TextAnnotationElement_render(){this.container.className='textAnnotation';var image=document.createElement('img');image.style.height=this.container.style.height;image.style.width=this.container.style.width;image.src=this.imageResourcesPath+'annotation-'+this.data.name.toLowerCase()+'.svg';image.alt='[{{type}} Annotation]';image.dataset.l10nId='text_annotation_type';image.dataset.l10nArgs=JSON.stringify({type:this.data.name});if(!this.data.hasPopup){this._createPopup(this.container,image,this.data)}this.container.appendChild(image);return this.container}});return TextAnnotationElement}();var WidgetAnnotationElement=function WidgetAnnotationElementClosure(){function WidgetAnnotationElement(parameters,isRenderable){AnnotationElement.call(this,parameters,isRenderable)}_util.Util.inherit(WidgetAnnotationElement,AnnotationElement,{render:function WidgetAnnotationElement_render(){return this.container}});return WidgetAnnotationElement}();var TextWidgetAnnotationElement=function TextWidgetAnnotationElementClosure(){var TEXT_ALIGNMENT=['left','center','right'];function TextWidgetAnnotationElement(parameters){var isRenderable=parameters.renderInteractiveForms||!parameters.data.hasAppearance&&!!parameters.data.fieldValue;WidgetAnnotationElement.call(this,parameters,isRenderable)}_util.Util.inherit(TextWidgetAnnotationElement,WidgetAnnotationElement,{render:function TextWidgetAnnotationElement_render(){this.container.className='textWidgetAnnotation';var element=null;if(this.renderInteractiveForms){if(this.data.multiLine){element=document.createElement('textarea');element.textContent=this.data.fieldValue}else{element=document.createElement('input');element.type='text';element.setAttribute('value',this.data.fieldValue)}element.disabled=this.data.readOnly;if(this.data.maxLen!==null){element.maxLength=this.data.maxLen}if(this.data.comb){var fieldWidth=this.data.rect[2]-this.data.rect[0];var combWidth=fieldWidth/this.data.maxLen;element.classList.add('comb');element.style.letterSpacing='calc('+combWidth+'px - 1ch)'}}else{element=document.createElement('div');element.textContent=this.data.fieldValue;element.style.verticalAlign='middle';element.style.display='table-cell';var font=null;if(this.data.fontRefName){font=this.page.commonObjs.getData(this.data.fontRefName)}this._setTextStyle(element,font)}if(this.data.textAlignment!==null){element.style.textAlign=TEXT_ALIGNMENT[this.data.textAlignment]}this.container.appendChild(element);return this.container},_setTextStyle:function TextWidgetAnnotationElement_setTextStyle(element,font){var style=element.style;style.fontSize=this.data.fontSize+'px';style.direction=this.data.fontDirection<0?'rtl':'ltr';if(!font){return}style.fontWeight=font.black?font.bold?'900':'bold':font.bold?'bold':'normal';style.fontStyle=font.italic?'italic':'normal';var fontFamily=font.loadedName?'"'+font.loadedName+'", ':'';var fallbackName=font.fallbackName||'Helvetica, sans-serif';style.fontFamily=fontFamily+fallbackName}});return TextWidgetAnnotationElement}();var CheckboxWidgetAnnotationElement=function CheckboxWidgetAnnotationElementClosure(){function CheckboxWidgetAnnotationElement(parameters){WidgetAnnotationElement.call(this,parameters,parameters.renderInteractiveForms)}_util.Util.inherit(CheckboxWidgetAnnotationElement,WidgetAnnotationElement,{render:function CheckboxWidgetAnnotationElement_render(){this.container.className='buttonWidgetAnnotation checkBox';var element=document.createElement('input');element.disabled=this.data.readOnly;element.type='checkbox';if(this.data.fieldValue&&this.data.fieldValue!=='Off'){element.setAttribute('checked',true)}this.container.appendChild(element);return this.container}});return CheckboxWidgetAnnotationElement}();var RadioButtonWidgetAnnotationElement=function RadioButtonWidgetAnnotationElementClosure(){function RadioButtonWidgetAnnotationElement(parameters){WidgetAnnotationElement.call(this,parameters,parameters.renderInteractiveForms)}_util.Util.inherit(RadioButtonWidgetAnnotationElement,WidgetAnnotationElement,{render:function RadioButtonWidgetAnnotationElement_render(){this.container.className='buttonWidgetAnnotation radioButton';var element=document.createElement('input');element.disabled=this.data.readOnly;element.type='radio';element.name=this.data.fieldName;if(this.data.fieldValue===this.data.buttonValue){element.setAttribute('checked',true)}this.container.appendChild(element);return this.container}});return RadioButtonWidgetAnnotationElement}();var ChoiceWidgetAnnotationElement=function ChoiceWidgetAnnotationElementClosure(){function ChoiceWidgetAnnotationElement(parameters){WidgetAnnotationElement.call(this,parameters,parameters.renderInteractiveForms)}_util.Util.inherit(ChoiceWidgetAnnotationElement,WidgetAnnotationElement,{render:function ChoiceWidgetAnnotationElement_render(){this.container.className='choiceWidgetAnnotation';var selectElement=document.createElement('select');selectElement.disabled=this.data.readOnly;if(!this.data.combo){selectElement.size=this.data.options.length;if(this.data.multiSelect){selectElement.multiple=true}}for(var i=0,ii=this.data.options.length;i=0){optionElement.setAttribute('selected',true)}selectElement.appendChild(optionElement)}this.container.appendChild(selectElement);return this.container}});return ChoiceWidgetAnnotationElement}();var PopupAnnotationElement=function PopupAnnotationElementClosure(){var IGNORE_TYPES=['Line'];function PopupAnnotationElement(parameters){var isRenderable=!!(parameters.data.title||parameters.data.contents);AnnotationElement.call(this,parameters,isRenderable)}_util.Util.inherit(PopupAnnotationElement,AnnotationElement,{render:function PopupAnnotationElement_render(){this.container.className='popupAnnotation';if(IGNORE_TYPES.indexOf(this.data.parentType)>=0){return this.container}var selector='[data-annotation-id="'+this.data.parentId+'"]';var parentElement=this.layer.querySelector(selector);if(!parentElement){return this.container}var popup=new PopupElement({container:this.container,trigger:parentElement,color:this.data.color,title:this.data.title,contents:this.data.contents});var parentLeft=parseFloat(parentElement.style.left);var parentWidth=parseFloat(parentElement.style.width);_dom_utils.CustomStyle.setProp('transformOrigin',this.container,-(parentLeft+parentWidth)+'px -'+parentElement.style.top);this.container.style.left=parentLeft+parentWidth+'px';this.container.appendChild(popup.render());return this.container}});return PopupAnnotationElement}();var PopupElement=function PopupElementClosure(){var BACKGROUND_ENLIGHT=0.7;function PopupElement(parameters){this.container=parameters.container;this.trigger=parameters.trigger;this.color=parameters.color;this.title=parameters.title;this.contents=parameters.contents;this.hideWrapper=parameters.hideWrapper||false;this.pinned=false}PopupElement.prototype={render:function PopupElement_render(){var wrapper=document.createElement('div');wrapper.className='popupWrapper';this.hideElement=this.hideWrapper?wrapper:this.container;this.hideElement.setAttribute('hidden',true);var popup=document.createElement('div');popup.className='popup';var color=this.color;if(color){var r=BACKGROUND_ENLIGHT*(255-color[0])+color[0];var g=BACKGROUND_ENLIGHT*(255-color[1])+color[1];var b=BACKGROUND_ENLIGHT*(255-color[2])+color[2];popup.style.backgroundColor=_util.Util.makeCssRgb(r|0,g|0,b|0)}var contents=this._formatContents(this.contents);var title=document.createElement('h1');title.textContent=this.title;this.trigger.addEventListener('click',this._toggle.bind(this));this.trigger.addEventListener('mouseover',this._show.bind(this,false));this.trigger.addEventListener('mouseout',this._hide.bind(this,false));popup.addEventListener('click',this._hide.bind(this,true));popup.appendChild(title);popup.appendChild(contents);wrapper.appendChild(popup);return wrapper},_formatContents:function PopupElement_formatContents(contents){var p=document.createElement('p');var lines=contents.split(/(?:\r\n?|\n)/);for(var i=0,ii=lines.length;i>1&0x7fffffff}else{c=c>>1&0x7fffffff}}crcTable[i]=c}function crc32(data,start,end){var crc=-1;for(var i=start;i>>8^b}return crc^-1}function writePngChunk(type,body,data,offset){var p=offset;var len=body.length;data[p]=len>>24&0xff;data[p+1]=len>>16&0xff;data[p+2]=len>>8&0xff;data[p+3]=len&0xff;p+=4;data[p]=type.charCodeAt(0)&0xff;data[p+1]=type.charCodeAt(1)&0xff;data[p+2]=type.charCodeAt(2)&0xff;data[p+3]=type.charCodeAt(3)&0xff;p+=4;data.set(body,p);p+=body.length;var crc=crc32(data,offset+4,p);data[p]=crc>>24&0xff;data[p+1]=crc>>16&0xff;data[p+2]=crc>>8&0xff;data[p+3]=crc&0xff}function adler32(data,start,end){var a=1;var b=0;for(var i=start;i=8){input=literals}else{input=new Buffer(literals)}var output=require('zlib').deflateSync(input,{level:9});return output instanceof Uint8Array?output:new Uint8Array(output)}catch(e){(0,_util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: '+e)}return deflateSyncUncompressed(literals)}function deflateSyncUncompressed(literals){var len=literals.length;var maxBlockLength=0xFFFF;var deflateBlocks=Math.ceil(len/maxBlockLength);var idat=new Uint8Array(2+len+deflateBlocks*5+4);var pi=0;idat[pi++]=0x78;idat[pi++]=0x9c;var pos=0;while(len>maxBlockLength){idat[pi++]=0x00;idat[pi++]=0xff;idat[pi++]=0xff;idat[pi++]=0x00;idat[pi++]=0x00;idat.set(literals.subarray(pos,pos+maxBlockLength),pi);pi+=maxBlockLength;pos+=maxBlockLength;len-=maxBlockLength}idat[pi++]=0x01;idat[pi++]=len&0xff;idat[pi++]=len>>8&0xff;idat[pi++]=~len&0xffff&0xff;idat[pi++]=(~len&0xffff)>>8&0xff;idat.set(literals.subarray(pos),pi);pi+=literals.length-pos;var adler=adler32(literals,0,literals.length);idat[pi++]=adler>>24&0xff;idat[pi++]=adler>>16&0xff;idat[pi++]=adler>>8&0xff;idat[pi++]=adler&0xff;return idat}function encode(imgData,kind,forceDataSchema){var width=imgData.width;var height=imgData.height;var bitDepth,colorType,lineSize;var bytes=imgData.data;switch(kind){case _util.ImageKind.GRAYSCALE_1BPP:colorType=0;bitDepth=1;lineSize=width+7>>3;break;case _util.ImageKind.RGB_24BPP:colorType=2;bitDepth=8;lineSize=width*3;break;case _util.ImageKind.RGBA_32BPP:colorType=6;bitDepth=8;lineSize=width*4;break;default:throw new Error('invalid format');}var literals=new Uint8Array((1+lineSize)*height);var offsetLiterals=0,offsetBytes=0;var y,i;for(y=0;y>24&0xff,width>>16&0xff,width>>8&0xff,width&0xff,height>>24&0xff,height>>16&0xff,height>>8&0xff,height&0xff,bitDepth,colorType,0x00,0x00,0x00]);var idat=deflateSync(literals);var pngLength=PNG_HEADER.length+CHUNK_WRAPPER_SIZE*3+ihdr.length+idat.length;var data=new Uint8Array(pngLength);var offset=0;data.set(PNG_HEADER,offset);offset+=PNG_HEADER.length;writePngChunk('IHDR',ihdr,data,offset);offset+=CHUNK_WRAPPER_SIZE+ihdr.length;writePngChunk('IDATA',idat,data,offset);offset+=CHUNK_WRAPPER_SIZE+idat.length;writePngChunk('IEND',new Uint8Array(0),data,offset);return(0,_util.createObjectURL)(data,'image/png',forceDataSchema)}return function convertImgDataToPng(imgData,forceDataSchema){var kind=imgData.kind===undefined?_util.ImageKind.GRAYSCALE_1BPP:imgData.kind;return encode(imgData,kind,forceDataSchema)}}();var SVGExtraState=function SVGExtraStateClosure(){function SVGExtraState(){this.fontSizeScale=1;this.fontWeight=SVG_DEFAULTS.fontWeight;this.fontSize=0;this.textMatrix=_util.IDENTITY_MATRIX;this.fontMatrix=_util.FONT_IDENTITY_MATRIX;this.leading=0;this.x=0;this.y=0;this.lineX=0;this.lineY=0;this.charSpacing=0;this.wordSpacing=0;this.textHScale=1;this.textRise=0;this.fillColor=SVG_DEFAULTS.fillColor;this.strokeColor='#000000';this.fillAlpha=1;this.strokeAlpha=1;this.lineWidth=1;this.lineJoin='';this.lineCap='';this.miterLimit=0;this.dashArray=[];this.dashPhase=0;this.dependencies=[];this.activeClipUrl=null;this.clipGroup=null;this.maskId=''}SVGExtraState.prototype={clone:function SVGExtraState_clone(){return Object.create(this)},setCurrentPoint:function SVGExtraState_setCurrentPoint(x,y){this.x=x;this.y=y}};return SVGExtraState}();exports.SVGGraphics=SVGGraphics=function SVGGraphicsClosure(){function opListToTree(opList){var opTree=[];var tmp=[];var opListLen=opList.length;for(var x=0;x1){if(style.vertical){textDivProperties.canvasWidth=geom.height*task._viewport.scale}else{textDivProperties.canvasWidth=geom.width*task._viewport.scale}}task._textDivProperties.set(textDiv,textDivProperties);if(task._textContentStream){task._layoutText(textDiv)}if(task._enhanceTextSelection){var angleCos=1,angleSin=0;if(angle!==0){angleCos=Math.cos(angle);angleSin=Math.sin(angle)}var divWidth=(style.vertical?geom.height:geom.width)*task._viewport.scale;var divHeight=fontHeight;var m,b;if(angle!==0){m=[angleCos,angleSin,-angleSin,angleCos,left,top];b=_util.Util.getAxialAlignedBoundingBox([0,0,divWidth,divHeight],m)}else{b=[left,top,left+divWidth,top+divHeight]}task._bounds.push({left:b[0],top:b[1],right:b[2],bottom:b[3],div:textDiv,size:[divWidth,divHeight],m:m})}}function render(task){if(task._canceled){return}var textDivs=task._textDivs;var capability=task._capability;var textDivsLength=textDivs.length;if(textDivsLength>MAX_TEXT_DIVS_TO_RENDER){task._renderingDone=true;capability.resolve();return}if(!task._textContentStream){for(var i=0;i0){result=result?Math.min(t,result):t}}return result};var boxScale=1+Math.min(Math.abs(c),Math.abs(s));divProperties.paddingLeft=findPositiveMin(ts,32,16)/boxScale;divProperties.paddingTop=findPositiveMin(ts,48,16)/boxScale;divProperties.paddingRight=findPositiveMin(ts,0,16)/boxScale;divProperties.paddingBottom=findPositiveMin(ts,16,16)/boxScale;task._textDivProperties.set(div,divProperties)}}function expandBounds(width,height,boxes){var bounds=boxes.map(function(box,i){return{x1:box.left,y1:box.top,x2:box.right,y2:box.bottom,index:i,x1New:undefined,x2New:undefined}});expandBoundsLTR(width,bounds);var expanded=new Array(boxes.length);bounds.forEach(function(b){var i=b.index;expanded[i]={left:b.x1New,top:0,right:b.x2New,bottom:0}});boxes.map(function(box,i){var e=expanded[i],b=bounds[i];b.x1=box.top;b.y1=width-e.right;b.x2=box.bottom;b.y2=width-e.left;b.index=i;b.x1New=undefined;b.x2New=undefined});expandBoundsLTR(height,bounds);bounds.forEach(function(b){var i=b.index;expanded[i].top=b.x1New;expanded[i].bottom=b.x2New});return expanded}function expandBoundsLTR(width,bounds){bounds.sort(function(a,b){return a.x1-b.x1||a.index-b.index});var fakeBoundary={x1:-Infinity,y1:-Infinity,x2:0,y2:Infinity,index:-1,x1New:0,x2New:0};var horizon=[{start:-Infinity,end:Infinity,boundary:fakeBoundary}];bounds.forEach(function(boundary){var i=0;while(i=0&&horizon[j].start>=boundary.y2){j--}var horizonPart,affectedBoundary;var q,k,maxXNew=-Infinity;for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;var xNew;if(affectedBoundary.x2>boundary.x1){xNew=affectedBoundary.index>boundary.index?affectedBoundary.x1New:boundary.x1}else if(affectedBoundary.x2New===undefined){xNew=(affectedBoundary.x2+boundary.x1)/2}else{xNew=affectedBoundary.x2New}if(xNew>maxXNew){maxXNew=xNew}}boundary.x1New=maxXNew;for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;if(affectedBoundary.x2New===undefined){if(affectedBoundary.x2>boundary.x1){if(affectedBoundary.index>boundary.index){affectedBoundary.x2New=affectedBoundary.x2}}else{affectedBoundary.x2New=maxXNew}}else if(affectedBoundary.x2New>maxXNew){affectedBoundary.x2New=Math.max(maxXNew,affectedBoundary.x2)}}var changedHorizon=[],lastBoundary=null;for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;var useBoundary=affectedBoundary.x2>boundary.x2?affectedBoundary:boundary;if(lastBoundary===useBoundary){changedHorizon[changedHorizon.length-1].end=horizonPart.end}else{changedHorizon.push({start:horizonPart.start,end:horizonPart.end,boundary:useBoundary});lastBoundary=useBoundary}}if(horizon[i].start=0&&horizon[k].start>=affectedBoundary.y1;k--){used=horizon[k].boundary===affectedBoundary}for(k=j+1;!used&&k0){textDivProperties.scale=textDivProperties.canvasWidth/width;transform='scaleX('+textDivProperties.scale+')'}if(textDivProperties.angle!==0){transform='rotate('+textDivProperties.angle+'deg) '+transform}if(transform!==''){textDivProperties.originalTransform=transform;_dom_utils.CustomStyle.setProp('transform',textDiv,transform)}this._textDivProperties.set(textDiv,textDivProperties);textLayerFrag.appendChild(textDiv)},_render:function TextLayer_render(timeout){var _this=this;var capability=(0,_util.createPromiseCapability)();var styleCache=Object.create(null);var canvas=document.createElement('canvas');canvas.mozOpaque=true;this._layoutTextCtx=canvas.getContext('2d',{alpha:false});if(this._textContent){var textItems=this._textContent.items;var textStyles=this._textContent.styles;this._processItems(textItems,textStyles);capability.resolve()}else if(this._textContentStream){var pump=function pump(){_this._reader.read().then(function(_ref2){var value=_ref2.value,done=_ref2.done;if(done){capability.resolve();return}_util.Util.extendObj(styleCache,value.styles);_this._processItems(value.items,styleCache);pump()},capability.reject)};this._reader=this._textContentStream.getReader();pump()}else{throw new Error('Neither "textContent" nor "textContentStream"'+' parameters specified.');}capability.promise.then(function(){styleCache=null;if(!timeout){render(_this)}else{_this._renderTimer=setTimeout(function(){render(_this);_this._renderTimer=null},timeout)}},this._capability.reject)},expandTextDivs:function TextLayer_expandTextDivs(expandDivs){if(!this._enhanceTextSelection||!this._renderingDone){return}if(this._bounds!==null){expand(this);this._bounds=null}for(var i=0,ii=this._textDivs.length;i\\376\\377([^<]+)/g,function(all,codes){var bytes=codes.replace(/\\([0-3])([0-7])([0-7])/g,function(code,d1,d2,d3){return String.fromCharCode(d1*64+d2*8+d3*1)});var chars='';for(var i=0;i=32&&code<127&&code!==60&&code!==62&&code!==38?String.fromCharCode(code):'&#x'+(0x10000+code).toString(16).substring(1)+';'}return'>'+chars})}function Metadata(meta){if(typeof meta==='string'){meta=fixMetadata(meta);var parser=new DOMParser();meta=parser.parseFromString(meta,'application/xml')}else if(!(meta instanceof Document)){throw new Error('Metadata: Invalid metadata object');}this.metaDocument=meta;this.metadata=Object.create(null);this.parse()}Metadata.prototype={parse:function Metadata_parse(){var doc=this.metaDocument;var rdf=doc.documentElement;if(rdf.nodeName.toLowerCase()!=='rdf:rdf'){rdf=rdf.firstChild;while(rdf&&rdf.nodeName.toLowerCase()!=='rdf:rdf'){rdf=rdf.nextSibling}}var nodeName=rdf?rdf.nodeName.toLowerCase():null;if(!rdf||nodeName!=='rdf:rdf'||!rdf.hasChildNodes()){return}var children=rdf.childNodes,desc,entry,name,i,ii,length,iLength;for(i=0,length=children.length;i=2&&pendingRequest.onHeadersReceived){pendingRequest.onHeadersReceived();delete pendingRequest.onHeadersReceived}if(xhr.readyState!==4){return}if(!(xhrId in this.pendingRequests)){return}delete this.pendingRequests[xhrId];if(xhr.status===0&&this.isHttp){if(pendingRequest.onError){pendingRequest.onError(xhr.status)}return}var xhrStatus=xhr.status||OK_RESPONSE;var ok_response_on_range_request=xhrStatus===OK_RESPONSE&&pendingRequest.expectedStatus===PARTIAL_CONTENT_RESPONSE;if(!ok_response_on_range_request&&xhrStatus!==pendingRequest.expectedStatus){if(pendingRequest.onError){pendingRequest.onError(xhr.status)}return}this.loadedRequests[xhrId]=true;var chunk=getArrayBuffer(xhr);if(xhrStatus===PARTIAL_CONTENT_RESPONSE){var rangeHeader=xhr.getResponseHeader('Content-Range');var matches=/bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);var begin=parseInt(matches[1],10);pendingRequest.onDone({begin:begin,chunk:chunk})}else if(pendingRequest.onProgressiveData){pendingRequest.onDone(null)}else if(chunk){pendingRequest.onDone({begin:0,chunk:chunk})}else if(pendingRequest.onError){pendingRequest.onError(xhr.status)}},hasPendingRequests:function NetworkManager_hasPendingRequests(){for(var xhrId in this.pendingRequests){return true}return false},getRequestXhr:function NetworkManager_getXhr(xhrId){return this.pendingRequests[xhrId].xhr},isStreamingRequest:function NetworkManager_isStreamingRequest(xhrId){return!!this.pendingRequests[xhrId].onProgressiveData},isPendingRequest:function NetworkManager_isPendingRequest(xhrId){return xhrId in this.pendingRequests},isLoadedRequest:function NetworkManager_isLoadedRequest(xhrId){return xhrId in this.loadedRequests},abortAllRequests:function NetworkManager_abortAllRequests(){for(var xhrId in this.pendingRequests){this.abortRequest(xhrId|0)}},abortRequest:function NetworkManager_abortRequest(xhrId){var xhr=this.pendingRequests[xhrId].xhr;delete this.pendingRequests[xhrId];xhr.abort()}};function PDFNetworkStream(options){this._options=options;var source=options.source;this._manager=new NetworkManager(source.url,{httpHeaders:source.httpHeaders,withCredentials:source.withCredentials});this._rangeChunkSize=source.rangeChunkSize;this._fullRequestReader=null;this._rangeRequestReaders=[]}PDFNetworkStream.prototype={_onRangeRequestReaderClosed:function PDFNetworkStream_onRangeRequestReaderClosed(reader){var i=this._rangeRequestReaders.indexOf(reader);if(i>=0){this._rangeRequestReaders.splice(i,1)}},getFullReader:function PDFNetworkStream_getFullReader(){(0,_util.assert)(!this._fullRequestReader);this._fullRequestReader=new PDFNetworkStreamFullRequestReader(this._manager,this._options);return this._fullRequestReader},getRangeReader:function PDFNetworkStream_getRangeReader(begin,end){var reader=new PDFNetworkStreamRangeRequestReader(this._manager,begin,end);reader.onClosed=this._onRangeRequestReaderClosed.bind(this);this._rangeRequestReaders.push(reader);return reader},cancelAllRequests:function PDFNetworkStream_cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason)}var readers=this._rangeRequestReaders.slice(0);readers.forEach(function(reader){reader.cancel(reason)})}};function PDFNetworkStreamFullRequestReader(manager,options){this._manager=manager;var source=options.source;var args={onHeadersReceived:this._onHeadersReceived.bind(this),onProgressiveData:source.disableStream?null:this._onProgressiveData.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=source.url;this._fullRequestId=manager.requestFull(args);this._headersReceivedCapability=(0,_util.createPromiseCapability)();this._disableRange=options.disableRange||false;this._contentLength=source.length;this._rangeChunkSize=source.rangeChunkSize;if(!this._rangeChunkSize&&!this._disableRange){this._disableRange=true}this._isStreamingSupported=false;this._isRangeSupported=false;this._cachedChunks=[];this._requests=[];this._done=false;this._storedError=undefined;this.onProgress=null}PDFNetworkStreamFullRequestReader.prototype={_validateRangeRequestCapabilities:function PDFNetworkStreamFullRequestReader_validateRangeRequestCapabilities(){if(this._disableRange){return false}var networkManager=this._manager;if(!networkManager.isHttp){return false}var fullRequestXhrId=this._fullRequestId;var fullRequestXhr=networkManager.getRequestXhr(fullRequestXhrId);if(fullRequestXhr.getResponseHeader('Accept-Ranges')!=='bytes'){return false}var contentEncoding=fullRequestXhr.getResponseHeader('Content-Encoding')||'identity';if(contentEncoding!=='identity'){return false}var length=fullRequestXhr.getResponseHeader('Content-Length');length=parseInt(length,10);if(!(0,_util.isInt)(length)){return false}this._contentLength=length;if(length<=2*this._rangeChunkSize){return false}return true},_onHeadersReceived:function PDFNetworkStreamFullRequestReader_onHeadersReceived(){if(this._validateRangeRequestCapabilities()){this._isRangeSupported=true}var networkManager=this._manager;var fullRequestXhrId=this._fullRequestId;if(networkManager.isStreamingRequest(fullRequestXhrId)){this._isStreamingSupported=true}else if(this._isRangeSupported){networkManager.abortRequest(fullRequestXhrId)}this._headersReceivedCapability.resolve()},_onProgressiveData:function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk){if(this._requests.length>0){var requestCapability=this._requests.shift();requestCapability.resolve({value:chunk,done:false})}else{this._cachedChunks.push(chunk)}},_onDone:function PDFNetworkStreamFullRequestReader_onDone(args){if(args){this._onProgressiveData(args.chunk)}this._done=true;if(this._cachedChunks.length>0){return}this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[]},_onError:function PDFNetworkStreamFullRequestReader_onError(status){var url=this._url;var exception;if(status===404||status===0&&/^file:/.test(url)){exception=new _util.MissingPDFException('Missing PDF "'+url+'".')}else{exception=new _util.UnexpectedResponseException('Unexpected server response ('+status+') while retrieving PDF "'+url+'".',status)}this._storedError=exception;this._headersReceivedCapability.reject(exception);this._requests.forEach(function(requestCapability){requestCapability.reject(exception)});this._requests=[];this._cachedChunks=[]},_onProgress:function PDFNetworkStreamFullRequestReader_onProgress(data){if(this.onProgress){this.onProgress({loaded:data.loaded,total:data.lengthComputable?data.total:this._contentLength})}},get isRangeSupported(){return this._isRangeSupported},get isStreamingSupported(){return this._isStreamingSupported},get contentLength(){return this._contentLength},get headersReady(){return this._headersReceivedCapability.promise},read:function PDFNetworkStreamFullRequestReader_read(){if(this._storedError){return Promise.reject(this._storedError)}if(this._cachedChunks.length>0){var chunk=this._cachedChunks.shift();return Promise.resolve({value:chunk,done:false})}if(this._done){return Promise.resolve({value:undefined,done:true})}var requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return requestCapability.promise},cancel:function PDFNetworkStreamFullRequestReader_cancel(reason){this._done=true;this._headersReceivedCapability.reject(reason);this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[];if(this._manager.isPendingRequest(this._fullRequestId)){this._manager.abortRequest(this._fullRequestId)}this._fullRequestReader=null}};function PDFNetworkStreamRangeRequestReader(manager,begin,end){this._manager=manager;var args={onDone:this._onDone.bind(this),onProgress:this._onProgress.bind(this)};this._requestId=manager.requestRange(begin,end,args);this._requests=[];this._queuedChunk=null;this._done=false;this.onProgress=null;this.onClosed=null}PDFNetworkStreamRangeRequestReader.prototype={_close:function PDFNetworkStreamRangeRequestReader_close(){if(this.onClosed){this.onClosed(this)}},_onDone:function PDFNetworkStreamRangeRequestReader_onDone(data){var chunk=data.chunk;if(this._requests.length>0){var requestCapability=this._requests.shift();requestCapability.resolve({value:chunk,done:false})}else{this._queuedChunk=chunk}this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[];this._close()},_onProgress:function PDFNetworkStreamRangeRequestReader_onProgress(evt){if(!this.isStreamingSupported&&this.onProgress){this.onProgress({loaded:evt.loaded})}},get isStreamingSupported(){return false},read:function PDFNetworkStreamRangeRequestReader_read(){if(this._queuedChunk!==null){var chunk=this._queuedChunk;this._queuedChunk=null;return Promise.resolve({value:chunk,done:false})}if(this._done){return Promise.resolve({value:undefined,done:true})}var requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return requestCapability.promise},cancel:function PDFNetworkStreamRangeRequestReader_cancel(reason){this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[];if(this._manager.isPendingRequest(this._requestId)){this._manager.abortRequest(this._requestId)}this._close()}};(0,_api.setPDFNetworkStreamClass)(PDFNetworkStream);exports.PDFNetworkStream=PDFNetworkStream;exports.NetworkManager=NetworkManager}),(function(module,exports,__w_pdfjs_require__){"use strict";var _typeof2=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};(function(e,a){for(var i in a){e[i]=a[i]}})(exports,function(modules){var installedModules={};function __w_pdfjs_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__w_pdfjs_require__);module.l=true;return module.exports}__w_pdfjs_require__.m=modules;__w_pdfjs_require__.c=installedModules;__w_pdfjs_require__.i=function(value){return value};__w_pdfjs_require__.d=function(exports,name,getter){if(!__w_pdfjs_require__.o(exports,name)){Object.defineProperty(exports,name,{configurable:false,enumerable:true,get:getter})}};__w_pdfjs_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module['default']}:function getModuleExports(){return module};__w_pdfjs_require__.d(getter,'a',getter);return getter};__w_pdfjs_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__w_pdfjs_require__.p="";return __w_pdfjs_require__(__w_pdfjs_require__.s=7)}([function(module,exports,__w_pdfjs_require__){"use strict";var _typeof=typeof Symbol==="function"&&_typeof2(Symbol.iterator)==="symbol"?function(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj)}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj==='undefined'?'undefined':_typeof2(obj)};var _require=__w_pdfjs_require__(1),assert=_require.assert;function IsPropertyKey(argument){return typeof argument==='string'||(typeof argument==='undefined'?'undefined':_typeof(argument))==='symbol'}exports.typeIsObject=function(x){return(typeof x==='undefined'?'undefined':_typeof(x))==='object'&&x!==null||typeof x==='function'};exports.createDataProperty=function(o,p,v){assert(exports.typeIsObject(o));Object.defineProperty(o,p,{value:v,writable:true,enumerable:true,configurable:true})};exports.createArrayFromList=function(elements){return elements.slice()};exports.ArrayBufferCopy=function(dest,destOffset,src,srcOffset,n){new Uint8Array(dest).set(new Uint8Array(src,srcOffset,n),destOffset)};exports.CreateIterResultObject=function(value,done){assert(typeof done==='boolean');var obj={};Object.defineProperty(obj,'value',{value:value,enumerable:true,writable:true,configurable:true});Object.defineProperty(obj,'done',{value:done,enumerable:true,writable:true,configurable:true});return obj};exports.IsFiniteNonNegativeNumber=function(v){if(Number.isNaN(v)){return false}if(v===Infinity){return false}if(v<0){return false}return true};function Call(F,V,args){if(typeof F!=='function'){throw new TypeError('Argument is not a function');}return Function.prototype.apply.call(F,V,args)}exports.InvokeOrNoop=function(O,P,args){assert(O!==undefined);assert(IsPropertyKey(P));assert(Array.isArray(args));var method=O[P];if(method===undefined){return undefined}return Call(method,O,args)};exports.PromiseInvokeOrNoop=function(O,P,args){assert(O!==undefined);assert(IsPropertyKey(P));assert(Array.isArray(args));try{return Promise.resolve(exports.InvokeOrNoop(O,P,args))}catch(returnValueE){return Promise.reject(returnValueE)}};exports.PromiseInvokeOrPerformFallback=function(O,P,args,F,argsF){assert(O!==undefined);assert(IsPropertyKey(P));assert(Array.isArray(args));assert(Array.isArray(argsF));var method=void 0;try{method=O[P]}catch(methodE){return Promise.reject(methodE)}if(method===undefined){return F.apply(null,argsF)}try{return Promise.resolve(Call(method,O,args))}catch(e){return Promise.reject(e)}};exports.TransferArrayBuffer=function(O){return O.slice()};exports.ValidateAndNormalizeHighWaterMark=function(highWaterMark){highWaterMark=Number(highWaterMark);if(Number.isNaN(highWaterMark)||highWaterMark<0){throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');}return highWaterMark};exports.ValidateAndNormalizeQueuingStrategy=function(size,highWaterMark){if(size!==undefined&&typeof size!=='function'){throw new TypeError('size property of a queuing strategy must be a function');}highWaterMark=exports.ValidateAndNormalizeHighWaterMark(highWaterMark);return{size:size,highWaterMark:highWaterMark}}},function(module,exports,__w_pdfjs_require__){"use strict";function rethrowAssertionErrorRejection(e){if(e&&e.constructor===AssertionError){setTimeout(function(){throw e;},0)}}function AssertionError(message){this.name='AssertionError';this.message=message||'';this.stack=new Error().stack}AssertionError.prototype=Object.create(Error.prototype);AssertionError.prototype.constructor=AssertionError;function assert(value,message){if(!value){throw new AssertionError(message);}}module.exports={rethrowAssertionErrorRejection:rethrowAssertionErrorRejection,AssertionError:AssertionError,assert:assert}},function(module,exports,__w_pdfjs_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},size=_ref.size,_ref$highWaterMark=_ref.highWaterMark,highWaterMark=_ref$highWaterMark===undefined?1:_ref$highWaterMark;_classCallCheck(this,WritableStream);this._state='writable';this._storedError=undefined;this._writer=undefined;this._writableStreamController=undefined;this._writeRequests=[];this._inFlightWriteRequest=undefined;this._closeRequest=undefined;this._inFlightCloseRequest=undefined;this._pendingAbortRequest=undefined;this._backpressure=false;var type=underlyingSink.type;if(type!==undefined){throw new RangeError('Invalid type is specified');}this._writableStreamController=new WritableStreamDefaultController(this,underlyingSink,size,highWaterMark);this._writableStreamController.__startSteps()}_createClass(WritableStream,[{key:'abort',value:function abort(reason){if(IsWritableStream(this)===false){return Promise.reject(streamBrandCheckException('abort'))}if(IsWritableStreamLocked(this)===true){return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'))}return WritableStreamAbort(this,reason)}},{key:'getWriter',value:function getWriter(){if(IsWritableStream(this)===false){throw streamBrandCheckException('getWriter');}return AcquireWritableStreamDefaultWriter(this)}},{key:'locked',get:function get(){if(IsWritableStream(this)===false){throw streamBrandCheckException('locked');}return IsWritableStreamLocked(this)}}]);return WritableStream}();module.exports={AcquireWritableStreamDefaultWriter:AcquireWritableStreamDefaultWriter,IsWritableStream:IsWritableStream,IsWritableStreamLocked:IsWritableStreamLocked,WritableStream:WritableStream,WritableStreamAbort:WritableStreamAbort,WritableStreamDefaultControllerError:WritableStreamDefaultControllerError,WritableStreamDefaultWriterCloseWithErrorPropagation:WritableStreamDefaultWriterCloseWithErrorPropagation,WritableStreamDefaultWriterRelease:WritableStreamDefaultWriterRelease,WritableStreamDefaultWriterWrite:WritableStreamDefaultWriterWrite,WritableStreamCloseQueuedOrInFlight:WritableStreamCloseQueuedOrInFlight};function AcquireWritableStreamDefaultWriter(stream){return new WritableStreamDefaultWriter(stream)}function IsWritableStream(x){if(!typeIsObject(x)){return false}if(!Object.prototype.hasOwnProperty.call(x,'_writableStreamController')){return false}return true}function IsWritableStreamLocked(stream){assert(IsWritableStream(stream)===true,'IsWritableStreamLocked should only be used on known writable streams');if(stream._writer===undefined){return false}return true}function WritableStreamAbort(stream,reason){var state=stream._state;if(state==='closed'){return Promise.resolve(undefined)}if(state==='errored'){return Promise.reject(stream._storedError)}var error=new TypeError('Requested to abort');if(stream._pendingAbortRequest!==undefined){return Promise.reject(error)}assert(state==='writable'||state==='erroring','state must be writable or erroring');var wasAlreadyErroring=false;if(state==='erroring'){wasAlreadyErroring=true;reason=undefined}var promise=new Promise(function(resolve,reject){stream._pendingAbortRequest={_resolve:resolve,_reject:reject,_reason:reason,_wasAlreadyErroring:wasAlreadyErroring}});if(wasAlreadyErroring===false){WritableStreamStartErroring(stream,error)}return promise}function WritableStreamAddWriteRequest(stream){assert(IsWritableStreamLocked(stream)===true);assert(stream._state==='writable');var promise=new Promise(function(resolve,reject){var writeRequest={_resolve:resolve,_reject:reject};stream._writeRequests.push(writeRequest)});return promise}function WritableStreamDealWithRejection(stream,error){var state=stream._state;if(state==='writable'){WritableStreamStartErroring(stream,error);return}assert(state==='erroring');WritableStreamFinishErroring(stream)}function WritableStreamStartErroring(stream,reason){assert(stream._storedError===undefined,'stream._storedError === undefined');assert(stream._state==='writable','state must be writable');var controller=stream._writableStreamController;assert(controller!==undefined,'controller must not be undefined');stream._state='erroring';stream._storedError=reason;var writer=stream._writer;if(writer!==undefined){WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,reason)}if(WritableStreamHasOperationMarkedInFlight(stream)===false&&controller._started===true){WritableStreamFinishErroring(stream)}}function WritableStreamFinishErroring(stream){assert(stream._state==='erroring','stream._state === erroring');assert(WritableStreamHasOperationMarkedInFlight(stream)===false,'WritableStreamHasOperationMarkedInFlight(stream) === false');stream._state='errored';stream._writableStreamController.__errorSteps();var storedError=stream._storedError;for(var i=0;i0,'Spec-level failure: should never dequeue from an empty queue.');var pair=container._queue.shift();container._queueTotalSize-=pair.size;if(container._queueTotalSize<0){container._queueTotalSize=0}return pair.value};exports.EnqueueValueWithSize=function(container,value,size){assert('_queue'in container&&'_queueTotalSize'in container,'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and '+'[[queueTotalSize]].');size=Number(size);if(!IsFiniteNonNegativeNumber(size)){throw new RangeError('Size must be a finite, non-NaN, non-negative number.');}container._queue.push({value:value,size:size});container._queueTotalSize+=size};exports.PeekQueueValue=function(container){assert('_queue'in container&&'_queueTotalSize'in container,'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');assert(container._queue.length>0,'Spec-level failure: should never peek at an empty queue.');var pair=container._queue[0];return pair.value};exports.ResetQueue=function(container){assert('_queue'in container&&'_queueTotalSize'in container,'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');container._queue=[];container._queueTotalSize=0}},function(module,exports,__w_pdfjs_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},size=_ref.size,highWaterMark=_ref.highWaterMark;_classCallCheck(this,ReadableStream);this._state='readable';this._reader=undefined;this._storedError=undefined;this._disturbed=false;this._readableStreamController=undefined;var type=underlyingSource.type;var typeString=String(type);if(typeString==='bytes'){if(highWaterMark===undefined){highWaterMark=0}this._readableStreamController=new ReadableByteStreamController(this,underlyingSource,highWaterMark)}else if(type===undefined){if(highWaterMark===undefined){highWaterMark=1}this._readableStreamController=new ReadableStreamDefaultController(this,underlyingSource,size,highWaterMark)}else{throw new RangeError('Invalid type is specified');}}_createClass(ReadableStream,[{key:'cancel',value:function cancel(reason){if(IsReadableStream(this)===false){return Promise.reject(streamBrandCheckException('cancel'))}if(IsReadableStreamLocked(this)===true){return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'))}return ReadableStreamCancel(this,reason)}},{key:'getReader',value:function getReader(){var _ref2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},mode=_ref2.mode;if(IsReadableStream(this)===false){throw streamBrandCheckException('getReader');}if(mode===undefined){return AcquireReadableStreamDefaultReader(this)}mode=String(mode);if(mode==='byob'){return AcquireReadableStreamBYOBReader(this)}throw new RangeError('Invalid mode is specified');}},{key:'pipeThrough',value:function pipeThrough(_ref3,options){var writable=_ref3.writable,readable=_ref3.readable;var promise=this.pipeTo(writable,options);ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);return readable}},{key:'pipeTo',value:function pipeTo(dest){var _this=this;var _ref4=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},preventClose=_ref4.preventClose,preventAbort=_ref4.preventAbort,preventCancel=_ref4.preventCancel;if(IsReadableStream(this)===false){return Promise.reject(streamBrandCheckException('pipeTo'))}if(IsWritableStream(dest)===false){return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream'))}preventClose=Boolean(preventClose);preventAbort=Boolean(preventAbort);preventCancel=Boolean(preventCancel);if(IsReadableStreamLocked(this)===true){return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'))}if(IsWritableStreamLocked(dest)===true){return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'))}var reader=AcquireReadableStreamDefaultReader(this);var writer=AcquireWritableStreamDefaultWriter(dest);var shuttingDown=false;var currentWrite=Promise.resolve();return new Promise(function(resolve,reject){function pipeLoop(){currentWrite=Promise.resolve();if(shuttingDown===true){return Promise.resolve()}return writer._readyPromise.then(function(){return ReadableStreamDefaultReaderRead(reader).then(function(_ref5){var value=_ref5.value,done=_ref5.done;if(done===true){return}currentWrite=WritableStreamDefaultWriterWrite(writer,value).catch(function(){})})}).then(pipeLoop)}isOrBecomesErrored(_this,reader._closedPromise,function(storedError){if(preventAbort===false){shutdownWithAction(function(){return WritableStreamAbort(dest,storedError)},true,storedError)}else{shutdown(true,storedError)}});isOrBecomesErrored(dest,writer._closedPromise,function(storedError){if(preventCancel===false){shutdownWithAction(function(){return ReadableStreamCancel(_this,storedError)},true,storedError)}else{shutdown(true,storedError)}});isOrBecomesClosed(_this,reader._closedPromise,function(){if(preventClose===false){shutdownWithAction(function(){return WritableStreamDefaultWriterCloseWithErrorPropagation(writer)})}else{shutdown()}});if(WritableStreamCloseQueuedOrInFlight(dest)===true||dest._state==='closed'){var destClosed=new TypeError('the destination writable stream closed before all data could be piped to it');if(preventCancel===false){shutdownWithAction(function(){return ReadableStreamCancel(_this,destClosed)},true,destClosed)}else{shutdown(true,destClosed)}}pipeLoop().catch(function(err){currentWrite=Promise.resolve();rethrowAssertionErrorRejection(err);});function waitForWritesToFinish(){var oldCurrentWrite=currentWrite;return currentWrite.then(function(){return oldCurrentWrite!==currentWrite?waitForWritesToFinish():undefined})}function isOrBecomesErrored(stream,promise,action){if(stream._state==='errored'){action(stream._storedError)}else{promise.catch(action).catch(rethrowAssertionErrorRejection);}}function isOrBecomesClosed(stream,promise,action){if(stream._state==='closed'){action()}else{promise.then(action).catch(rethrowAssertionErrorRejection);}}function shutdownWithAction(action,originalIsError,originalError){if(shuttingDown===true){return}shuttingDown=true;if(dest._state==='writable'&&WritableStreamCloseQueuedOrInFlight(dest)===false){waitForWritesToFinish().then(doTheRest)}else{doTheRest()}function doTheRest(){action().then(function(){return finalize(originalIsError,originalError)},function(newError){return finalize(true,newError)}).catch(rethrowAssertionErrorRejection);}}function shutdown(isError,error){if(shuttingDown===true){return}shuttingDown=true;if(dest._state==='writable'&&WritableStreamCloseQueuedOrInFlight(dest)===false){waitForWritesToFinish().then(function(){return finalize(isError,error)}).catch(rethrowAssertionErrorRejection);}else{finalize(isError,error)}}function finalize(isError,error){WritableStreamDefaultWriterRelease(writer);ReadableStreamReaderGenericRelease(reader);if(isError){reject(error)}else{resolve(undefined)}}})}},{key:'tee',value:function tee(){if(IsReadableStream(this)===false){throw streamBrandCheckException('tee');}var branches=ReadableStreamTee(this,false);return createArrayFromList(branches)}},{key:'locked',get:function get(){if(IsReadableStream(this)===false){throw streamBrandCheckException('locked');}return IsReadableStreamLocked(this)}}]);return ReadableStream}();module.exports={ReadableStream:ReadableStream,IsReadableStreamDisturbed:IsReadableStreamDisturbed,ReadableStreamDefaultControllerClose:ReadableStreamDefaultControllerClose,ReadableStreamDefaultControllerEnqueue:ReadableStreamDefaultControllerEnqueue,ReadableStreamDefaultControllerError:ReadableStreamDefaultControllerError,ReadableStreamDefaultControllerGetDesiredSize:ReadableStreamDefaultControllerGetDesiredSize};function AcquireReadableStreamBYOBReader(stream){return new ReadableStreamBYOBReader(stream)}function AcquireReadableStreamDefaultReader(stream){return new ReadableStreamDefaultReader(stream)}function IsReadableStream(x){if(!typeIsObject(x)){return false}if(!Object.prototype.hasOwnProperty.call(x,'_readableStreamController')){return false}return true}function IsReadableStreamDisturbed(stream){assert(IsReadableStream(stream)===true,'IsReadableStreamDisturbed should only be used on known readable streams');return stream._disturbed}function IsReadableStreamLocked(stream){assert(IsReadableStream(stream)===true,'IsReadableStreamLocked should only be used on known readable streams');if(stream._reader===undefined){return false}return true}function ReadableStreamTee(stream,cloneForBranch2){assert(IsReadableStream(stream)===true);assert(typeof cloneForBranch2==='boolean');var reader=AcquireReadableStreamDefaultReader(stream);var teeState={closedOrErrored:false,canceled1:false,canceled2:false,reason1:undefined,reason2:undefined};teeState.promise=new Promise(function(resolve){teeState._resolve=resolve});var pull=create_ReadableStreamTeePullFunction();pull._reader=reader;pull._teeState=teeState;pull._cloneForBranch2=cloneForBranch2;var cancel1=create_ReadableStreamTeeBranch1CancelFunction();cancel1._stream=stream;cancel1._teeState=teeState;var cancel2=create_ReadableStreamTeeBranch2CancelFunction();cancel2._stream=stream;cancel2._teeState=teeState;var underlyingSource1=Object.create(Object.prototype);createDataProperty(underlyingSource1,'pull',pull);createDataProperty(underlyingSource1,'cancel',cancel1);var branch1Stream=new ReadableStream(underlyingSource1);var underlyingSource2=Object.create(Object.prototype);createDataProperty(underlyingSource2,'pull',pull);createDataProperty(underlyingSource2,'cancel',cancel2);var branch2Stream=new ReadableStream(underlyingSource2);pull._branch1=branch1Stream._readableStreamController;pull._branch2=branch2Stream._readableStreamController;reader._closedPromise.catch(function(r){if(teeState.closedOrErrored===true){return}ReadableStreamDefaultControllerError(pull._branch1,r);ReadableStreamDefaultControllerError(pull._branch2,r);teeState.closedOrErrored=true});return[branch1Stream,branch2Stream]}function create_ReadableStreamTeePullFunction(){function f(){var reader=f._reader,branch1=f._branch1,branch2=f._branch2,teeState=f._teeState;return ReadableStreamDefaultReaderRead(reader).then(function(result){assert(typeIsObject(result));var value=result.value;var done=result.done;assert(typeof done==='boolean');if(done===true&&teeState.closedOrErrored===false){if(teeState.canceled1===false){ReadableStreamDefaultControllerClose(branch1)}if(teeState.canceled2===false){ReadableStreamDefaultControllerClose(branch2)}teeState.closedOrErrored=true}if(teeState.closedOrErrored===true){return}var value1=value;var value2=value;if(teeState.canceled1===false){ReadableStreamDefaultControllerEnqueue(branch1,value1)}if(teeState.canceled2===false){ReadableStreamDefaultControllerEnqueue(branch2,value2)}})}return f}function create_ReadableStreamTeeBranch1CancelFunction(){function f(reason){var stream=f._stream,teeState=f._teeState;teeState.canceled1=true;teeState.reason1=reason;if(teeState.canceled2===true){var compositeReason=createArrayFromList([teeState.reason1,teeState.reason2]);var cancelResult=ReadableStreamCancel(stream,compositeReason);teeState._resolve(cancelResult)}return teeState.promise}return f}function create_ReadableStreamTeeBranch2CancelFunction(){function f(reason){var stream=f._stream,teeState=f._teeState;teeState.canceled2=true;teeState.reason2=reason;if(teeState.canceled1===true){var compositeReason=createArrayFromList([teeState.reason1,teeState.reason2]);var cancelResult=ReadableStreamCancel(stream,compositeReason);teeState._resolve(cancelResult)}return teeState.promise}return f}function ReadableStreamAddReadIntoRequest(stream){assert(IsReadableStreamBYOBReader(stream._reader)===true);assert(stream._state==='readable'||stream._state==='closed');var promise=new Promise(function(resolve,reject){var readIntoRequest={_resolve:resolve,_reject:reject};stream._reader._readIntoRequests.push(readIntoRequest)});return promise}function ReadableStreamAddReadRequest(stream){assert(IsReadableStreamDefaultReader(stream._reader)===true);assert(stream._state==='readable');var promise=new Promise(function(resolve,reject){var readRequest={_resolve:resolve,_reject:reject};stream._reader._readRequests.push(readRequest)});return promise}function ReadableStreamCancel(stream,reason){stream._disturbed=true;if(stream._state==='closed'){return Promise.resolve(undefined)}if(stream._state==='errored'){return Promise.reject(stream._storedError)}ReadableStreamClose(stream);var sourceCancelPromise=stream._readableStreamController.__cancelSteps(reason);return sourceCancelPromise.then(function(){return undefined})}function ReadableStreamClose(stream){assert(stream._state==='readable');stream._state='closed';var reader=stream._reader;if(reader===undefined){return undefined}if(IsReadableStreamDefaultReader(reader)===true){for(var i=0;i0);var readIntoRequest=reader._readIntoRequests.shift();readIntoRequest._resolve(CreateIterResultObject(chunk,done))}function ReadableStreamFulfillReadRequest(stream,chunk,done){var reader=stream._reader;assert(reader._readRequests.length>0);var readRequest=reader._readRequests.shift();readRequest._resolve(CreateIterResultObject(chunk,done))}function ReadableStreamGetNumReadIntoRequests(stream){return stream._reader._readIntoRequests.length}function ReadableStreamGetNumReadRequests(stream){return stream._reader._readRequests.length}function ReadableStreamHasBYOBReader(stream){var reader=stream._reader;if(reader===undefined){return false}if(IsReadableStreamBYOBReader(reader)===false){return false}return true}function ReadableStreamHasDefaultReader(stream){var reader=stream._reader;if(reader===undefined){return false}if(IsReadableStreamDefaultReader(reader)===false){return false}return true}var ReadableStreamDefaultReader=function(){function ReadableStreamDefaultReader(stream){_classCallCheck(this,ReadableStreamDefaultReader);if(IsReadableStream(stream)===false){throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');}if(IsReadableStreamLocked(stream)===true){throw new TypeError('This stream has already been locked for exclusive reading by another reader');}ReadableStreamReaderGenericInitialize(this,stream);this._readRequests=[]}_createClass(ReadableStreamDefaultReader,[{key:'cancel',value:function cancel(reason){if(IsReadableStreamDefaultReader(this)===false){return Promise.reject(defaultReaderBrandCheckException('cancel'))}if(this._ownerReadableStream===undefined){return Promise.reject(readerLockException('cancel'))}return ReadableStreamReaderGenericCancel(this,reason)}},{key:'read',value:function read(){if(IsReadableStreamDefaultReader(this)===false){return Promise.reject(defaultReaderBrandCheckException('read'))}if(this._ownerReadableStream===undefined){return Promise.reject(readerLockException('read from'))}return ReadableStreamDefaultReaderRead(this)}},{key:'releaseLock',value:function releaseLock(){if(IsReadableStreamDefaultReader(this)===false){throw defaultReaderBrandCheckException('releaseLock');}if(this._ownerReadableStream===undefined){return}if(this._readRequests.length>0){throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');}ReadableStreamReaderGenericRelease(this)}},{key:'closed',get:function get(){if(IsReadableStreamDefaultReader(this)===false){return Promise.reject(defaultReaderBrandCheckException('closed'))}return this._closedPromise}}]);return ReadableStreamDefaultReader}();var ReadableStreamBYOBReader=function(){function ReadableStreamBYOBReader(stream){_classCallCheck(this,ReadableStreamBYOBReader);if(!IsReadableStream(stream)){throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a '+'byte source');}if(IsReadableByteStreamController(stream._readableStreamController)===false){throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte '+'source');}if(IsReadableStreamLocked(stream)){throw new TypeError('This stream has already been locked for exclusive reading by another reader');}ReadableStreamReaderGenericInitialize(this,stream);this._readIntoRequests=[]}_createClass(ReadableStreamBYOBReader,[{key:'cancel',value:function cancel(reason){if(!IsReadableStreamBYOBReader(this)){return Promise.reject(byobReaderBrandCheckException('cancel'))}if(this._ownerReadableStream===undefined){return Promise.reject(readerLockException('cancel'))}return ReadableStreamReaderGenericCancel(this,reason)}},{key:'read',value:function read(view){if(!IsReadableStreamBYOBReader(this)){return Promise.reject(byobReaderBrandCheckException('read'))}if(this._ownerReadableStream===undefined){return Promise.reject(readerLockException('read from'))}if(!ArrayBuffer.isView(view)){return Promise.reject(new TypeError('view must be an array buffer view'))}if(view.byteLength===0){return Promise.reject(new TypeError('view must have non-zero byteLength'))}return ReadableStreamBYOBReaderRead(this,view)}},{key:'releaseLock',value:function releaseLock(){if(!IsReadableStreamBYOBReader(this)){throw byobReaderBrandCheckException('releaseLock');}if(this._ownerReadableStream===undefined){return}if(this._readIntoRequests.length>0){throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');}ReadableStreamReaderGenericRelease(this)}},{key:'closed',get:function get(){if(!IsReadableStreamBYOBReader(this)){return Promise.reject(byobReaderBrandCheckException('closed'))}return this._closedPromise}}]);return ReadableStreamBYOBReader}();function IsReadableStreamBYOBReader(x){if(!typeIsObject(x)){return false}if(!Object.prototype.hasOwnProperty.call(x,'_readIntoRequests')){return false}return true}function IsReadableStreamDefaultReader(x){if(!typeIsObject(x)){return false}if(!Object.prototype.hasOwnProperty.call(x,'_readRequests')){return false}return true}function ReadableStreamReaderGenericInitialize(reader,stream){reader._ownerReadableStream=stream;stream._reader=reader;if(stream._state==='readable'){defaultReaderClosedPromiseInitialize(reader)}else if(stream._state==='closed'){defaultReaderClosedPromiseInitializeAsResolved(reader)}else{assert(stream._state==='errored','state must be errored');defaultReaderClosedPromiseInitializeAsRejected(reader,stream._storedError);reader._closedPromise.catch(function(){})}}function ReadableStreamReaderGenericCancel(reader,reason){var stream=reader._ownerReadableStream;assert(stream!==undefined);return ReadableStreamCancel(stream,reason)}function ReadableStreamReaderGenericRelease(reader){assert(reader._ownerReadableStream!==undefined);assert(reader._ownerReadableStream._reader===reader);if(reader._ownerReadableStream._state==='readable'){defaultReaderClosedPromiseReject(reader,new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'))}else{defaultReaderClosedPromiseResetToRejected(reader,new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'))}reader._closedPromise.catch(function(){});reader._ownerReadableStream._reader=undefined;reader._ownerReadableStream=undefined}function ReadableStreamBYOBReaderRead(reader,view){var stream=reader._ownerReadableStream;assert(stream!==undefined);stream._disturbed=true;if(stream._state==='errored'){return Promise.reject(stream._storedError)}return ReadableByteStreamControllerPullInto(stream._readableStreamController,view)}function ReadableStreamDefaultReaderRead(reader){var stream=reader._ownerReadableStream;assert(stream!==undefined);stream._disturbed=true;if(stream._state==='closed'){return Promise.resolve(CreateIterResultObject(undefined,true))}if(stream._state==='errored'){return Promise.reject(stream._storedError)}assert(stream._state==='readable');return stream._readableStreamController.__pullSteps()}var ReadableStreamDefaultController=function(){function ReadableStreamDefaultController(stream,underlyingSource,size,highWaterMark){_classCallCheck(this,ReadableStreamDefaultController);if(IsReadableStream(stream)===false){throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');}if(stream._readableStreamController!==undefined){throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');}this._controlledReadableStream=stream;this._underlyingSource=underlyingSource;this._queue=undefined;this._queueTotalSize=undefined;ResetQueue(this);this._started=false;this._closeRequested=false;this._pullAgain=false;this._pulling=false;var normalizedStrategy=ValidateAndNormalizeQueuingStrategy(size,highWaterMark);this._strategySize=normalizedStrategy.size;this._strategyHWM=normalizedStrategy.highWaterMark;var controller=this;var startResult=InvokeOrNoop(underlyingSource,'start',[this]);Promise.resolve(startResult).then(function(){controller._started=true;assert(controller._pulling===false);assert(controller._pullAgain===false);ReadableStreamDefaultControllerCallPullIfNeeded(controller)},function(r){ReadableStreamDefaultControllerErrorIfNeeded(controller,r)}).catch(rethrowAssertionErrorRejection);}_createClass(ReadableStreamDefaultController,[{key:'close',value:function close(){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('close');}if(this._closeRequested===true){throw new TypeError('The stream has already been closed; do not close it again!');}var state=this._controlledReadableStream._state;if(state!=='readable'){throw new TypeError('The stream (in '+state+' state) is not in the readable state and cannot be closed');}ReadableStreamDefaultControllerClose(this);}},{key:'enqueue',value:function enqueue(chunk){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('enqueue');}if(this._closeRequested===true){throw new TypeError('stream is closed or draining');}var state=this._controlledReadableStream._state;if(state!=='readable'){throw new TypeError('The stream (in '+state+' state) is not in the readable state and cannot be enqueued to');}return ReadableStreamDefaultControllerEnqueue(this,chunk);}},{key:'error',value:function error(e){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('error');}var stream=this._controlledReadableStream;if(stream._state!=='readable'){throw new TypeError('The stream is '+stream._state+' and so cannot be errored');}ReadableStreamDefaultControllerError(this,e);}},{key:'__cancelSteps',value:function __cancelSteps(reason){ResetQueue(this);return PromiseInvokeOrNoop(this._underlyingSource,'cancel',[reason]);}},{key:'__pullSteps',value:function __pullSteps(){var stream=this._controlledReadableStream;if(this._queue.length>0){var chunk=DequeueValue(this);if(this._closeRequested===true&&this._queue.length===0){ReadableStreamClose(stream);}else{ReadableStreamDefaultControllerCallPullIfNeeded(this);}return Promise.resolve(CreateIterResultObject(chunk,false));}var pendingPromise=ReadableStreamAddReadRequest(stream);ReadableStreamDefaultControllerCallPullIfNeeded(this);return pendingPromise;}},{key:'desiredSize',get:function get(){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('desiredSize');}return ReadableStreamDefaultControllerGetDesiredSize(this);}}]);return ReadableStreamDefaultController;}();function IsReadableStreamDefaultController(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_underlyingSource')){return false;}return true;}function ReadableStreamDefaultControllerCallPullIfNeeded(controller){var shouldPull=ReadableStreamDefaultControllerShouldCallPull(controller);if(shouldPull===false){return undefined;}if(controller._pulling===true){controller._pullAgain=true;return undefined;}assert(controller._pullAgain===false);controller._pulling=true;var pullPromise=PromiseInvokeOrNoop(controller._underlyingSource,'pull',[controller]);pullPromise.then(function(){controller._pulling=false;if(controller._pullAgain===true){controller._pullAgain=false;return ReadableStreamDefaultControllerCallPullIfNeeded(controller);}return undefined;},function(e){ReadableStreamDefaultControllerErrorIfNeeded(controller,e);}).catch(rethrowAssertionErrorRejection);return undefined;}function ReadableStreamDefaultControllerShouldCallPull(controller){var stream=controller._controlledReadableStream;if(stream._state==='closed'||stream._state==='errored'){return false;}if(controller._closeRequested===true){return false;}if(controller._started===false){return false;}if(IsReadableStreamLocked(stream)===true&&ReadableStreamGetNumReadRequests(stream)>0){return true;}var desiredSize=ReadableStreamDefaultControllerGetDesiredSize(controller);if(desiredSize>0){return true;}return false;}function ReadableStreamDefaultControllerClose(controller){var stream=controller._controlledReadableStream;assert(controller._closeRequested===false);assert(stream._state==='readable');controller._closeRequested=true;if(controller._queue.length===0){ReadableStreamClose(stream);}}function ReadableStreamDefaultControllerEnqueue(controller,chunk){var stream=controller._controlledReadableStream;assert(controller._closeRequested===false);assert(stream._state==='readable');if(IsReadableStreamLocked(stream)===true&&ReadableStreamGetNumReadRequests(stream)>0){ReadableStreamFulfillReadRequest(stream,chunk,false);}else{var chunkSize=1;if(controller._strategySize!==undefined){var strategySize=controller._strategySize;try{chunkSize=strategySize(chunk);}catch(chunkSizeE){ReadableStreamDefaultControllerErrorIfNeeded(controller,chunkSizeE);throw chunkSizeE;}}try{EnqueueValueWithSize(controller,chunk,chunkSize);}catch(enqueueE){ReadableStreamDefaultControllerErrorIfNeeded(controller,enqueueE);throw enqueueE;}}ReadableStreamDefaultControllerCallPullIfNeeded(controller);return undefined;}function ReadableStreamDefaultControllerError(controller,e){var stream=controller._controlledReadableStream;assert(stream._state==='readable');ResetQueue(controller);ReadableStreamError(stream,e);}function ReadableStreamDefaultControllerErrorIfNeeded(controller,e){if(controller._controlledReadableStream._state==='readable'){ReadableStreamDefaultControllerError(controller,e);}}function ReadableStreamDefaultControllerGetDesiredSize(controller){var stream=controller._controlledReadableStream;var state=stream._state;if(state==='errored'){return null;}if(state==='closed'){return 0;}return controller._strategyHWM-controller._queueTotalSize;}var ReadableStreamBYOBRequest=function(){function ReadableStreamBYOBRequest(controller,view){_classCallCheck(this,ReadableStreamBYOBRequest);this._associatedReadableByteStreamController=controller;this._view=view;}_createClass(ReadableStreamBYOBRequest,[{key:'respond',value:function respond(bytesWritten){if(IsReadableStreamBYOBRequest(this)===false){throw byobRequestBrandCheckException('respond');}if(this._associatedReadableByteStreamController===undefined){throw new TypeError('This BYOB request has been invalidated');}ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController,bytesWritten);}},{key:'respondWithNewView',value:function respondWithNewView(view){if(IsReadableStreamBYOBRequest(this)===false){throw byobRequestBrandCheckException('respond');}if(this._associatedReadableByteStreamController===undefined){throw new TypeError('This BYOB request has been invalidated');}if(!ArrayBuffer.isView(view)){throw new TypeError('You can only respond with array buffer views');}ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController,view);}},{key:'view',get:function get(){return this._view;}}]);return ReadableStreamBYOBRequest;}();var ReadableByteStreamController=function(){function ReadableByteStreamController(stream,underlyingByteSource,highWaterMark){_classCallCheck(this,ReadableByteStreamController);if(IsReadableStream(stream)===false){throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given '+'a byte source');}if(stream._readableStreamController!==undefined){throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte '+'source');}this._controlledReadableStream=stream;this._underlyingByteSource=underlyingByteSource;this._pullAgain=false;this._pulling=false;ReadableByteStreamControllerClearPendingPullIntos(this);this._queue=this._queueTotalSize=undefined;ResetQueue(this);this._closeRequested=false;this._started=false;this._strategyHWM=ValidateAndNormalizeHighWaterMark(highWaterMark);var autoAllocateChunkSize=underlyingByteSource.autoAllocateChunkSize;if(autoAllocateChunkSize!==undefined){if(Number.isInteger(autoAllocateChunkSize)===false||autoAllocateChunkSize<=0){throw new RangeError('autoAllocateChunkSize must be a positive integer');}}this._autoAllocateChunkSize=autoAllocateChunkSize;this._pendingPullIntos=[];var controller=this;var startResult=InvokeOrNoop(underlyingByteSource,'start',[this]);Promise.resolve(startResult).then(function(){controller._started=true;assert(controller._pulling===false);assert(controller._pullAgain===false);ReadableByteStreamControllerCallPullIfNeeded(controller);},function(r){if(stream._state==='readable'){ReadableByteStreamControllerError(controller,r);}}).catch(rethrowAssertionErrorRejection);}_createClass(ReadableByteStreamController,[{key:'close',value:function close(){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('close');}if(this._closeRequested===true){throw new TypeError('The stream has already been closed; do not close it again!');}var state=this._controlledReadableStream._state;if(state!=='readable'){throw new TypeError('The stream (in '+state+' state) is not in the readable state and cannot be closed');}ReadableByteStreamControllerClose(this);}},{key:'enqueue',value:function enqueue(chunk){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('enqueue');}if(this._closeRequested===true){throw new TypeError('stream is closed or draining');}var state=this._controlledReadableStream._state;if(state!=='readable'){throw new TypeError('The stream (in '+state+' state) is not in the readable state and cannot be enqueued to');}if(!ArrayBuffer.isView(chunk)){throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');}ReadableByteStreamControllerEnqueue(this,chunk);}},{key:'error',value:function error(e){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('error');}var stream=this._controlledReadableStream;if(stream._state!=='readable'){throw new TypeError('The stream is '+stream._state+' and so cannot be errored');}ReadableByteStreamControllerError(this,e);}},{key:'__cancelSteps',value:function __cancelSteps(reason){if(this._pendingPullIntos.length>0){var firstDescriptor=this._pendingPullIntos[0];firstDescriptor.bytesFilled=0;}ResetQueue(this);return PromiseInvokeOrNoop(this._underlyingByteSource,'cancel',[reason]);}},{key:'__pullSteps',value:function __pullSteps(){var stream=this._controlledReadableStream;assert(ReadableStreamHasDefaultReader(stream)===true);if(this._queueTotalSize>0){assert(ReadableStreamGetNumReadRequests(stream)===0);var entry=this._queue.shift();this._queueTotalSize-=entry.byteLength;ReadableByteStreamControllerHandleQueueDrain(this);var view=void 0;try{view=new Uint8Array(entry.buffer,entry.byteOffset,entry.byteLength);}catch(viewE){return Promise.reject(viewE);}return Promise.resolve(CreateIterResultObject(view,false));}var autoAllocateChunkSize=this._autoAllocateChunkSize;if(autoAllocateChunkSize!==undefined){var buffer=void 0;try{buffer=new ArrayBuffer(autoAllocateChunkSize);}catch(bufferE){return Promise.reject(bufferE);}var pullIntoDescriptor={buffer:buffer,byteOffset:0,byteLength:autoAllocateChunkSize,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:'default'};this._pendingPullIntos.push(pullIntoDescriptor);}var promise=ReadableStreamAddReadRequest(stream);ReadableByteStreamControllerCallPullIfNeeded(this);return promise;}},{key:'byobRequest',get:function get(){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('byobRequest');}if(this._byobRequest===undefined&&this._pendingPullIntos.length>0){var firstDescriptor=this._pendingPullIntos[0];var view=new Uint8Array(firstDescriptor.buffer,firstDescriptor.byteOffset+firstDescriptor.bytesFilled,firstDescriptor.byteLength-firstDescriptor.bytesFilled);this._byobRequest=new ReadableStreamBYOBRequest(this,view);}return this._byobRequest;}},{key:'desiredSize',get:function get(){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('desiredSize');}return ReadableByteStreamControllerGetDesiredSize(this);}}]);return ReadableByteStreamController;}();function IsReadableByteStreamController(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_underlyingByteSource')){return false;}return true;}function IsReadableStreamBYOBRequest(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_associatedReadableByteStreamController')){return false;}return true;}function ReadableByteStreamControllerCallPullIfNeeded(controller){var shouldPull=ReadableByteStreamControllerShouldCallPull(controller);if(shouldPull===false){return undefined;}if(controller._pulling===true){controller._pullAgain=true;return undefined;}assert(controller._pullAgain===false);controller._pulling=true;var pullPromise=PromiseInvokeOrNoop(controller._underlyingByteSource,'pull',[controller]);pullPromise.then(function(){controller._pulling=false;if(controller._pullAgain===true){controller._pullAgain=false;ReadableByteStreamControllerCallPullIfNeeded(controller);}},function(e){if(controller._controlledReadableStream._state==='readable'){ReadableByteStreamControllerError(controller,e);}}).catch(rethrowAssertionErrorRejection);return undefined;}function ReadableByteStreamControllerClearPendingPullIntos(controller){ReadableByteStreamControllerInvalidateBYOBRequest(controller);controller._pendingPullIntos=[];}function ReadableByteStreamControllerCommitPullIntoDescriptor(stream,pullIntoDescriptor){assert(stream._state!=='errored','state must not be errored');var done=false;if(stream._state==='closed'){assert(pullIntoDescriptor.bytesFilled===0);done=true;}var filledView=ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);if(pullIntoDescriptor.readerType==='default'){ReadableStreamFulfillReadRequest(stream,filledView,done);}else{assert(pullIntoDescriptor.readerType==='byob');ReadableStreamFulfillReadIntoRequest(stream,filledView,done);}}function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor){var bytesFilled=pullIntoDescriptor.bytesFilled;var elementSize=pullIntoDescriptor.elementSize;assert(bytesFilled<=pullIntoDescriptor.byteLength);assert(bytesFilled%elementSize===0);return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer,pullIntoDescriptor.byteOffset,bytesFilled/elementSize);}function ReadableByteStreamControllerEnqueueChunkToQueue(controller,buffer,byteOffset,byteLength){controller._queue.push({buffer:buffer,byteOffset:byteOffset,byteLength:byteLength});controller._queueTotalSize+=byteLength;}function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor){var elementSize=pullIntoDescriptor.elementSize;var currentAlignedBytes=pullIntoDescriptor.bytesFilled-pullIntoDescriptor.bytesFilled%elementSize;var maxBytesToCopy=Math.min(controller._queueTotalSize,pullIntoDescriptor.byteLength-pullIntoDescriptor.bytesFilled);var maxBytesFilled=pullIntoDescriptor.bytesFilled+maxBytesToCopy;var maxAlignedBytes=maxBytesFilled-maxBytesFilled%elementSize;var totalBytesToCopyRemaining=maxBytesToCopy;var ready=false;if(maxAlignedBytes>currentAlignedBytes){totalBytesToCopyRemaining=maxAlignedBytes-pullIntoDescriptor.bytesFilled;ready=true;}var queue=controller._queue;while(totalBytesToCopyRemaining>0){var headOfQueue=queue[0];var bytesToCopy=Math.min(totalBytesToCopyRemaining,headOfQueue.byteLength);var destStart=pullIntoDescriptor.byteOffset+pullIntoDescriptor.bytesFilled;ArrayBufferCopy(pullIntoDescriptor.buffer,destStart,headOfQueue.buffer,headOfQueue.byteOffset,bytesToCopy);if(headOfQueue.byteLength===bytesToCopy){queue.shift();}else{headOfQueue.byteOffset+=bytesToCopy;headOfQueue.byteLength-=bytesToCopy;}controller._queueTotalSize-=bytesToCopy;ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller,bytesToCopy,pullIntoDescriptor);totalBytesToCopyRemaining-=bytesToCopy;}if(ready===false){assert(controller._queueTotalSize===0,'queue must be empty');assert(pullIntoDescriptor.bytesFilled>0);assert(pullIntoDescriptor.bytesFilled0){if(controller._queueTotalSize===0){return;}var pullIntoDescriptor=controller._pendingPullIntos[0];if(ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor)===true){ReadableByteStreamControllerShiftPendingPullInto(controller);ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream,pullIntoDescriptor);}}}function ReadableByteStreamControllerPullInto(controller,view){var stream=controller._controlledReadableStream;var elementSize=1;if(view.constructor!==DataView){elementSize=view.constructor.BYTES_PER_ELEMENT;}var ctor=view.constructor;var pullIntoDescriptor={buffer:view.buffer,byteOffset:view.byteOffset,byteLength:view.byteLength,bytesFilled:0,elementSize:elementSize,ctor:ctor,readerType:'byob'};if(controller._pendingPullIntos.length>0){pullIntoDescriptor.buffer=TransferArrayBuffer(pullIntoDescriptor.buffer);controller._pendingPullIntos.push(pullIntoDescriptor);return ReadableStreamAddReadIntoRequest(stream);}if(stream._state==='closed'){var emptyView=new view.constructor(pullIntoDescriptor.buffer,pullIntoDescriptor.byteOffset,0);return Promise.resolve(CreateIterResultObject(emptyView,true));}if(controller._queueTotalSize>0){if(ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor)===true){var filledView=ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);ReadableByteStreamControllerHandleQueueDrain(controller);return Promise.resolve(CreateIterResultObject(filledView,false));}if(controller._closeRequested===true){var e=new TypeError('Insufficient bytes to fill elements in the given buffer');ReadableByteStreamControllerError(controller,e);return Promise.reject(e);}}pullIntoDescriptor.buffer=TransferArrayBuffer(pullIntoDescriptor.buffer);controller._pendingPullIntos.push(pullIntoDescriptor);var promise=ReadableStreamAddReadIntoRequest(stream);ReadableByteStreamControllerCallPullIfNeeded(controller);return promise;}function ReadableByteStreamControllerRespondInClosedState(controller,firstDescriptor){firstDescriptor.buffer=TransferArrayBuffer(firstDescriptor.buffer);assert(firstDescriptor.bytesFilled===0,'bytesFilled must be 0');var stream=controller._controlledReadableStream;if(ReadableStreamHasBYOBReader(stream)===true){while(ReadableStreamGetNumReadIntoRequests(stream)>0){var pullIntoDescriptor=ReadableByteStreamControllerShiftPendingPullInto(controller);ReadableByteStreamControllerCommitPullIntoDescriptor(stream,pullIntoDescriptor);}}}function ReadableByteStreamControllerRespondInReadableState(controller,bytesWritten,pullIntoDescriptor){if(pullIntoDescriptor.bytesFilled+bytesWritten>pullIntoDescriptor.byteLength){throw new RangeError('bytesWritten out of range');}ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller,bytesWritten,pullIntoDescriptor);if(pullIntoDescriptor.bytesFilled0){var end=pullIntoDescriptor.byteOffset+pullIntoDescriptor.bytesFilled;var remainder=pullIntoDescriptor.buffer.slice(end-remainderSize,end);ReadableByteStreamControllerEnqueueChunkToQueue(controller,remainder,0,remainder.byteLength);}pullIntoDescriptor.buffer=TransferArrayBuffer(pullIntoDescriptor.buffer);pullIntoDescriptor.bytesFilled-=remainderSize;ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream,pullIntoDescriptor);ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);}function ReadableByteStreamControllerRespondInternal(controller,bytesWritten){var firstDescriptor=controller._pendingPullIntos[0];var stream=controller._controlledReadableStream;if(stream._state==='closed'){if(bytesWritten!==0){throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');}ReadableByteStreamControllerRespondInClosedState(controller,firstDescriptor);}else{assert(stream._state==='readable');ReadableByteStreamControllerRespondInReadableState(controller,bytesWritten,firstDescriptor);}}function ReadableByteStreamControllerShiftPendingPullInto(controller){var descriptor=controller._pendingPullIntos.shift();ReadableByteStreamControllerInvalidateBYOBRequest(controller);return descriptor;}function ReadableByteStreamControllerShouldCallPull(controller){var stream=controller._controlledReadableStream;if(stream._state!=='readable'){return false;}if(controller._closeRequested===true){return false;}if(controller._started===false){return false;}if(ReadableStreamHasDefaultReader(stream)===true&&ReadableStreamGetNumReadRequests(stream)>0){return true;}if(ReadableStreamHasBYOBReader(stream)===true&&ReadableStreamGetNumReadIntoRequests(stream)>0){return true;}if(ReadableByteStreamControllerGetDesiredSize(controller)>0){return true;}return false;}function ReadableByteStreamControllerClose(controller){var stream=controller._controlledReadableStream;assert(controller._closeRequested===false);assert(stream._state==='readable');if(controller._queueTotalSize>0){controller._closeRequested=true;return;}if(controller._pendingPullIntos.length>0){var firstPendingPullInto=controller._pendingPullIntos[0];if(firstPendingPullInto.bytesFilled>0){var e=new TypeError('Insufficient bytes to fill elements in the given buffer');ReadableByteStreamControllerError(controller,e);throw e;}}ReadableStreamClose(stream);}function ReadableByteStreamControllerEnqueue(controller,chunk){var stream=controller._controlledReadableStream;assert(controller._closeRequested===false);assert(stream._state==='readable');var buffer=chunk.buffer;var byteOffset=chunk.byteOffset;var byteLength=chunk.byteLength;var transferredBuffer=TransferArrayBuffer(buffer);if(ReadableStreamHasDefaultReader(stream)===true){if(ReadableStreamGetNumReadRequests(stream)===0){ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength);}else{assert(controller._queue.length===0);var transferredView=new Uint8Array(transferredBuffer,byteOffset,byteLength);ReadableStreamFulfillReadRequest(stream,transferredView,false);}}else if(ReadableStreamHasBYOBReader(stream)===true){ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength);ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);}else{assert(IsReadableStreamLocked(stream)===false,'stream must not be locked');ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength);}}function ReadableByteStreamControllerError(controller,e){var stream=controller._controlledReadableStream;assert(stream._state==='readable');ReadableByteStreamControllerClearPendingPullIntos(controller);ResetQueue(controller);ReadableStreamError(stream,e);}function ReadableByteStreamControllerGetDesiredSize(controller){var stream=controller._controlledReadableStream;var state=stream._state;if(state==='errored'){return null;}if(state==='closed'){return 0;}return controller._strategyHWM-controller._queueTotalSize;}function ReadableByteStreamControllerRespond(controller,bytesWritten){bytesWritten=Number(bytesWritten);if(IsFiniteNonNegativeNumber(bytesWritten)===false){throw new RangeError('bytesWritten must be a finite');}assert(controller._pendingPullIntos.length>0);ReadableByteStreamControllerRespondInternal(controller,bytesWritten);}function ReadableByteStreamControllerRespondWithNewView(controller,view){assert(controller._pendingPullIntos.length>0);var firstDescriptor=controller._pendingPullIntos[0];if(firstDescriptor.byteOffset+firstDescriptor.bytesFilled!==view.byteOffset){throw new RangeError('The region specified by view does not match byobRequest');}if(firstDescriptor.byteLength!==view.byteLength){throw new RangeError('The buffer of view has different capacity than byobRequest');}firstDescriptor.buffer=view.buffer;ReadableByteStreamControllerRespondInternal(controller,view.byteLength);}function streamBrandCheckException(name){return new TypeError('ReadableStream.prototype.'+name+' can only be used on a ReadableStream');}function readerLockException(name){return new TypeError('Cannot '+name+' a stream using a released reader');}function defaultReaderBrandCheckException(name){return new TypeError('ReadableStreamDefaultReader.prototype.'+name+' can only be used on a ReadableStreamDefaultReader');}function defaultReaderClosedPromiseInitialize(reader){reader._closedPromise=new Promise(function(resolve,reject){reader._closedPromise_resolve=resolve;reader._closedPromise_reject=reject;});}function defaultReaderClosedPromiseInitializeAsRejected(reader,reason){reader._closedPromise=Promise.reject(reason);reader._closedPromise_resolve=undefined;reader._closedPromise_reject=undefined;}function defaultReaderClosedPromiseInitializeAsResolved(reader){reader._closedPromise=Promise.resolve(undefined);reader._closedPromise_resolve=undefined;reader._closedPromise_reject=undefined;}function defaultReaderClosedPromiseReject(reader,reason){assert(reader._closedPromise_resolve!==undefined);assert(reader._closedPromise_reject!==undefined);reader._closedPromise_reject(reason);reader._closedPromise_resolve=undefined;reader._closedPromise_reject=undefined;}function defaultReaderClosedPromiseResetToRejected(reader,reason){assert(reader._closedPromise_resolve===undefined);assert(reader._closedPromise_reject===undefined);reader._closedPromise=Promise.reject(reason);}function defaultReaderClosedPromiseResolve(reader){assert(reader._closedPromise_resolve!==undefined);assert(reader._closedPromise_reject!==undefined);reader._closedPromise_resolve(undefined);reader._closedPromise_resolve=undefined;reader._closedPromise_reject=undefined;}function byobReaderBrandCheckException(name){return new TypeError('ReadableStreamBYOBReader.prototype.'+name+' can only be used on a ReadableStreamBYOBReader');}function defaultControllerBrandCheckException(name){return new TypeError('ReadableStreamDefaultController.prototype.'+name+' can only be used on a ReadableStreamDefaultController');}function byobRequestBrandCheckException(name){return new TypeError('ReadableStreamBYOBRequest.prototype.'+name+' can only be used on a ReadableStreamBYOBRequest');}function byteStreamControllerBrandCheckException(name){return new TypeError('ReadableByteStreamController.prototype.'+name+' can only be used on a ReadableByteStreamController');}function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise){try{Promise.prototype.then.call(promise,undefined,function(){});}catch(e){}}},function(module,exports,__w_pdfjs_require__){"use strict";var transformStream=__w_pdfjs_require__(6);var readableStream=__w_pdfjs_require__(4);var writableStream=__w_pdfjs_require__(2);exports.TransformStream=transformStream.TransformStream;exports.ReadableStream=readableStream.ReadableStream;exports.IsReadableStreamDisturbed=readableStream.IsReadableStreamDisturbed;exports.ReadableStreamDefaultControllerClose=readableStream.ReadableStreamDefaultControllerClose;exports.ReadableStreamDefaultControllerEnqueue=readableStream.ReadableStreamDefaultControllerEnqueue;exports.ReadableStreamDefaultControllerError=readableStream.ReadableStreamDefaultControllerError;exports.ReadableStreamDefaultControllerGetDesiredSize=readableStream.ReadableStreamDefaultControllerGetDesiredSize;exports.AcquireWritableStreamDefaultWriter=writableStream.AcquireWritableStreamDefaultWriter;exports.IsWritableStream=writableStream.IsWritableStream;exports.IsWritableStreamLocked=writableStream.IsWritableStreamLocked;exports.WritableStream=writableStream.WritableStream;exports.WritableStreamAbort=writableStream.WritableStreamAbort;exports.WritableStreamDefaultControllerError=writableStream.WritableStreamDefaultControllerError;exports.WritableStreamDefaultWriterCloseWithErrorPropagation=writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;exports.WritableStreamDefaultWriterRelease=writableStream.WritableStreamDefaultWriterRelease;exports.WritableStreamDefaultWriterWrite=writableStream.WritableStreamDefaultWriterWrite;},function(module,exports,__w_pdfjs_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};_classCallCheck(this,TransformStream);this._transformer=transformer;var readableStrategy=transformer.readableStrategy,writableStrategy=transformer.writableStrategy;this._transforming=false;this._errored=false;this._storedError=undefined;this._writableController=undefined;this._readableController=undefined;this._transformStreamController=undefined;this._writableDone=false;this._readableClosed=false;this._backpressure=undefined;this._backpressureChangePromise=undefined;this._backpressureChangePromise_resolve=undefined;this._transformStreamController=new TransformStreamDefaultController(this);var startPromise_resolve=void 0;var startPromise=new Promise(function(resolve){startPromise_resolve=resolve;});var source=new TransformStreamSource(this,startPromise);this._readable=new ReadableStream(source,readableStrategy);var sink=new TransformStreamSink(this,startPromise);this._writable=new WritableStream(sink,writableStrategy);assert(this._writableController!==undefined);assert(this._readableController!==undefined);var desiredSize=ReadableStreamDefaultControllerGetDesiredSize(this._readableController);TransformStreamSetBackpressure(this,desiredSize<=0);var transformStream=this;var startResult=InvokeOrNoop(transformer,'start',[transformStream._transformStreamController]);startPromise_resolve(startResult);startPromise.catch(function(e){if(transformStream._errored===false){transformStream._errored=true;transformStream._storedError=e;}});}_createClass(TransformStream,[{key:'readable',get:function get(){if(IsTransformStream(this)===false){throw streamBrandCheckException('readable');}return this._readable;}},{key:'writable',get:function get(){if(IsTransformStream(this)===false){throw streamBrandCheckException('writable');}return this._writable;}}]);return TransformStream;}();module.exports={TransformStream:TransformStream};function defaultControllerBrandCheckException(name){return new TypeError('TransformStreamDefaultController.prototype.'+name+' can only be used on a TransformStreamDefaultController');}function streamBrandCheckException(name){return new TypeError('TransformStream.prototype.'+name+' can only be used on a TransformStream');}},function(module,exports,__w_pdfjs_require__){module.exports=__w_pdfjs_require__(5);}]));}),(function(module,exports,__w_pdfjs_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CanvasGraphics=undefined;var _util=__w_pdfjs_require__(0);var _pattern_helper=__w_pdfjs_require__(13);var _webgl=__w_pdfjs_require__(7);var MIN_FONT_SIZE=16;var MAX_FONT_SIZE=100;var MAX_GROUP_SIZE=4096;var MIN_WIDTH_FACTOR=0.65;var COMPILE_TYPE3_GLYPHS=true;var MAX_SIZE_TO_COMPILE=1000;var FULL_CHUNK_HEIGHT=16;var IsLittleEndianCached={get value(){return(0,_util.shadow)(IsLittleEndianCached,'value',(0,_util.isLittleEndian)());}};function addContextCurrentTransform(ctx){if(!ctx.mozCurrentTransform){ctx._originalSave=ctx.save;ctx._originalRestore=ctx.restore;ctx._originalRotate=ctx.rotate;ctx._originalScale=ctx.scale;ctx._originalTranslate=ctx.translate;ctx._originalTransform=ctx.transform;ctx._originalSetTransform=ctx.setTransform;ctx._transformMatrix=ctx._transformMatrix||[1,0,0,1,0,0];ctx._transformStack=[];Object.defineProperty(ctx,'mozCurrentTransform',{get:function getCurrentTransform(){return this._transformMatrix;}});Object.defineProperty(ctx,'mozCurrentTransformInverse',{get:function getCurrentTransformInverse(){var m=this._transformMatrix;var a=m[0],b=m[1],c=m[2],d=m[3],e=m[4],f=m[5];var ad_bc=a*d-b*c;var bc_ad=b*c-a*d;return[d/ad_bc,b/bc_ad,c/bc_ad,a/ad_bc,(d*e-c*f)/bc_ad,(b*e-a*f)/ad_bc];}});ctx.save=function ctxSave(){var old=this._transformMatrix;this._transformStack.push(old);this._transformMatrix=old.slice(0,6);this._originalSave();};ctx.restore=function ctxRestore(){var prev=this._transformStack.pop();if(prev){this._transformMatrix=prev;this._originalRestore();}};ctx.translate=function ctxTranslate(x,y){var m=this._transformMatrix;m[4]=m[0]*x+m[2]*y+m[4];m[5]=m[1]*x+m[3]*y+m[5];this._originalTranslate(x,y);};ctx.scale=function ctxScale(x,y){var m=this._transformMatrix;m[0]=m[0]*x;m[1]=m[1]*x;m[2]=m[2]*y;m[3]=m[3]*y;this._originalScale(x,y);};ctx.transform=function ctxTransform(a,b,c,d,e,f){var m=this._transformMatrix;this._transformMatrix=[m[0]*a+m[2]*b,m[1]*a+m[3]*b,m[0]*c+m[2]*d,m[1]*c+m[3]*d,m[0]*e+m[2]*f+m[4],m[1]*e+m[3]*f+m[5]];ctx._originalTransform(a,b,c,d,e,f);};ctx.setTransform=function ctxSetTransform(a,b,c,d,e,f){this._transformMatrix=[a,b,c,d,e,f];ctx._originalSetTransform(a,b,c,d,e,f);};ctx.rotate=function ctxRotate(angle){var cosValue=Math.cos(angle);var sinValue=Math.sin(angle);var m=this._transformMatrix;this._transformMatrix=[m[0]*cosValue+m[2]*sinValue,m[1]*cosValue+m[3]*sinValue,m[0]*-sinValue+m[2]*cosValue,m[1]*-sinValue+m[3]*cosValue,m[4],m[5]];this._originalRotate(angle);};}}var CachedCanvases=function CachedCanvasesClosure(){function CachedCanvases(canvasFactory){this.canvasFactory=canvasFactory;this.cache=Object.create(null);}CachedCanvases.prototype={getCanvas:function CachedCanvases_getCanvas(id,width,height,trackTransform){var canvasEntry;if(this.cache[id]!==undefined){canvasEntry=this.cache[id];this.canvasFactory.reset(canvasEntry,width,height);canvasEntry.context.setTransform(1,0,0,1,0,0);}else{canvasEntry=this.canvasFactory.create(width,height);this.cache[id]=canvasEntry;}if(trackTransform){addContextCurrentTransform(canvasEntry.context);}return canvasEntry;},clear:function clear(){for(var id in this.cache){var canvasEntry=this.cache[id];this.canvasFactory.destroy(canvasEntry);delete this.cache[id];}}};return CachedCanvases;}();function compileType3Glyph(imgData){var POINT_TO_PROCESS_LIMIT=1000;var width=imgData.width,height=imgData.height;var i,j,j0,width1=width+1;var points=new Uint8Array(width1*(height+1));var POINT_TYPES=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]);var lineSize=width+7&~7,data0=imgData.data;var data=new Uint8Array(lineSize*height),pos=0,ii;for(i=0,ii=data0.length;i0){data[pos++]=elem&mask?0:255;mask>>=1;}}var count=0;pos=0;if(data[pos]!==0){points[0]=1;++count;}for(j=1;j>2)+(data[pos+1]?4:0)+(data[pos-lineSize+1]?8:0);if(POINT_TYPES[sum]){points[j0+j]=POINT_TYPES[sum];++count;}pos++;}if(data[pos-lineSize]!==data[pos]){points[j0+j]=data[pos]?2:4;++count;}if(count>POINT_TO_PROCESS_LIMIT){return null;}}pos=lineSize*(height-1);j0=i*width1;if(data[pos]!==0){points[j0]=8;++count;}for(j=1;jPOINT_TO_PROCESS_LIMIT){return null;}var steps=new Int32Array([0,width1,-1,0,-width1,0,0,0,1]);var outlines=[];for(i=0;count&&i<=height;i++){var p=i*width1;var end=p+width;while(p>4;points[p]&=type>>2|type<<2;}coords.push(p%width1);coords.push(p/width1|0);--count;}while(p0!==p);outlines.push(coords);--i;}var drawOutline=function drawOutline(c){c.save();c.scale(1/width,-1/height);c.translate(0,-height);c.beginPath();for(var i=0,ii=outlines.length;i>2);var dest32DataLength=dest32.length;var fullSrcDiff=width+7>>3;var white=0xFFFFFFFF;var black=IsLittleEndianCached.value?0xFF000000:0x000000FF;for(i=0;ifullSrcDiff?width:srcDiff*8-7;var kEndUnrolled=kEnd&~7;var mask=0;var srcByte=0;for(;k>=1;}}while(destPos=fullChunks){thisChunkHeight=partialChunkHeight;elemsInThisChunk=width*thisChunkHeight;}destPos=0;for(j=elemsInThisChunk;j--;){dest[destPos++]=src[srcPos++];dest[destPos++]=src[srcPos++];dest[destPos++]=src[srcPos++];dest[destPos++]=255;}ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}else{throw new Error('bad image kind: '+imgData.kind);}}function putBinaryImageMask(ctx,imgData){var height=imgData.height,width=imgData.width;var partialChunkHeight=height%FULL_CHUNK_HEIGHT;var fullChunks=(height-partialChunkHeight)/FULL_CHUNK_HEIGHT;var totalChunks=partialChunkHeight===0?fullChunks:fullChunks+1;var chunkImgData=ctx.createImageData(width,FULL_CHUNK_HEIGHT);var srcPos=0;var src=imgData.data;var dest=chunkImgData.data;for(var i=0;i>=1;}}ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}function copyCtxState(sourceCtx,destCtx){var properties=['strokeStyle','fillStyle','fillRule','globalAlpha','lineWidth','lineCap','lineJoin','miterLimit','globalCompositeOperation','font'];for(var i=0,ii=properties.length;i>8;bytes[i-2]=bytes[i-2]*alpha+g0*alpha_>>8;bytes[i-1]=bytes[i-1]*alpha+b0*alpha_>>8;}}}function composeSMaskAlpha(maskData,layerData,transferMap){var length=maskData.length;var scale=1/255;for(var i=3;i>8]>>8:layerData[i]*y>>16;}}function genericComposeSMask(maskCtx,layerCtx,width,height,subtype,backdrop,transferMap){var hasBackdrop=!!backdrop;var r0=hasBackdrop?backdrop[0]:0;var g0=hasBackdrop?backdrop[1]:0;var b0=hasBackdrop?backdrop[2]:0;var composeFn;if(subtype==='Luminosity'){composeFn=composeSMaskLuminosity;}else{composeFn=composeSMaskAlpha;}var PIXELS_TO_PROCESS=1048576;var chunkSize=Math.min(height,Math.ceil(PIXELS_TO_PROCESS/width));for(var row=0;rowEXECUTION_STEPS&&typeof continueCallback==='function';var endTime=chunkOperations?Date.now()+EXECUTION_TIME:0;var steps=0;var commonObjs=this.commonObjs;var objs=this.objs;var fnId;while(true){if(stepper!==undefined&&i===stepper.nextBreakPoint){stepper.breakIt(i,continueCallback);return i;}fnId=fnArray[i];if(fnId!==_util.OPS.dependency){this[fnId].apply(this,argsArray[i]);}else{var deps=argsArray[i];for(var n=0,nn=deps.length;nEXECUTION_STEPS){if(Date.now()>endTime){continueCallback();return i;}steps=0;}}},endDrawing:function CanvasGraphics_endDrawing(){if(this.current.activeSMask!==null){this.endSMaskGroup();}this.ctx.restore();if(this.transparentCanvas){this.ctx=this.compositeCtx;this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.drawImage(this.transparentCanvas,0,0);this.ctx.restore();this.transparentCanvas=null;}this.cachedCanvases.clear();_webgl.WebGLUtils.clear();if(this.imageLayer){this.imageLayer.endLayout();}},setLineWidth:function CanvasGraphics_setLineWidth(width){this.current.lineWidth=width;this.ctx.lineWidth=width;},setLineCap:function CanvasGraphics_setLineCap(style){this.ctx.lineCap=LINE_CAP_STYLES[style];},setLineJoin:function CanvasGraphics_setLineJoin(style){this.ctx.lineJoin=LINE_JOIN_STYLES[style];},setMiterLimit:function CanvasGraphics_setMiterLimit(limit){this.ctx.miterLimit=limit;},setDash:function CanvasGraphics_setDash(dashArray,dashPhase){var ctx=this.ctx;if(ctx.setLineDash!==undefined){ctx.setLineDash(dashArray);ctx.lineDashOffset=dashPhase;}},setRenderingIntent:function CanvasGraphics_setRenderingIntent(intent){},setFlatness:function CanvasGraphics_setFlatness(flatness){},setGState:function CanvasGraphics_setGState(states){for(var i=0,ii=states.length;i0&&this.stateStack[this.stateStack.length-1].activeSMask===this.current.activeSMask){this.suspendSMaskGroup();}else{this.endSMaskGroup();}}this.current.activeSMask=value?this.tempSMask:null;if(this.current.activeSMask){this.beginSMaskGroup();}this.tempSMask=null;break;}}},beginSMaskGroup:function CanvasGraphics_beginSMaskGroup(){var activeSMask=this.current.activeSMask;var drawnWidth=activeSMask.canvas.width;var drawnHeight=activeSMask.canvas.height;var cacheId='smaskGroupAt'+this.groupLevel;var scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight,true);var currentCtx=this.ctx;var currentTransform=currentCtx.mozCurrentTransform;this.ctx.save();var groupCtx=scratchCanvas.context;groupCtx.scale(1/activeSMask.scaleX,1/activeSMask.scaleY);groupCtx.translate(-activeSMask.offsetX,-activeSMask.offsetY);groupCtx.transform.apply(groupCtx,currentTransform);activeSMask.startTransformInverse=groupCtx.mozCurrentTransformInverse;copyCtxState(currentCtx,groupCtx);this.ctx=groupCtx;this.setGState([['BM','source-over'],['ca',1],['CA',1]]);this.groupStack.push(currentCtx);this.groupLevel++;},suspendSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.ctx;this.groupLevel--;this.ctx=this.groupStack.pop();composeSMask(this.ctx,this.current.activeSMask,groupCtx);this.ctx.restore();this.ctx.save();copyCtxState(groupCtx,this.ctx);this.current.resumeSMaskCtx=groupCtx;var deltaTransform=_util.Util.transform(this.current.activeSMask.startTransformInverse,groupCtx.mozCurrentTransform);this.ctx.transform.apply(this.ctx,deltaTransform);groupCtx.save();groupCtx.setTransform(1,0,0,1,0,0);groupCtx.clearRect(0,0,groupCtx.canvas.width,groupCtx.canvas.height);groupCtx.restore();},resumeSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.current.resumeSMaskCtx;var currentCtx=this.ctx;this.ctx=groupCtx;this.groupStack.push(currentCtx);this.groupLevel++;},endSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.ctx;this.groupLevel--;this.ctx=this.groupStack.pop();composeSMask(this.ctx,this.current.activeSMask,groupCtx);this.ctx.restore();copyCtxState(groupCtx,this.ctx);var deltaTransform=_util.Util.transform(this.current.activeSMask.startTransformInverse,groupCtx.mozCurrentTransform);this.ctx.transform.apply(this.ctx,deltaTransform);},save:function CanvasGraphics_save(){this.ctx.save();var old=this.current;this.stateStack.push(old);this.current=old.clone();this.current.resumeSMaskCtx=null;},restore:function CanvasGraphics_restore(){if(this.current.resumeSMaskCtx){this.resumeSMaskGroup();}if(this.current.activeSMask!==null&&(this.stateStack.length===0||this.stateStack[this.stateStack.length-1].activeSMask!==this.current.activeSMask)){this.endSMaskGroup();}if(this.stateStack.length!==0){this.current=this.stateStack.pop();this.ctx.restore();this.pendingClip=null;this.cachedGetSinglePixelWidth=null;}},transform:function CanvasGraphics_transform(a,b,c,d,e,f){this.ctx.transform(a,b,c,d,e,f);this.cachedGetSinglePixelWidth=null;},constructPath:function CanvasGraphics_constructPath(ops,args){var ctx=this.ctx;var current=this.current;var x=current.x,y=current.y;for(var i=0,j=0,ii=ops.length;iMAX_FONT_SIZE?MAX_FONT_SIZE:size;this.current.fontSizeScale=size/browserFontSize;var rule=italic+' '+bold+' '+browserFontSize+'px '+typeface;this.ctx.font=rule},setTextRenderingMode:function CanvasGraphics_setTextRenderingMode(mode){this.current.textRenderingMode=mode},setTextRise:function CanvasGraphics_setTextRise(rise){this.current.textRise=rise},moveText:function CanvasGraphics_moveText(x,y){this.current.x=this.current.lineX+=x;this.current.y=this.current.lineY+=y},setLeadingMoveText:function CanvasGraphics_setLeadingMoveText(x,y){this.setLeading(-y);this.moveText(x,y)},setTextMatrix:function CanvasGraphics_setTextMatrix(a,b,c,d,e,f){this.current.textMatrix=[a,b,c,d,e,f];this.current.textMatrixScale=Math.sqrt(a*a+b*b);this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0},nextLine:function CanvasGraphics_nextLine(){this.moveText(0,this.current.leading)},paintChar:function CanvasGraphics_paintChar(character,x,y){var ctx=this.ctx;var current=this.current;var font=current.font;var textRenderingMode=current.textRenderingMode;var fontSize=current.fontSize/current.fontSizeScale;var fillStrokeMode=textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK;var isAddToPathSet=!!(textRenderingMode&_util.TextRenderingMode.ADD_TO_PATH_FLAG);var addToPath;if(font.disableFontFace||isAddToPathSet){addToPath=font.getPathGenerator(this.commonObjs,character)}if(font.disableFontFace){ctx.save();ctx.translate(x,y);ctx.beginPath();addToPath(ctx,fontSize);if(fillStrokeMode===_util.TextRenderingMode.FILL||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.fill()}if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.stroke()}ctx.restore()}else{if(fillStrokeMode===_util.TextRenderingMode.FILL||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.fillText(character,x,y)}if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.strokeText(character,x,y)}}if(isAddToPathSet){var paths=this.pendingTextPaths||(this.pendingTextPaths=[]);paths.push({transform:ctx.mozCurrentTransform,x:x,y:y,fontSize:fontSize,addToPath:addToPath})}},get isFontSubpixelAAEnabled(){var ctx=this.canvasFactory.create(10,10).context;ctx.scale(1.5,1);ctx.fillText('I',0,10);var data=ctx.getImageData(0,0,10,10).data;var enabled=false;for(var i=3;i0&&data[i]<255){enabled=true;break}}return(0,_util.shadow)(this,'isFontSubpixelAAEnabled',enabled)},showText:function CanvasGraphics_showText(glyphs){var current=this.current;var font=current.font;if(font.isType3Font){return this.showType3Text(glyphs)}var fontSize=current.fontSize;if(fontSize===0){return}var ctx=this.ctx;var fontSizeScale=current.fontSizeScale;var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var fontDirection=current.fontDirection;var textHScale=current.textHScale*fontDirection;var glyphsLength=glyphs.length;var vertical=font.vertical;var spacingDir=vertical?1:-1;var defaultVMetrics=font.defaultVMetrics;var widthAdvanceScale=fontSize*current.fontMatrix[0];var simpleFillText=current.textRenderingMode===_util.TextRenderingMode.FILL&&!font.disableFontFace;ctx.save();ctx.transform.apply(ctx,current.textMatrix);ctx.translate(current.x,current.y+current.textRise);if(current.patternFill){ctx.fillStyle=current.fillColor.getPattern(ctx,this)}if(fontDirection>0){ctx.scale(textHScale,-1)}else{ctx.scale(textHScale,1)}var lineWidth=current.lineWidth;var scale=current.textMatrixScale;if(scale===0||lineWidth===0){var fillStrokeMode=current.textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK;if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){this.cachedGetSinglePixelWidth=null;lineWidth=this.getSinglePixelWidth()*MIN_WIDTH_FACTOR}}else{lineWidth/=scale}if(fontSizeScale!==1.0){ctx.scale(fontSizeScale,fontSizeScale);lineWidth/=fontSizeScale}ctx.lineWidth=lineWidth;var x=0,i;for(i=0;i0){var measuredWidth=ctx.measureText(character).width*1000/fontSize*fontSizeScale;if(widthMAX_GROUP_SIZE){scaleX=drawnWidth/MAX_GROUP_SIZE;drawnWidth=MAX_GROUP_SIZE}if(drawnHeight>MAX_GROUP_SIZE){scaleY=drawnHeight/MAX_GROUP_SIZE;drawnHeight=MAX_GROUP_SIZE}var cacheId='groupAt'+this.groupLevel;if(group.smask){cacheId+='_smask_'+this.smaskCounter++%2}var scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight,true);var groupCtx=scratchCanvas.context;groupCtx.scale(1/scaleX,1/scaleY);groupCtx.translate(-offsetX,-offsetY);groupCtx.transform.apply(groupCtx,currentTransform);if(group.smask){this.smaskStack.push({canvas:scratchCanvas.canvas,context:groupCtx,offsetX:offsetX,offsetY:offsetY,scaleX:scaleX,scaleY:scaleY,subtype:group.smask.subtype,backdrop:group.smask.backdrop,transferMap:group.smask.transferMap||null,startTransformInverse:null})}else{currentCtx.setTransform(1,0,0,1,0,0);currentCtx.translate(offsetX,offsetY);currentCtx.scale(scaleX,scaleY)}copyCtxState(currentCtx,groupCtx);this.ctx=groupCtx;this.setGState([['BM','source-over'],['ca',1],['CA',1]]);this.groupStack.push(currentCtx);this.groupLevel++;this.current.activeSMask=null},endGroup:function CanvasGraphics_endGroup(group){this.groupLevel--;var groupCtx=this.ctx;this.ctx=this.groupStack.pop();if(this.ctx.imageSmoothingEnabled!==undefined){this.ctx.imageSmoothingEnabled=false}else{this.ctx.mozImageSmoothingEnabled=false}if(group.smask){this.tempSMask=this.smaskStack.pop()}else{this.ctx.drawImage(groupCtx.canvas,0,0)}this.restore()},beginAnnotations:function CanvasGraphics_beginAnnotations(){this.save();if(this.baseTransform){this.ctx.setTransform.apply(this.ctx,this.baseTransform)}},endAnnotations:function CanvasGraphics_endAnnotations(){this.restore()},beginAnnotation:function CanvasGraphics_beginAnnotation(rect,transform,matrix){this.save();resetCtxToDefault(this.ctx);this.current=new CanvasExtraState();if((0,_util.isArray)(rect)&&rect.length===4){var width=rect[2]-rect[0];var height=rect[3]-rect[1];this.ctx.rect(rect[0],rect[1],width,height);this.clip();this.endPath()}this.transform.apply(this,transform);this.transform.apply(this,matrix)},endAnnotation:function CanvasGraphics_endAnnotation(){this.restore()},paintJpegXObject:function CanvasGraphics_paintJpegXObject(objId,w,h){var domImage=this.objs.get(objId);if(!domImage){(0,_util.warn)('Dependent image isn\'t ready yet');return}this.save();var ctx=this.ctx;ctx.scale(1/w,-1/h);ctx.drawImage(domImage,0,0,domImage.width,domImage.height,0,-h,w,h);if(this.imageLayer){var currentTransform=ctx.mozCurrentTransformInverse;var position=this.getCanvasPosition(0,0);this.imageLayer.appendImage({objId:objId,left:position[0],top:position[1],width:w/currentTransform[0],height:h/currentTransform[3]})}this.restore()},paintImageMaskXObject:function CanvasGraphics_paintImageMaskXObject(img){var ctx=this.ctx;var width=img.width,height=img.height;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var glyph=this.processingType3;if(COMPILE_TYPE3_GLYPHS&&glyph&&glyph.compiled===undefined){if(width<=MAX_SIZE_TO_COMPILE&&height<=MAX_SIZE_TO_COMPILE){glyph.compiled=compileType3Glyph({data:img.data,width:width,height:height})}else{glyph.compiled=null}}if(glyph&&glyph.compiled){glyph.compiled(ctx);return}var maskCanvas=this.cachedCanvases.getCanvas('maskCanvas',width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,img);maskCtx.globalCompositeOperation='source-in';maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();this.paintInlineImageXObject(maskCanvas.canvas)},paintImageMaskXObjectRepeat:function CanvasGraphics_paintImageMaskXObjectRepeat(imgData,scaleX,scaleY,positions){var width=imgData.width;var height=imgData.height;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var maskCanvas=this.cachedCanvases.getCanvas('maskCanvas',width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,imgData);maskCtx.globalCompositeOperation='source-in';maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();var ctx=this.ctx;for(var i=0,ii=positions.length;i2&&paintWidth>1||heightScale>2&&paintHeight>1){var newWidth=paintWidth,newHeight=paintHeight;if(widthScale>2&&paintWidth>1){newWidth=Math.ceil(paintWidth/2);widthScale/=paintWidth/newWidth}if(heightScale>2&&paintHeight>1){newHeight=Math.ceil(paintHeight/2);heightScale/=paintHeight/newHeight}tmpCanvas=this.cachedCanvases.getCanvas(tmpCanvasId,newWidth,newHeight);tmpCtx=tmpCanvas.context;tmpCtx.clearRect(0,0,newWidth,newHeight);tmpCtx.drawImage(imgToPaint,0,0,paintWidth,paintHeight,0,0,newWidth,newHeight);imgToPaint=tmpCanvas.canvas;paintWidth=newWidth;paintHeight=newHeight;tmpCanvasId=tmpCanvasId==='prescale1'?'prescale2':'prescale1'}ctx.drawImage(imgToPaint,0,0,paintWidth,paintHeight,0,-height,width,height);if(this.imageLayer){var position=this.getCanvasPosition(0,-height);this.imageLayer.appendImage({imgData:imgData,left:position[0],top:position[1],width:width/currentTransform[0],height:height/currentTransform[3]})}this.restore()},paintInlineImageXObjectGroup:function CanvasGraphics_paintInlineImageXObjectGroup(imgData,map){var ctx=this.ctx;var w=imgData.width;var h=imgData.height;var tmpCanvas=this.cachedCanvases.getCanvas('inlineImage',w,h);var tmpCtx=tmpCanvas.context;putBinaryImageData(tmpCtx,imgData);for(var i=0,ii=map.length;i0&&!FontLoader.isSyncFontLoadingSupported){this.prepareFontLoadEvent(rules,fontsToLoad,request)}else{request.complete()}};FontLoader.prototype.queueLoadingCallback=function FontLoader_queueLoadingCallback(callback){function LoadLoader_completeRequest(){(0,_util.assert)(!request.end,'completeRequest() cannot be called twice');request.end=Date.now();while(context.requests.length>0&&context.requests[0].end){var otherRequest=context.requests.shift();setTimeout(otherRequest.callback,0)}}var context=this.loadingContext;var requestId='pdfjs-font-loading-'+context.nextRequestId++;var request={id:requestId,complete:LoadLoader_completeRequest,callback:callback,started:Date.now()};context.requests.push(request);return request};FontLoader.prototype.prepareFontLoadEvent=function fontLoaderPrepareFontLoadEvent(rules,fonts,request){function int32(data,offset){return data.charCodeAt(offset)<<24|data.charCodeAt(offset+1)<<16|data.charCodeAt(offset+2)<<8|data.charCodeAt(offset+3)&0xff}function spliceString(s,offset,remove,insert){var chunk1=s.substr(0,offset);var chunk2=s.substr(offset+remove);return chunk1+insert+chunk2}var i,ii;var canvas=document.createElement('canvas');canvas.width=1;canvas.height=1;var ctx=canvas.getContext('2d');var called=0;function isFontReady(name,callback){called++;if(called>30){(0,_util.warn)('Load test font never loaded.');callback();return}ctx.font='30px '+name;ctx.fillText('.',0,20);var imageData=ctx.getImageData(0,0,1,1);if(imageData.data[3]>0){callback();return}setTimeout(isFontReady.bind(null,name,callback))}var loadTestFontId='lt'+Date.now()+this.loadTestFontId++;var data=this.loadTestFont;var COMMENT_OFFSET=976;data=spliceString(data,COMMENT_OFFSET,loadTestFontId.length,loadTestFontId);var CFF_CHECKSUM_OFFSET=16;var XXXX_VALUE=0x58585858;var checksum=int32(data,CFF_CHECKSUM_OFFSET);for(i=0,ii=loadTestFontId.length-3;i=14){supported=true}return supported};Object.defineProperty(FontLoader,'isSyncFontLoadingSupported',{get:function get(){return(0,_util.shadow)(FontLoader,'isSyncFontLoadingSupported',isSyncFontLoadingSupported())},enumerable:true,configurable:true})}var IsEvalSupportedCached={get value(){return(0,_util.shadow)(this,'value',(0,_util.isEvalSupported)())}};var FontFaceObject=function FontFaceObjectClosure(){function FontFaceObject(translatedData,options){this.compiledGlyphs=Object.create(null);for(var i in translatedData){this[i]=translatedData[i]}this.options=options}FontFaceObject.prototype={createNativeFontFace:function FontFaceObject_createNativeFontFace(){if(!this.data){return null}if(this.options.disableFontFace){this.disableFontFace=true;return null}var nativeFontFace=new FontFace(this.loadedName,this.data,{});if(this.options.fontRegistry){this.options.fontRegistry.registerFont(this)}return nativeFontFace},createFontFaceRule:function FontFaceObject_createFontFaceRule(){if(!this.data){return null}if(this.options.disableFontFace){this.disableFontFace=true;return null}var data=(0,_util.bytesToString)(new Uint8Array(this.data));var fontName=this.loadedName;var url='url(data:'+this.mimetype+';base64,'+btoa(data)+');';var rule='@font-face { font-family:"'+fontName+'";src:'+url+'}';if(this.options.fontRegistry){this.options.fontRegistry.registerFont(this,url)}return rule},getPathGenerator:function FontFaceObject_getPathGenerator(objs,character){if(!(character in this.compiledGlyphs)){var cmds=objs.get(this.loadedName+'_path_'+character);var current,i,len;if(this.options.isEvalSupported&&IsEvalSupportedCached.value){var args,js='';for(i=0,len=cmds.length;icoords[p2+1]){tmp=p1;p1=p2;p2=tmp;tmp=c1;c1=c2;c2=tmp}if(coords[p2+1]>coords[p3+1]){tmp=p2;p2=p3;p3=tmp;tmp=c2;c2=c3;c3=tmp}if(coords[p1+1]>coords[p2+1]){tmp=p1;p1=p2;p2=tmp;tmp=c1;c1=c2;c2=tmp}var x1=(coords[p1]+context.offsetX)*context.scaleX;var y1=(coords[p1+1]+context.offsetY)*context.scaleY;var x2=(coords[p2]+context.offsetX)*context.scaleX;var y2=(coords[p2+1]+context.offsetY)*context.scaleY;var x3=(coords[p3]+context.offsetX)*context.scaleX;var y3=(coords[p3+1]+context.offsetY)*context.scaleY;if(y1>=y3){return}var c1r=colors[c1],c1g=colors[c1+1],c1b=colors[c1+2];var c2r=colors[c2],c2g=colors[c2+1],c2b=colors[c2+2];var c3r=colors[c3],c3g=colors[c3+1],c3b=colors[c3+2];var minY=Math.round(y1),maxY=Math.round(y3);var xa,car,cag,cab;var xb,cbr,cbg,cbb;var k;for(var y=minY;y<=maxY;y++){if(yy3?1:y2===y3?0:(y2-y)/(y2-y3);xa=x2-(x2-x3)*k;car=c2r-(c2r-c3r)*k;cag=c2g-(c2g-c3g)*k;cab=c2b-(c2b-c3b)*k}k=yy3?1:(y1-y)/(y1-y3);xb=x1-(x1-x3)*k;cbr=c1r-(c1r-c3r)*k;cbg=c1g-(c1g-c3g)*k;cbb=c1b-(c1b-c3b)*k;var x1_=Math.round(Math.min(xa,xb));var x2_=Math.round(Math.max(xa,xb));var j=rowSize*y+x1_*4;for(var x=x1_;x<=x2_;x++){k=(xa-x)/(xa-xb);k=k<0?0:k>1?1:k;bytes[j++]=car-(car-cbr)*k|0;bytes[j++]=cag-(cag-cbg)*k|0;bytes[j++]=cab-(cab-cbb)*k|0;bytes[j++]=255}}}function drawFigure(data,figure,context){var ps=figure.coords;var cs=figure.colors;var i,ii;switch(figure.type){case'lattice':var verticesPerRow=figure.verticesPerRow;var rows=Math.floor(ps.length/verticesPerRow)-1;var cols=verticesPerRow-1;for(i=0;i0){var buffer=new Uint8Array(initialData).buffer;this._queuedChunks.push(buffer)}this._pdfDataRangeTransport=pdfDataRangeTransport;this._isRangeSupported=!params.disableRange;this._isStreamingSupported=!params.disableStream;this._contentLength=params.length;this._fullRequestReader=null;this._rangeReaders=[];this._pdfDataRangeTransport.addRangeListener(function(begin,chunk){_this._onReceiveData({begin:begin,chunk:chunk})});this._pdfDataRangeTransport.addProgressListener(function(loaded){_this._onProgress({loaded:loaded})});this._pdfDataRangeTransport.addProgressiveReadListener(function(chunk){_this._onReceiveData({chunk:chunk})});this._pdfDataRangeTransport.transportReady()}PDFDataTransportStream.prototype={_onReceiveData:function PDFDataTransportStream_onReceiveData(args){var buffer=new Uint8Array(args.chunk).buffer;if(args.begin===undefined){if(this._fullRequestReader){this._fullRequestReader._enqueue(buffer)}else{this._queuedChunks.push(buffer)}}else{var found=this._rangeReaders.some(function(rangeReader){if(rangeReader._begin!==args.begin){return false}rangeReader._enqueue(buffer);return true});(0,_util.assert)(found)}},_onProgress:function PDFDataTransportStream_onDataProgress(evt){if(this._rangeReaders.length>0){var firstReader=this._rangeReaders[0];if(firstReader.onProgress){firstReader.onProgress({loaded:evt.loaded})}}},_removeRangeReader:function PDFDataTransportStream_removeRangeReader(reader){var i=this._rangeReaders.indexOf(reader);if(i>=0){this._rangeReaders.splice(i,1)}},getFullReader:function PDFDataTransportStream_getFullReader(){(0,_util.assert)(!this._fullRequestReader);var queuedChunks=this._queuedChunks;this._queuedChunks=null;return new PDFDataTransportStreamReader(this,queuedChunks)},getRangeReader:function PDFDataTransportStream_getRangeReader(begin,end){var reader=new PDFDataTransportStreamRangeReader(this,begin,end);this._pdfDataRangeTransport.requestDataRange(begin,end);this._rangeReaders.push(reader);return reader},cancelAllRequests:function PDFDataTransportStream_cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason)}var readers=this._rangeReaders.slice(0);readers.forEach(function(rangeReader){rangeReader.cancel(reason)});this._pdfDataRangeTransport.abort()}};function PDFDataTransportStreamReader(stream,queuedChunks){this._stream=stream;this._done=false;this._queuedChunks=queuedChunks||[];this._requests=[];this._headersReady=Promise.resolve();stream._fullRequestReader=this;this.onProgress=null}PDFDataTransportStreamReader.prototype={_enqueue:function PDFDataTransportStreamReader_enqueue(chunk){if(this._done){return}if(this._requests.length>0){var requestCapability=this._requests.shift();requestCapability.resolve({value:chunk,done:false});return}this._queuedChunks.push(chunk)},get headersReady(){return this._headersReady},get isRangeSupported(){return this._stream._isRangeSupported},get isStreamingSupported(){return this._stream._isStreamingSupported},get contentLength(){return this._stream._contentLength},read:function PDFDataTransportStreamReader_read(){if(this._queuedChunks.length>0){var chunk=this._queuedChunks.shift();return Promise.resolve({value:chunk,done:false})}if(this._done){return Promise.resolve({value:undefined,done:true})}var requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return requestCapability.promise},cancel:function PDFDataTransportStreamReader_cancel(reason){this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[]}};function PDFDataTransportStreamRangeReader(stream,begin,end){this._stream=stream;this._begin=begin;this._end=end;this._queuedChunk=null;this._requests=[];this._done=false;this.onProgress=null}PDFDataTransportStreamRangeReader.prototype={_enqueue:function PDFDataTransportStreamRangeReader_enqueue(chunk){if(this._done){return}if(this._requests.length===0){this._queuedChunk=chunk}else{var requestsCapability=this._requests.shift();requestsCapability.resolve({value:chunk,done:false});this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[]}this._done=true;this._stream._removeRangeReader(this)},get isStreamingSupported(){return false},read:function PDFDataTransportStreamRangeReader_read(){if(this._queuedChunk){var chunk=this._queuedChunk;this._queuedChunk=null;return Promise.resolve({value:chunk,done:false})}if(this._done){return Promise.resolve({value:undefined,done:true})}var requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return requestCapability.promise},cancel:function PDFDataTransportStreamRangeReader_cancel(reason){this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true})});this._requests=[];this._stream._removeRangeReader(this)}};return PDFDataTransportStream}();exports.PDFDataTransportStream=PDFDataTransportStream}),(function(module,exports,__w_pdfjs_require__){"use strict";var pdfjsVersion='1.9.426';var pdfjsBuild='2558a58d';var pdfjsSharedUtil=__w_pdfjs_require__(0);var pdfjsDisplayGlobal=__w_pdfjs_require__(8);var pdfjsDisplayAPI=__w_pdfjs_require__(2);var pdfjsDisplayTextLayer=__w_pdfjs_require__(5);var pdfjsDisplayAnnotationLayer=__w_pdfjs_require__(3);var pdfjsDisplayDOMUtils=__w_pdfjs_require__(1);var pdfjsDisplaySVG=__w_pdfjs_require__(4);{__w_pdfjs_require__(9)}exports.PDFJS=pdfjsDisplayGlobal.PDFJS;exports.build=pdfjsDisplayAPI.build;exports.version=pdfjsDisplayAPI.version;exports.getDocument=pdfjsDisplayAPI.getDocument;exports.LoopbackPort=pdfjsDisplayAPI.LoopbackPort;exports.PDFDataRangeTransport=pdfjsDisplayAPI.PDFDataRangeTransport;exports.PDFWorker=pdfjsDisplayAPI.PDFWorker;exports.renderTextLayer=pdfjsDisplayTextLayer.renderTextLayer;exports.AnnotationLayer=pdfjsDisplayAnnotationLayer.AnnotationLayer;exports.CustomStyle=pdfjsDisplayDOMUtils.CustomStyle;exports.createPromiseCapability=pdfjsSharedUtil.createPromiseCapability;exports.PasswordResponses=pdfjsSharedUtil.PasswordResponses;exports.InvalidPDFException=pdfjsSharedUtil.InvalidPDFException;exports.MissingPDFException=pdfjsSharedUtil.MissingPDFException;exports.SVGGraphics=pdfjsDisplaySVG.SVGGraphics;exports.NativeImageDecoding=pdfjsSharedUtil.NativeImageDecoding;exports.UnexpectedResponseException=pdfjsSharedUtil.UnexpectedResponseException;exports.OPS=pdfjsSharedUtil.OPS;exports.UNSUPPORTED_FEATURES=pdfjsSharedUtil.UNSUPPORTED_FEATURES;exports.isValidUrl=pdfjsDisplayDOMUtils.isValidUrl;exports.createValidAbsoluteUrl=pdfjsSharedUtil.createValidAbsoluteUrl;exports.createObjectURL=pdfjsSharedUtil.createObjectURL;exports.removeNullCharacters=pdfjsSharedUtil.removeNullCharacters;exports.shadow=pdfjsSharedUtil.shadow;exports.createBlob=pdfjsSharedUtil.createBlob;exports.RenderingCancelledException=pdfjsDisplayDOMUtils.RenderingCancelledException;exports.getFilenameFromUrl=pdfjsDisplayDOMUtils.getFilenameFromUrl;exports.addLinkAttributes=pdfjsDisplayDOMUtils.addLinkAttributes;exports.StatTimer=pdfjsSharedUtil.StatTimer}),(function(module,exports,__w_pdfjs_require__){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};if(typeof PDFJS==='undefined'||!PDFJS.compatibilityChecked){var globalScope=typeof window!=='undefined'&&window.Math===Math?window:typeof global!=='undefined'&&global.Math===Math?global:typeof self!=='undefined'&&self.Math===Math?self:false?undefined:{};var userAgent=typeof navigator!=='undefined'&&navigator.userAgent||'';var isAndroid=/Android/.test(userAgent);var isAndroidPre3=/Android\s[0-2][^\d]/.test(userAgent);var isAndroidPre5=/Android\s[0-4][^\d]/.test(userAgent);var isChrome=userAgent.indexOf('Chrom')>=0;var isChromeWithRangeBug=/Chrome\/(39|40)\./.test(userAgent);var isIOSChrome=userAgent.indexOf('CriOS')>=0;var isIE=userAgent.indexOf('Trident')>=0;var isIOS=/\b(iPad|iPhone|iPod)(?=;)/.test(userAgent);var isOpera=userAgent.indexOf('Opera')>=0;var isSafari=/Safari\//.test(userAgent)&&!/(Chrome\/|Android\s)/.test(userAgent);var hasDOM=(typeof window==='undefined'?'undefined':_typeof(window))==='object'&&(typeof document==='undefined'?'undefined':_typeof(document))==='object';if(typeof PDFJS==='undefined'){globalScope.PDFJS={}}PDFJS.compatibilityChecked=true;(function checkTypedArrayCompatibility(){if(typeof Uint8Array!=='undefined'){if(typeof Uint8Array.prototype.subarray==='undefined'){Uint8Array.prototype.subarray=function subarray(start,end){return new Uint8Array(this.slice(start,end))};Float32Array.prototype.subarray=function subarray(start,end){return new Float32Array(this.slice(start,end))}}if(typeof Float64Array==='undefined'){globalScope.Float64Array=Float32Array}return}function subarray(start,end){return new TypedArray(this.slice(start,end))}function setArrayOffset(array,offset){if(arguments.length<2){offset=0}for(var i=0,n=array.length;i>>0},set:function set(value){var buffer=this.buffer,offset=index<<2;buffer[offset]=value&255;buffer[offset+1]=value>>8&255;buffer[offset+2]=value>>16&255;buffer[offset+3]=value>>>24&255}}}function ensureUint32ArrayViewProps(length){while(uint32ArrayViewSetters>2,d2=(b1&3)<<4|b2>>4;var d3=i+1>6:64;var d4=i+2>(-2*bc&6)):0){buffer=digits.indexOf(buffer)}return output}})();(function checkFunctionPrototypeBindCompatibility(){if(typeof Function.prototype.bind!=='undefined'){return}Function.prototype.bind=function functionPrototypeBind(obj){var fn=this,headArgs=Array.prototype.slice.call(arguments,1);var bound=function functionPrototypeBindBound(){var args=headArgs.concat(Array.prototype.slice.call(arguments));return fn.apply(obj,args)};return bound}})();(function checkDatasetProperty(){if(!hasDOM){return}var div=document.createElement('div');if('dataset'in div){return}Object.defineProperty(HTMLElement.prototype,'dataset',{get:function get(){if(this._dataset){return this._dataset}var dataset={};for(var j=0,jj=this.attributes.length;j=0&&remove){list.splice(index,1)}element.className=list.join(' ');return index>=0}if(!hasDOM){return}var div=document.createElement('div');if('classList'in div){return}var classListPrototype={add:function add(name){changeList(this.element,name,true,false)},contains:function contains(name){return changeList(this.element,name,false,false)},remove:function remove(name){changeList(this.element,name,false,true)},toggle:function toggle(name){changeList(this.element,name,true,true)}};Object.defineProperty(HTMLElement.prototype,'classList',{get:function get(){if(this._classList){return this._classList}var classList=Object.create(classListPrototype,{element:{value:this,writable:false,enumerable:true}});Object.defineProperty(this,'_classList',{value:classList,writable:false,enumerable:false});return classList},enumerable:true})})();(function checkWorkerConsoleCompatibility(){if(typeof importScripts==='undefined'||'console'in globalScope){return}var consoleTimer={};var workerConsole={log:function log(){var args=Array.prototype.slice.call(arguments);globalScope.postMessage({targetName:'main',action:'console_log',data:args})},error:function error(){var args=Array.prototype.slice.call(arguments);globalScope.postMessage({targetName:'main',action:'console_error',data:args})},time:function time(name){consoleTimer[name]=Date.now()},timeEnd:function timeEnd(name){var time=consoleTimer[name];if(!time){throw new Error('Unknown timer name '+name);}this.log('Timer:',name,Date.now()-time)}};globalScope.console=workerConsole})();(function checkConsoleCompatibility(){if(!hasDOM){return}if(!('console'in window)){window.console={log:function log(){},error:function error(){},warn:function warn(){}};return}if(!('bind'in console.log)){console.log=function(fn){return function(msg){return fn(msg)}}(console.log);console.error=function(fn){return function(msg){return fn(msg)}}(console.error);console.warn=function(fn){return function(msg){return fn(msg)}}(console.warn);return}})();(function checkOnClickCompatibility(){function ignoreIfTargetDisabled(event){if(isDisabled(event.target)){event.stopPropagation()}}function isDisabled(node){return node.disabled||node.parentNode&&isDisabled(node.parentNode)}if(isOpera){document.addEventListener('click',ignoreIfTargetDisabled,true)}})();(function checkOnBlobSupport(){if(isIE||isIOSChrome){PDFJS.disableCreateObjectURL=true}})();(function checkNavigatorLanguage(){if(typeof navigator==='undefined'){return}if('language'in navigator){return}PDFJS.locale=navigator.userLanguage||'en-US'})();(function checkRangeRequests(){if(isSafari||isAndroidPre3||isChromeWithRangeBug||isIOS){PDFJS.disableRange=true;PDFJS.disableStream=true}})();(function checkHistoryManipulation(){if(!hasDOM){return}if(!history.pushState||isAndroidPre3){PDFJS.disableHistory=true}})();(function checkSetPresenceInImageData(){if(!hasDOM){return}if(window.CanvasPixelArray){if(typeof window.CanvasPixelArray.prototype.set!=='function'){window.CanvasPixelArray.prototype.set=function(arr){for(var i=0,ii=this.length;i0){var handler=this.handlers.shift();var nextStatus=handler.thisPromise._status;var nextValue=handler.thisPromise._value;try{if(nextStatus===STATUS_RESOLVED){if(typeof handler.onResolve==='function'){nextValue=handler.onResolve(nextValue)}}else if(typeof handler.onReject==='function'){nextValue=handler.onReject(nextValue);nextStatus=STATUS_RESOLVED;if(handler.thisPromise._unhandledRejection){this.removeUnhandeledRejection(handler.thisPromise)}}}catch(ex){nextStatus=STATUS_REJECTED;nextValue=ex}handler.nextPromise._updateStatus(nextStatus,nextValue);if(Date.now()>=timeoutAt){break}}if(this.handlers.length>0){setTimeout(this.runHandlers.bind(this),0);return}this.running=false},addUnhandledRejection:function addUnhandledRejection(promise){this.unhandledRejections.push({promise:promise,time:Date.now()});this.scheduleRejectionCheck()},removeUnhandeledRejection:function removeUnhandeledRejection(promise){promise._unhandledRejection=false;for(var i=0;iREJECTION_TIMEOUT){var unhandled=_this.unhandledRejections[i].promise._value;var msg='Unhandled rejection: '+unhandled;if(unhandled.stack){msg+='\n'+unhandled.stack}try{throw new Error(msg);}catch(_){console.warn(msg)}_this.unhandledRejections.splice(i);i--}}if(_this.unhandledRejections.length){_this.scheduleRejectionCheck()}},REJECTION_TIMEOUT)}};var Promise=function Promise(resolver){this._status=STATUS_PENDING;this._handlers=[];try{resolver.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(e){this._reject(e)}};Promise.all=function Promise_all(promises){var resolveAll,rejectAll;var deferred=new Promise(function(resolve,reject){resolveAll=resolve;rejectAll=reject});var unresolved=promises.length;var results=[];if(unresolved===0){resolveAll(results);return deferred}function reject(reason){if(deferred._status===STATUS_REJECTED){return}results=[];rejectAll(reason)}for(var i=0,ii=promises.length;i0x20&&unicode<0x7F&&[0x22,0x23,0x3C,0x3E,0x3F,0x60].indexOf(unicode)===-1){return c}return encodeURIComponent(c)}function percentEscapeQuery(c){var unicode=c.charCodeAt(0);if(unicode>0x20&&unicode<0x7F&&[0x22,0x23,0x3C,0x3E,0x60].indexOf(unicode)===-1){return c}return encodeURIComponent(c)}var EOF,ALPHA=/[a-zA-Z]/,ALPHANUMERIC=/[a-zA-Z0-9\+\-\.]/;function parse(input,stateOverride,base){function err(message){errors.push(message)}var state=stateOverride||'scheme start',cursor=0,buffer='',seenAt=false,seenBracket=false,errors=[];loop:while((input[cursor-1]!==EOF||cursor===0)&&!this._isInvalid){var c=input[cursor];switch(state){case'scheme start':if(c&&ALPHA.test(c)){buffer+=c.toLowerCase();state='scheme'}else if(!stateOverride){buffer='';state='no scheme';continue}else{err('Invalid scheme.');break loop}break;case'scheme':if(c&&ALPHANUMERIC.test(c)){buffer+=c.toLowerCase()}else if(c===':'){this._scheme=buffer;buffer='';if(stateOverride){break loop}if(isRelativeScheme(this._scheme)){this._isRelative=true}if(this._scheme==='file'){state='relative'}else if(this._isRelative&&base&&base._scheme===this._scheme){state='relative or authority'}else if(this._isRelative){state='authority first slash'}else{state='scheme data'}}else if(!stateOverride){buffer='';cursor=0;state='no scheme';continue}else if(c===EOF){break loop}else{err('Code point not allowed in scheme: '+c);break loop}break;case'scheme data':if(c==='?'){this._query='?';state='query'}else if(c==='#'){this._fragment='#';state='fragment'}else{if(c!==EOF&&c!=='\t'&&c!=='\n'&&c!=='\r'){this._schemeData+=percentEscape(c)}}break;case'no scheme':if(!base||!isRelativeScheme(base._scheme)){err('Missing scheme.');invalid.call(this)}else{state='relative';continue}break;case'relative or authority':if(c==='/'&&input[cursor+1]==='/'){state='authority ignore slashes'}else{err('Expected /, got: '+c);state='relative';continue}break;case'relative':this._isRelative=true;if(this._scheme!=='file'){this._scheme=base._scheme}if(c===EOF){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query=base._query;this._username=base._username;this._password=base._password;break loop}else if(c==='/'||c==='\\'){if(c==='\\'){err('\\ is an invalid code point.')}state='relative slash'}else if(c==='?'){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query='?';this._username=base._username;this._password=base._password;state='query'}else if(c==='#'){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query=base._query;this._fragment='#';this._username=base._username;this._password=base._password;state='fragment'}else{var nextC=input[cursor+1];var nextNextC=input[cursor+2];if(this._scheme!=='file'||!ALPHA.test(c)||nextC!==':'&&nextC!=='|'||nextNextC!==EOF&&nextNextC!=='/'&&nextNextC!=='\\'&&nextNextC!=='?'&&nextNextC!=='#'){this._host=base._host;this._port=base._port;this._username=base._username;this._password=base._password;this._path=base._path.slice();this._path.pop()}state='relative path';continue}break;case'relative slash':if(c==='/'||c==='\\'){if(c==='\\'){err('\\ is an invalid code point.')}if(this._scheme==='file'){state='file host'}else{state='authority ignore slashes'}}else{if(this._scheme!=='file'){this._host=base._host;this._port=base._port;this._username=base._username;this._password=base._password}state='relative path';continue}break;case'authority first slash':if(c==='/'){state='authority second slash'}else{err('Expected \'/\', got: '+c);state='authority ignore slashes';continue}break;case'authority second slash':state='authority ignore slashes';if(c!=='/'){err('Expected \'/\', got: '+c);continue}break;case'authority ignore slashes':if(c!=='/'&&c!=='\\'){state='authority';continue}else{err('Expected authority, got: '+c)}break;case'authority':if(c==='@'){if(seenAt){err('@ already seen.');buffer+='%40'}seenAt=true;for(var i=0;i