summaryrefslogtreecommitdiff
path: root/www/js/pdf.worker.js
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2014-09-22 17:28:14 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2016-08-15 20:02:47 +0200
commit518a0d0c1b029f4bab6f832325e794e35c0163ad (patch)
treeba05bdfd0d8f7a33a8199e8e4de9ae3b1db4b877 /www/js/pdf.worker.js
parentdb648910938ec21d57e571be0e77c632fa53f89c (diff)
downloadwvs-vplan-518a0d0c1b029f4bab6f832325e794e35c0163ad.tar.gz
wvs-vplan-518a0d0c1b029f4bab6f832325e794e35c0163ad.zip
aktualisiere Bibliotheken
Diffstat (limited to 'www/js/pdf.worker.js')
-rw-r--r--www/js/pdf.worker.js32
1 files changed, 20 insertions, 12 deletions
diff --git a/www/js/pdf.worker.js b/www/js/pdf.worker.js
index 8feb497..4a7bd6a 100644
--- a/www/js/pdf.worker.js
+++ b/www/js/pdf.worker.js
@@ -1,12 +1,20 @@
-"undefined"==typeof PDFJS&&(("undefined"!=typeof window?window:this).PDFJS={}),PDFJS.version="1.0.302",PDFJS.build="9308c7c",function(){"use strict";function e(e){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+e)}function t(e){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+e)}function a(e){if(arguments.length>1){var t=["Error:"];t.push.apply(t,arguments),console.log.apply(console,t),e=[].join.call(arguments," ")}else console.log("Error: "+e);throw console.log(r()),K.notify(W.unknown),new Error(e)}function r(){try{throw new Error}catch(e){return e.stack?e.stack.split("\n").slice(2).join("\n"):""}}function i(e,t){e||a(t)}function n(e,t){if(!e)return!1;var a=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(e);if(!a)return t;switch(a=a[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":return!0;default:return!1}}function o(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!1}),a}function s(e){var t=e.length,a=8192;if(a>t)return String.fromCharCode.apply(null,e);for(var r=[],i=0;t>i;i+=a){var n=Math.min(i+a,t),o=e.subarray(i,n);r.push(String.fromCharCode.apply(null,o))}return r.join("")}function c(e){for(var t=e.length,a=[],r=0;t>r;++r)a[r]=e.charCodeAt(r);return a}function l(e){for(var t=e.length,a=new Uint8Array(t),r=0;t>r;++r)a[r]=255&e.charCodeAt(r);return a}function h(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)}function u(e){for(var t=1,a=0;e>t;)t<<=1,a++;return a}function f(e,t){return e[t]<<24>>24}function d(e,t){return e[t]<<8|e[t+1]}function g(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function m(){var e=new Uint8Array(2);e[0]=1;var t=new Uint16Array(e.buffer);return 1===t[0]}function p(){var e=document.createElement("canvas");e.width=e.height=1;var t=e.getContext("2d"),a=t.createImageData(1,1);return"undefined"!=typeof a.data.buffer}function b(e){var t,a=e.length,r=[];if("þ"===e[0]&&"ÿ"===e[1])for(t=2;a>t;t+=2)r.push(String.fromCharCode(e.charCodeAt(t)<<8|e.charCodeAt(t+1)));else for(t=0;a>t;++t){var i=st[e.charCodeAt(t)];r.push(i?String.fromCharCode(i):e.charAt(t))}return r.join("")}function v(e){return decodeURIComponent(escape(e))}function y(e){for(var t in e)return!1;return!0}function k(e){return"boolean"==typeof e}function w(e){return"number"==typeof e&&(0|e)==e}function x(e){return"number"==typeof e}function C(e){return"string"==typeof e}function S(e){return e instanceof Bt}function A(e,t){return e instanceof It&&(!t||e.cmd==t)}function B(e,t){if(!(e instanceof Ot))return!1;if(!t)return!0;var a=e.get("Type");return S(a)&&a.name==t}function I(e){return e instanceof Array}function O(e){return"object"==typeof e&&null!==e&&void 0!==e&&"getBytes"in e}function L(e){return"object"==typeof e&&null!==e&&void 0!==e&&"byteLength"in e}function R(e){return e instanceof Lt}function T(){var e={};return e.promise=new Promise(function(t,a){e.resolve=t,e.reject=a}),e}function P(e,t){this.name=e,this.comObj=t,this.callbackIndex=1,this.postMessageTransfers=!0;var r=this.callbacksCapabilities={},i=this.actionHandler={};i.console_log=[function(e){console.log.apply(console,e)}],i.console_error=[function(e){console.error.apply(console,e)}],i._unsupported_feature=[function(e){K.notify(e)}],t.onmessage=function(e){var n=e.data;if(n.isReply){var o=n.callbackId;if(n.callbackId in r){var s=r[o];delete r[o],"error"in n?s.reject(n.error):s.resolve(n.data)}else a("Cannot resolve callback "+o)}else if(n.action in i){var c=i[n.action];n.callbackId?Promise.resolve().then(function(){return c[0].call(c[1],n.data)}).then(function(e){t.postMessage({isReply:!0,callbackId:n.callbackId,data:e})},function(e){t.postMessage({isReply:!0,callbackId:n.callbackId,error:e})}):c[0].call(c[1],n.data)}else a("Unknown action from worker: "+n.action)}}function M(e){var t;if("object"!=typeof e)return!1;if(B(e))t=e;else{if(!O(e))return!1;t=e.dict}return t.has("FunctionType")}function q(e,t,a){var r=t.get("Matrix"),i=t.get("BBox"),n=t.get("XStep"),o=t.get("YStep"),s=t.get("PaintType"),c=t.get("TilingType");return["TilingPattern",a,e,r,i,n,o,s,c]}function D(e){if(e>=65520&&65535>=e)return 0;switch(e){case 63721:case 63193:return 169;case 63720:case 63194:return 174;case 63722:case 63195:return 8482;default:return e}}function E(e){for(var t=0,a=Ma.length;a>t;t++){var r=Ma[t];if(e>=r.begin&&e<r.end)return t}return-1}function F(e){var t=Ma[13];return e>=t.begin&&e<t.end?!0:(t=Ma[11],e>=t.begin&&e<t.end?!0:!1)}function U(e){var t=e.length;if(1>=t||!F(e.charCodeAt(0)))return e;for(var a="",r=t-1;r>=0;r--)a+=e[r];return a}function N(e){if(e.fontMatrix[0]!==X[0]){var t=.001/e.fontMatrix[0],a=e.widths;for(var r in a)a[r]*=t;e.defaultWidth*=t}}function j(e,t,a){var r,i,n,o=Object.create(null);if(e.baseEncodingName)for(n=Ia[e.baseEncodingName],i=0;i<n.length;i++)r=a.indexOf(n[i]),r>=0&&(o[i]=r);else if(e.flags&Ba.Symbolic)for(i in t)o[i]=t[i];else for(n=Ia.StandardEncoding,i=0;i<n.length;i++)r=a.indexOf(n[i]),r>=0&&(o[i]=r);var s=e.differences;if(s)for(i in s){var c=s[i];r=a.indexOf(c),r>=0&&(o[i]=r)}return o}function z(e){return e===cr}var H="undefined"==typeof window?this:window,G="undefined"==typeof window,X=[.001,0,0,.001,0,0],_={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},V={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};H.PDFJS||(H.PDFJS={}),H.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var J=PDFJS.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},W=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},K=PDFJS.UnsupportedManager=function(){var e=[];return{listen:function(t){e.push(t)},notify:function(a){t('Unsupported feature "'+a+'"');for(var r=0,i=e.length;i>r;r++)e[r](a)}}}();PDFJS.isValidUrl=n;var Y=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},Z=function(){function e(e,t){this.name="PasswordException",this.message=e,this.code=t}return e.prototype=new Error,e.constructor=e,e}(),Q=function(){function e(e,t){this.name="UnknownErrorException",this.message=e,this.details=t}return e.prototype=new Error,e.constructor=e,e}(),$=function(){function e(e){this.name="InvalidPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}(),et=function(){function e(e){this.name="MissingPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}(),tt=function(){function e(e){this.message=e}return e.prototype=new Error,e.prototype.name="NotImplementedException",e.constructor=e,e}(),at=function(){function e(e,t){this.begin=e,this.end=t,this.message="Missing data ["+e+", "+t+")"}return e.prototype=new Error,e.prototype.name="MissingDataException",e.constructor=e,e}(),rt=function(){function e(e){this.message=e}return e.prototype=new Error,e.prototype.name="XRefParseException",e.constructor=e,e}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return o(PDFJS,"isLittleEndian",m())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return o(PDFJS,"hasCanvasTypedArrays",p())}});var it=function(){function e(e,t){this.buffer=e,this.byteLength=e.length,this.length=void 0===t?this.byteLength>>2:t,a(this.length)}function t(e){return{get:function(){var t=this.buffer,a=e<<2;return(t[a]|t[a+1]<<8|t[a+2]<<16|t[a+3]<<24)>>>0},set:function(t){var a=this.buffer,r=e<<2;a[r]=255&t,a[r+1]=t>>8&255,a[r+2]=t>>16&255,a[r+3]=t>>>24&255}}}function a(a){for(;a>r;)Object.defineProperty(e.prototype,r,t(r)),r++}e.prototype=Object.create(null);var r=0;return e}(),nt=[1,0,0,1,0,0],ot=PDFJS.Util=function(){function e(){}return e.makeCssRgb=function(e){return"rgb("+e[0]+","+e[1]+","+e[2]+")"},e.transform=function(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]},e.applyTransform=function(e,t){var a=e[0]*t[0]+e[1]*t[2]+t[4],r=e[0]*t[1]+e[1]*t[3]+t[5];return[a,r]},e.applyInverseTransform=function(e,t){var a=t[0]*t[3]-t[1]*t[2],r=(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/a,i=(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/a;return[r,i]},e.getAxialAlignedBoundingBox=function(t,a){var r=e.applyTransform(t,a),i=e.applyTransform(t.slice(2,4),a),n=e.applyTransform([t[0],t[3]],a),o=e.applyTransform([t[2],t[1]],a);return[Math.min(r[0],i[0],n[0],o[0]),Math.min(r[1],i[1],n[1],o[1]),Math.max(r[0],i[0],n[0],o[0]),Math.max(r[1],i[1],n[1],o[1])]},e.inverseTransform=function(e){var t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]},e.apply3dTransform=function(e,t){return[e[0]*t[0]+e[1]*t[1]+e[2]*t[2],e[3]*t[0]+e[4]*t[1]+e[5]*t[2],e[6]*t[0]+e[7]*t[1]+e[8]*t[2]]},e.singularValueDecompose2dScale=function(e){var t=[e[0],e[2],e[1],e[3]],a=e[0]*t[0]+e[1]*t[2],r=e[0]*t[1]+e[1]*t[3],i=e[2]*t[0]+e[3]*t[2],n=e[2]*t[1]+e[3]*t[3],o=(a+n)/2,s=Math.sqrt((a+n)*(a+n)-4*(a*n-i*r))/2,c=o+s||1,l=o-s||1;return[Math.sqrt(c),Math.sqrt(l)]},e.normalizeRect=function(e){var t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t},e.intersect=function(t,a){function r(e,t){return e-t}var i=[t[0],t[2],a[0],a[2]].sort(r),n=[t[1],t[3],a[1],a[3]].sort(r),o=[];return t=e.normalizeRect(t),a=e.normalizeRect(a),i[0]===t[0]&&i[1]===a[0]||i[0]===a[0]&&i[1]===t[0]?(o[0]=i[1],o[2]=i[2],n[0]===t[1]&&n[1]===a[1]||n[0]===a[1]&&n[1]===t[1]?(o[1]=n[1],o[3]=n[2],o):!1):!1},e.sign=function(e){return 0>e?-1:1},e.concatenateToArray=function(e,t){Array.prototype.push.apply(e,t)},e.prependToArray=function(e,t){Array.prototype.unshift.apply(e,t)},e.extendObj=function(e,t){for(var a in t)e[a]=t[a]},e.getInheritableProperty=function(e,t){for(;e&&!e.has(t);)e=e.get("Parent");return e?e.get(t):null},e.inherit=function(e,t,a){e.prototype=Object.create(t.prototype),e.prototype.constructor=e;for(var r in a)e.prototype[r]=a[r]},e.loadScript=function(e,t){var a=document.createElement("script"),r=!1;a.setAttribute("src",e),t&&(a.onload=function(){r||t(),r=!0}),document.getElementsByTagName("head")[0].appendChild(a)},e}(),st=(PDFJS.PageViewport=function(){function e(e,t,a,r,i,n){this.viewBox=e,this.scale=t,this.rotation=a,this.offsetX=r,this.offsetY=i;var o,s,c,l,h=(e[2]+e[0])/2,u=(e[3]+e[1])/2;switch(a%=360,a=0>a?a+360:a){case 180:o=-1,s=0,c=0,l=1;break;case 90:o=0,s=1,c=1,l=0;break;case 270:o=0,s=-1,c=-1,l=0;break;default:o=1,s=0,c=0,l=-1}n&&(c=-c,l=-l);var f,d,g,m;0===o?(f=Math.abs(u-e[1])*t+r,d=Math.abs(h-e[0])*t+i,g=Math.abs(e[3]-e[1])*t,m=Math.abs(e[2]-e[0])*t):(f=Math.abs(h-e[0])*t+r,d=Math.abs(u-e[1])*t+i,g=Math.abs(e[2]-e[0])*t,m=Math.abs(e[3]-e[1])*t),this.transform=[o*t,s*t,c*t,l*t,f-o*t*h-c*t*u,d-s*t*h-l*t*u],this.width=g,this.height=m,this.fontScale=t}return e.prototype={clone:function(t){t=t||{};var a="scale"in t?t.scale:this.scale,r="rotation"in t?t.rotation:this.rotation;return new e(this.viewBox.slice(),a,r,this.offsetX,this.offsetY,t.dontFlip)},convertToViewportPoint:function(e,t){return ot.applyTransform([e,t],this.transform)},convertToViewportRectangle:function(e){var t=ot.applyTransform([e[0],e[1]],this.transform),a=ot.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],a[0],a[1]]},convertToPdfPoint:function(e,t){return ot.applyInverseTransform([e,t],this.transform)}},e}(),[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,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,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364]);PDFJS.createPromiseCapability=T,function(){function e(e){this._status=a,this._handlers=[];try{e.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(t){this._reject(t)}}if(H.Promise)return"function"!=typeof H.Promise.all&&(H.Promise.all=function(e){var t,a,r=0,i=[],n=new H.Promise(function(e,r){t=e,a=r});return e.forEach(function(e,n){r++,e.then(function(e){i[n]=e,r--,0===r&&t(i)},a)}),0===r&&t(i),n}),"function"!=typeof H.Promise.resolve&&(H.Promise.resolve=function(e){return new H.Promise(function(t){t(e)})}),"function"!=typeof H.Promise.reject&&(H.Promise.reject=function(e){return new H.Promise(function(t,a){a(e)})}),void("function"!=typeof H.Promise.prototype.catch&&(H.Promise.prototype.catch=function(e){return H.Promise.prototype.then(void 0,e)}));var a=0,r=1,i=2,n=500,o={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(e){e._status!=a&&(this.handlers=this.handlers.concat(e._handlers),e._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var e=1,t=Date.now()+e;this.handlers.length>0;){var a=this.handlers.shift(),n=a.thisPromise._status,o=a.thisPromise._value;try{n===r?"function"==typeof a.onResolve&&(o=a.onResolve(o)):"function"==typeof a.onReject&&(o=a.onReject(o),n=r,a.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(a.thisPromise))}catch(s){n=i,o=s}if(a.nextPromise._updateStatus(n,o),Date.now()>=t)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(e){this.unhandledRejections.push({promise:e,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(e){e._unhandledRejection=!1;for(var t=0;t<this.unhandledRejections.length;t++)this.unhandledRejections[t].promise===e&&(this.unhandledRejections.splice(t),t--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var e=Date.now(),a=0;a<this.unhandledRejections.length;a++)if(e-this.unhandledRejections[a].time>n){var r=this.unhandledRejections[a].promise._value,i="Unhandled rejection: "+r;r.stack&&(i+="\n"+r.stack),t(i),this.unhandledRejections.splice(a),a--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),n))}};e.all=function(t){function a(e){o._status!==i&&(c=[],n(e))}var r,n,o=new e(function(e,t){r=e,n=t}),s=t.length,c=[];if(0===s)return r(c),o;for(var l=0,h=t.length;h>l;++l){var u=t[l],f=function(e){return function(t){o._status!==i&&(c[e]=t,s--,0===s&&r(c))}}(l);e.isPromise(u)?u.then(f,a):f(u)}return o},e.isPromise=function(e){return e&&"function"==typeof e.then},e.resolve=function(t){return new e(function(e){e(t)})},e.reject=function(t){return new e(function(e,a){a(t)})},e.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(t,a){if(this._status!==r&&this._status!==i){if(t==r&&e.isPromise(a))return void a.then(this._updateStatus.bind(this,r),this._updateStatus.bind(this,i));this._status=t,this._value=a,t===i&&0===this._handlers.length&&(this._unhandledRejection=!0,o.addUnhandledRejection(this)),o.scheduleHandlers(this)}},_resolve:function(e){this._updateStatus(r,e)},_reject:function(e){this._updateStatus(i,e)},then:function(t,a){var r=new e(function(e,t){this.resolve=t,this.reject=t});return this._handlers.push({thisPromise:this,onResolve:t,onReject:a,nextPromise:r}),o.scheduleHandlers(this),r},"catch":function(e){return this.then(void 0,e)}},H.Promise=e}();!function(){function e(e,t,a){for(;e.length<a;)e+=t;return e}function a(){this.started={},this.times=[],this.enabled=!0}return a.prototype={time:function(e){this.enabled&&(e in this.started&&t("Timer is already running for "+e),this.started[e]=Date.now())},timeEnd:function(e){this.enabled&&(e in this.started||t("Timer has not been started for "+e),this.times.push({name:e,start:this.started[e],end:Date.now()}),delete this.started[e])},toString:function(){var t,a,r=this.times,i="",n=0;for(t=0,a=r.length;a>t;++t){var o=r[t].name;o.length>n&&(n=o.length)}for(t=0,a=r.length;a>t;++t){var s=r[t],c=s.end-s.start;i+=e(s.name," ",n)+" "+c+"ms\n"}return i}},a}();PDFJS.createBlob=function(e,t){if("undefined"!=typeof Blob)return new Blob([e],{type:t});var a=new MozBlobBuilder;return a.append(e),a.getBlob(t)},PDFJS.createObjectURL=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(t,a){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var r=PDFJS.createBlob(t,a);return URL.createObjectURL(r)}for(var i="data:"+a+";base64,",n=0,o=t.length;o>n;n+=3){var s=255&t[n],c=255&t[n+1],l=255&t[n+2],h=s>>2,u=(3&s)<<4|c>>4,f=o>n+1?(15&c)<<2|l>>6:64,d=o>n+2?63&l:64;i+=e[h]+e[u]+e[f]+e[d]}return i}}(),P.prototype={on:function(e,t,r){var i=this.actionHandler;i[e]&&a('There is already an actionName called "'+e+'"'),i[e]=[t,r]},send:function(e,t,a){var r={action:e,data:t};this.postMessage(r,a)},sendWithPromise:function(e,t,a){var r=this.callbackIndex++,i={action:e,data:t,callbackId:r},n=T();this.callbacksCapabilities[r]=n;try{this.postMessage(i,a)}catch(o){n.reject(o)}return n.promise},postMessage:function(e,t){t&&this.postMessageTransfers?this.comObj.postMessage(e,t):this.comObj.postMessage(e)}};var ct=22,lt=4,ht=["Link","Text","Widget"],ut=function(){function e(e,t,a){var r=ot.getAxialAlignedBoundingBox(t,a),i=r[0],n=r[1],o=r[2],s=r[3];if(i===o||n===s)return[1,0,0,1,e[0],e[1]];var c=(e[2]-e[0])/(o-i),l=(e[3]-e[1])/(s-n);return[c,0,0,l,e[0]-i*c,e[1]-n*l]}function a(e){var t=e.get("AP");if(B(t)){var a,r=t.get("N");if(B(r)){var i=e.get("AS");i&&r.has(i.name)&&(a=r.get(i.name))}else a=r;return a}}function r(e){if(e.data)return void(this.data=e.data);var t=e.dict,r=this.data={};r.subtype=t.get("Subtype").name;var i=t.get("Rect")||[0,0,0,0];r.rect=ot.normalizeRect(i),r.annotationFlags=t.get("F");var n=t.get("C");if(r.color=I(n)&&3===n.length?n:[0,0,0],t.has("BS")){var o=t.get("BS");r.borderWidth=o.has("W")?o.get("W"):1}else{var s=t.get("Border")||[0,0,1];r.borderWidth=s[2]||0;var c=s[3];if(r.borderWidth>0&&c)if(I(c)){var l=c.length;if(l>0){for(var h=!1,u=0,f=0;l>f;f++){var d=+c[f]>=0;if(!d){h=!0;break}c[f]>0&&u++}(h||0===u)&&(r.borderWidth=0)}}else r.borderWidth=0}this.appearance=a(t),r.hasAppearance=!!this.appearance,r.id=e.ref.num}return r.prototype={getData:function(){return this.data},hasHtml:function(){return!1},getHtmlElement:function(){throw new tt("getHtmlElement() should be implemented in subclass")},getEmptyContainer:function(e,t,a){i(!G,"getEmptyContainer() should be called from main thread");var r=a||0;t=t||this.data.rect;var n=document.createElement(e);n.style.borderWidth=r+"px";var o=t[2]-t[0]-2*r,s=t[3]-t[1]-2*r;return n.style.width=o+"px",n.style.height=s+"px",n},isInvisible:function(){var e=this.data;return e&&-1!==ht.indexOf(e.subtype)?!1:!!(e&&e.annotationFlags&&1&e.annotationFlags)},isViewable:function(){var e=this.data;return!(this.isInvisible()||!e||e.annotationFlags&&34&e.annotationFlags||!e.rect)},isPrintable:function(){var e=this.data;return!!(!this.isInvisible()&&e&&e.annotationFlags&&4&e.annotationFlags&&e.rect)},loadResources:function(e){return new Promise(function(t,a){this.appearance.dict.getAsync("Resources").then(function(r){if(!r)return void t();var i=new Et(r.map,e,r.xref);i.load().then(function(){t(r)},a)},a)}.bind(this))},getOperatorList:function(t){if(!this.appearance)return Promise.resolve(new la);var a=this.data,r=this.appearance.dict,i=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),n=r.get("BBox")||[0,0,1,1],o=r.get("Matrix")||[1,0,0,1,0,0],s=e(a.rect,n,o),c=this;return i.then(function(e){var r=new la;return r.addOp(J.beginAnnotation,[a.rect,s,o]),t.getOperatorList(c.appearance,e,r).then(function(){return r.addOp(J.endAnnotation,[]),c.appearance.reset(),r})})}},r.getConstructor=function(e,t){if(e){if("Link"===e)return pt;if("Text"===e)return mt;if("Widget"===e){if(!t)return;return"Tx"===t?dt:ft}return r}},r.fromData=function(e){var t=e.subtype,a=e.fieldType,i=r.getConstructor(t,a);return i?new i({data:e}):void 0},r.fromRef=function(e,a){var i=e.fetchIfRef(a);if(B(i)){var n=i.get("Subtype");if(n=S(n)?n.name:""){var o=ot.getInheritableProperty(i,"FT");o=S(o)?o.name:"";var s=r.getConstructor(n,o);if(s){var c={dict:i,ref:a},l=new s(c);return l.isViewable()||l.isPrintable()?l:void t("unimplemented annotation type: "+n)}}}},r.appendToOperatorList=function(e,t,a,r,i){function n(e){o.reject(e)}for(var o=T(),s=[],c=0,l=e.length;l>c;++c)("display"===i&&e[c].isViewable()||"print"===i&&e[c].isPrintable())&&s.push(e[c].getOperatorList(r));return Promise.all(s).then(function(e){t.addOp(J.beginAnnotations,[]);for(var a=0,r=e.length;r>a;++a){var i=e[a];t.addOpList(i)}t.addOp(J.endAnnotations,[]),o.resolve()},n),o.promise},r}();PDFJS.Annotation=ut;var ft=function(){function e(e){if(ut.call(this,e),!e.data){var t=e.dict,a=this.data;a.fieldValue=b(ot.getInheritableProperty(t,"V")||""),a.alternativeText=b(t.get("TU")||""),a.defaultAppearance=ot.getInheritableProperty(t,"DA")||"";var r=ot.getInheritableProperty(t,"FT");a.fieldType=S(r)?r.name:"",a.fieldFlags=ot.getInheritableProperty(t,"Ff")||0,this.fieldResources=ot.getInheritableProperty(t,"DR")||Ot.empty;for(var i=[],n=t,o=e.ref;n;){var s=n.get("Parent"),c=n.getRaw("Parent"),l=n.get("T");if(l)i.unshift(b(l));else{var h,u,f=s.get("Kids");for(h=0,u=f.length;u>h;h++){var d=f[h];if(d.num==o.num&&d.gen==o.gen)break}i.unshift("`"+h)}n=s,o=c}a.fullName=i.join(".")}}var a=ut.prototype;return ot.inherit(e,ut,{isViewable:function(){return"Sig"===this.data.fieldType?(t("unimplemented annotation type: Widget signature"),!1):a.isViewable.call(this)}}),e}(),dt=function(){function e(e){ft.call(this,e),e.data||(this.data.textAlignment=ot.getInheritableProperty(e.dict,"Q"))}function t(e,t,a){var r=e.style;if(r.fontSize=t.fontSize+"px",r.direction=t.fontDirection<0?"rtl":"ltr",a){r.fontWeight=a.black?a.bold?"bolder":"bold":a.bold?"bold":"normal",r.fontStyle=a.italic?"italic":"normal";var i=a.loadedName,n=i?'"'+i+'", ':"",o=a.fallbackName||"Helvetica, sans-serif";r.fontFamily=n+o}}return ot.inherit(e,ft,{hasHtml:function(){return!this.data.hasAppearance&&!!this.data.fieldValue},getHtmlElement:function(e){i(!G,"getHtmlElement() shall be called from main thread");var a=this.data,r=this.getEmptyContainer("div");r.style.display="table";var n=document.createElement("div");n.textContent=a.fieldValue;var o=a.textAlignment;n.style.textAlign=["left","center","right"][o],n.style.verticalAlign="middle",n.style.display="table-cell";var s=a.fontRefName?e.getData(a.fontRefName):null;return t(n,a,s),r.appendChild(n),r},getOperatorList:function(e){if(this.appearance)return ut.prototype.getOperatorList.call(this,e);var t=new la,a=this.data;if(!a.defaultAppearance)return Promise.resolve(t);var r=new pr(l(a.defaultAppearance));return e.getOperatorList(r,this.fieldResources,t).then(function(){return t})}}),e}(),gt=function(){function e(e){ut.call(this,e)}return ot.inherit(e,ut,{hasHtml:function(){return!0},highlight:function(){this.highlightElement&&this.highlightElement.hasAttribute("hidden")&&this.highlightElement.removeAttribute("hidden")},unhighlight:function(){this.highlightElement&&!this.highlightElement.hasAttribute("hidden")&&this.highlightElement.setAttribute("hidden",!0)},initContainer:function(){var e=this.data,t=e.rect,a=this.getEmptyContainer("section",t,e.borderWidth);a.style.backgroundColor=e.color;for(var r=e.color,i=[],n=0;3>n;++n)i[n]=Math.round(255*r[n]);e.colorCssRgb=ot.makeCssRgb(i);var o=document.createElement("div");return o.className="annotationHighlight",o.style.left=o.style.top=-lt+"px",o.style.right=o.style.bottom=-lt+"px",o.setAttribute("hidden",!0),this.highlightElement=o,a.appendChild(this.highlightElement),a}}),e}(),mt=function(){function e(e){if(gt.call(this,e),!e.data){var t=e.dict,a=this.data,r=t.get("Contents"),i=t.get("T");a.content=b(r||""),a.title=b(i||""),a.hasAppearance?a.name="NoIcon":(a.rect[1]=a.rect[3]-ct,a.rect[2]=a.rect[0]+ct,a.name=t.has("Name")?t.get("Name").name:"Note"),t.has("C")&&(a.hasBgColor=!0)}}var t=10;return ot.inherit(e,gt,{getHtmlElement:function(){i(!G,"getHtmlElement() shall be called from main thread");var e=this.data,a=e.rect;a[3]-a[1]<t&&(a[3]=a[1]+t),a[2]-a[0]<t&&(a[2]=a[0]+(a[3]-a[1]));var r=this.initContainer();r.className="annotText";var n=document.createElement("img");n.style.height=r.style.height,n.style.width=r.style.width;var o=e.name;n.src=PDFJS.imageResourcesPath+"annotation-"+o.toLowerCase()+".svg",n.alt="[{{type}} Annotation]",n.dataset.l10nId="text_annotation_type",n.dataset.l10nArgs=JSON.stringify({type:o});var s=document.createElement("div");s.className="annotTextContentWrapper",s.style.left=Math.floor(a[2]-a[0]+5)+"px",s.style.top="-10px";var c=document.createElement("div");c.className="annotTextContent",c.setAttribute("hidden",!0);var l,h;if(e.hasBgColor){var u=e.color,f=[];for(l=0;3>l;++l){var d=Math.round(255*u[l]);f[l]=Math.round(.7*(255-d))+d}c.style.backgroundColor=ot.makeCssRgb(f)}var g=document.createElement("h1"),m=document.createElement("p");if(g.textContent=e.title,e.content||e.title){var p=document.createElement("span"),b=e.content.split(/(?:\r\n?|\n)/);for(l=0,h=b.length;h>l;++l){var v=b[l];p.appendChild(document.createTextNode(v)),h-1>l&&p.appendChild(document.createElement("br"))}m.appendChild(p);var y=!1,k=function(e){e&&(y=!0),c.hasAttribute("hidden")&&(r.style.zIndex+=1,c.removeAttribute("hidden"))},w=function(e){e&&(y=!1),c.hasAttribute("hidden")||y||(r.style.zIndex-=1,c.setAttribute("hidden",!0))},x=function(){y?w(!0):k(!0)};n.addEventListener("click",function(){x()},!1),n.addEventListener("mouseover",function(){k()},!1),n.addEventListener("mouseout",function(){w()},!1),c.addEventListener("click",function(){w(!0)},!1)}else c.setAttribute("hidden",!0);return c.appendChild(g),c.appendChild(m),s.appendChild(c),r.appendChild(n),r.appendChild(s),r}}),e}(),pt=function(){function e(e){if(gt.call(this,e),!e.data){var r=e.dict,i=this.data,o=r.get("A");if(o){var s=o.get("S").name;if("URI"===s){var c=o.get("URI");S(c)?c="/"+c.name:c&&(c=a(c)),n(c,!1)||(c=""),i.url=c}else if("GoTo"===s)i.dest=o.get("D");else if("GoToR"===s){var l=o.get("F");B(l)&&(c=l.get("F")||""),n(c,!1)||(c=""),i.url=c,i.dest=o.get("D")}else"Named"===s?i.action=o.get("N").name:t("unrecognized link type: "+s)}else if(r.has("Dest")){var h=r.get("Dest");i.dest=S(h)?h.name:h}}}function a(e){return e&&0===e.indexOf("www.")?"http://"+e:e}return ot.inherit(e,gt,{hasOperatorList:function(){return!1},getHtmlElement:function(){var e=this.initContainer();e.className="annotLink";var t=this.data;e.style.borderColor=t.colorCssRgb,e.style.borderStyle="solid";var a=document.createElement("a");return a.href=a.title=this.data.url||"",e.appendChild(a),e}}),e}(),bt=function(){function e(e,t){this.url=e,t=t||{},this.isHttp=/^https?:/i.test(e),this.httpHeaders=this.isHttp&&t.httpHeaders||{},this.withCredentials=t.withCredentials||!1,this.getXhr=t.getXhr||function(){return new XMLHttpRequest},this.currXhrId=0,this.pendingRequests={},this.loadedRequests={}}function t(e){var t=e.response;if("string"!=typeof t)return t;for(var a=t.length,r=new Uint8Array(a),i=0;a>i;i++)r[i]=255&t.charCodeAt(i);return r}var a=200,r=206;return e.prototype={requestRange:function(e,t,a){var r={begin:e,end:t};for(var i in a)r[i]=a[i];return this.request(r)},requestFull:function(e){return this.request(e)},request:function(e){var t=this.getXhr(),a=this.currXhrId++,r=this.pendingRequests[a]={xhr:t};t.open("GET",this.url),t.withCredentials=this.withCredentials;for(var i in this.httpHeaders){var n=this.httpHeaders[i];"undefined"!=typeof n&&t.setRequestHeader(i,n)}if(this.isHttp&&"begin"in e&&"end"in e){var o=e.begin+"-"+(e.end-1);t.setRequestHeader("Range","bytes="+o),r.expectedStatus=206}else r.expectedStatus=200;return t.responseType="arraybuffer",e.onProgress&&(t.onprogress=e.onProgress),e.onError&&(t.onerror=function(){e.onError(t.status)}),t.onreadystatechange=this.onStateChange.bind(this,a),r.onHeadersReceived=e.onHeadersReceived,r.onDone=e.onDone,r.onError=e.onError,t.send(null),a},onStateChange:function(e){var i=this.pendingRequests[e];if(i){var n=i.xhr;if(n.readyState>=2&&i.onHeadersReceived&&(i.onHeadersReceived(),delete i.onHeadersReceived),4===n.readyState&&e in this.pendingRequests){if(delete this.pendingRequests[e],0===n.status&&this.isHttp)return void(i.onError&&i.onError(n.status));var o=n.status||a,s=o===a&&i.expectedStatus===r;if(!s&&o!==i.expectedStatus)return void(i.onError&&i.onError(n.status));this.loadedRequests[e]=!0;var c=t(n);if(o===r){var l=n.getResponseHeader("Content-Range"),h=/bytes (\d+)-(\d+)\/(\d+)/.exec(l),u=parseInt(h[1],10);i.onDone({begin:u,chunk:c})}else i.onDone({begin:0,chunk:c})}}},hasPendingRequests:function(){for(var e in this.pendingRequests)return!0;return!1},getRequestXhr:function(e){return this.pendingRequests[e].xhr},isPendingRequest:function(e){return e in this.pendingRequests},isLoadedRequest:function(e){return e in this.loadedRequests},abortAllRequests:function(){for(var e in this.pendingRequests)this.abortRequest(0|e)},abortRequest:function(e){var t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}},e}(),vt=function(){function e(e,t,a){this.bytes=new Uint8Array(e),this.start=0,this.pos=0,this.end=e,this.chunkSize=t,this.loadedChunks=[],this.numChunksLoaded=0,this.numChunks=Math.ceil(e/t),this.manager=a,this.initialDataLength=0}return e.prototype={getMissingChunks:function(){for(var e=[],t=0,a=this.numChunks;a>t;++t)t in this.loadedChunks||e.push(t);return e},getBaseStreams:function(){return[this]},allChunksLoaded:function(){return this.numChunksLoaded===this.numChunks},onReceiveData:function(e,t){var a=e+t.byteLength;i(e%this.chunkSize===0,"Bad begin offset: "+e);var r=this.bytes.length;i(a%this.chunkSize===0||a===r,"Bad end offset: "+a),this.bytes.set(new Uint8Array(t),e);var n,o=this.chunkSize,s=Math.floor(e/o),c=Math.floor((a-1)/o)+1;for(n=s;c>n;++n)n in this.loadedChunks||(this.loadedChunks[n]=!0,++this.numChunksLoaded)},onReceiveInitialData:function(e){this.bytes.set(e),this.initialDataLength=e.length;for(var t=this.end===e.length?this.numChunks:Math.floor(e.length/this.chunkSize),a=0;t>a;a++)this.loadedChunks[a]=!0,++this.numChunksLoaded},ensureRange:function(e,t){if(!(e>=t||t<=this.initialDataLength))for(var a=this.chunkSize,r=Math.floor(e/a),i=Math.floor((t-1)/a)+1,n=r;i>n;++n)if(!(n in this.loadedChunks))throw new at(e,t)},nextEmptyChunk:function(e){var t,a;for(t=e,a=this.numChunks;a>t;++t)if(!(t in this.loadedChunks))return t;
-for(t=0;e>t;++t)if(!(t in this.loadedChunks))return t;return null},hasChunk:function(e){return e in this.loadedChunks},get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){var e=this.pos;return e>=this.end?-1:(this.ensureRange(e,e+1),this.bytes[this.pos++])},getUint16:function(){var e=this.getByte(),t=this.getByte();return(e<<8)+t},getInt32:function(){var e=this.getByte(),t=this.getByte(),a=this.getByte(),r=this.getByte();return(e<<24)+(t<<16)+(a<<8)+r},getBytes:function(e){var t=this.bytes,a=this.pos,r=this.end;if(!e)return this.ensureRange(a,r),t.subarray(a,r);var i=a+e;return i>r&&(i=r),this.ensureRange(a,i),this.pos=i,t.subarray(a,i)},peekBytes:function(e){var t=this.getBytes(e);return this.pos-=t.length,t},getByteRange:function(e,t){return this.ensureRange(e,t),this.bytes.subarray(e,t)},skip:function(e){e||(e=1),this.pos+=e},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(e,t,a){function r(){}this.ensureRange(e,e+t),r.prototype=Object.create(this),r.prototype.getMissingChunks=function(){for(var e=this.chunkSize,t=Math.floor(this.start/e),a=Math.floor((this.end-1)/e)+1,r=[],i=t;a>i;++i)i in this.loadedChunks||r.push(i);return r};var i=new r;return i.pos=i.start=e,i.end=e+t||this.end,i.dict=a,i},isStream:!0},e}(),yt=function(){function e(e,t,a,r){this.stream=new vt(e,t,this),this.length=e,this.chunkSize=t,this.url=a,this.disableAutoFetch=r.disableAutoFetch;var i=this.msgHandler=r.msgHandler;if(r.chunkedViewerLoading)i.on("OnDataRange",this.onReceiveData.bind(this)),i.on("OnDataProgress",this.onProgress.bind(this)),this.sendRequest=function(e,t){i.send("RequestDataRange",{begin:e,end:t})};else{var n=function(){return new XMLHttpRequest};this.networkManager=new bt(this.url,{getXhr:n,httpHeaders:r.httpHeaders,withCredentials:r.withCredentials}),this.sendRequest=function(e,t){this.networkManager.requestRange(e,t,{onDone:this.onReceiveData.bind(this),onProgress:this.onProgress.bind(this)})}}this.currRequestId=0,this.chunksNeededByRequest={},this.requestsByChunk={},this.callbacksByRequest={},this._loadedStreamCapability=T(),r.initialData&&this.setInitialData(r.initialData)}return e.prototype={setInitialData:function(e){this.stream.onReceiveInitialData(e),this.stream.allChunksLoaded()?this._loadedStreamCapability.resolve(this.stream):this.msgHandler&&this.msgHandler.send("DocProgress",{loaded:e.length,total:this.length})},onLoadedStream:function(){return this._loadedStreamCapability.promise},requestAllChunks:function(){var e=this.stream.getMissingChunks();return this.requestChunks(e),this._loadedStreamCapability.promise},requestChunks:function(e,t){var a,r,i,n=this.currRequestId++;for(this.chunksNeededByRequest[n]=a={},r=0,i=e.length;i>r;r++)this.stream.hasChunk(e[r])||(a[e[r]]=!0);if(y(a))return void(t&&t());this.callbacksByRequest[n]=t;var o=[];for(var s in a)s=0|s,s in this.requestsByChunk||(this.requestsByChunk[s]=[],o.push(s)),this.requestsByChunk[s].push(n);if(o.length){var c=this.groupChunks(o);for(r=0;r<c.length;++r){var l=c[r],h=l.beginChunk*this.chunkSize,u=Math.min(l.endChunk*this.chunkSize,this.length);this.sendRequest(h,u)}}},getStream:function(){return this.stream},requestRange:function(e,t,a){t=Math.min(t,this.length);for(var r=this.getBeginChunk(e),i=this.getEndChunk(t),n=[],o=r;i>o;++o)n.push(o);this.requestChunks(n,a)},requestRanges:function(e,t){e=e||[];for(var a=[],r=0;r<e.length;r++)for(var i=this.getBeginChunk(e[r].begin),n=this.getEndChunk(e[r].end),o=i;n>o;++o)a.indexOf(o)<0&&a.push(o);a.sort(function(e,t){return e-t}),this.requestChunks(a,t)},groupChunks:function(e){for(var t=[],a=-1,r=-1,i=0;i<e.length;++i){var n=e[i];0>a&&(a=n),r>=0&&r+1!==n&&(t.push({beginChunk:a,endChunk:r+1}),a=n),i+1===e.length&&t.push({beginChunk:a,endChunk:n+1}),r=n}return t},onProgress:function(e){var t=this.stream.numChunksLoaded*this.chunkSize+e.loaded;this.msgHandler.send("DocProgress",{loaded:t,total:this.length})},onReceiveData:function(e){var t=e.chunk,a=e.begin,r=a+t.byteLength,i=this.getBeginChunk(a),n=this.getEndChunk(r);this.stream.onReceiveData(a,t),this.stream.allChunksLoaded()&&this._loadedStreamCapability.resolve(this.stream);var o,s,c=[];for(t=i;n>t;++t){var l=this.requestsByChunk[t]||[];for(delete this.requestsByChunk[t],o=0;o<l.length;++o){s=l[o];var h=this.chunksNeededByRequest[s];t in h&&delete h[t],y(h)&&c.push(s)}}if(!this.disableAutoFetch&&y(this.requestsByChunk)){var u;if(1===this.stream.numChunksLoaded){var f=this.stream.numChunks-1;this.stream.hasChunk(f)||(u=f)}else u=this.stream.nextEmptyChunk(n);w(u)&&this.requestChunks([u])}for(o=0;o<c.length;++o){s=c[o];var d=this.callbacksByRequest[s];delete this.callbacksByRequest[s],d&&d()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})},onError:function(e){this._loadedStreamCapability.reject(e)},getBeginChunk:function(e){var t=Math.floor(e/this.chunkSize);return t},getEndChunk:function(e){if(e%this.chunkSize===0)return e/this.chunkSize;var t=Math.floor((e-1)/this.chunkSize)+1;return t}},e}(),kt=65536,wt=function(){function e(){throw new Error("Cannot initialize BaseManagerManager")}return e.prototype={onLoadedStream:function(){throw new tt},ensureDoc:function(e,t){return this.ensure(this.pdfDocument,e,t)},ensureXRef:function(e,t){return this.ensure(this.pdfDocument.xref,e,t)},ensureCatalog:function(e,t){return this.ensure(this.pdfDocument.catalog,e,t)},getPage:function(e){return this.pdfDocument.getPage(e)},cleanup:function(){return this.pdfDocument.cleanup()},ensure:function(){return new tt},requestRange:function(){return new tt},requestLoadedStream:function(){return new tt},updatePassword:function(e){this.pdfDocument.xref.password=this.password=e,this._passwordChangedCapability&&this._passwordChangedCapability.resolve()},passwordChanged:function(){return this._passwordChangedCapability=T(),this._passwordChangedCapability.promise},terminate:function(){return new tt}},e}(),xt=function(){function e(e,t){var a=new pr(e);this.pdfDocument=new At(this,a,t),this._loadedStreamCapability=T(),this._loadedStreamCapability.resolve(a)}return e.prototype=Object.create(wt.prototype),e.prototype.constructor=e,e.prototype.ensure=function(e,t,a){return new Promise(function(r,i){try{var n,o=e[t];n="function"==typeof o?o.apply(e,a):o,r(n)}catch(s){i(s)}})},e.prototype.requestRange=function(){return Promise.resolve()},e.prototype.requestLoadedStream=function(){},e.prototype.onLoadedStream=function(){return this._loadedStreamCapability.promise},e.prototype.terminate=function(){},e}(),Ct=function(){function e(e,t){this.msgHandler=t;var a={msgHandler:t,httpHeaders:e.httpHeaders,withCredentials:e.withCredentials,chunkedViewerLoading:e.chunkedViewerLoading,disableAutoFetch:e.disableAutoFetch,initialData:e.initialData};this.streamManager=new yt(e.length,kt,e.url,a),this.pdfDocument=new At(this,this.streamManager.getStream(),e.password)}return e.prototype=Object.create(wt.prototype),e.prototype.constructor=e,e.prototype.ensure=function(e,t,a){var r=this;return new Promise(function(i,n){function o(){try{var s,c=e[t];s="function"==typeof c?c.apply(e,a):c,i(s)}catch(l){if(!(l instanceof at))return void n(l);r.streamManager.requestRange(l.begin,l.end,o)}}o()})},e.prototype.requestRange=function(e,t){return new Promise(function(a){this.streamManager.requestRange(e,t,function(){a()})}.bind(this))},e.prototype.requestLoadedStream=function(){this.streamManager.requestAllChunks()},e.prototype.onLoadedStream=function(){return this.streamManager.onLoadedStream()},e.prototype.terminate=function(){this.streamManager.networkManager.abortAllRequests()},e}(),St=function(){function e(e,t,a,r,i,n){this.pdfManager=e,this.pageIndex=a,this.pageDict=r,this.xref=t,this.ref=i,this.fontCache=n,this.idCounters={obj:0},this.resourcesPromise=null}var t=[0,0,612,792];return e.prototype={getPageProp:function(e){return this.pageDict.get(e)},getInheritedPageProp:function(e){for(var t=this.pageDict,a=t.get(e);void 0===a&&(t=t.get("Parent"));)a=t.get(e);return a},get content(){return this.getPageProp("Contents")},get resources(){var e=this.getInheritedPageProp("Resources");return void 0===e&&(e=Ot.empty),o(this,"resources",e)},get mediaBox(){var e=this.getInheritedPageProp("MediaBox");return I(e)&&4===e.length||(e=t),o(this,"mediaBox",e)},get view(){var e=this.mediaBox,t=this.getInheritedPageProp("CropBox");return I(t)&&4===t.length?(t=ot.intersect(t,e),t?o(this,"view",t):o(this,"view",e)):o(this,"view",e)},get annotationRefs(){return o(this,"annotationRefs",this.getInheritedPageProp("Annots"))},get rotate(){var e=this.getInheritedPageProp("Rotate")||0;return e%90!==0?e=0:e>=360?e%=360:0>e&&(e=(e%360+360)%360),o(this,"rotate",e)},getContentStream:function(){var e,t=this.content;if(I(t)){var a,r=this.xref,i=t.length,n=[];for(a=0;i>a;++a)n.push(r.fetchIfRef(t[a]));e=new yr(n)}else e=O(t)?t:new Tr;return e},loadResources:function(e){return this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources")),this.resourcesPromise.then(function(){var t=new Et(this.resources.map,e,this.xref);return t.load()}.bind(this))},getOperatorList:function(e,t){var a=this,r=this.pdfManager,i=r.ensure(this,"getContentStream",[]),n=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),o=new sa(r,this.xref,e,this.pageIndex,"p"+this.pageIndex+"_",this.idCounters,this.fontCache),s=Promise.all([i,n]),c=s.then(function(r){var i=r[0],n=new la(t,e,a.pageIndex);return e.send("StartRenderPage",{transparency:o.hasBlendModes(a.resources),pageIndex:a.pageIndex,intent:t}),o.getOperatorList(i,a.resources,n).then(function(){return n})}),l=r.ensure(this,"annotations");return Promise.all([c,l]).then(function(e){var a=e[0],i=e[1];if(0===i.length)return a.flush(!0),a;var n=ut.appendToOperatorList(i,a,r,o,t);return n.then(function(){return a.flush(!0),a})})},extractTextContent:function(){var e={on:function(){},send:function(){}},t=this,a=this.pdfManager,r=a.ensure(this,"getContentStream",[]),i=this.loadResources(["ExtGState","XObject","Font"]),n=Promise.all([r,i]);return n.then(function(r){var i=r[0],n=new sa(a,t.xref,e,t.pageIndex,"p"+t.pageIndex+"_",t.idCounters,t.fontCache);return n.getTextContent(i,t.resources)})},getAnnotationsData:function(){for(var e=this.annotations,t=[],a=0,r=e.length;r>a;++a)t.push(e[a].getData());return t},get annotations(){for(var e=[],t=this.annotationRefs||[],a=0,r=t.length;r>a;++a){var i=t[a],n=ut.fromRef(this.xref,i);n&&e.push(n)}return o(this,"annotations",e)}},e}(),At=function(){function t(e,t,i){O(t)?r.call(this,e,t,i):L(t)?r.call(this,e,new pr(t),i):a("PDFDocument: Unknown argument type")}function r(e,t,a){i(t.length>0,"stream must have data"),this.pdfManager=e,this.stream=t;var r=new Mt(this.stream,a,e);this.xref=r}function n(e,t,a,r){var i=e.pos,n=e.end,o=[];i+a>n&&(a=n-i);for(var s=0;a>s;++s)o.push(String.fromCharCode(e.getByte()));var c=o.join("");e.pos=i;var l=r?c.lastIndexOf(t):c.indexOf(t);return-1==l?!1:(e.pos+=l,!0)}var s={get entries(){return o(this,"entries",{Title:C,Author:C,Subject:C,Keywords:C,Creator:C,Producer:C,CreationDate:C,ModDate:C,Trapped:S})}};return t.prototype={parse:function(t){this.setup(t);try{if(this.acroForm=this.catalog.catDict.get("AcroForm"),this.acroForm){this.xfa=this.acroForm.get("XFA");var a=this.acroForm.get("Fields");a&&I(a)&&0!==a.length||this.xfa||(this.acroForm=null)}}catch(r){e("Something wrong with AcroForm entry"),this.acroForm=null}},get linearization(){var t=this.stream.length,a=!1;if(t)try{a=new ur(this.stream),a.length!=t&&(a=!1)}catch(r){if(r instanceof at)throw r;e("The linearization data is not available or unreadable PDF data is found"),a=!1}return o(this,"linearization",a)},get startXRef(){var e=this.stream,t=0,a=this.linearization;if(a)e.reset(),n(e,"endobj",1024)&&(t=e.pos+6);else{for(var r=1024,i=!1,s=e.end;!i&&s>0;)s-=r-"startxref".length,0>s&&(s=0),e.pos=s,i=n(e,"startxref",r,!0);if(i){e.skip(9);var c;do c=e.getByte();while(hr.isSpace(c));for(var l="";c>=32&&57>=c;)l+=String.fromCharCode(c),c=e.getByte();t=parseInt(l,10),isNaN(t)&&(t=0)}}return o(this,"startXRef",t)},get mainXRefEntriesOffset(){var e=0,t=this.linearization;return t&&(e=t.mainXRefEntriesOffset),o(this,"mainXRefEntriesOffset",e)},checkHeader:function(){var e=this.stream;if(e.reset(),n(e,"%PDF-",1024)){e.moveStart();for(var t,a=12,r="";(t=e.getByte())>32&&!(r.length>=a);)r+=String.fromCharCode(t);return void(this.pdfFormatVersion=r.substring(5))}},parseStartXRef:function(){var e=this.startXRef;this.xref.setStartXRef(e)},setup:function(e){this.xref.parse(e),this.catalog=new Pt(this.pdfManager,this.xref)},get numPages(){var e=this.linearization,t=e?e.numPages:this.catalog.numPages;return o(this,"numPages",t)},get documentInfo(){var t,a={PDFFormatVersion:this.pdfFormatVersion,IsAcroFormPresent:!!this.acroForm,IsXFAPresent:!!this.xfa};try{t=this.xref.trailer.get("Info")}catch(r){e("The document information dictionary is invalid.")}if(t){var i=s.entries;for(var n in i)if(t.has(n)){var c=t.get(n);i[n](c)?a[n]="string"!=typeof c?c:b(c):e('Bad value in document info for "'+n+'"')}}return o(this,"documentInfo",a)},get fingerprint(){var e,t=this.xref,a="";e=t.trailer.has("ID")?l(t.trailer.get("ID")[0]):$t(this.stream.bytes.subarray(0,100),0,100);for(var r=0,i=e.length;i>r;r++)a+=e[r].toString(16);return o(this,"fingerprint",a)},getPage:function(e){return this.catalog.getPage(e)},cleanup:function(){return this.catalog.cleanup()}},t}(),Bt=function(){function e(e){this.name=e}e.prototype={};var t={};return e.get=function(a){var r=t[a];return r?r:t[a]=new e(a)},e}(),It=function(){function e(e){this.cmd=e}e.prototype={};var t={};return e.get=function(a){var r=t[a];return r?r:t[a]=new e(a)},e}(),Ot=function(){function e(e){if(!S(e.Type))return!0;var t=e.Type.name;return r[t]===!0}function t(e){this.map=Object.create(null),this.xref=e,this.objId=null,this.__nonSerializable__=a}var a=function(){return a},r={Background:!0,ExtGState:!0,Halftone:!0,Layout:!0,Mask:!0,Pagination:!0,Printing:!0};return t.prototype={assignXref:function(e){this.xref=e},get:function(e,t,a){var r,i=this.xref;return"undefined"!=typeof(r=this.map[e])||e in this.map||"undefined"==typeof t?i?i.fetchIfRef(r):r:"undefined"!=typeof(r=this.map[t])||t in this.map||"undefined"==typeof a?i?i.fetchIfRef(r):r:(r=this.map[a]||null,i?i.fetchIfRef(r):r)},getAsync:function(e,t,a){var r,i=this.xref;return"undefined"!=typeof(r=this.map[e])||e in this.map||"undefined"==typeof t?i?i.fetchIfRefAsync(r):Promise.resolve(r):"undefined"!=typeof(r=this.map[t])||t in this.map||"undefined"==typeof a?i?i.fetchIfRefAsync(r):Promise.resolve(r):(r=this.map[a]||null,i?i.fetchIfRefAsync(r):Promise.resolve(r))},getRaw:function(e){return this.map[e]},getAll:function(){var a,r,i=Object.create(null),n=null;for(a in this.map)r=this.get(a),r instanceof t?e(r)?(n||(n=[])).push({target:i,key:a,obj:r}):i[a]=this.getRaw(a):i[a]=r;if(!n)return i;for(var o=Object.create(null);n.length>0;){var s=n.shift(),c=s.obj,l=c.objId;if(l&&l in o)s.target[s.key]=o[l];else{var h=Object.create(null);for(a in c.map)r=c.get(a),r instanceof t?e(r)?n.push({target:h,key:a,obj:r}):h[a]=c.getRaw(a):h[a]=r;l&&(o[l]=h),s.target[s.key]=h}}return i},set:function(e,t){this.map[e]=t},has:function(e){return e in this.map},forEach:function(e){for(var t in this.map)e(t,this.get(t))}},t.empty=new t(null),t}(),Lt=function(){function e(e,t){this.num=e,this.gen=t}return e.prototype={},e}(),Rt=function(){function e(){this.dict={}}return e.prototype={has:function(e){return"R"+e.num+"."+e.gen in this.dict},put:function(e){this.dict["R"+e.num+"."+e.gen]=!0},remove:function(e){delete this.dict["R"+e.num+"."+e.gen]}},e}(),Tt=function(){function e(){this.dict=Object.create(null)}return e.prototype={get:function(e){return this.dict["R"+e.num+"."+e.gen]},has:function(e){return"R"+e.num+"."+e.gen in this.dict},put:function(e,t){this.dict["R"+e.num+"."+e.gen]=t},putAlias:function(e,t){this.dict["R"+e.num+"."+e.gen]=this.get(t)},forEach:function(e,t){for(var a in this.dict)e.call(t,this.dict[a])},clear:function(){this.dict=Object.create(null)}},e}(),Pt=function(){function r(e,t){this.pdfManager=e,this.xref=t,this.catDict=t.getCatalogObj(),this.fontCache=new Tt,i(B(this.catDict),"catalog object is not a dictionary"),this.pagePromises=[]}return r.prototype={get metadata(){var t=this.catDict.getRaw("Metadata");if(!R(t))return o(this,"metadata",null);var a,r=this.xref.encrypt?this.xref.encrypt.encryptMetadata:!1,i=this.xref.fetch(t,!r);if(i&&B(i.dict)){var n=i.dict.get("Type"),c=i.dict.get("Subtype");if(S(n)&&S(c)&&"Metadata"===n.name&&"XML"===c.name)try{a=v(s(i.getBytes()))}catch(l){e("Skipping invalid metadata.")}}return o(this,"metadata",a)},get toplevelPagesDict(){var e=this.catDict.get("Pages");return i(B(e),"invalid top-level pages dictionary"),o(this,"toplevelPagesDict",e)},get documentOutline(){var e=null;try{e=this.readDocumentOutline()}catch(a){if(a instanceof at)throw a;t("Unable to read document outline")}return o(this,"documentOutline",e)},readDocumentOutline:function(){var e=this.xref,t=this.catDict.get("Outlines"),r={items:[]};if(B(t)){t=t.getRaw("First");var i=new Rt;if(R(t)){var n=[{obj:t,parent:r}];for(i.put(t);n.length>0;){var o=n.shift(),s=e.fetchIfRef(o.obj);if(null!==s){s.has("Title")||a("Invalid outline item");var c=s.get("A");c?c=c.get("D"):s.has("Dest")&&(c=s.getRaw("Dest"),S(c)&&(c=c.name));var l=s.get("Title"),h={dest:c,title:b(l),color:s.get("C")||[0,0,0],count:s.get("Count"),bold:!!(2&s.get("F")),italic:!!(1&s.get("F")),items:[]};o.parent.items.push(h),t=s.getRaw("First"),R(t)&&!i.has(t)&&(n.push({obj:t,parent:h}),i.put(t)),t=s.getRaw("Next"),R(t)&&!i.has(t)&&(n.push({obj:t,parent:o.parent}),i.put(t))}}}}return r.items.length>0?r.items:null},get numPages(){var e=this.toplevelPagesDict.get("Count");return i(w(e),"page count in top level pages object is not an integer"),o(this,"num",e)},get destinations(){function e(e){return B(e)?e.get("D"):e}var t,a,r=this.xref,i={},n=this.catDict.get("Names");if(n&&n.has("Dests")?t=n.getRaw("Dests"):this.catDict.has("Dests")&&(a=this.catDict.get("Dests")),a&&(n=a,n.forEach(function(t,a){a&&(i[t]=e(a))})),t){var s=new qt(t,r),c=s.getAll();for(var l in c)c.hasOwnProperty(l)&&(i[l]=e(c[l]))}return o(this,"destinations",i)},get attachments(){var e,t=this.xref,a=null,r=this.catDict.get("Names");if(r&&(e=r.getRaw("EmbeddedFiles")),e){var i=new qt(e,t),n=i.getAll();for(var s in n)if(n.hasOwnProperty(s)){var c=new Dt(n[s],t);a||(a={}),a[b(s)]=c.serializable}}return o(this,"attachments",a)},get javaScript(){var e=this.xref,t=this.catDict.get("Names"),a=[];if(t&&t.has("JavaScript")){var r=new qt(t.getRaw("JavaScript"),e),i=r.getAll();for(var n in i)if(i.hasOwnProperty(n)){var c=i[n];if(B(c)){var l=c.get("S");if(S(l)&&"JavaScript"===l.name){var h=c.get("JS");(C(h)||O(h))&&(O(h)&&(h=s(h.getBytes())),a.push(b(h)))}}}}var u=this.catDict.get("OpenAction");if(B(u)){var f=u.get("Type"),d=u.get("S"),g=u.get("N"),m=S(f)&&"Action"===f.name&&S(d)&&"Named"===d.name&&S(g)&&"Print"===g.name;m&&a.push("print(true);")}return o(this,"javaScript",a)},cleanup:function(){var e=[];return this.fontCache.forEach(function(t){e.push(t)}),Promise.all(e).then(function(e){for(var t=0,a=e.length;a>t;t++){var r=e[t].dict;delete r.translated}this.fontCache.clear()}.bind(this))},getPage:function(e){return e in this.pagePromises||(this.pagePromises[e]=this.getPageDict(e).then(function(t){var a=t[0],r=t[1];return new St(this.pdfManager,this.xref,e,a,r,this.fontCache)}.bind(this))),this.pagePromises[e]},getPageDict:function(e){function t(){for(;r.length;){var s=r.pop();if(R(s))return void o.fetchAsync(s).then(function(i){return B(i,"Page")||B(i)&&!i.has("Kids")?void(e===n?a.resolve([i,s]):(n++,t())):(r.push(i),void t())}.bind(this),a.reject.bind(a));i(B(s),"page dictionary kid reference points to wrong type of object");var c=s.get("Count");if(e>=n+c)n+=c;else{var l=s.get("Kids");if(i(I(l),"page dictionary kids object is not an array"),c!==l.length)for(var h=l.length-1;h>=0;h--)r.push(l[h]);else r=[l[e-n]],n=e}}a.reject("Page index "+e+" not found.")}var a=T(),r=[this.catDict.getRaw("Pages")],n=0,o=this.xref;return t(),a.promise},getPageIndex:function(e){function t(e){var t,r=0;return n.fetchAsync(e).then(function(e){return e?(t=e.getRaw("Parent"),e.getAsync("Parent")):null}).then(function(e){return e?e.getAsync("Kids"):null}).then(function(o){if(!o)return null;for(var s=[],c=!1,l=0;l<o.length;l++){var h=o[l];if(i(R(h),"kids must be a ref"),h.num==e.num){c=!0;break}s.push(n.fetchAsync(h).then(function(e){if(e.has("Count")){var t=e.get("Count");r+=t}else r++}))}return c||a("kid ref not found in parents kids"),Promise.all(s).then(function(){return[r,t]})})}function r(e){return t(e).then(function(e){if(!e)return o;var t=e[0],a=e[1];return o+=t,r(a)})}var n=this.xref,o=0;return r(e)}},r}(),Mt=function(){function r(e,t){this.stream=e,this.entries=[],this.xrefstms={},this.cache=[],this.password=t}return r.prototype={setStartXRef:function(e){this.startXRefQueue=[e]},parse:function(e){var r;e?(t("Indexing all PDF objects"),r=this.indexObjects()):r=this.readXRef(),r.assignXref(this),this.trailer=r;var i=r.get("Encrypt");if(i){var n=r.get("ID"),o=n&&n.length?n[0]:"";this.encrypt=new ra(i,o,this.password)}(this.root=r.get("Root"))||a("Invalid root reference")},processXRefTable:function(e){"tableState"in this||(this.tableState={entryNum:0,streamPos:e.lexer.stream.pos,parserBuf1:e.buf1,parserBuf2:e.buf2});var t=this.readXRefTable(e);A(t,"trailer")||a("Invalid XRef table: could not find trailer dictionary");var r=e.getObj();return!B(r)&&r.dict&&(r=r.dict),B(r)||a("Invalid XRef table: could not parse trailer dictionary"),delete this.tableState,r},readXRefTable:function(e){var t=e.lexer.stream,r=this.tableState;t.pos=r.streamPos,e.buf1=r.parserBuf1,e.buf2=r.parserBuf2;for(var i;;){if(!("firstEntryNum"in r&&"entryCount"in r)){if(A(i=e.getObj(),"trailer"))break;r.firstEntryNum=i,r.entryCount=e.getObj()}var n=r.firstEntryNum,o=r.entryCount;w(n)&&w(o)||a("Invalid XRef table: wrong types in subsection header");for(var s=r.entryNum;o>s;s++){r.streamPos=t.pos,r.entryNum=s,r.parserBuf1=e.buf1,r.parserBuf2=e.buf2;var c={};c.offset=e.getObj(),c.gen=e.getObj();var l=e.getObj();A(l,"f")?c.free=!0:A(l,"n")&&(c.uncompressed=!0),w(c.offset)&&w(c.gen)&&(c.free||c.uncompressed)||(console.log(c.offset,c.gen,c.free,c.uncompressed),a("Invalid entry in XRef subsection: "+n+", "+o)),this.entries[s+n]||(this.entries[s+n]=c)}r.entryNum=0,r.streamPos=t.pos,r.parserBuf1=e.buf1,r.parserBuf2=e.buf2,delete r.firstEntryNum,delete r.entryCount}return 1===n&&this.entries[1]&&this.entries[1].free&&this.entries.shift(),this.entries[0]&&!this.entries[0].free&&a("Invalid XRef table: unexpected first object"),i},processXRefStream:function(e){if(!("streamState"in this)){var t=e.dict,a=t.get("W"),r=t.get("Index");r||(r=[0,t.get("Size")]),this.streamState={entryRanges:r,byteWidths:a,entryNum:0,streamPos:e.pos}}return this.readXRefStream(e),delete this.streamState,e.dict},readXRefStream:function(e){var t,r,i=this.streamState;e.pos=i.streamPos;for(var n=i.byteWidths,o=n[0],s=n[1],c=n[2],l=i.entryRanges;l.length>0;){var h=l[0],u=l[1];for(w(h)&&w(u)||a("Invalid XRef range fields: "+h+", "+u),w(o)&&w(s)&&w(c)||a("Invalid XRef entry fields length: "+h+", "+u),t=i.entryNum;u>t;++t){i.entryNum=t,i.streamPos=e.pos;var f=0,d=0,g=0;for(r=0;o>r;++r)f=f<<8|e.getByte();for(0===o&&(f=1),r=0;s>r;++r)d=d<<8|e.getByte();for(r=0;c>r;++r)g=g<<8|e.getByte();var m={};switch(m.offset=d,m.gen=g,f){case 0:m.free=!0;break;case 1:m.uncompressed=!0;break;case 2:break;default:a("Invalid XRef entry type: "+f)}this.entries[h+t]||(this.entries[h+t]=m)}i.entryNum=0,i.streamPos=e.pos,l.splice(0,2)}},indexObjects:function(){function e(e,t){for(var a="",r=e[t];13!==r&&10!==r&&!(++t>=e.length);)a+=String.fromCharCode(r),r=e[t];return a}function t(e,t,a){for(var r=a.length,i=e.length,n=0;i>t;){for(var o=0;r>o&&e[t+o]==a[o];)++o;if(o>=r)break;t++,n++}return n}var a=new Uint8Array([116,114,97,105,108,101,114]),r=new Uint8Array([115,116,97,114,116,120,114,101,102]),i=new Uint8Array([101,110,100,111,98,106]),n=new Uint8Array([47,88,82,101,102]),o=this.stream;o.pos=0;for(var s=o.getBytes(),c=o.start,l=s.length,h=[],u=[];l>c;){var f=s[c];if(32!==f&&9!==f&&13!==f&&10!==f)if(37!==f){var d,g=e(s,c);if("xref"===g)c+=t(s,c,a),h.push(c),c+=t(s,c,r);else if(d=/^(\d+)\s+(\d+)\s+obj\b/.exec(g)){this.entries[d[1]]={offset:c,gen:0|d[2],uncompressed:!0};var m=t(s,c,i)+7,p=s.subarray(c,c+m),b=t(p,0,n);m>b&&p[b+5]<64&&(u.push(c),this.xrefstms[c]=1),c+=m}else c+=g.length+1}else do{if(++c,c>=l)break;f=s[c]}while(13!==f&&10!==f);else++c}var v,y;for(v=0,y=u.length;y>v;++v)this.startXRefQueue.push(u[v]),this.readXRef(!0);var k;for(v=0,y=h.length;y>v;++v){o.pos=h[v];var w=new lr(new hr(o),!0,null),x=w.getObj();if(A(x,"trailer")&&B(k=w.getObj())&&k.has("ID"))return k}if(k)return k;throw new $("Invalid PDF structure")},readXRef:function(t){var r=this.stream;try{for(;this.startXRefQueue.length;){var i=this.startXRefQueue[0];r.pos=i+r.start;var n,o=new lr(new hr(r),!0,null),s=o.getObj();if(A(s,"xref")){if(n=this.processXRefTable(o),this.topDict||(this.topDict=n),s=n.get("XRefStm"),w(s)){var c=s;c in this.xrefstms||(this.xrefstms[c]=1,this.startXRefQueue.push(c))}}else w(s)?(w(o.getObj())&&A(o.getObj(),"obj")&&O(s=o.getObj())||a("Invalid XRef stream"),n=this.processXRefStream(s),this.topDict||(this.topDict=n),n||a("Failed to read XRef stream")):a("Invalid XRef stream header");s=n.get("Prev"),w(s)?this.startXRefQueue.push(s):R(s)&&this.startXRefQueue.push(s.num),this.startXRefQueue.shift()}return this.topDict}catch(l){if(l instanceof at)throw l;e("(while reading XRef): "+l)}if(!t)throw new rt},getEntry:function(e){var t=this.entries[e];return t&&!t.free&&t.offset?t:null},fetchIfRef:function(e){return R(e)?this.fetch(e):e},fetch:function(e,t){i(R(e),"ref object is not a reference");var a=e.num;if(a in this.cache){var r=this.cache[a];return r}var n=this.getEntry(a);return null===n?this.cache[a]=null:(n=n.uncompressed?this.fetchUncompressed(e,n,t):this.fetchCompressed(n,t),B(n)&&(n.objId="R"+e.num+"."+e.gen),n)},fetchUncompressed:function(e,t,r){var i=e.gen,n=e.num;t.gen!==i&&a("inconsistent generation in XRef");var o=this.stream.makeSubStream(t.offset+this.stream.start),s=new lr(new hr(o),!0,this),c=s.getObj(),l=s.getObj(),h=s.getObj();if(w(c)&&parseInt(c,10)===n&&w(l)&&parseInt(l,10)===i&&A(h)||a("bad XRef entry"),!A(h,"obj")){if(0===h.cmd.indexOf("obj")&&(n=parseInt(h.cmd.substring(3),10),!isNaN(n)))return n;a("bad XRef entry")}if(this.encrypt&&!r)try{t=s.getObj(this.encrypt.createCipherTransform(n,i))}catch(u){return this.fetch(e,!0)}else t=s.getObj();return O(t)||(this.cache[n]=t),t},fetchCompressed:function(e){var t=e.offset,r=this.fetch(new Lt(t,0));O(r)||a("bad ObjStm stream");var i=r.dict.get("First"),n=r.dict.get("N");w(i)&&w(n)||a("invalid first and n parameters for ObjStm stream");var o=new lr(new hr(r),!1,this);o.allowStreams=!0;var s,c,l=[],h=[];for(s=0;n>s;++s){c=o.getObj(),w(c)||a("invalid object number in the ObjStm stream: "+c),h.push(c);var u=o.getObj();w(u)||a("invalid object offset in the ObjStm stream: "+u)}for(s=0;n>s;++s){l.push(o.getObj()),c=h[s];var f=this.entries[c];f&&f.offset===t&&f.gen===s&&(this.cache[c]=l[s])}return e=l[e.gen],void 0===e&&a("bad XRef entry for compressed object"),e},fetchIfRefAsync:function(e){return R(e)?this.fetchAsync(e):Promise.resolve(e)},fetchAsync:function(e,t){return new Promise(function(a,r){var i=function(){try{a(this.fetch(e,t))}catch(n){if(n instanceof at)return void this.stream.manager.requestRange(n.begin,n.end,i);r(n)}}.bind(this);i()}.bind(this))},getCatalogObj:function(){return this.root}},r}(),qt=function(){function e(e,t){this.root=e,this.xref=t}return e.prototype={getAll:function(){var e={};if(!this.root)return e;var t=this.xref,r=new Rt;r.put(this.root);for(var i=[this.root];i.length>0;){var n,o,s=t.fetchIfRef(i.shift());if(B(s))if(s.has("Kids")){var c=s.get("Kids");for(n=0,o=c.length;o>n;n++){var l=c[n];r.has(l)&&a("invalid destinations"),i.push(l),r.put(l)}}else{var h=s.get("Names");if(h)for(n=0,o=h.length;o>n;n+=2)e[h[n]]=t.fetchIfRef(h[n+1])}}return e}},e}(),Dt=function(){function e(e,a){e&&B(e)&&(this.xref=a,this.root=e,e.has("FS")&&(this.fs=e.get("FS")),this.description=e.has("Desc")?b(e.get("Desc")):"",e.has("RF")&&t("Related file specifications are not supported"),this.contentAvailable=!0,e.has("EF")||(this.contentAvailable=!1,t("Non-embedded file specifications are not supported")))}function a(e){return e.has("UF")?e.get("UF"):e.has("F")?e.get("F"):e.has("Unix")?e.get("Unix"):e.has("Mac")?e.get("Mac"):e.has("DOS")?e.get("DOS"):null}return e.prototype={get filename(){if(!this._filename&&this.root){var e=a(this.root)||"unnamed";this._filename=b(e).replace(/\\\\/g,"\\").replace(/\\\//g,"/").replace(/\\/g,"/")}return this._filename},get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=a(this.root.get("EF")));var e=null;if(this.contentRef){var r=this.xref,i=r.fetchIfRef(this.contentRef);i&&O(i)?e=i.getBytes():t("Embedded file specification points to non-existing/invalid content")}else t("Embedded file specification does not have a content");return e},get serializable(){return{filename:this.filename,content:this.content}}},e}(),Et=function(){function e(e){return R(e)||B(e)||I(e)||O(e)}function t(t,a){var r;if(B(t)||O(t)){var i;i=B(t)?t.map:t.dict.map;for(var n in i)r=i[n],e(r)&&a.push(r)}else if(I(t))for(var o=0,s=t.length;s>o;o++)r=t[o],e(r)&&a.push(r)}function a(e,t,a){this.obj=e,this.keys=t,this.xref=a,this.refSet=null}return a.prototype={load:function(){var e=this.keys;if(this.capability=T(),!(this.xref.stream instanceof vt)||0===this.xref.stream.getMissingChunks().length)return this.capability.resolve(),this.capability.promise;this.refSet=new Rt;for(var t=[],a=0;a<e.length;a++)t.push(this.obj[e[a]]);return this.walk(t),this.capability.promise},walk:function(e){for(var a=[],r=[];e.length;){var i=e.pop();if(R(i)){if(this.refSet.has(i))continue;try{var n=i;this.refSet.put(n),i=this.xref.fetch(i)}catch(o){if(!(o instanceof at))throw o;a.push(i),r.push({begin:o.begin,end:o.end})}}if(i&&i.getBaseStreams){for(var s=i.getBaseStreams(),c=!1,l=0;l<s.length;l++){var h=s[l];h.getMissingChunks&&h.getMissingChunks().length&&(c=!0,r.push({begin:h.start,end:h.end}))}c&&a.push(i)}t(i,e)}return r.length?void this.xref.stream.manager.requestRanges(r,function(){e=a;for(var t=0;t<a.length;t++){var r=a[t];R(r)&&this.refSet.remove(r)}this.walk(e)}.bind(this)):(this.refSet=null,void this.capability.resolve())}},a}(),Ft=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ut=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Nt=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],jt=function(){var t=0,r=2,i=3,n=4;
-return{getSampleArray:function(e,t,a,r){var i,n,o=1;for(i=0,n=e.length;n>i;i++)o*=e[i];o*=t;var s=[],c=0,l=0,h=1/(Math.pow(2,a)-1),u=r.getBytes((o*a+7)/8),f=0;for(i=0;o>i;i++){for(;a>c;)l<<=8,l|=u[f++],c+=8;c-=a,s.push((l>>c)*h),l&=(1<<c)-1}return s},getIR:function(e,t){var r=t.dict;r||(r=t);var i=[this.constructSampled,null,this.constructInterpolated,this.constructStiched,this.constructPostScript],n=r.get("FunctionType"),o=i[n];return o||a("Unknown type of function"),o.call(this,t,r,e)},fromIR:function(e){var a=e[0];switch(a){case t:return this.constructSampledFromIR(e);case r:return this.constructInterpolatedFromIR(e);case i:return this.constructStichedFromIR(e);default:return this.constructPostScriptFromIR(e)}},parse:function(e,t){var a=this.getIR(e,t);return this.fromIR(a)},constructSampled:function(r,i){function n(e){for(var t=e.length,a=[],r=0,i=0;t>i;i+=2)a[r]=[e[i],e[i+1]],++r;return a}var o=i.get("Domain"),s=i.get("Range");o&&s||a("No domain or range");var c=o.length/2,l=s.length/2;o=n(o),s=n(s);var h=i.get("Size"),u=i.get("BitsPerSample"),f=i.get("Order")||1;1!==f&&e("No support for cubic spline interpolation: "+f);var d=i.get("Encode");if(!d){d=[];for(var g=0;c>g;++g)d.push(0),d.push(h[g]-1)}d=n(d);var m=i.get("Decode");m=m?n(m):s;var p=this.getSampleArray(h,l,u,r);return[t,c,o,d,m,p,h,l,Math.pow(2,u)-1,s]},constructSampledFromIR:function(e){function t(e,t,a,r,i){return r+(e-t)*((i-r)/(a-t))}return function(r){var i=e[1],n=e[2],o=e[3],s=e[4],c=e[5],l=e[6],h=e[7],u=e[9];i!=r.length&&a("Incorrect number of arguments: "+i+" != "+r.length);var f,d,g=r,m=1<<i,p=new Float64Array(m),b=new Uint32Array(m);for(d=0;m>d;d++)p[d]=1;var v=h,y=1;for(f=0;i>f;++f){var k=n[f][0],w=n[f][1],x=Math.min(Math.max(g[f],k),w),C=t(x,k,w,o[f][0],o[f][1]),S=l[f];C=Math.min(Math.max(C,0),S-1);var A=S-1>C?Math.floor(C):C-1,B=A+1-C,I=C-A,O=A*v,L=O+v;for(d=0;m>d;d++)d&y?(p[d]*=I,b[d]+=L):(p[d]*=B,b[d]+=O);v*=S,y<<=1}var R=new Float64Array(h);for(d=0;h>d;++d){var T=0;for(f=0;m>f;f++)T+=c[b[f]+d]*p[f];T=t(T,0,1,s[d][0],s[d][1]),R[d]=Math.min(Math.max(T,u[d][0]),u[d][1])}return R}},constructInterpolated:function(e,t){var i=t.get("C0")||[0],n=t.get("C1")||[1],o=t.get("N");I(i)&&I(n)||a("Illegal dictionary for interpolated function");for(var s=i.length,c=[],l=0;s>l;++l)c.push(n[l]-i[l]);return[r,i,c,o]},constructInterpolatedFromIR:function(e){var t=e[1],a=e[2],r=e[3],i=a.length;return function(e){for(var n=1==r?e[0]:Math.pow(e[0],r),o=[],s=0;i>s;++s)o.push(t[s]+n*a[s]);return o}},constructStiched:function(e,t,r){var n=t.get("Domain");n||a("No domain");var o=n.length/2;1!=o&&a("Bad domain for stiched function");for(var s=t.get("Functions"),c=[],l=0,h=s.length;h>l;++l)c.push(jt.getIR(r,r.fetchIfRef(s[l])));var u=t.get("Bounds"),f=t.get("Encode");return[i,n,u,f,c]},constructStichedFromIR:function(e){for(var t=e[1],a=e[2],r=e[3],i=e[4],n=[],o=0,s=i.length;s>o;o++)n.push(jt.fromIR(i[o]));return function(e){for(var i=function(e,t,a){return e>a?e=a:t>e&&(e=t),e},o=i(e[0],t[0],t[1]),s=0,c=a.length;c>s&&!(o<a[s]);++s);var l=t[0];s>0&&(l=a[s-1]);var h=t[1];s<a.length&&(h=a[s]);var u=r[2*s],f=r[2*s+1],d=u+(o-l)*(f-u)/(h-l);return n[s]([d])}},constructPostScript:function(e,t){var r=t.get("Domain"),i=t.get("Range");r||a("No domain."),i||a("No range.");var o=new mr(e),s=new fr(o),c=s.parse();return[n,r,i,c]},constructPostScriptFromIR:function(e){var t=e[1],a=e[2],r=e[3],i=a.length>>1,n=t.length>>1,o=new Ht(r),s={},c=8192,l=c;return function(e){var t,r,c="",h=new Array(n);for(t=0;n>t;t++)r=e[t],h[t]=r,c+=r+"_";var u=s[c];if(void 0!==u)return u;var f=new Array(i),d=o.execute(h),g=d.length-i;for(t=0;i>t;t++){r=d[g+t];var m=a[2*t];m>r?r=m:(m=a[2*t+1],r>m&&(r=m)),f[t]=r}return l>0&&(l--,s[c]=f),f}}}}(),zt=function(){function e(e){this.stack=e||[]}var t=100;return e.prototype={push:function(e){this.stack.length>=t&&a("PostScript function stack overflow."),this.stack.push(e)},pop:function(){return this.stack.length<=0&&a("PostScript function stack underflow."),this.stack.pop()},copy:function(e){this.stack.length+e>=t&&a("PostScript function stack overflow.");for(var r=this.stack,i=r.length-e,n=e-1;n>=0;n--,i++)r.push(r[i])},index:function(e){this.push(this.stack[this.stack.length-e-1])},roll:function(e,t){var a,r,i,n=this.stack,o=n.length-e,s=n.length-1,c=o+(t-Math.floor(t/e)*e);for(a=o,r=s;r>a;a++,r--)i=n[a],n[a]=n[r],n[r]=i;for(a=o,r=c-1;r>a;a++,r--)i=n[a],n[a]=n[r],n[r]=i;for(a=c,r=s;r>a;a++,r--)i=n[a],n[a]=n[r],n[r]=i}},e}(),Ht=function(){function e(e){this.operators=e}return e.prototype={execute:function(e){for(var t,r,i,n=new zt(e),o=0,s=this.operators,c=s.length;c>o;)if(t=s[o++],"number"!=typeof t)switch(t){case"jz":i=n.pop(),r=n.pop(),r||(o=i);break;case"j":r=n.pop(),o=r;break;case"abs":r=n.pop(),n.push(Math.abs(r));break;case"add":i=n.pop(),r=n.pop(),n.push(r+i);break;case"and":i=n.pop(),r=n.pop(),n.push(k(r)&&k(i)?r&&i:r&i);break;case"atan":r=n.pop(),n.push(Math.atan(r));break;case"bitshift":i=n.pop(),r=n.pop(),n.push(r>0?r<<i:r>>i);break;case"ceiling":r=n.pop(),n.push(Math.ceil(r));break;case"copy":r=n.pop(),n.copy(r);break;case"cos":r=n.pop(),n.push(Math.cos(r));break;case"cvi":r=0|n.pop(),n.push(r);break;case"cvr":break;case"div":i=n.pop(),r=n.pop(),n.push(r/i);break;case"dup":n.copy(1);break;case"eq":i=n.pop(),r=n.pop(),n.push(r==i);break;case"exch":n.roll(2,1);break;case"exp":i=n.pop(),r=n.pop(),n.push(Math.pow(r,i));break;case"false":n.push(!1);break;case"floor":r=n.pop(),n.push(Math.floor(r));break;case"ge":i=n.pop(),r=n.pop(),n.push(r>=i);break;case"gt":i=n.pop(),r=n.pop(),n.push(r>i);break;case"idiv":i=n.pop(),r=n.pop(),n.push(r/i|0);break;case"index":r=n.pop(),n.index(r);break;case"le":i=n.pop(),r=n.pop(),n.push(i>=r);break;case"ln":r=n.pop(),n.push(Math.log(r));break;case"log":r=n.pop(),n.push(Math.log(r)/Math.LN10);break;case"lt":i=n.pop(),r=n.pop(),n.push(i>r);break;case"mod":i=n.pop(),r=n.pop(),n.push(r%i);break;case"mul":i=n.pop(),r=n.pop(),n.push(r*i);break;case"ne":i=n.pop(),r=n.pop(),n.push(r!=i);break;case"neg":r=n.pop(),n.push(-r);break;case"not":r=n.pop(),n.push(k(r)?!r:~r);break;case"or":i=n.pop(),r=n.pop(),n.push(k(r)&&k(i)?r||i:r|i);break;case"pop":n.pop();break;case"roll":i=n.pop(),r=n.pop(),n.roll(r,i);break;case"round":r=n.pop(),n.push(Math.round(r));break;case"sin":r=n.pop(),n.push(Math.sin(r));break;case"sqrt":r=n.pop(),n.push(Math.sqrt(r));break;case"sub":i=n.pop(),r=n.pop(),n.push(r-i);break;case"true":n.push(!0);break;case"truncate":r=n.pop(),r=0>r?Math.ceil(r):Math.floor(r),n.push(r);break;case"xor":i=n.pop(),r=n.pop(),n.push(k(r)&&k(i)?r!=i:r^i);break;default:a("Unknown operator "+t)}else n.push(t);return n.stack}},e}(),Gt=function(){function e(){a("should not call ColorSpace constructor")}return e.prototype={getRgb:function(e,t){var a=new Uint8Array(3);return this.getRgbItem(e,t,a,0),a},getRgbItem:function(){a("Should not call ColorSpace.getRgbItem")},getRgbBuffer:function(){a("Should not call ColorSpace.getRgbBuffer")},getOutputLength:function(){a("Should not call ColorSpace.getOutputLength")},isPassthrough:function(){return!1},fillRgb:function(e,t,a,r,i,n,o,s,c){var l,h,u=t*a,f=null,d=1<<o,g=a!=i||t!=r;if(this.isPassthrough(o))f=s;else if(1===this.numComps&&u>d&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){var m,p=8>=o?new Uint8Array(d):new Uint16Array(d);for(l=0;d>l;l++)p[l]=l;var b=new Uint8Array(3*d);this.getRgbBuffer(p,0,d,b,0,o,0);var v,y;if(g)for(f=new Uint8Array(3*u),y=0,l=0;u>l;++l)m=3*s[l],f[y++]=b[m],f[y++]=b[m+1],f[y++]=b[m+2];else for(v=0,l=0;u>l;++l)m=3*s[l],e[v++]=b[m],e[v++]=b[m+1],e[v++]=b[m+2],v+=c}else g?(f=new Uint8Array(3*u),this.getRgbBuffer(s,0,u,f,0,o,0)):this.getRgbBuffer(s,0,r*n,e,0,o,c);if(f)if(g)or.resize(f,o,3,t,a,r,i,e,c);else for(y=0,v=0,l=0,h=r*n;h>l;l++)e[v++]=f[y++],e[v++]=f[y++],e[v++]=f[y++],v+=c},usesZeroToOneRange:!0},e.parse=function(t,a,r){var i=e.parseToIR(t,a,r);return i instanceof Xt?i:e.fromIR(i)},e.fromIR=function(t){var r,i,n=I(t)?t[0]:t;switch(n){case"DeviceGrayCS":return this.singletons.gray;case"DeviceRgbCS":return this.singletons.rgb;case"DeviceCmykCS":return this.singletons.cmyk;case"CalGrayCS":r=t[1].WhitePoint,i=t[1].BlackPoint;var o=t[1].Gamma;return new Yt(r,i,o);case"PatternCS":var s=t[1];return s&&(s=e.fromIR(s)),new _t(s);case"IndexedCS":var c=t[1],l=t[2],h=t[3];return new Vt(e.fromIR(c),l,h);case"AlternateCS":var u=t[1],f=t[2],d=t[3];return new Xt(u,e.fromIR(f),jt.fromIR(d));case"LabCS":r=t[1].WhitePoint,i=t[1].BlackPoint;var g=t[1].Range;return new Zt(r,i,g);default:a("Unkown name "+n)}return null},e.parseToIR=function(t,r,i){if(S(t)){var n=i.get("ColorSpace");if(B(n)){var o=n.get(t.name);o&&(t=o)}}t=r.fetchIfRef(t);var s;if(S(t))switch(s=t.name,this.mode=s,s){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"Pattern":return["PatternCS",null];default:a("unrecognized colorspace "+s)}else if(I(t)){s=t[0].name,this.mode=s;var c,l;switch(s){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"CalGray":return l=t[1].getAll(),["CalGrayCS",l];case"CalRGB":return"DeviceRgbCS";case"ICCBased":var h=r.fetchIfRef(t[1]),u=h.dict;if(c=u.get("N"),1==c)return"DeviceGrayCS";if(3==c)return"DeviceRgbCS";if(4==c)return"DeviceCmykCS";break;case"Pattern":var f=t[1];return f&&(f=e.parseToIR(f,r,i)),["PatternCS",f];case"Indexed":case"I":var d=e.parseToIR(t[1],r,i),g=t[2]+1,m=r.fetchIfRef(t[3]);return O(m)&&(m=m.getBytes()),["IndexedCS",d,g,m];case"Separation":case"DeviceN":var p=t[1];c=1,S(p)?c=1:I(p)&&(c=p.length);var b=e.parseToIR(t[2],r,i),v=jt.getIR(r,r.fetchIfRef(t[3]));return["AlternateCS",c,b,v];case"Lab":return l=t[1].getAll(),["LabCS",l];default:a('unimplemented color space object "'+s+'"')}}else a('unrecognized color space object: "'+t+'"');return null},e.isDefaultDecode=function(e,a){if(!e)return!0;if(2*a!==e.length)return t("The decode map is not the correct length"),!0;for(var r=0,i=e.length;i>r;r+=2)if(0!==e[r]||1!=e[r+1])return!1;return!0},e.singletons={get gray(){return o(this,"gray",new Jt)},get rgb(){return o(this,"rgb",new Wt)},get cmyk(){return o(this,"cmyk",new Kt)}},e}(),Xt=function(){function e(e,t,a){this.name="Alternate",this.numComps=e,this.defaultColor=new Float32Array(e);for(var r=0;e>r;++r)this.defaultColor[r]=1;this.base=t,this.tintFn=a}return e.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(e,t,a,r){var i=(this.base.numComps,"subarray"in e?e.subarray(t,t+this.numComps):Array.prototype.slice.call(e,t,t+this.numComps)),n=this.tintFn(i);this.base.getRgbItem(n,0,a,r)},getRgbBuffer:function(e,t,a,r,i,n,o){var s,c,l,h=this.tintFn,u=this.base,f=1/((1<<n)-1),d=u.numComps,g=u.usesZeroToOneRange,m=(u.isPassthrough(8)||!g)&&0===o,p=m?i:0,b=m?r:new Uint8Array(d*a),v=this.numComps,y=new Float32Array(v);if(g)for(c=0;a>c;c++){for(l=0;v>l;l++)y[l]=e[t++]*f;for(s=h(y),l=0;d>l;l++)b[p++]=255*s[l]}else for(c=0;a>c;c++){for(l=0;v>l;l++)y[l]=e[t++]*f;s=h(y),u.getRgbItem(s,0,b,p),p+=d}m||u.getRgbBuffer(b,0,a,r,i,8,o)},getOutputLength:function(e,t){return this.base.getOutputLength(e*this.base.numComps/this.numComps,t)},isPassthrough:Gt.prototype.isPassthrough,fillRgb:Gt.prototype.fillRgb,isDefaultDecode:function(e){return Gt.isDefaultDecode(e,this.numComps)},usesZeroToOneRange:!0},e}(),_t=function(){function e(e){this.name="Pattern",this.base=e}return e.prototype={},e}(),Vt=function(){function e(e,t,r){this.name="Indexed",this.numComps=1,this.defaultColor=new Uint8Array([0]),this.base=e,this.highVal=t;var i,n=e.numComps,o=n*t;if(O(r)){i=new Uint8Array(o);var s=r.getBytes(o);i.set(s)}else if(C(r)){i=new Uint8Array(o);for(var c=0;o>c;++c)i[c]=r.charCodeAt(c)}else r instanceof Uint8Array||r instanceof Array?i=r:a("Unrecognized lookup table: "+r);this.lookup=i}return e.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(e,t,a,r){var i=this.base.numComps,n=e[t]*i;this.base.getRgbItem(this.lookup,n,a,r)},getRgbBuffer:function(e,t,a,r,i,n,o){for(var s=this.base,c=s.numComps,l=s.getOutputLength(c,o),h=this.lookup,u=0;a>u;++u){var f=e[t++]*c;s.getRgbBuffer(h,f,1,r,i,8,o),i+=l}},getOutputLength:function(e,t){return this.base.getOutputLength(e*this.base.numComps,t)},isPassthrough:Gt.prototype.isPassthrough,fillRgb:Gt.prototype.fillRgb,isDefaultDecode:function(){return!0},usesZeroToOneRange:!0},e}(),Jt=function(){function e(){this.name="DeviceGray",this.numComps=1,this.defaultColor=new Float32Array([0])}return e.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(e,t,a,r){var i=255*e[t]|0;i=0>i?0:i>255?255:i,a[r]=a[r+1]=a[r+2]=i},getRgbBuffer:function(e,t,a,r,i,n,o){for(var s=255/((1<<n)-1),c=t,l=i,h=0;a>h;++h){var u=s*e[c++]|0;r[l++]=u,r[l++]=u,r[l++]=u,l+=o}},getOutputLength:function(e,t){return e*(3+t)},isPassthrough:Gt.prototype.isPassthrough,fillRgb:Gt.prototype.fillRgb,isDefaultDecode:function(e){return Gt.isDefaultDecode(e,this.numComps)},usesZeroToOneRange:!0},e}(),Wt=function(){function e(){this.name="DeviceRGB",this.numComps=3,this.defaultColor=new Float32Array([0,0,0])}return e.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(e,t,a,r){var i=255*e[t]|0,n=255*e[t+1]|0,o=255*e[t+2]|0;a[r]=0>i?0:i>255?255:i,a[r+1]=0>n?0:n>255?255:n,a[r+2]=0>o?0:o>255?255:o},getRgbBuffer:function(e,t,a,r,i,n,o){if(8===n&&0===o)return void r.set(e.subarray(t,t+3*a),i);for(var s=255/((1<<n)-1),c=t,l=i,h=0;a>h;++h)r[l++]=s*e[c++]|0,r[l++]=s*e[c++]|0,r[l++]=s*e[c++]|0,l+=o},getOutputLength:function(e,t){return e*(3+t)/3|0},isPassthrough:function(e){return 8==e},fillRgb:Gt.prototype.fillRgb,isDefaultDecode:function(e){return Gt.isDefaultDecode(e,this.numComps)},usesZeroToOneRange:!0},e}(),Kt=function(){function e(e,t,a,r,i){var n=e[t+0]*a,o=e[t+1]*a,s=e[t+2]*a,c=e[t+3]*a,l=n*(-4.387332384609988*n+54.48615194189176*o+18.82290502165302*s+212.25662451639585*c+-285.2331026137004)+o*(1.7149763477362134*o-5.6096736904047315*s+-17.873870861415444*c-5.497006427196366)+s*(-2.5217340131683033*s-21.248923337353073*c+17.5119270841813)+c*(-21.86122147463605*c-189.48180835922747)+255|0,h=n*(8.841041422036149*n+60.118027045597366*o+6.871425592049007*s+31.159100130055922*c+-79.2970844816548)+o*(-15.310361306967817*o+17.575251261109482*s+131.35250912493976*c-190.9453302588951)+s*(4.444339102852739*s+9.8632861493405*c-24.86741582555878)+c*(-20.737325471181034*c-187.80453709719578)+255|0,u=n*(.8842522430003296*n+8.078677503112928*o+30.89978309703729*s-.23883238689178934*c+-14.183576799673286)+o*(10.49593273432072*o+63.02378494754052*s+50.606957656360734*c-112.23884253719248)+s*(.03296041114873217*s+115.60384449646641*c+-193.58209356861505)+c*(-22.33816807309886*c-180.12613974708367)+255|0;r[i]=l>255?255:0>l?0:l,r[i+1]=h>255?255:0>h?0:h,r[i+2]=u>255?255:0>u?0:u}function t(){this.name="DeviceCMYK",this.numComps=4,this.defaultColor=new Float32Array([0,0,0,1])}return t.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(t,a,r,i){e(t,a,1,r,i)},getRgbBuffer:function(t,a,r,i,n,o,s){for(var c=1/((1<<o)-1),l=0;r>l;l++)e(t,a,c,i,n),a+=4,n+=3+s},getOutputLength:function(e,t){return e/4*(3+t)|0},isPassthrough:Gt.prototype.isPassthrough,fillRgb:Gt.prototype.fillRgb,isDefaultDecode:function(e){return Gt.isDefaultDecode(e,this.numComps)},usesZeroToOneRange:!0},t}(),Yt=function(){function r(r,i,n){this.name="CalGray",this.numComps=1,this.defaultColor=new Float32Array([0]),r||a("WhitePoint missing - required for color space CalGray"),i=i||[0,0,0],n=n||1,this.XW=r[0],this.YW=r[1],this.ZW=r[2],this.XB=i[0],this.YB=i[1],this.ZB=i[2],this.G=n,(this.XW<0||this.ZW<0||1!==this.YW)&&a("Invalid WhitePoint components for "+this.name+", no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(e("Invalid BlackPoint for "+this.name+", falling back to default"),this.XB=this.YB=this.ZB=0),(0!==this.XB||0!==this.YB||0!==this.ZB)&&t(this.name+", BlackPoint: XB: "+this.XB+", YB: "+this.YB+", ZB: "+this.ZB+", only default values are supported."),this.G<1&&(e("Invalid Gamma: "+this.G+" for "+this.name+", falling back to default"),this.G=1)}function i(e,t,a,r,i,n){var o=t[a]*n,s=Math.pow(o,e.G),c=e.YW*s,l=0|Math.max(295.8*Math.pow(c,.3333333333333333)-40.8,0);r[i]=l,r[i+1]=l,r[i+2]=l}return r.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(e,t,a,r){i(this,e,t,a,r,1)},getRgbBuffer:function(e,t,a,r,n,o,s){for(var c=1/((1<<o)-1),l=0;a>l;++l)i(this,e,t,r,n,c),t+=1,n+=3+s},getOutputLength:function(e,t){return e*(3+t)},isPassthrough:Gt.prototype.isPassthrough,fillRgb:Gt.prototype.fillRgb,isDefaultDecode:function(e){return Gt.isDefaultDecode(e,this.numComps)},usesZeroToOneRange:!0},r}(),Zt=function(){function t(t,r,i){this.name="Lab",this.numComps=3,this.defaultColor=new Float32Array([0,0,0]),t||a("WhitePoint missing - required for color space Lab"),r=r||[0,0,0],i=i||[-100,100,-100,100],this.XW=t[0],this.YW=t[1],this.ZW=t[2],this.amin=i[0],this.amax=i[1],this.bmin=i[2],this.bmax=i[3],this.XB=r[0],this.YB=r[1],this.ZB=r[2],(this.XW<0||this.ZW<0||1!==this.YW)&&a("Invalid WhitePoint components, no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(e("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(e("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}function r(e){return e>=6/29?e*e*e:108/841*(e-4/29)}function i(e,t,a,r){return a+e*(r-a)/t}function n(e,t,a,n,o,s){var c=t[a],l=t[a+1],h=t[a+2];n!==!1&&(c=i(c,n,0,100),l=i(l,n,e.amin,e.amax),h=i(h,n,e.bmin,e.bmax)),l=l>e.amax?e.amax:l<e.amin?e.amin:l,h=h>e.bmax?e.bmax:h<e.bmin?e.bmin:h;var u,f,d,g=(c+16)/116,m=g+l/500,p=g-h/200,b=e.XW*r(m),v=e.YW*r(g),y=e.ZW*r(p);e.ZW<1?(u=3.1339*b+-1.617*v+y*-.4906,f=b*-.9785+1.916*v+.0333*y,d=.072*b+v*-.229+1.4057*y):(u=3.2406*b+-1.5372*v+y*-.4986,f=b*-.9689+1.8758*v+.0415*y,d=.0557*b+v*-.204+1.057*y),o[s]=0>=u?0:u>=1?255:255*Math.sqrt(u)|0,o[s+1]=0>=f?0:f>=1?255:255*Math.sqrt(f)|0,o[s+2]=0>=d?0:d>=1?255:255*Math.sqrt(d)|0}return t.prototype={getRgb:Gt.prototype.getRgb,getRgbItem:function(e,t,a,r){n(this,e,t,!1,a,r)},getRgbBuffer:function(e,t,a,r,i,o,s){for(var c=(1<<o)-1,l=0;a>l;l++)n(this,e,t,c,r,i),t+=3,i+=3+s},getOutputLength:function(e,t){return e*(3+t)/3|0},isPassthrough:Gt.prototype.isPassthrough,isDefaultDecode:function(){return!0},usesZeroToOneRange:!1},t}(),Qt=function(){function e(e){this.a=0,this.b=0;var t,a,r=new Uint8Array(256),i=0,n=e.length;for(t=0;256>t;++t)r[t]=t;for(t=0;256>t;++t)a=r[t],i=i+a+e[t%n]&255,r[t]=r[i],r[i]=a;this.s=r}return e.prototype={encryptBlock:function(e){var t,a,r,i=e.length,n=this.a,o=this.b,s=this.s,c=new Uint8Array(i);for(t=0;i>t;++t)n=n+1&255,a=s[n],o=o+a&255,r=s[o],s[n]=r,s[o]=a,c[t]=e[t]^s[a+r&255];return this.a=n,this.b=o,c}},e.prototype.decryptBlock=e.prototype.encryptBlock,e}(),$t=function(){function e(e,r,i){var n,o,s,c=1732584193,l=-271733879,h=-1732584194,u=271733878,f=i+72&-64,d=new Uint8Array(f);for(n=0;i>n;++n)d[n]=e[r++];for(d[n++]=128,s=f-8;s>n;)d[n++]=0;d[n++]=i<<3&255,d[n++]=i>>5&255,d[n++]=i>>13&255,d[n++]=i>>21&255,d[n++]=i>>>29&255,d[n++]=0,d[n++]=0,d[n++]=0;var g=new Int32Array(16);for(n=0;f>n;){for(o=0;16>o;++o,n+=4)g[o]=d[n]|d[n+1]<<8|d[n+2]<<16|d[n+3]<<24;var m,p,b=c,v=l,y=h,k=u;for(o=0;64>o;++o){16>o?(m=v&y|~v&k,p=o):32>o?(m=k&v|~k&y,p=5*o+1&15):48>o?(m=v^y^k,p=3*o+5&15):(m=y^(v|~k),p=7*o&15);var w=k,x=b+m+a[o]+g[p]|0,C=t[o];k=y,y=v,v=v+(x<<C|x>>>32-C)|0,b=w}c=c+b|0,l=l+v|0,h=h+y|0,u=u+k|0}return new Uint8Array([255&c,c>>8&255,c>>16&255,c>>>24&255,255&l,l>>8&255,l>>16&255,l>>>24&255,255&h,h>>8&255,h>>16&255,h>>>24&255,255&u,u>>8&255,u>>16&255,u>>>24&255])}var t=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]),a=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);return e}(),ea=function(){function e(){}return e.prototype={decryptBlock:function(e){return e}},e}(),ta=function(){function e(e){var t=176,a=new Uint8Array(t);a.set(e);for(var r=16,o=1;t>r;++o){var s=a[r-3],c=a[r-2],l=a[r-1],h=a[r-4];s=n[s],c=n[c],l=n[l],h=n[h],s^=i[o];for(var u=0;4>u;++u)a[r]=s^=a[r-16],r++,a[r]=c^=a[r-16],r++,a[r]=l^=a[r-16],r++,a[r]=h^=a[r-16],r++}return a}function t(e,t){var a=new Uint8Array(16);a.set(e);var r,i,n,c,l,h;for(i=0,n=160;16>i;++i,++n)a[i]^=t[n];for(r=9;r>=1;--r){for(c=a[13],a[13]=a[9],a[9]=a[5],a[5]=a[1],a[1]=c,c=a[14],l=a[10],a[14]=a[6],a[10]=a[2],a[6]=c,a[2]=l,c=a[15],l=a[11],h=a[7],a[15]=a[3],a[11]=c,a[7]=l,a[3]=h,i=0;16>i;++i)a[i]=o[a[i]];for(i=0,n=16*r;16>i;++i,++n)a[i]^=t[n];for(i=0;16>i;i+=4){var u=s[a[i]],f=s[a[i+1]],d=s[a[i+2]],g=s[a[i+3]];c=u^f>>>8^f<<24^d>>>16^d<<16^g>>>24^g<<8,a[i]=c>>>24&255,a[i+1]=c>>16&255,a[i+2]=c>>8&255,a[i+3]=255&c}}for(c=a[13],a[13]=a[9],a[9]=a[5],a[5]=a[1],a[1]=c,c=a[14],l=a[10],a[14]=a[6],a[10]=a[2],a[6]=c,a[2]=l,c=a[15],l=a[11],h=a[7],a[15]=a[3],a[11]=c,a[7]=l,a[3]=h,i=0;16>i;++i)a[i]=o[a[i]],a[i]^=t[i];return a}function a(t){this.key=e(t),this.buffer=new Uint8Array(16),this.bufferPosition=0}function r(e,a){var r,i,n,o=e.length,s=this.buffer,c=this.bufferPosition,l=[],h=this.iv;for(r=0;o>r;++r)if(s[c]=e[r],++c,!(16>c)){var u=t(s,this.key);for(i=0;16>i;++i)u[i]^=h[i];h=s,l.push(u),s=new Uint8Array(16),c=0}if(this.buffer=s,this.bufferLength=c,this.iv=h,0===l.length)return new Uint8Array([]);var f=16*l.length;if(a){var d=l[l.length-1];f-=d[15],l[l.length-1]=d.subarray(0,16-d[15])}var g=new Uint8Array(f);for(r=0,i=0,n=l.length;n>r;++r,i+=16)g.set(l[r],i);return g}var i=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),n=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),o=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),s=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return a.prototype={decryptBlock:function(e,t){var a,i=e.length,n=this.buffer,o=this.bufferPosition;for(a=0;16>o&&i>a;++a,++o)n[o]=e[a];return 16>o?(this.bufferLength=o,new Uint8Array([])):(this.iv=n,this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=r,this.decryptBlock(e.subarray(16),t))}},a}(),aa=function(){function e(e,t){this.stringCipherConstructor=e,this.streamCipherConstructor=t}return e.prototype={createStream:function(e,t){var a=new this.streamCipherConstructor;return new Ar(e,t,function(e,t){return a.decryptBlock(e,t)})},decryptString:function(e){var t=new this.stringCipherConstructor,a=l(e);return a=t.decryptBlock(a,!0),s(a)}},e}(),ra=function(){function e(e,t,a,r,i,n,s,c){var l,h,u=40+a.length+e.length,f=new Uint8Array(u),d=0;if(t)for(h=Math.min(32,t.length);h>d;++d)f[d]=t[d];for(l=0;32>d;)f[d++]=o[l++];for(l=0,h=a.length;h>l;++l)f[d++]=a[l];for(f[d++]=255&i,f[d++]=i>>8&255,f[d++]=i>>16&255,f[d++]=i>>>24&255,l=0,h=e.length;h>l;++l)f[d++]=e[l];n>=4&&!c&&(f[d++]=255,f[d++]=255,f[d++]=255,f[d++]=255);var g=$t(f,0,d),m=s>>3;if(n>=3)for(l=0;50>l;++l)g=$t(g,0,m);var p,b,v=g.subarray(0,m);if(n>=3){for(d=0;32>d;++d)f[d]=o[d];for(l=0,h=e.length;h>l;++l)f[d++]=e[l];p=new Qt(v),b=p.encryptBlock($t(f,0,d)),h=v.length;var y,k=new Uint8Array(h);for(l=1;19>=l;++l){for(y=0;h>y;++y)k[y]=v[y]^l;p=new Qt(k),b=p.encryptBlock(b)}for(l=0,h=b.length;h>l;++l)if(r[l]!=b[l])return null}else for(p=new Qt(v),b=p.encryptBlock(o),l=0,h=b.length;h>l;++l)if(r[l]!=b[l])return null;return v}function t(e,t,a,r){var i,n,s=new Uint8Array(32),c=0;for(n=Math.min(32,e.length);n>c;++c)s[c]=e[c];for(i=0;32>c;)s[c++]=o[i++];var l=$t(s,0,c),h=r>>3;if(a>=3)for(i=0;50>i;++i)l=$t(l,0,l.length);var u,f;if(a>=3){f=t;var d,g=new Uint8Array(h);for(i=19;i>=0;i--){for(d=0;h>d;++d)g[d]=l[d]^i;u=new Qt(g),f=u.encryptBlock(f)}}else u=new Qt(l.subarray(0,h)),f=u.encryptBlock(t);return f}function r(r,i,n){var o=r.get("Filter");S(o)&&"Standard"==o.name||a("unknown encryption method"),this.dict=r;var c=r.get("V");(!w(c)||1!=c&&2!=c&&4!=c)&&a("unsupported encryption algorithm"),this.algorithm=c;var h=r.get("Length")||40;(!w(h)||40>h||h%8!==0)&&a("invalid key length");var u=l(r.get("O")).subarray(0,32),f=l(r.get("U")).subarray(0,32),d=r.get("P"),g=r.get("R"),m=4==c&&r.get("EncryptMetadata")!==!1;this.encryptMetadata=m;var p,b=l(i);n&&(p=l(n));var v=e(b,p,u,f,d,g,h,m);if(!v&&!n)throw new Z("No password given",Y.NEED_PASSWORD);if(!v&&n){var y=t(p,u,g,h);v=e(b,y,u,f,d,g,h,m)}if(!v)throw new Z("Incorrect Password",Y.INCORRECT_PASSWORD);this.encryptionKey=v,4==c&&(this.cf=r.get("CF"),this.stmf=r.get("StmF")||s,this.strf=r.get("StrF")||s,this.eff=r.get("EFF")||this.strf)}function i(e,t,a,r){var i,n,o=new Uint8Array(a.length+9);for(i=0,n=a.length;n>i;++i)o[i]=a[i];o[i++]=255&e,o[i++]=e>>8&255,o[i++]=e>>16&255,o[i++]=255&t,o[i++]=t>>8&255,r&&(o[i++]=115,o[i++]=65,o[i++]=108,o[i++]=84);var s=$t(o,0,i);return s.subarray(0,Math.min(a.length+5,16))}function n(e,t,r,n,o){var s,c=e.get(t.name);return null!==c&&void 0!==c&&(s=c.get("CFM")),s&&"None"!=s.name?"V2"==s.name?function(){return new Qt(i(r,n,o,!1))}:"AESV2"==s.name?function(){return new ta(i(r,n,o,!0))}:void a("Unknown crypto method"):function(){return new ea}}var o=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]),s=Bt.get("Identity");return r.prototype={createCipherTransform:function(e,t){if(4==this.algorithm)return new aa(n(this.cf,this.stmf,e,t,this.encryptionKey),n(this.cf,this.strf,e,t,this.encryptionKey));var a=i(e,t,this.encryptionKey,!1),r=function(){return new Qt(a)};return new aa(r,r)}},r}(),ia={FUNCTION_BASED:1,AXIAL:2,RADIAL:3,FREE_FORM_MESH:4,LATTICE_FORM_MESH:5,COONS_PATCH_MESH:6,TENSOR_PATCH_MESH:7},na=function(){function e(){a("should not call Pattern constructor")}return e.prototype={getPattern:function(e){a("Should not call Pattern.getStyle: "+e)}},e.parseShading=function(e,t,a,r){var i=O(e)?e.dict:e,n=i.get("ShadingType");switch(n){case ia.AXIAL:case ia.RADIAL:return new oa.RadialAxial(i,t,a,r);case ia.FREE_FORM_MESH:case ia.LATTICE_FORM_MESH:case ia.COONS_PATCH_MESH:case ia.TENSOR_PATCH_MESH:return new oa.Mesh(e,t,a,r);default:return K.notify(W.shadingPattern),new oa.Dummy}},e}(),oa={};oa.SMALL_NUMBER=.01,oa.RadialAxial=function(){function r(r,i,n,o){this.matrix=i,this.coordsArr=r.get("Coords"),this.shadingType=r.get("ShadingType"),this.type="Pattern";
-var s=r.get("ColorSpace","CS");s=Gt.parse(s,n,o),this.cs=s;var c=0,l=1;if(r.has("Domain")){var h=r.get("Domain");c=h[0],l=h[1]}var u=!1,f=!1;if(r.has("Extend")){var d=r.get("Extend");u=d[0],f=d[1]}if(!(this.shadingType!==ia.RADIAL||u&&f)){var g=this.coordsArr[0],m=this.coordsArr[1],p=this.coordsArr[2],b=this.coordsArr[3],v=this.coordsArr[4],y=this.coordsArr[5],k=Math.sqrt((g-b)*(g-b)+(m-v)*(m-v));y+k>=p&&p+k>=y&&t("Unsupported radial gradient.")}this.extendStart=u,this.extendEnd=f;var w,x=r.get("Function");if(I(x)){for(var C=[],S=0,A=x.length;A>S;S++){var B=n.fetchIfRef(x[S]);M(B)||a("Invalid function"),C.push(jt.parse(n,B))}w=function(e){for(var t=[],a=0,r=C.length;r>a;a++)t.push(C[a](e)[0]);return t}}else M(x)||a("Invalid function"),w=jt.parse(n,x);var O=l-c,L=O/10,R=this.colorStops=[];if(c>=l||0>=L)return void e("Bad shading domain.");for(var T,P=c;l>=P;P+=L){T=s.getRgb(w([P]),0);var q=ot.makeCssRgb(T);R.push([(P-c)/O,q])}var D="transparent";r.has("Background")&&(T=s.getRgb(r.get("Background"),0),D=ot.makeCssRgb(T)),u||(R.unshift([0,D]),R[1][0]+=oa.SMALL_NUMBER),f||(R[R.length-1][0]-=oa.SMALL_NUMBER,R.push([1,D])),this.colorStops=R}return r.prototype={getIR:function(){var e,t,r,i,n,o=this.coordsArr,s=this.shadingType;s==ia.AXIAL?(t=[o[0],o[1]],r=[o[2],o[3]],i=null,n=null,e="axial"):s==ia.RADIAL?(t=[o[0],o[1]],r=[o[3],o[4]],i=o[2],n=o[5],e="radial"):a("getPattern type unknown: "+s);var c=this.matrix;return c&&(t=ot.applyTransform(t,c),r=ot.applyTransform(r,c)),["RadialAxial",e,this.colorStops,t,r,i,n]}},r}(),oa.Mesh=function(){function e(e,t){this.stream=e,this.context=t,this.buffer=0,this.bufferLength=0}function t(e,t){for(var a=e.coords,r=e.colors,n=[],o=[],s=0;t.hasData;){var c=t.readFlag(),l=t.readCoordinate(),h=t.readComponents();if(0===s){switch(i(c>=0&&2>=c,"Unknown type4 flag"),c){case 0:s=3;break;case 1:o.push(o[o.length-2],o[o.length-1]),s=1;break;case 2:o.push(o[o.length-3],o[o.length-1]),s=1}n.push(c)}o.push(a.length),a.push(l),r.push(h),s--,t.align()}var u=new Int32Array(o);e.figures.push({type:"triangles",coords:u,colors:u})}function r(e,t,a){for(var r=e.coords,i=e.colors,n=[];t.hasData;){var o=t.readCoordinate(),s=t.readComponents();n.push(r.length),r.push(o),i.push(s)}var c=new Int32Array(n);e.figures.push({type:"lattice",coords:c,colors:c,verticesPerRow:a})}function n(e,t){var a=e.figures[t];i("patch"===a.type,"Unexpected patch mesh figure");var r=e.coords,n=e.colors,o=a.coords,s=a.colors,c=Math.min(r[o[0]][0],r[o[3]][0],r[o[12]][0],r[o[15]][0]),l=Math.min(r[o[0]][1],r[o[3]][1],r[o[12]][1],r[o[15]][1]),h=Math.max(r[o[0]][0],r[o[3]][0],r[o[12]][0],r[o[15]][0]),m=Math.max(r[o[0]][1],r[o[3]][1],r[o[12]][1],r[o[15]][1]),p=Math.ceil((h-c)*d/(e.bounds[2]-e.bounds[0]));p=Math.max(u,Math.min(f,p));var b=Math.ceil((m-l)*d/(e.bounds[3]-e.bounds[1]));b=Math.max(u,Math.min(f,b));for(var v=p+1,y=new Int32Array((b+1)*v),k=new Int32Array((b+1)*v),w=0,x=new Uint8Array(3),C=new Uint8Array(3),S=n[s[0]],A=n[s[1]],B=n[s[2]],I=n[s[3]],O=g(b),L=g(p),R=0;b>=R;R++){x[0]=(S[0]*(b-R)+B[0]*R)/b|0,x[1]=(S[1]*(b-R)+B[1]*R)/b|0,x[2]=(S[2]*(b-R)+B[2]*R)/b|0,C[0]=(A[0]*(b-R)+I[0]*R)/b|0,C[1]=(A[1]*(b-R)+I[1]*R)/b|0,C[2]=(A[2]*(b-R)+I[2]*R)/b|0;for(var T=0;p>=T;T++,w++)if(0!==R&&R!==b||0!==T&&T!==p){for(var P=0,M=0,q=0,D=0;3>=D;D++)for(var E=0;3>=E;E++,q++){var F=O[R][D]*L[T][E];P+=r[o[q]][0]*F,M+=r[o[q]][1]*F}y[w]=r.length,r.push([P,M]),k[w]=n.length;var U=new Uint8Array(3);U[0]=(x[0]*(p-T)+C[0]*T)/p|0,U[1]=(x[1]*(p-T)+C[1]*T)/p|0,U[2]=(x[2]*(p-T)+C[2]*T)/p|0,n.push(U)}}y[0]=o[0],k[0]=s[0],y[p]=o[3],k[p]=s[1],y[v*b]=o[12],k[v*b]=s[2],y[v*b+p]=o[15],k[v*b+p]=s[3],e.figures[t]={type:"lattice",coords:y,colors:k,verticesPerRow:v}}function o(e,t){for(var a=e.coords,r=e.colors,n=new Int32Array(16),o=new Int32Array(4);t.hasData;){var s=t.readFlag();i(s>=0&&3>=s,"Unknown type6 flag");var c,l,h=a.length;for(c=0,l=0!==s?8:12;l>c;c++)a.push(t.readCoordinate());var u=r.length;for(c=0,l=0!==s?2:4;l>c;c++)r.push(t.readComponents());var f,d,g,m;switch(s){case 0:n[12]=h+3,n[13]=h+4,n[14]=h+5,n[15]=h+6,n[8]=h+2,n[11]=h+7,n[4]=h+1,n[7]=h+8,n[0]=h,n[1]=h+11,n[2]=h+10,n[3]=h+9,o[2]=u+1,o[3]=u+2,o[0]=u,o[1]=u+3;break;case 1:f=n[12],d=n[13],g=n[14],m=n[15],n[12]=h+5,n[13]=h+4,n[14]=h+3,n[15]=h+2,n[8]=h+6,n[11]=h+1,n[4]=h+7,n[7]=h,n[0]=f,n[1]=d,n[2]=g,n[3]=m,f=o[2],d=o[3],o[2]=u+1,o[3]=u,o[0]=f,o[1]=d;break;case 2:n[12]=n[15],n[13]=h+7,n[14]=h+6,n[15]=h+5,n[8]=n[11],n[11]=h+4,n[4]=n[7],n[7]=h+3,n[0]=n[3],n[1]=h,n[2]=h+1,n[3]=h+2,o[2]=o[3],o[3]=u+1,o[0]=o[1],o[1]=u;break;case 3:n[12]=n[0],n[13]=n[1],n[14]=n[2],n[15]=n[3],n[8]=h,n[11]=h+7,n[4]=h+1,n[7]=h+6,n[0]=h+2,n[1]=h+3,n[2]=h+4,n[3]=h+5,o[2]=o[0],o[3]=o[1],o[0]=u,o[1]=u+1}n[5]=a.length,a.push([(-4*a[n[0]][0]-a[n[15]][0]+6*(a[n[4]][0]+a[n[1]][0])-2*(a[n[12]][0]+a[n[3]][0])+3*(a[n[13]][0]+a[n[7]][0]))/9,(-4*a[n[0]][1]-a[n[15]][1]+6*(a[n[4]][1]+a[n[1]][1])-2*(a[n[12]][1]+a[n[3]][1])+3*(a[n[13]][1]+a[n[7]][1]))/9]),n[6]=a.length,a.push([(-4*a[n[3]][0]-a[n[12]][0]+6*(a[n[2]][0]+a[n[7]][0])-2*(a[n[0]][0]+a[n[15]][0])+3*(a[n[4]][0]+a[n[14]][0]))/9,(-4*a[n[3]][1]-a[n[12]][1]+6*(a[n[2]][1]+a[n[7]][1])-2*(a[n[0]][1]+a[n[15]][1])+3*(a[n[4]][1]+a[n[14]][1]))/9]),n[9]=a.length,a.push([(-4*a[n[12]][0]-a[n[3]][0]+6*(a[n[8]][0]+a[n[13]][0])-2*(a[n[0]][0]+a[n[15]][0])+3*(a[n[11]][0]+a[n[1]][0]))/9,(-4*a[n[12]][1]-a[n[3]][1]+6*(a[n[8]][1]+a[n[13]][1])-2*(a[n[0]][1]+a[n[15]][1])+3*(a[n[11]][1]+a[n[1]][1]))/9]),n[10]=a.length,a.push([(-4*a[n[15]][0]-a[n[0]][0]+6*(a[n[11]][0]+a[n[14]][0])-2*(a[n[12]][0]+a[n[3]][0])+3*(a[n[2]][0]+a[n[8]][0]))/9,(-4*a[n[15]][1]-a[n[0]][1]+6*(a[n[11]][1]+a[n[14]][1])-2*(a[n[12]][1]+a[n[3]][1])+3*(a[n[2]][1]+a[n[8]][1]))/9]),e.figures.push({type:"patch",coords:new Int32Array(n),colors:new Int32Array(o)})}}function s(e,t){for(var a=e.coords,r=e.colors,n=new Int32Array(16),o=new Int32Array(4);t.hasData;){var s=t.readFlag();i(s>=0&&3>=s,"Unknown type7 flag");var c,l,h=a.length;for(c=0,l=0!==s?12:16;l>c;c++)a.push(t.readCoordinate());var u=r.length;for(c=0,l=0!==s?2:4;l>c;c++)r.push(t.readComponents());var f,d,g,m;switch(s){case 0:n[12]=h+3,n[13]=h+4,n[14]=h+5,n[15]=h+6,n[8]=h+2,n[9]=h+13,n[10]=h+14,n[11]=h+7,n[4]=h+1,n[5]=h+12,n[6]=h+15,n[7]=h+8,n[0]=h,n[1]=h+11,n[2]=h+10,n[3]=h+9,o[2]=u+1,o[3]=u+2,o[0]=u,o[1]=u+3;break;case 1:f=n[12],d=n[13],g=n[14],m=n[15],n[12]=h+5,n[13]=h+4,n[14]=h+3,n[15]=h+2,n[8]=h+6,n[9]=h+11,n[10]=h+10,n[11]=h+1,n[4]=h+7,n[5]=h+8,n[6]=h+9,n[7]=h,n[0]=f,n[1]=d,n[2]=g,n[3]=m,f=o[2],d=o[3],o[2]=u+1,o[3]=u,o[0]=f,o[1]=d;break;case 2:n[12]=n[15],n[13]=h+7,n[14]=h+6,n[15]=h+5,n[8]=n[11],n[9]=h+8,n[10]=h+11,n[11]=h+4,n[4]=n[7],n[5]=h+9,n[6]=h+10,n[7]=h+3,n[0]=n[3],n[1]=h,n[2]=h+1,n[3]=h+2,o[2]=o[3],o[3]=u+1,o[0]=o[1],o[1]=u;break;case 3:n[12]=n[0],n[13]=n[1],n[14]=n[2],n[15]=n[3],n[8]=h,n[9]=h+9,n[10]=h+8,n[11]=h+7,n[4]=h+1,n[5]=h+10,n[6]=h+11,n[7]=h+6,n[0]=h+2,n[1]=h+3,n[2]=h+4,n[3]=h+5,o[2]=o[0],o[3]=o[1],o[0]=u,o[1]=u+1}e.figures.push({type:"patch",coords:new Int32Array(n),colors:new Int32Array(o)})}}function c(e){for(var t=e.coords[0][0],a=e.coords[0][1],r=t,i=a,n=1,o=e.coords.length;o>n;n++){var s=e.coords[n][0],c=e.coords[n][1];t=t>s?s:t,a=a>c?c:a,r=s>r?s:r,i=c>i?c:i}e.bounds=[t,a,r,i]}function l(e){var t,a,r,i,n=e.coords,o=new Float32Array(2*n.length);for(t=0,r=0,a=n.length;a>t;t++){var s=n[t];o[r++]=s[0],o[r++]=s[1]}e.coords=o;var c=e.colors,l=new Uint8Array(3*c.length);for(t=0,r=0,a=c.length;a>t;t++){var h=c[t];l[r++]=h[0],l[r++]=h[1],l[r++]=h[2]}e.colors=l;var u=e.figures;for(t=0,a=u.length;a>t;t++){var f=u[t],d=f.coords,g=f.colors;for(r=0,i=d.length;i>r;r++)d[r]*=2,g[r]*=3}}function h(h,u,f,d){i(O(h),"Mesh data is not a stream");var g=h.dict;this.matrix=u,this.shadingType=g.get("ShadingType"),this.type="Pattern",this.bbox=g.get("BBox");var m=g.get("ColorSpace","CS");m=Gt.parse(m,f,d),this.cs=m,this.background=g.has("Background")?m.getRgb(g.get("Background"),0):null;var p,b=g.get("Function");if(b)if(I(b)){for(var v=[],y=0,k=b.length;k>y;y++){var w=f.fetchIfRef(b[y]);M(w)||a("Invalid function"),v.push(jt.parse(f,w))}p=function(e){for(var t=[],a=0,r=v.length;r>a;a++)t.push(v[a](e)[0]);return t}}else M(b)||a("Invalid function"),p=jt.parse(f,b);else p=null;this.coords=[],this.colors=[],this.figures=[];var x={bitsPerCoordinate:g.get("BitsPerCoordinate"),bitsPerComponent:g.get("BitsPerComponent"),bitsPerFlag:g.get("BitsPerFlag"),decode:g.get("Decode"),colorFn:p,colorSpace:m,numComps:p?1:m.numComps},C=new e(h,x),S=!1;switch(this.shadingType){case ia.FREE_FORM_MESH:t(this,C);break;case ia.LATTICE_FORM_MESH:var A=0|g.get("VerticesPerRow");i(A>=2,"Invalid VerticesPerRow"),r(this,C,A);break;case ia.COONS_PATCH_MESH:o(this,C),S=!0;break;case ia.TENSOR_PATCH_MESH:s(this,C),S=!0;break;default:a("Unsupported mesh type.")}if(S){c(this);for(var B=0,L=this.figures.length;L>B;B++)n(this,B)}c(this),l(this)}e.prototype={get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;var e=this.stream.getByte();return 0>e?!1:(this.buffer=e,this.bufferLength=8,!0)},readBits:function(e){var t=this.buffer,a=this.bufferLength;if(32===e){if(0===a)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;t=t<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();var r=this.stream.getByte();return this.buffer=r&(1<<a)-1,(t<<8-a|(255&r)>>a)>>>0}if(8===e&&0===a)return this.stream.getByte();for(;e>a;)t=t<<8|this.stream.getByte(),a+=8;return a-=e,this.bufferLength=a,this.buffer=t&(1<<a)-1,t>>a},align:function(){this.buffer=0,this.bufferLength=0},readFlag:function(){return this.readBits(this.context.bitsPerFlag)},readCoordinate:function(){var e=this.context.bitsPerCoordinate,t=this.readBits(e),a=this.readBits(e),r=this.context.decode,i=32>e?1/((1<<e)-1):2.3283064365386963e-10;return[t*i*(r[1]-r[0])+r[0],a*i*(r[3]-r[2])+r[2]]},readComponents:function(){for(var e=this.context.numComps,t=this.context.bitsPerComponent,a=32>t?1/((1<<t)-1):2.3283064365386963e-10,r=this.context.decode,i=[],n=0,o=4;e>n;n++,o+=2){var s=this.readBits(t);i.push(s*a*(r[o+1]-r[o])+r[o])}return this.context.colorFn&&(i=this.context.colorFn(i)),this.context.colorSpace.getRgb(i,0)}};var u=3,f=20,d=20,g=function(){function e(e){for(var t=[],a=0;e>=a;a++){var r=a/e,i=1-r;t.push(new Float32Array([i*i*i,3*r*i*i,3*r*r*i,r*r*r]))}return t}var t=[];return function(a){return t[a]||(t[a]=e(a)),t[a]}}();return h.prototype={getIR:function(){return["Mesh",this.shadingType,this.coords,this.colors,this.figures,this.bounds,this.matrix,this.bbox,this.background]}},h}(),oa.Dummy=function(){function e(){this.type="Pattern"}return e.prototype={getIR:function(){return["Dummy"]}},e}();var sa=function(){function r(e,t,a,r,i,n,o){this.pdfManager=e,this.xref=t,this.handler=a,this.pageIndex=r,this.uniquePrefix=i,this.idCounters=n,this.fontCache=o}function n(){this.reset()}var o=20,s=100;n.prototype={check:function(){return++this.checked<s?!1:(this.checked=0,this.endTime<=Date.now())},reset:function(){this.endTime=Date.now()+o,this.checked=0}};var c=Promise.resolve(),l=1,h=2;return r.prototype={hasBlendModes:function(e){if(!B(e))return!1;var t=Object.create(null);e.objId&&(t[e.objId]=!0);for(var a=[e];a.length;){var r,i=a.shift(),n=i.get("ExtGState");if(B(n)){n=n.getAll();for(r in n){var o=n[r],s=o.BM;if(S(s)&&"Normal"!==s.name)return!0}}var c=i.get("XObject");if(B(c)){c=c.getAll();for(r in c){var l=c[r];if(O(l)){var h=l.dict.get("Resources");!B(h)||h.objId&&t[h.objId]||(a.push(h),h.objId&&(t[h.objId]=!0))}}}}return!1},buildFormXObject:function(e,t,a,r,i){var n=t.dict.get("Matrix"),o=t.dict.get("BBox"),s=t.dict.get("Group");if(s){var c,l={matrix:n,bbox:o,smask:a,isolated:!1,knockout:!1},h=s.get("S");S(h)&&"Transparency"===h.name&&(l.isolated=s.get("I")||!1,l.knockout=s.get("K")||!1,c=s.has("CS")?Gt.parse(s.get("CS"),this.xref,e):null),a&&a.backdrop&&(c=c||Gt.singletons.rgb,a.backdrop=c.getRgb(a.backdrop,0)),r.addOp(J.beginGroup,[l])}return r.addOp(J.paintFormXObjectBegin,[n,o]),this.getOperatorList(t,t.dict.get("Resources")||e,r,i).then(function(){r.addOp(J.paintFormXObjectEnd,[]),s&&r.addOp(J.endGroup,[l])})},buildPaintImageXObject:function(e,a,r,i,n,o){var s=this,c=a.dict,l=c.get("Width","W"),h=c.get("Height","H");if(!(l&&x(l)&&h&&x(h)))return void t("Image dimensions are missing, or not numbers.");if(-1!==PDFJS.maxImageSize&&l*h>PDFJS.maxImageSize)return void t("Image exceeded maximum allowed size and was removed.");var u,f,d=c.get("ImageMask","IM")||!1;if(d){var g=c.get("Width","W"),m=c.get("Height","H"),p=g+7>>3,b=a.getBytes(p*m),v=c.get("Decode","D"),y=a instanceof vr,k=!!v&&v[0]>0;return u=or.createMask(b,g,m,y,k),u.cached=!0,f=[u],i.addOp(J.paintImageMaskXObject,f),void(n&&(o.key=n,o.fn=J.paintImageMaskXObject,o.args=f))}var w=c.get("SMask","SM")||!1,C=c.get("Mask")||!1,S=200;if(r&&!w&&!C&&!(a instanceof xr)&&S>l+h){var A=new or(this.xref,e,a,r,null,null);return u=A.createImageData(!0),void i.addOp(J.paintInlineImageXObject,[u])}var B=this.uniquePrefix||"",I="img_"+B+ ++this.idCounters.obj;return i.addDependency(I),f=[I,l,h],!w&&!C&&a instanceof xr&&a.isNativelySupported(this.xref,e)?(i.addOp(J.paintJpegXObject,f),void this.handler.send("obj",[I,this.pageIndex,"JpegStream",a.getIR()])):(or.buildImage(s.handler,s.xref,e,a,r).then(function(e){var t=e.createImageData(!1);s.handler.send("obj",[I,s.pageIndex,"Image",t],[t.data.buffer])}).then(null,function(e){t("Unable to decode image: "+e),s.handler.send("obj",[I,s.pageIndex,"Image",null])}),i.addOp(J.paintImageXObject,f),void(n&&(o.key=n,o.fn=J.paintImageXObject,o.args=f)))},handleSMask:function(e,t,a,r){var i=e.get("G"),n={subtype:e.get("S").name,backdrop:e.get("BC")};return this.buildFormXObject(t,i,n,a,r.state.clone())},handleTilingType:function(e,t,a,r,i,n){var o=new la;return this.getOperatorList(r,i.get("Resources")||a,o).then(function(){n.addDependencies(o.dependencies),n.addOp(e,q({fnArray:o.fnArray,argsArray:o.argsArray},i,t))})},handleSetFont:function(e,t,a,r,i){var n;t&&(t=t.slice(),n=t[0].name);var o=this;return this.loadFont(n,a,this.xref,e).then(function(t){return t.font.isType3Font?t.loadType3Data(o,e,r).then(function(){return t}):t}).then(function(e){return i.font=e.font,e.send(o.handler),e.loadedName})},handleText:function(e,t){var a=t.font,r=a.charsToGlyphs(e),i=!!(t.textRenderingMode&_.ADD_TO_PATH_FLAG);if(a.data&&(i||PDFJS.disableFontFace))for(var n=function(e){if(!a.renderer.hasBuiltPath(e)){var t=a.renderer.getPathJs(e);this.handler.send("commonobj",[a.loadedName+"_path_"+e,"FontPath",t])}}.bind(this),o=0,s=r.length;s>o;o++){var c=r[o];if(null!==c){n(c.fontChar);var l=c.accent;l&&l.fontChar&&n(l.fontChar)}}return r},setGState:function(a,r,i,n,o){function s(r,s,c){switch(s){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":r.push([s,c]);break;case"Font":u=u.then(function(){return h.handleSetFont(a,null,c[0],i,o.state).then(function(e){i.addDependency(e),r.push([s,[e,c[1]]])})});break;case"BM":r.push([s,c]);break;case"SMask":if(S(c)&&"None"===c.name){r.push([s,!1]);break}var l=n.fetchIfRef(c);B(l)?(u=u.then(function(){return h.handleSMask(l,a,i,o)}),r.push([s,!0])):t("Unsupported SMask type");break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":e("graphic state operator "+s);break;default:e("Unknown graphic state operator "+s)}}var c=[],l=r.map,h=this,u=Promise.resolve();for(var f in l){var d=l[f];s(c,f,d)}return u.then(function(){i.addOp(J.setGState,[c])})},loadFont:function(e,a,r,n){function o(){return Promise.resolve(new ca("g_font_error",new Ua("Font "+e+" is not available"),a))}var s;if(a)i(R(a)),s=a;else{var c=n.get("Font");if(!c)return t("fontRes not available"),o();s=c.getRaw(e)}if(this.fontCache.has(s))return this.fontCache.get(s);if(a=r.fetchIfRef(s),!B(a))return o();if(a.translated)return a.translated;var l=T(),h=this.preEvaluateFont(a,r),u=h.descriptor,f=s.num+"_"+s.gen;if(B(u)){u.fontAliases||(u.fontAliases=Object.create(null));var d=u.fontAliases,g=h.hash;if(d[g]){var m=d[g].aliasRef;if(m&&this.fontCache.has(m))return this.fontCache.putAlias(s,m),this.fontCache.get(s)}d[g]||(d[g]={fontID:Fa.getFontID()}),d[g].aliasRef=s,f=d[g].fontID}var p=B(s);p||this.fontCache.put(s,l.promise),a.loadedName="g_font_"+(p?e.replace(/\W/g,""):f),a.translated=l.promise;var b;try{b=Promise.resolve(this.translateFont(h,r))}catch(v){b=Promise.reject(v)}return b.then(function(e){l.resolve(new ca(a.loadedName,e,a))},function(e){K.notify(W.font),l.resolve(new ca(a.loadedName,new Ua(e instanceof Error?e.message:e),a))}),l.promise},buildPath:function(e,t,a){var r=e.length-1;if(0>r||e.fnArray[r]!==J.constructPath)e.addOp(J.constructPath,[[t],a]);else{var i=e.argsArray[r];i[0].push(t),Array.prototype.push.apply(i[1],a)}},handleColorN:function(e,t,a,r,i,n,o){var s,c=a[a.length-1];if(S(c)&&(s=i.get(c.name))){var u=O(s)?s.dict:s,f=u.get("PatternType");if(f==l){var d=r.base?r.base.getRgb(a,0):null;return this.handleTilingType(t,d,n,s,u,e)}if(f==h){var g=u.get("Shading"),m=u.get("Matrix");return s=na.parseShading(g,m,o,n),e.addOp(t,s.getIR()),Promise.resolve()}return Promise.reject("Unknown PatternType: "+f)}return e.addOp(t,a),Promise.resolve()},getOperatorList:function(t,r,o,s){var l=this,h=this.xref,u={};i(o),r=r||Ot.empty;var f=r.get("XObject")||Ot.empty,d=r.get("Pattern")||Ot.empty,g=new ha(s||new fa),m=new da(t,h,g),p=new n;return new Promise(function b(t,n){p.reset();for(var s,v,y,k,w;!(s=p.check())&&(v=m.read());){var A=v.args,I=v.fn;switch(0|I){case J.paintXObject:if(A[0].code)break;var L=A[0].name;if(u.key===L){o.addOp(u.fn,u.args),A=[];continue}var R=f.get(L);if(R){i(O(R),"XObject should be a stream");var T=R.dict.get("Subtype");if(i(S(T),"XObject should have a Name subtype"),"Form"===T.name)return g.save(),l.buildFormXObject(r,R,null,o,g.state.clone()).then(function(){g.restore(),b(t,n)},n);if("Image"===T.name){l.buildPaintImageXObject(r,R,!1,o,L,u),A=[];continue}if("PS"===T.name){e("Ignored XObject subtype PS");continue}a("Unhandled XObject subtype "+T.name)}break;case J.setFont:var P=A[1];return l.handleSetFont(r,A,null,o,g.state).then(function(e){o.addDependency(e),o.addOp(J.setFont,[e,P]),b(t,n)},n);case J.endInlineImage:var M=A[0].cacheKey;if(M&&u.key===M){o.addOp(u.fn,u.args),A=[];continue}l.buildPaintImageXObject(r,A[0],!0,o,M,u),A=[];continue;case J.showText:A[0]=l.handleText(A[0],g.state);break;case J.showSpacedText:var q=A[0],D=[],E=q.length;for(y=0;E>y;++y){var F=q[y];C(F)?Array.prototype.push.apply(D,l.handleText(F,g.state)):x(F)&&D.push(F)}A[0]=D,I=J.showText;break;case J.nextLineShowText:o.addOp(J.nextLine),A[0]=l.handleText(A[0],g.state),I=J.showText;break;case J.nextLineSetSpacingShowText:o.addOp(J.nextLine),o.addOp(J.setWordSpacing,[A.shift()]),o.addOp(J.setCharSpacing,[A.shift()]),A[0]=l.handleText(A[0],g.state),I=J.showText;break;case J.setTextRenderingMode:g.state.textRenderingMode=A[0];break;case J.setFillColorSpace:g.state.fillColorSpace=Gt.parse(A[0],h,r);continue;case J.setStrokeColorSpace:g.state.strokeColorSpace=Gt.parse(A[0],h,r);continue;case J.setFillColor:w=g.state.fillColorSpace,A=w.getRgb(A,0),I=J.setFillRGBColor;break;case J.setStrokeColor:w=g.state.strokeColorSpace,A=w.getRgb(A,0),I=J.setStrokeRGBColor;break;case J.setFillGray:g.state.fillColorSpace=Gt.singletons.gray,A=Gt.singletons.gray.getRgb(A,0),I=J.setFillRGBColor;break;case J.setStrokeGray:g.state.strokeColorSpace=Gt.singletons.gray,A=Gt.singletons.gray.getRgb(A,0),I=J.setStrokeRGBColor;break;case J.setFillCMYKColor:g.state.fillColorSpace=Gt.singletons.cmyk,A=Gt.singletons.cmyk.getRgb(A,0),I=J.setFillRGBColor;break;case J.setStrokeCMYKColor:g.state.strokeColorSpace=Gt.singletons.cmyk,A=Gt.singletons.cmyk.getRgb(A,0),I=J.setStrokeRGBColor;break;case J.setFillRGBColor:g.state.fillColorSpace=Gt.singletons.rgb,A=Gt.singletons.rgb.getRgb(A,0);break;case J.setStrokeRGBColor:g.state.strokeColorSpace=Gt.singletons.rgb,A=Gt.singletons.rgb.getRgb(A,0);break;case J.setFillColorN:if(w=g.state.fillColorSpace,"Pattern"===w.name)return l.handleColorN(o,J.setFillColorN,A,w,d,r,h).then(function(){b(t,n)},n);A=w.getRgb(A,0),I=J.setFillRGBColor;break;case J.setStrokeColorN:if(w=g.state.strokeColorSpace,"Pattern"===w.name)return l.handleColorN(o,J.setStrokeColorN,A,w,d,r,h).then(function(){b(t,n)},n);A=w.getRgb(A,0),I=J.setStrokeRGBColor;break;case J.shadingFill:var U=r.get("Shading");U||a("No shading resource found");var N=U.get(A[0].name);N||a("No shading object found");var j=na.parseShading(N,null,h,r),z=j.getIR();A=[z],I=J.shadingFill;break;case J.setGState:var H=A[0],G=r.get("ExtGState");if(!B(G)||!G.has(H.name))break;var X=G.get(H.name);return l.setGState(r,X,o,h,g).then(function(){b(t,n)},n);case J.moveTo:case J.lineTo:case J.curveTo:case J.curveTo2:case J.curveTo3:case J.closePath:l.buildPath(o,I,A);continue}o.addOp(I,A)}if(s)return void c.then(function(){b(t,n)});for(y=0,k=m.savedStatesDepth;k>y;y++)o.addOp(J.restore,[]);t()})},getTextContent:function(e,t,a){function r(){var e=b.font;return e.loadedName in h.styles||(h.styles[e.loadedName]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical}),{str:"",dir:null,width:0,height:0,transform:null,fontName:e.loadedName}}function o(e){var t=PDFJS.bidi(e.str,-1,b.font.vertical);return e.str=t.str,e.dir=t.dir,e}function s(e,a){return g.loadFont(e,a,m,t).then(function(e){b.font=e.font,b.fontMatrix=e.font.fontMatrix||X})}function l(e,t){var a=b.font;if(t=t||r(),!t.transform){var i=[b.fontSize*b.textHScale,0,0,b.fontSize,0,b.textRise],n=t.transform=ot.transform(b.ctm,ot.transform(b.textMatrix,i));a.vertical?t.width=Math.sqrt(n[0]*n[0]+n[1]*n[1]):t.height=Math.sqrt(n[2]*n[2]+n[3]*n[3])}for(var o=0,s=0,c=a.charsToGlyphs(e),l=a.defaultVMetrics,h=0;h<c.length;h++){var u=c[h];if(u){var f=null,d=null,g=null;a.vertical?u.vmetric?(g=u.vmetric[0],f=u.vmetric[1],d=u.vmetric[2]):(g=u.width,f=.5*u.width,d=l[2]):g=u.width;var m=u.unicode;m in Da&&(m=Da[m]),m=U(m);var p=0,v=0;if(a.vertical){var y=g*b.fontMatrix[0];v=y*b.fontSize+b.charSpacing,s+=v}else{var k=g*b.fontMatrix[0];p=(k*b.fontSize+b.charSpacing)*b.textHScale,o+=p}b.translateTextMatrix(p,v),t.str+=m}else o+=b.wordSpacing*b.textHScale}var w=b.textLineMatrix[0],x=b.textLineMatrix[1],C=Math.sqrt(w*w+x*x);w=b.ctm[0],x=b.ctm[1];var S=Math.sqrt(w*w+x*x);return a.vertical?t.height+=Math.abs(s*S*C):t.width+=o*S*C,t}a=a||new ha(new ua);var h={items:[],styles:Object.create(null)},u=h.items,f=.35,d=1.5,g=this,m=this.xref;t=m.fetchIfRef(t)||Ot.empty;var p,b,v=null,y={},k=new da(e,m,a),w=new n;return new Promise(function x(e,n){w.reset();for(var m;!(m=w.check())&&(p=k.read());){b=a.state;var C=p.fn,A=p.args;switch(0|C){case J.setFont:return b.fontSize=A[1],s(A[0].name).then(function(){x(e,n)},n);case J.setTextRise:b.textRise=A[0];break;case J.setHScale:b.textHScale=A[0]/100;break;case J.setLeading:b.leading=A[0];break;case J.moveText:b.translateTextLineMatrix(A[0],A[1]),b.textMatrix=b.textLineMatrix.slice();break;case J.setLeadingMoveText:b.leading=-A[1],b.translateTextLineMatrix(A[0],A[1]),b.textMatrix=b.textLineMatrix.slice();break;case J.nextLine:b.carriageReturn();break;case J.setTextMatrix:b.setTextMatrix(A[0],A[1],A[2],A[3],A[4],A[5]),b.setTextLineMatrix(A[0],A[1],A[2],A[3],A[4],A[5]);break;case J.setCharSpacing:b.charSpacing=A[0];break;case J.setWordSpacing:b.wordSpacing=A[0];break;case J.beginText:b.textMatrix=nt.slice(),b.textLineMatrix=nt.slice();break;case J.showSpacedText:for(var L,R=A[0],T=r(),P=0,M=R.length;M>P;P++)if("string"==typeof R[P])l(R[P],T);else{var q=R[P]/1e3;if(b.font.vertical?(L=-q*b.fontSize*b.textMatrix[3],b.translateTextMatrix(0,L),T.height+=L):(L=-q*b.fontSize*b.textHScale*b.textMatrix[0],b.translateTextMatrix(L,0),T.width+=L),R[P]<0&&b.font.spaceWidth>0){var D=-R[P]/b.font.spaceWidth;if(D>d)for(D=Math.round(D);D--;)T.str+=" ";else D>f&&(T.str+=" ")}}u.push(o(T));break;case J.showText:u.push(o(l(A[0])));break;case J.nextLineShowText:b.carriageReturn(),u.push(o(l(A[0])));break;case J.nextLineSetSpacingShowText:b.wordSpacing=A[0],b.charSpacing=A[1],b.carriageReturn(),u.push(o(l(A[2])));break;case J.paintXObject:if(A[0].code)break;v||(v=t.get("XObject")||Ot.empty);var E=A[0].name;if(y.key===E){y.texts&&(ot.concatenateToArray(u,y.texts.items),ot.extendObj(h.styles,y.texts.styles));break}var F=v.get(E);if(!F)break;i(O(F),"XObject should be a stream");var U=F.dict.get("Subtype");if(i(S(U),"XObject should have a Name subtype"),"Form"!==U.name){y.key=E,y.texts=null;break}a.save();var N=F.dict.get("Matrix");return I(N)&&6===N.length&&a.transform(N),g.getTextContent(F,F.dict.get("Resources")||t,a).then(function(t){ot.concatenateToArray(u,t.items),ot.extendObj(h.styles,t.styles),a.restore(),y.key=E,y.texts=t,x(e,n)},n);case J.setGState:var j=A[0],z=t.get("ExtGState");if(!B(z)||!z.has(j.name))break;var H=z.get(j.name),G=null;for(var X in H)"Font"===X&&(i(!G),G=H[X]);if(G)return b.fontSize=G[1],s(G[0]).then(function(){x(e,n)},n)}}return m?void c.then(function(){x(e,n)}):void e(h)})},extractDataStructures:function(e,t,r,i){var n=e.get("ToUnicode")||t.get("ToUnicode");if(n&&(i.toUnicode=this.readToUnicode(n,r,i)),i.composite){var o=e.get("CIDSystemInfo");B(o)&&(i.cidSystemInfo={registry:o.get("Registry"),ordering:o.get("Ordering"),supplement:o.get("Supplement")});var s=e.get("CIDToGIDMap");O(s)&&(i.cidToGidMap=this.readCidToGidMap(s))}var c,l=[],h=null;if(e.has("Encoding")){if(c=e.get("Encoding"),B(c)){if(h=c.get("BaseEncoding"),h=S(h)?h.name:null,c.has("Differences"))for(var u=c.get("Differences"),f=0,d=0,g=u.length;g>d;d++){var m=u[d];x(m)?f=m:l[f++]=m.name}}else S(c)?h=c.name:a("Encoding is not a Name nor a Dict");"MacRomanEncoding"!==h&&"MacExpertEncoding"!==h&&"WinAnsiEncoding"!==h&&(h=null)}h?i.defaultEncoding=Ia[h].slice():(c="TrueType"===i.type?Ia.WinAnsiEncoding:Ia.StandardEncoding,i.flags&Ba.Symbolic&&(c=!i.file&&/Symbol/i.test(i.name)?Ia.SymbolSetEncoding:Ia.MacRomanEncoding),i.defaultEncoding=c),i.differences=l,i.baseEncodingName=h,i.dict=e},readToUnicode:function(e){var t=e;if(S(t))return ya.create(t).map;if(O(t)){var a=ya.create(t).map;return a.forEach(function(e,t){for(var r=[],i=0;i<e.length;i+=2){var n=e.charCodeAt(i)<<8|e.charCodeAt(i+1);if(55296===(63488&n)){i+=2;var o=e.charCodeAt(i)<<8|e.charCodeAt(i+1);r.push(((1023&n)<<10)+(1023&o)+65536)}else r.push(n)}a[t]=String.fromCharCode.apply(String,r)}),a}return null},readCidToGidMap:function(e){for(var t=e.getBytes(),a=[],r=0,i=t.length;i>r;r++){var n=t[r++]<<8|t[r];if(0!==n){var o=r>>1;a[o]=n}}return a},extractWidths:function(e,t,a,r){var i,n,o,s,c,l,h,u,f=[],d=0,g=[];if(r.composite){if(d=e.get("DW")||1e3,u=e.get("W"))for(n=0,o=u.length;o>n;n++)if(l=u[n++],h=t.fetchIfRef(u[n]),I(h))for(s=0,c=h.length;c>s;s++)f[l++]=h[s];else{var m=u[++n];for(s=l;h>=s;s++)f[s]=m}if(r.vertical){var p=e.get("DW2")||[880,-1e3];if(i=[p[1],.5*d,p[0]],p=e.get("W2"))for(n=0,o=p.length;o>n;n++)if(l=p[n++],h=t.fetchIfRef(p[n]),I(h))for(s=0,c=h.length;c>s;s++)g[l++]=[h[s++],h[s++],h[s]];else{var b=[p[++n],p[++n],p[++n]];for(s=l;h>=s;s++)g[s]=b}}}else{var v=r.firstChar;if(u=e.get("Widths")){for(s=v,n=0,o=u.length;o>n;n++)f[s++]=u[n];d=parseFloat(a.get("MissingWidth"))||0}else{var y=e.get("BaseFont");if(S(y)){var k=this.getBaseFontMetrics(y.name);f=this.buildCharCodeToWidth(k.widths,r),d=k.defaultWidth}}}var w=!0,x=d;for(var C in f){var A=f[C];if(A)if(x){if(x!=A){w=!1;break}}else x=A}w&&(r.flags|=Ba.FixedPitch),r.defaultWidth=d,r.widths=f,r.defaultVMetrics=i,r.vmetrics=g},isSerifFont:function(e){var t=e.split("-")[0];return t in Ra||-1!==t.search(/serif/gi)},getBaseFontMetrics:function(e){var t=0,a=[],r=!1,i=Oa[e]||e;i in sr||(i=this.isSerifFont(e)?"Times-Roman":"Helvetica");var n=sr[i];return x(n)?(t=n,r=!0):a=n,{defaultWidth:t,monospace:r,widths:a}},buildCharCodeToWidth:function(e,t){for(var a=Object.create(null),r=t.differences,i=t.defaultEncoding,n=0;256>n;n++)n in r&&e[r[n]]?a[n]=e[r[n]]:n in i&&e[i[n]]&&(a[n]=e[i[n]]);return a},preEvaluateFont:function(e,t){var r=e,n=e.get("Subtype");i(S(n),"invalid font Subtype");var o,s=!1;if("Type0"==n.name){var c=e.get("DescendantFonts");c||a("Descendant fonts are not specified"),e=I(c)?t.fetchIfRef(c[0]):c,n=e.get("Subtype"),i(S(n),"invalid font Subtype"),s=!0}var l=e.get("FontDescriptor");if(l){var h=new jr,u=r.getRaw("Encoding");S(u)?h.update(u.name):R(u)&&h.update(u.num+"_"+u.gen);var f=e.get("ToUnicode")||r.get("ToUnicode");if(O(f)){var d=f.str||f;o=d.buffer?new Uint8Array(d.buffer.buffer,0,d.bufferLength):new Uint8Array(d.bytes.buffer,d.start,d.end-d.start),h.update(o)}else S(f)&&h.update(f.name);var g=e.get("Widths")||r.get("Widths");g&&(o=new Uint8Array(new Uint32Array(g).buffer),h.update(o))}return{descriptor:l,dict:e,baseDict:r,composite:s,hash:h?h.hexdigest():""}},translateFont:function(t,r){var n,o=t.baseDict,s=t.dict,c=t.composite,l=t.descriptor,h=s.get("Subtype"),u=c?65535:255;if(!l){if("Type3"!=h.name){var f=s.get("BaseFont");S(f)||a("Base font is not specified"),f=f.name.replace(/[,_]/g,"-");var d=this.getBaseFontMetrics(f),g=f.split("-")[0],m=(this.isSerifFont(g)?Ba.Serif:0)|(d.monospace?Ba.FixedPitch:0)|(Ta[g]?Ba.Symbolic:Ba.Nonsymbolic);return n={type:h.name,name:f,widths:d.widths,defaultWidth:d.defaultWidth,flags:m,firstChar:0,lastChar:u},this.extractDataStructures(s,s,r,n),n.widths=this.buildCharCodeToWidth(d.widths,n),new Fa(f,null,n)}l=new Ot(null),l.set("FontName",Bt.get(h.name))}var p=s.get("FirstChar")||0,b=s.get("LastChar")||u,v=l.get("FontName"),y=s.get("BaseFont");if(C(v)&&(v=Bt.get(v)),C(y)&&(y=Bt.get(y)),"Type3"!==h.name){var k=v&&v.name,w=y&&y.name;k!==w&&(e("The FontDescriptor's FontName is \""+k+'" but should be the same as the Font\'s BaseFont "'+w+'"'),k&&w&&0===w.search(k)&&(v=y))}v=v||y,i(S(v),"invalid font name");var x=l.get("FontFile","FontFile2","FontFile3");if(x&&x.dict){var A=x.dict.get("Subtype");A&&(A=A.name);var B=x.dict.get("Length1"),I=x.dict.get("Length2")}if(n={type:h.name,name:v.name,subtype:A,file:x,length1:B,length2:I,loadedName:o.loadedName,composite:c,wideChars:c,fixedPitch:!1,fontMatrix:s.get("FontMatrix")||X,firstChar:p||0,lastChar:b||u,bbox:l.get("FontBBox"),ascent:l.get("Ascent"),descent:l.get("Descent"),xHeight:l.get("XHeight"),capHeight:l.get("CapHeight"),flags:l.get("Flags"),italicAngle:l.get("ItalicAngle"),coded:!1},c){var O=o.get("Encoding");S(O)&&(n.cidEncoding=O.name),n.cMap=ya.create(O,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),n.vertical=n.cMap.vertical}return this.extractDataStructures(s,o,r,n),this.extractWidths(s,r,l,n),"Type3"===h.name&&(n.isType3Font=!0),new Fa(v.name,x,n)}},r}(),ca=function(){function e(e,t,a){this.loadedName=e,this.font=t,this.dict=a,this.type3Loaded=null,this.sent=!1}return e.prototype={send:function(e){if(!this.sent){var t=this.font.exportData();e.send("commonobj",[this.loadedName,"Font",t]),this.sent=!0}},loadType3Data:function(e,t,a){if(i(this.font.isType3Font),this.type3Loaded)return this.type3Loaded;for(var r=this.font,n=Promise.resolve(),o=this.dict.get("CharProcs").getAll(),s=this.dict.get("Resources")||t,c=Object.keys(o),l={},h=0,u=c.length;u>h;++h)n=n.then(function(t){var r=o[t],i=new la;return e.getOperatorList(r,s,i).then(function(){l[t]=i.getIR(),a.addDependencies(i.dependencies)})}.bind(this,c[h]));return this.type3Loaded=n.then(function(){r.charProcOperatorList=l}),this.type3Loaded}},e}(),la=function(){function e(e){for(var t=[],a=e.fnArray,r=e.argsArray,i=0,n=e.length;n>i;i++)switch(a[i]){case J.paintInlineImageXObject:case J.paintInlineImageXObjectGroup:case J.paintImageMaskXObject:var o=r[i][0];o.cached||t.push(o.data.buffer)}return t}function t(e,t,a){this.messageHandler=t,this.fnArray=[],this.argsArray=[],this.dependencies={},this.pageIndex=a,this.intent=e}var a=1e3,r=a-5;return t.prototype={get length(){return this.argsArray.length},addOp:function(e,t){this.fnArray.push(e),this.argsArray.push(t),this.messageHandler&&(this.fnArray.length>=a?this.flush():this.fnArray.length>=r&&(e===J.restore||e===J.endText)&&this.flush())
-},addDependency:function(e){e in this.dependencies||(this.dependencies[e]=!0,this.addOp(J.dependency,[e]))},addDependencies:function(e){for(var t in e)this.addDependency(t)},addOpList:function(e){ot.extendObj(this.dependencies,e.dependencies);for(var t=0,a=e.length;a>t;t++)this.addOp(e.fnArray[t],e.argsArray[t])},getIR:function(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}},flush:function(t){(new ga).optimize(this);var a=e(this);this.messageHandler.send("RenderPageChunk",{operatorList:{fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:t,length:this.length},pageIndex:this.pageIndex,intent:this.intent},a),this.dependencies={},this.fnArray.length=0,this.argsArray.length=0}},t}(),ha=function(){function e(e){this.state=e,this.stateStack=[]}return e.prototype={save:function(){var e=this.state;this.stateStack.push(this.state),this.state=e.clone()},restore:function(){var e=this.stateStack.pop();e&&(this.state=e)},transform:function(e){this.state.ctm=ot.transform(this.state.ctm,e)}},e}(),ua=function(){function e(){this.ctm=new Float32Array(nt),this.fontSize=0,this.font=null,this.fontMatrix=X,this.textMatrix=nt.slice(),this.textLineMatrix=nt.slice(),this.charSpacing=0,this.wordSpacing=0,this.leading=0,this.textHScale=1,this.textRise=0}return e.prototype={setTextMatrix:function(e,t,a,r,i,n){var o=this.textMatrix;o[0]=e,o[1]=t,o[2]=a,o[3]=r,o[4]=i,o[5]=n},setTextLineMatrix:function(e,t,a,r,i,n){var o=this.textLineMatrix;o[0]=e,o[1]=t,o[2]=a,o[3]=r,o[4]=i,o[5]=n},translateTextMatrix:function(e,t){var a=this.textMatrix;a[4]=a[0]*e+a[2]*t+a[4],a[5]=a[1]*e+a[3]*t+a[5]},translateTextLineMatrix:function(e,t){var a=this.textLineMatrix;a[4]=a[0]*e+a[2]*t+a[4],a[5]=a[1]*e+a[3]*t+a[5]},calcRenderMatrix:function(e){var t=[this.fontSize*this.textHScale,0,0,this.fontSize,0,this.textRise];return ot.transform(e,ot.transform(this.textMatrix,t))},carriageReturn:function(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()},clone:function(){var e=Object.create(this);return e.textMatrix=this.textMatrix.slice(),e.textLineMatrix=this.textLineMatrix.slice(),e.fontMatrix=this.fontMatrix.slice(),e}},e}(),fa=function(){function e(){this.ctm=new Float32Array(nt),this.font=null,this.textRenderingMode=_.FILL,this.fillColorSpace=Gt.singletons.gray,this.strokeColorSpace=Gt.singletons.gray}return e.prototype={clone:function(){return Object.create(this)}},e}(),da=function(){function a(e,t,a){this.parser=new lr(new hr(e,r),!1,t),this.stateManager=a,this.nonProcessedArgs=[]}var r={w:{id:J.setLineWidth,numArgs:1,variableArgs:!1},J:{id:J.setLineCap,numArgs:1,variableArgs:!1},j:{id:J.setLineJoin,numArgs:1,variableArgs:!1},M:{id:J.setMiterLimit,numArgs:1,variableArgs:!1},d:{id:J.setDash,numArgs:2,variableArgs:!1},ri:{id:J.setRenderingIntent,numArgs:1,variableArgs:!1},i:{id:J.setFlatness,numArgs:1,variableArgs:!1},gs:{id:J.setGState,numArgs:1,variableArgs:!1},q:{id:J.save,numArgs:0,variableArgs:!1},Q:{id:J.restore,numArgs:0,variableArgs:!1},cm:{id:J.transform,numArgs:6,variableArgs:!1},m:{id:J.moveTo,numArgs:2,variableArgs:!1},l:{id:J.lineTo,numArgs:2,variableArgs:!1},c:{id:J.curveTo,numArgs:6,variableArgs:!1},v:{id:J.curveTo2,numArgs:4,variableArgs:!1},y:{id:J.curveTo3,numArgs:4,variableArgs:!1},h:{id:J.closePath,numArgs:0,variableArgs:!1},re:{id:J.rectangle,numArgs:4,variableArgs:!1},S:{id:J.stroke,numArgs:0,variableArgs:!1},s:{id:J.closeStroke,numArgs:0,variableArgs:!1},f:{id:J.fill,numArgs:0,variableArgs:!1},F:{id:J.fill,numArgs:0,variableArgs:!1},"f*":{id:J.eoFill,numArgs:0,variableArgs:!1},B:{id:J.fillStroke,numArgs:0,variableArgs:!1},"B*":{id:J.eoFillStroke,numArgs:0,variableArgs:!1},b:{id:J.closeFillStroke,numArgs:0,variableArgs:!1},"b*":{id:J.closeEOFillStroke,numArgs:0,variableArgs:!1},n:{id:J.endPath,numArgs:0,variableArgs:!1},W:{id:J.clip,numArgs:0,variableArgs:!1},"W*":{id:J.eoClip,numArgs:0,variableArgs:!1},BT:{id:J.beginText,numArgs:0,variableArgs:!1},ET:{id:J.endText,numArgs:0,variableArgs:!1},Tc:{id:J.setCharSpacing,numArgs:1,variableArgs:!1},Tw:{id:J.setWordSpacing,numArgs:1,variableArgs:!1},Tz:{id:J.setHScale,numArgs:1,variableArgs:!1},TL:{id:J.setLeading,numArgs:1,variableArgs:!1},Tf:{id:J.setFont,numArgs:2,variableArgs:!1},Tr:{id:J.setTextRenderingMode,numArgs:1,variableArgs:!1},Ts:{id:J.setTextRise,numArgs:1,variableArgs:!1},Td:{id:J.moveText,numArgs:2,variableArgs:!1},TD:{id:J.setLeadingMoveText,numArgs:2,variableArgs:!1},Tm:{id:J.setTextMatrix,numArgs:6,variableArgs:!1},"T*":{id:J.nextLine,numArgs:0,variableArgs:!1},Tj:{id:J.showText,numArgs:1,variableArgs:!1},TJ:{id:J.showSpacedText,numArgs:1,variableArgs:!1},"'":{id:J.nextLineShowText,numArgs:1,variableArgs:!1},'"':{id:J.nextLineSetSpacingShowText,numArgs:3,variableArgs:!1},d0:{id:J.setCharWidth,numArgs:2,variableArgs:!1},d1:{id:J.setCharWidthAndBounds,numArgs:6,variableArgs:!1},CS:{id:J.setStrokeColorSpace,numArgs:1,variableArgs:!1},cs:{id:J.setFillColorSpace,numArgs:1,variableArgs:!1},SC:{id:J.setStrokeColor,numArgs:4,variableArgs:!0},SCN:{id:J.setStrokeColorN,numArgs:33,variableArgs:!0},sc:{id:J.setFillColor,numArgs:4,variableArgs:!0},scn:{id:J.setFillColorN,numArgs:33,variableArgs:!0},G:{id:J.setStrokeGray,numArgs:1,variableArgs:!1},g:{id:J.setFillGray,numArgs:1,variableArgs:!1},RG:{id:J.setStrokeRGBColor,numArgs:3,variableArgs:!1},rg:{id:J.setFillRGBColor,numArgs:3,variableArgs:!1},K:{id:J.setStrokeCMYKColor,numArgs:4,variableArgs:!1},k:{id:J.setFillCMYKColor,numArgs:4,variableArgs:!1},sh:{id:J.shadingFill,numArgs:1,variableArgs:!1},BI:{id:J.beginInlineImage,numArgs:0,variableArgs:!1},ID:{id:J.beginImageData,numArgs:0,variableArgs:!1},EI:{id:J.endInlineImage,numArgs:1,variableArgs:!1},Do:{id:J.paintXObject,numArgs:1,variableArgs:!1},MP:{id:J.markPoint,numArgs:1,variableArgs:!1},DP:{id:J.markPointProps,numArgs:2,variableArgs:!1},BMC:{id:J.beginMarkedContent,numArgs:1,variableArgs:!1},BDC:{id:J.beginMarkedContentProps,numArgs:2,variableArgs:!1},EMC:{id:J.endMarkedContent,numArgs:0,variableArgs:!1},BX:{id:J.beginCompat,numArgs:0,variableArgs:!1},EX:{id:J.endCompat,numArgs:0,variableArgs:!1},BM:null,BD:null,"true":null,fa:null,fal:null,fals:null,"false":null,nu:null,nul:null,"null":null};return a.prototype={get savedStatesDepth(){return this.stateManager.stateStack.length},read:function(){for(var a=[];;){var n=this.parser.getObj();if(z(n))return null;if(A(n)){var o=n.cmd,s=r[o];if(s){var c=s.id;if(!s.variableArgs&&a.length!==s.numArgs){for(;a.length>s.numArgs;)this.nonProcessedArgs.push(a.shift());for(;a.length<s.numArgs&&this.nonProcessedArgs.length;)a.unshift(this.nonProcessedArgs.pop())}if(s.variableArgs)a.length>s.numArgs&&e("Command "+c+": expected [0,"+s.numArgs+"] args, but received "+a.length+" args");else{if(a.length<s.numArgs){e("Command "+c+": because expected "+s.numArgs+" args, but received "+a.length+" args; skipping"),a=[];continue}a.length>s.numArgs&&e("Command "+c+": expected "+s.numArgs+" args, but received "+a.length+" args")}return this.preprocessCommand(c,a),{fn:c,args:a}}t('Unknown command "'+o+'"')}else null!==n&&void 0!==n&&(a.push(n instanceof Ot?n.getAll():n),i(a.length<=33,"Too many arguments"))}},preprocessCommand:function(e,t){switch(0|e){case J.save:this.stateManager.save();break;case J.restore:this.stateManager.restore();break;case J.transform:this.stateManager.transform(t)}}},a}(),ga=function(){function e(e,t,a){for(var r=e,i=0,n=t.length-1;n>i;i++){var o=t[i];r=r[o]||(r[o]=[])}r[t[t.length-1]]=a}function t(e,t,a,r){for(var i=0;t>i;i++){var n=r[e+4*i+2],o=1==n.length&&n[0];if(!o||1!=o.width||1!=o.height||o.data.length&&(1!=o.data.length||0!==o.data[0]))break;a[e+4*i+2]=J.paintSolidColorImageMask}return t-i}function a(){}var r=[];return e(r,[J.save,J.transform,J.paintInlineImageXObject,J.restore],function(e){for(var t=10,a=200,r=1e3,i=1,n=e.fnArray,o=e.argsArray,s=e.currentOperation-3,c=s+4,l=n.length;l>c&&n[c-4]===n[c];c++);var h=Math.min(c-s>>2,a);if(t>h)return void(e.currentOperation=c-1);var u,f=0,d=[],g=0,m=i,p=i;for(u=0;h>u;u++){var b=o[s+(u<<2)+1],v=o[s+(u<<2)+2][0];m+v.width>r&&(f=Math.max(f,m),p+=g+2*i,m=0,g=0),d.push({transform:b,x:m,y:p,w:v.width,h:v.height}),m+=v.width+2*i,g=Math.max(g,v.height)}var y=Math.max(f,m)+i,k=p+g+i,w=new Uint8Array(y*k*4),x=y<<2;for(u=0;h>u;u++){var C=o[s+(u<<2)+2][0].data,S=d[u].w<<2,A=0,B=d[u].x+d[u].y*y<<2;w.set(C.subarray(0,S),B-x);for(var I=0,O=d[u].h;O>I;I++)w.set(C.subarray(A,A+S),B),A+=S,B+=x;for(w.set(C.subarray(A-S,A),B);B>=0;)C[B-4]=C[B],C[B-3]=C[B+1],C[B-2]=C[B+2],C[B-1]=C[B+3],C[B+S]=C[B+S-4],C[B+S+1]=C[B+S-3],C[B+S+2]=C[B+S-2],C[B+S+3]=C[B+S-1],B-=x}n.splice(s,4*h,J.paintInlineImageXObjectGroup),o.splice(s,4*h,[{width:y,height:k,kind:V.RGBA_32BPP,data:w},d]),e.currentOperation=s}),e(r,[J.save,J.transform,J.paintImageMaskXObject,J.restore],function(e){for(var a,r=10,i=100,n=1e3,o=e.fnArray,s=e.argsArray,c=e.currentOperation-3,l=c+4,h=o.length;h>l&&o[l-4]===o[l];l++);var u=l-c>>2;if(u=t(c,u,o,s),r>u)return void(e.currentOperation=l-1);var f,d=!1;if(0===s[c+1][1]&&0===s[c+1][2])for(l=c+4,d=!0,a=1;u>a;a++,l+=4){var g=s[l-3];if(f=s[l+1],s[l-2][0]!==s[l+2][0]||g[0]!==f[0]||g[1]!==f[1]||g[2]!==f[2]||g[3]!==f[3]){r>a?d=!1:u=a;break}}if(d){u=Math.min(u,n);var m=new Float32Array(2*u);for(l=c+1,a=0;u>a;a++)f=s[l],m[a<<1]=f[4],m[(a<<1)+1]=f[5],l+=4;o.splice(c,4*u,J.paintImageMaskXObjectRepeat),s.splice(c,4*u,[s[c+2][0],s[c+1][0],s[c+1][3],m]),e.currentOperation=c}else{u=Math.min(u,i);var p=[];for(a=0;u>a;a++){f=s[c+(a<<2)+1];var b=s[c+(a<<2)+2][0];p.push({data:b.data,width:b.width,height:b.height,transform:f})}o.splice(c,4*u,J.paintImageMaskXObjectGroup),s.splice(c,4*u,[p]),e.currentOperation=c}}),e(r,[J.save,J.transform,J.paintImageXObject,J.restore],function(e){var t=3,a=1e3,r=e.fnArray,i=e.argsArray,n=e.currentOperation-3,o=n+4;if(0===i[n+1][1]&&0===i[n+1][2]){for(var s,c=r.length;c>o+3&&r[o-4]===r[o]&&(r[o-3]===r[o+1]&&r[o-2]===r[o+2]&&r[o-1]===r[o+3])&&i[o-2][0]===i[o+2][0];o+=4){var l=i[o-3];if(s=i[o+1],l[0]!==s[0]||l[1]!==s[1]||l[2]!==s[2]||l[3]!==s[3])break}var h=Math.min(o-n>>2,a);if(t>h)return void(e.currentOperation=o-1);var u=new Float32Array(2*h);o=n+1;for(var f=0;h>f;f++)s=i[o],u[f<<1]=s[4],u[(f<<1)+1]=s[5],o+=4;var d=[i[n+2][0],i[n+1][0],i[n+1][3],u];r.splice(n,4*h,J.paintImageXObjectRepeat),i.splice(n,4*h,d),e.currentOperation=n}}),e(r,[J.beginText,J.setFont,J.setTextMatrix,J.showText,J.endText],function(e){for(var t=3,a=1e3,r=e.fnArray,i=e.argsArray,n=e.currentOperation-4,o=n+5,s=r.length;s>o&&r[o-5]===r[o]&&(r[o]!==J.setFont||i[o-5][0]===i[o][0]&&i[o-5][1]===i[o][1]);o++);var c=Math.min((o-n)/5|0,a);if(t>c)return void(e.currentOperation=o-1);n>=4&&r[n-4]===r[n+1]&&r[n-3]===r[n+2]&&r[n-2]===r[n+3]&&r[n-1]===r[n+4]&&i[n-4][0]===i[n+1][0]&&i[n-4][1]===i[n+1][1]&&(c++,n-=5);var l=n+7;o=n+4;for(var h=1;c>h;h++)r[o]=r[l],i[o]=i[l],r[o+1]=r[l+1],i[o+1]=i[l+1],o+=2,l+=5;var u=3*(c-1);r.splice(o,u),i.splice(o,u),e.currentOperation=o}),a.prototype={optimize:function(e){var t,a,i=e.fnArray,n=e.argsArray,o={currentOperation:0,fnArray:i,argsArray:n},s=n.length;for(t=0;s>t;t++)a=(a||r)[i[t]],"function"==typeof a&&(o.currentOperation=t,a=a(o),t=o.currentOperation,s=o.fnArray.length)}},a}(),ma=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],pa=function(){function e(e){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this.map=[],this.vertical=!1,this.useCMap=null,this.builtInCMap=e}return e.prototype={addCodespaceRange:function(e,t,a){this.codespaceRanges[e-1].push(t,a),this.numCodespaceRanges++},mapRange:function(e,t,a){for(var r=a.length-1;t>=e;)this.map[e]=a,a=a.substr(0,r)+String.fromCharCode(a.charCodeAt(r)+1),++e},mapRangeToArray:function(e,t,a){for(var r=0,i=a.length;t>=e&&i>r;)this.map[e]=a[r++],++e},mapOne:function(e,t){this.map[e]=t},lookup:function(e){return this.map[e]},readCharCode:function(e,t){for(var a=0,r=this.codespaceRanges,i=this.codespaceRanges.length,n=0;i>n;n++){a=(a<<8|e.charCodeAt(t+n))>>>0;for(var o=r[n],s=0,c=o.length;c>s;){var l=o[s++],h=o[s++];if(a>=l&&h>=a)return[a,n+1]}}return[0,1]}},e}(),ba=function(){function e(e,t){pa.call(this),this.vertical=e,this.addCodespaceRange(t,0,65535),this.mapRange(0,65535,"\x00")}return ot.inherit(e,pa,{}),e}(),va=function(){function e(e){var t=PDFJS.disableWorker,r=new XMLHttpRequest;if(r.open("GET",e,!1),!t)try{r.responseType="arraybuffer",t="arraybuffer"!==r.responseType}catch(i){t=!0}if(t&&r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.send(null),0===r.status&&/^https?:/i.test(e)&&a("Unable to get binary cMap at: "+e),t){var n=Array.prototype.map.call(r.responseText,function(e){return 255&e.charCodeAt(0)});return new Uint8Array(n)}return new Uint8Array(r.response)}function t(e,t){for(var a=0,r=0;t>=r;r++)a=a<<8|e[r];return a>>>0}function r(e,t){return String.fromCharCode.apply(null,e.subarray(0,t+1))}function n(e,t,a){for(var r=0,i=a;i>=0;i--)r+=e[i]+t[i],e[i]=255&r,r>>=8}function o(e,t){for(var a=1,r=t;r>=0&&a>0;r--)a+=e[r],e[r]=255&a,a>>=8}function s(e){this.buffer=e,this.pos=0,this.end=e.length,this.tmpBuf=new Uint8Array(u)}function c(c,l,u){var f=e(c),d=new s(f),g=d.readByte();l.vertical=!!(1&g);for(var m,p,b=null,v=new Uint8Array(h),y=new Uint8Array(h),k=new Uint8Array(h),w=new Uint8Array(h),x=new Uint8Array(h);(p=d.readByte())>=0;){var C=p>>5;if(7!==C){var S=!!(16&p),A=15&p;i(h>=A+1);var B,I=1,O=d.readNumber();switch(C){case 0:for(d.readHex(v,A),d.readHexNumber(y,A),n(y,v,A),l.addCodespaceRange(A+1,t(v,A),t(y,A)),B=1;O>B;B++)o(y,A),d.readHexNumber(v,A),n(v,y,A),d.readHexNumber(y,A),n(y,v,A),l.addCodespaceRange(A+1,t(v,A),t(y,A));break;case 1:for(d.readHex(v,A),d.readHexNumber(y,A),n(y,v,A),m=d.readNumber(),B=1;O>B;B++)o(y,A),d.readHexNumber(v,A),n(v,y,A),d.readHexNumber(y,A),n(y,v,A),m=d.readNumber();break;case 2:for(d.readHex(k,A),m=d.readNumber(),l.mapOne(t(k,A),String.fromCharCode(m)),B=1;O>B;B++)o(k,A),S||(d.readHexNumber(x,A),n(k,x,A)),m=d.readSigned()+(m+1),l.mapOne(t(k,A),String.fromCharCode(m));break;case 3:for(d.readHex(v,A),d.readHexNumber(y,A),n(y,v,A),m=d.readNumber(),l.mapRange(t(v,A),t(y,A),String.fromCharCode(m)),B=1;O>B;B++)o(y,A),S?v.set(y):(d.readHexNumber(v,A),n(v,y,A)),d.readHexNumber(y,A),n(y,v,A),m=d.readNumber(),l.mapRange(t(v,A),t(y,A),String.fromCharCode(m));break;case 4:for(d.readHex(k,I),d.readHex(w,A),l.mapOne(t(k,I),r(w,A)),B=1;O>B;B++)o(k,I),S||(d.readHexNumber(x,I),n(k,x,I)),o(w,A),d.readHexSigned(x,A),n(w,x,A),l.mapOne(t(k,I),r(w,A));break;case 5:for(d.readHex(v,I),d.readHexNumber(y,I),n(y,v,I),d.readHex(w,A),l.mapRange(t(v,I),t(y,I),r(w,A)),B=1;O>B;B++)o(y,I),S?v.set(y):(d.readHexNumber(v,I),n(v,y,I)),d.readHexNumber(y,I),n(y,v,I),d.readHex(w,A),l.mapRange(t(v,I),t(y,I),r(w,A));break;default:a("Unknown type: "+C)}}else switch(31&p){case 0:d.readString();break;case 1:b=d.readString()}}return b&&u(b),l}function l(){}var h=16,u=19;return s.prototype={readByte:function(){return this.pos>=this.end?-1:this.buffer[this.pos++]},readNumber:function(){var e,t=0;do{var r=this.readByte();0>r&&a("unexpected EOF in bcmap"),e=!(128&r),t=t<<7|127&r}while(!e);return t},readSigned:function(){var e=this.readNumber();return 1&e?~(e>>>1):e>>>1},readHex:function(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1)),this.pos+=t+1},readHexNumber:function(e,t){var r,i=this.tmpBuf,n=0;do{var o=this.readByte();0>o&&a("unexpected EOF in bcmap"),r=!(128&o),i[n++]=127&o}while(!r);for(var s=t,c=0,l=0;s>=0;){for(;8>l&&i.length>0;)c=i[--n]<<l|c,l+=7;e[s]=255&c,s--,c>>=8,l-=8}},readHexSigned:function(e,t){this.readHexNumber(e,t);for(var a=1&e[t]?255:0,r=0,i=0;t>=i;i++)r=(1&r)<<8|e[i],e[i]=r>>1^a},readString:function(){for(var e=this.readNumber(),t="",a=0;e>a;a++)t+=String.fromCharCode(this.readNumber());return t}},l.prototype={read:c},l}(),ya=function(){function e(e){for(var t=0,a=0;a<e.length;a++)t=t<<8|e.charCodeAt(a);return t>>>0}function r(e){C(e)||a("Malformed CMap: expected string.")}function n(e){w(e)||a("Malformed CMap: expected int.")}function o(t,a){for(;;){var i=a.getObj();if(z(i))break;if(A(i,"endbfchar"))return;r(i);var n=e(i);i=a.getObj(),r(i);var o=i;t.mapOne(n,o)}}function s(t,i){for(;;){var n=i.getObj();if(z(n))break;if(A(n,"endbfrange"))return;r(n);var o=e(n);n=i.getObj(),r(n);var s=e(n);if(n=i.getObj(),w(n)||C(n)){var c=w(n)?String.fromCharCode(n):n;t.mapRange(o,s,c)}else{if(!A(n,"["))break;n=i.getObj();for(var l=[];!A(n,"]")&&!z(n);)l.push(n),n=i.getObj();t.mapRangeToArray(o,s,l)}}a("Invalid bf range.")}function c(t,a){for(;;){var i=a.getObj();if(z(i))break;if(A(i,"endcidchar"))return;r(i);var o=e(i);i=a.getObj(),n(i);var s=String.fromCharCode(i);t.mapOne(o,s)}}function l(t,a){for(;;){var i=a.getObj();if(z(i))break;if(A(i,"endcidrange"))return;r(i);var o=e(i);i=a.getObj(),r(i);var s=e(i);i=a.getObj(),n(i);var c=String.fromCharCode(i);t.mapRange(o,s,c)}}function h(t,r){for(;;){var i=r.getObj();if(z(i))break;if(A(i,"endcodespacerange"))return;if(!C(i))break;var n=e(i);if(i=r.getObj(),!C(i))break;var o=e(i);t.addCodespaceRange(i.length,n,o)}a("Invalid codespace range.")}function u(e,t){var a=t.getObj();w(a)&&(e.vertical=!!a)}function f(e,t,a,r){var i,n;e:for(;;){var f=t.getObj();if(z(f))break;if(S(f))"WMode"===f.name&&u(e,t),i=f;else if(A(f))switch(f.cmd){case"endcmap":break e;case"usecmap":S(i)&&(n=i.name);break;case"begincodespacerange":h(e,t);break;case"beginbfchar":o(e,t);break;case"begincidchar":c(e,t);break;case"beginbfrange":s(e,t);break;case"begincidrange":l(e,t)}}!r&&n&&(r=n),r&&d(e,a,r)}function d(e,t,a){if(e.useCMap=m(a,t),0===e.numCodespaceRanges){for(var r=e.useCMap.codespaceRanges,i=0;i<r.length;i++)e.codespaceRanges[i]=r[i].slice();e.numCodespaceRanges=e.useCMap.numCodespaceRanges}for(var n in e.useCMap.map)n in e.map||(e.map[n]=e.useCMap.map[n])}function g(e,t){var a=t.url+e+".bcmap",r=new pa(!0);return(new va).read(a,r,function(e){d(r,t,e)}),r}function m(e,t){if("Identity-H"===e)return new ba(!1,2);if("Identity-V"===e)return new ba(!0,2);if(-1===ma.indexOf(e)&&a("Unknown cMap name: "+e),i(t,"buildin cmap parameters are not provided"),t.packed)return g(e,t);var r=new XMLHttpRequest,n=t.url+e;r.open("GET",n,!1),r.send(null),0===r.status&&/^https?:/i.test(n)&&a("Unable to get cMap at: "+n);var o=new pa(!0),s=new hr(new br(r.responseText));return f(o,s,t,null),o}return{create:function(e,r,i){if(S(e))return m(e.name,r);if(O(e)){var n=new pa,o=new hr(e);try{f(n,o,r,i)}catch(s){t("Invalid CMap data. "+s)}return n}a("Encoding required.")}}}(),ka=57344,wa=63743,xa=!1,Ca=1e3,Sa=!1,Aa=!1,Ba={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144},Ia={ExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],MacExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall"],MacRomanEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],StandardEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],WinAnsiEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],SymbolSetEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt"],zapfDingbatsEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191"]},Oa={ArialNarrow:"Helvetica","ArialNarrow-Bold":"Helvetica-Bold","ArialNarrow-BoldItalic":"Helvetica-BoldOblique","ArialNarrow-Italic":"Helvetica-Oblique",ArialBlack:"Helvetica","ArialBlack-Bold":"Helvetica-Bold","ArialBlack-BoldItalic":"Helvetica-BoldOblique","ArialBlack-Italic":"Helvetica-Oblique",Arial:"Helvetica","Arial-Bold":"Helvetica-Bold","Arial-BoldItalic":"Helvetica-BoldOblique","Arial-Italic":"Helvetica-Oblique","Arial-BoldItalicMT":"Helvetica-BoldOblique","Arial-BoldMT":"Helvetica-Bold","Arial-ItalicMT":"Helvetica-Oblique",ArialMT:"Helvetica","Courier-Bold":"Courier-Bold","Courier-BoldItalic":"Courier-BoldOblique","Courier-Italic":"Courier-Oblique",CourierNew:"Courier","CourierNew-Bold":"Courier-Bold","CourierNew-BoldItalic":"Courier-BoldOblique","CourierNew-Italic":"Courier-Oblique","CourierNewPS-BoldItalicMT":"Courier-BoldOblique","CourierNewPS-BoldMT":"Courier-Bold","CourierNewPS-ItalicMT":"Courier-Oblique",CourierNewPSMT:"Courier","Helvetica-Bold":"Helvetica-Bold","Helvetica-BoldItalic":"Helvetica-BoldOblique","Helvetica-Italic":"Helvetica-Oblique","Symbol-Bold":"Symbol","Symbol-BoldItalic":"Symbol","Symbol-Italic":"Symbol",TimesNewRoman:"Times-Roman","TimesNewRoman-Bold":"Times-Bold","TimesNewRoman-BoldItalic":"Times-BoldItalic","TimesNewRoman-Italic":"Times-Italic",TimesNewRomanPS:"Times-Roman","TimesNewRomanPS-Bold":"Times-Bold","TimesNewRomanPS-BoldItalic":"Times-BoldItalic","TimesNewRomanPS-BoldItalicMT":"Times-BoldItalic","TimesNewRomanPS-BoldMT":"Times-Bold","TimesNewRomanPS-Italic":"Times-Italic","TimesNewRomanPS-ItalicMT":"Times-Italic",TimesNewRomanPSMT:"Times-Roman","TimesNewRomanPSMT-Bold":"Times-Bold","TimesNewRomanPSMT-BoldItalic":"Times-BoldItalic","TimesNewRomanPSMT-Italic":"Times-Italic"},La={ComicSansMS:"Comic Sans MS","ComicSansMS-Bold":"Comic Sans MS-Bold","ComicSansMS-BoldItalic":"Comic Sans MS-BoldItalic","ComicSansMS-Italic":"Comic Sans MS-Italic",LucidaConsole:"Courier","LucidaConsole-Bold":"Courier-Bold","LucidaConsole-BoldItalic":"Courier-BoldOblique","LucidaConsole-Italic":"Courier-Oblique","MS-Gothic":"MS Gothic","MS-Gothic-Bold":"MS Gothic-Bold","MS-Gothic-BoldItalic":"MS Gothic-BoldItalic","MS-Gothic-Italic":"MS Gothic-Italic","MS-Mincho":"MS Mincho","MS-Mincho-Bold":"MS Mincho-Bold","MS-Mincho-BoldItalic":"MS Mincho-BoldItalic","MS-Mincho-Italic":"MS Mincho-Italic","MS-PGothic":"MS PGothic","MS-PGothic-Bold":"MS PGothic-Bold","MS-PGothic-BoldItalic":"MS PGothic-BoldItalic","MS-PGothic-Italic":"MS PGothic-Italic","MS-PMincho":"MS PMincho","MS-PMincho-Bold":"MS PMincho-Bold","MS-PMincho-BoldItalic":"MS PMincho-BoldItalic","MS-PMincho-Italic":"MS PMincho-Italic"},Ra={"Adobe Jenson":!0,"Adobe Text":!0,Albertus:!0,Aldus:!0,Alexandria:!0,Algerian:!0,"American Typewriter":!0,Antiqua:!0,Apex:!0,Arno:!0,Aster:!0,Aurora:!0,Baskerville:!0,Bell:!0,Bembo:!0,"Bembo Schoolbook":!0,Benguiat:!0,"Berkeley Old Style":!0,"Bernhard Modern":!0,"Berthold City":!0,Bodoni:!0,"Bauer Bodoni":!0,"Book Antiqua":!0,Bookman:!0,"Bordeaux Roman":!0,"Californian FB":!0,Calisto:!0,Calvert:!0,Capitals:!0,Cambria:!0,Cartier:!0,Caslon:!0,Catull:!0,Centaur:!0,"Century Old Style":!0,"Century Schoolbook":!0,Chaparral:!0,"Charis SIL":!0,Cheltenham:!0,"Cholla Slab":!0,Clarendon:!0,Clearface:!0,Cochin:!0,Colonna:!0,"Computer Modern":!0,"Concrete Roman":!0,Constantia:!0,"Cooper Black":!0,Corona:!0,Ecotype:!0,Egyptienne:!0,Elephant:!0,Excelsior:!0,Fairfield:!0,"FF Scala":!0,Folkard:!0,Footlight:!0,FreeSerif:!0,"Friz Quadrata":!0,Garamond:!0,Gentium:!0,Georgia:!0,Gloucester:!0,"Goudy Old Style":!0,"Goudy Schoolbook":!0,"Goudy Pro Font":!0,Granjon:!0,"Guardian Egyptian":!0,Heather:!0,Hercules:!0,"High Tower Text":!0,Hiroshige:!0,"Hoefler Text":!0,"Humana Serif":!0,Imprint:!0,"Ionic No. 5":!0,Janson:!0,Joanna:!0,Korinna:!0,Lexicon:!0,"Liberation Serif":!0,"Linux Libertine":!0,Literaturnaya:!0,Lucida:!0,"Lucida Bright":!0,Melior:!0,Memphis:!0,Miller:!0,Minion:!0,Modern:!0,"Mona Lisa":!0,"Mrs Eaves":!0,"MS Serif":!0,"Museo Slab":!0,"New York":!0,"Nimbus Roman":!0,"NPS Rawlinson Roadway":!0,Palatino:!0,Perpetua:!0,Plantin:!0,"Plantin Schoolbook":!0,Playbill:!0,"Poor Richard":!0,"Rawlinson Roadway":!0,Renault:!0,Requiem:!0,Rockwell:!0,Roman:!0,"Rotis Serif":!0,Sabon:!0,Scala:!0,Seagull:!0,Sistina:!0,Souvenir:!0,STIX:!0,"Stone Informal":!0,"Stone Serif":!0,Sylfaen:!0,Times:!0,Trajan:!0,Trinité:!0,"Trump Mediaeval":!0,Utopia:!0,"Vale Type":!0,"Bitstream Vera":!0,"Vera Serif":!0,Versailles:!0,Wanted:!0,Weiss:!0,"Wide Latin":!0,Windsor:!0,XITS:!0},Ta={Dingbats:!0,Symbol:!0,ZapfDingbats:!0},Pa={2:10,3:32,4:33,5:34,6:35,7:36,8:37,9:38,10:39,11:40,12:41,13:42,14:43,15:44,16:45,17:46,18:47,19:48,20:49,21:50,22:51,23:52,24:53,25:54,26:55,27:56,28:57,29:58,30:894,31:60,32:61,33:62,34:63,35:64,36:65,37:66,38:67,39:68,40:69,41:70,42:71,43:72,44:73,45:74,46:75,47:76,48:77,49:78,50:79,51:80,52:81,53:82,54:83,55:84,56:85,57:86,58:87,59:88,60:89,61:90,62:91,63:92,64:93,65:94,66:95,67:96,68:97,69:98,70:99,71:100,72:101,73:102,74:103,75:104,76:105,77:106,78:107,79:108,80:109,81:110,82:111,83:112,84:113,85:114,86:115,87:116,88:117,89:118,90:119,91:120,92:121,93:122,94:123,95:124,96:125,97:126,98:196,99:197,100:199,101:201,102:209,103:214,104:220,105:225,106:224,107:226,108:228,109:227,110:229,111:231,112:233,113:232,114:234,115:235,116:237,117:236,118:238,119:239,120:241,121:243,122:242,123:244,124:246,125:245,126:250,127:249,128:251,129:252,130:8224,131:176,132:162,133:163,134:167,135:8226,136:182,137:223,138:174,139:169,140:8482,141:180,142:168,143:8800,144:198,145:216,146:8734,147:177,148:8804,149:8805,150:165,151:181,152:8706,153:8721,154:8719,156:8747,157:170,158:186,159:8486,160:230,161:248,162:191,163:161,164:172,165:8730,166:402,167:8776,168:8710,169:171,170:187,171:8230,210:218,223:711,227:353,229:382,234:253,253:268,254:269,258:258,268:283,269:313,278:328,284:345,292:367,305:963,306:964,307:966,308:8215,309:8252,310:8319,311:8359,312:8592,313:8593,337:9552,493:1039,494:1040,705:1524,706:8362,710:64288,711:64298,759:1617,761:1776,763:1778,775:1652,777:1764,778:1780,779:1781,780:1782,782:771,783:64726,786:8363,788:8532,790:768,791:769,792:768,795:803,797:64336,798:64337,799:64342,800:64343,801:64344,802:64345,803:64362,804:64363,805:64364,2424:7821,2425:7822,2426:7823,2427:7824,2428:7825,2429:7826,2430:7827,2433:7682,2678:8045,2679:8046,2830:1552,2838:686,2840:751,2842:753,2843:754,2844:755,2846:757,2856:767,2857:848,2858:849,2862:853,2863:854,2864:855,2865:861,2866:862,2906:7460,2908:7462,2909:7463,2910:7464,2912:7466,2913:7467,2914:7468,2916:7470,2917:7471,2918:7472,2920:7474,2921:7475,2922:7476,2924:7478,2925:7479,2926:7480,2928:7482,2929:7483,2930:7484,2932:7486,2933:7487,2934:7488,2936:7490,2937:7491,2938:7492,2940:7494,2941:7495,2942:7496,2944:7498,2946:7500,2948:7502,2950:7504,2951:7505,2952:7506,2954:7508,2955:7509,2956:7510,2958:7512,2959:7513,2960:7514,2962:7516,2963:7517,2964:7518,2966:7520,2967:7521,2968:7522,2970:7524,2971:7525,2972:7526,2974:7528,2975:7529,2976:7530,2978:1537,2979:1538,2980:1539,2982:1549,2983:1551,2984:1552,2986:1554,2987:1555,2988:1556,2990:1623,2991:1624,2995:1775,2999:1791,3002:64290,3003:64291,3004:64292,3006:64294,3007:64295,3008:64296,3011:1900,3014:8223,3015:8244,3017:7532,3018:7533,3019:7534,3075:7590,3076:7591,3079:7594,3080:7595,3083:7598,3084:7599,3087:7602,3088:7603,3091:7606,3092:7607,3095:7610,3096:7611,3099:7614,3100:7615,3103:7618,3104:7619,3107:8337,3108:8338,3116:1884,3119:1885,3120:1885,3123:1886,3124:1886,3127:1887,3128:1887,3131:1888,3132:1888,3135:1889,3136:1889,3139:1890,3140:1890,3143:1891,3144:1891,3147:1892,3148:1892,3153:580,3154:581,3157:584,3158:585,3161:588,3162:589,3165:891,3166:892,3169:1274,3170:1275,3173:1278,3174:1279,3181:7622,3182:7623,3282:11799,3316:578,3379:42785,3393:1159,3416:8377},Ma=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}],qa=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"],Da={"¨":" ̈","¯":" ̄","´":" ́",µ:"μ","¸":" ̧",IJ:"IJ",ij:"ij",Ŀ:"L·",ŀ:"l·",ʼn:"ʼn",ſ:"s",DŽ:"DŽ",Dž:"Dž",dž:"dž",LJ:"LJ",Lj:"Lj",lj:"lj",NJ:"NJ",Nj:"Nj",nj:"nj",DZ:"DZ",Dz:"Dz",dz:"dz","˘":" ̆","˙":" ̇","˚":" ̊","˛":" ̨","˜":" ̃","˝":" ̋",ͺ:" ͅ","΄":" ́",ϐ:"β",ϑ:"θ",ϒ:"Υ",ϕ:"φ",ϖ:"π",ϰ:"κ",ϱ:"ρ",ϲ:"ς",ϴ:"Θ",ϵ:"ε",Ϲ:"Σ",և:"եւ",ٵ:"اٴ",ٶ:"وٴ",ٷ:"ۇٴ",ٸ:"يٴ",ำ:"ํา",ຳ:"ໍາ",ໜ:"ຫນ",ໝ:"ຫມ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ",ẚ:"aʾ","᾽":" ̓","᾿":" ̓","῀":" ͂","῾":" ̔"," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" ","‗":" ̳","․":".","‥":"..","…":"...","″":"′′","‴":"′′′","‶":"‵‵","‷":"‵‵‵","‼":"!!","‾":" ̅","⁇":"??","⁈":"?!","⁉":"!?","⁗":"′′′′"," ":" ","₨":"Rs","℀":"a/c","℁":"a/s","℃":"°C","℅":"c/o","℆":"c/u",ℇ:"Ɛ","℉":"°F","№":"No","℡":"TEL",ℵ:"א",ℶ:"ב",ℷ:"ג",ℸ:"ד","℻":"FAX","Ⅰ":"I","Ⅱ":"II","Ⅲ":"III","Ⅳ":"IV","Ⅴ":"V","Ⅵ":"VI","Ⅶ":"VII","Ⅷ":"VIII","Ⅸ":"IX","Ⅹ":"X","Ⅺ":"XI","Ⅻ":"XII","Ⅼ":"L","Ⅽ":"C","Ⅾ":"D","Ⅿ":"M","ⅰ":"i","ⅱ":"ii","ⅲ":"iii","ⅳ":"iv","ⅴ":"v","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","ⅸ":"ix","ⅹ":"x","ⅺ":"xi","ⅻ":"xii","ⅼ":"l","ⅽ":"c","ⅾ":"d","ⅿ":"m","∬":"∫∫","∭":"∫∫∫","∯":"∮∮","∰":"∮∮∮","⑴":"(1)","⑵":"(2)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⑽":"(10)","⑾":"(11)","⑿":"(12)","⒀":"(13)","⒁":"(14)","⒂":"(15)","⒃":"(16)","⒄":"(17)","⒅":"(18)","⒆":"(19)","⒇":"(20)","⒈":"1.","⒉":"2.","⒊":"3.","⒋":"4.","⒌":"5.","⒍":"6.","⒎":"7.","⒏":"8.","⒐":"9.","⒑":"10.","⒒":"11.","⒓":"12.","⒔":"13.","⒕":"14.","⒖":"15.","⒗":"16.","⒘":"17.","⒙":"18.","⒚":"19.","⒛":"20.","⒜":"(a)","⒝":"(b)","⒞":"(c)","⒟":"(d)","⒠":"(e)","⒡":"(f)","⒢":"(g)","⒣":"(h)","⒤":"(i)","⒥":"(j)","⒦":"(k)","⒧":"(l)","⒨":"(m)","⒩":"(n)","⒪":"(o)","⒫":"(p)","⒬":"(q)","⒭":"(r)","⒮":"(s)","⒯":"(t)","⒰":"(u)","⒱":"(v)","⒲":"(w)","⒳":"(x)","⒴":"(y)","⒵":"(z)","⨌":"∫∫∫∫","⩴":"::=","⩵":"==","⩶":"===","⺟":"母","⻳":"龟","⼀":"一","⼁":"丨","⼂":"丶","⼃":"丿","⼄":"乙","⼅":"亅","⼆":"二","⼇":"亠","⼈":"人","⼉":"儿","⼊":"入","⼋":"八","⼌":"冂","⼍":"冖","⼎":"冫","⼏":"几","⼐":"凵","⼑":"刀","⼒":"力","⼓":"勹","⼔":"匕","⼕":"匚","⼖":"匸","⼗":"十","⼘":"卜","⼙":"卩","⼚":"厂","⼛":"厶","⼜":"又","⼝":"口","⼞":"囗","⼟":"土","⼠":"士","⼡":"夂","⼢":"夊","⼣":"夕","⼤":"大","⼥":"女","⼦":"子","⼧":"宀","⼨":"寸","⼩":"小","⼪":"尢","⼫":"尸","⼬":"屮","⼭":"山","⼮":"巛","⼯":"工","⼰":"己","⼱":"巾","⼲":"干","⼳":"幺","⼴":"广","⼵":"廴","⼶":"廾","⼷":"弋","⼸":"弓","⼹":"彐","⼺":"彡","⼻":"彳","⼼":"心","⼽":"戈","⼾":"戶","⼿":"手","⽀":"支","⽁":"攴","⽂":"文","⽃":"斗","⽄":"斤","⽅":"方","⽆":"无","⽇":"日","⽈":"曰","⽉":"月","⽊":"木","⽋":"欠","⽌":"止","⽍":"歹","⽎":"殳","⽏":"毋","⽐":"比","⽑":"毛","⽒":"氏","⽓":"气","⽔":"水","⽕":"火","⽖":"爪","⽗":"父","⽘":"爻","⽙":"爿","⽚":"片","⽛":"牙","⽜":"牛","⽝":"犬","⽞":"玄","⽟":"玉","⽠":"瓜","⽡":"瓦","⽢":"甘","⽣":"生","⽤":"用","⽥":"田","⽦":"疋","⽧":"疒","⽨":"癶","⽩":"白","⽪":"皮","⽫":"皿","⽬":"目","⽭":"矛","⽮":"矢","⽯":"石","⽰":"示","⽱":"禸","⽲":"禾","⽳":"穴","⽴":"立","⽵":"竹","⽶":"米","⽷":"糸","⽸":"缶","⽹":"网","⽺":"羊","⽻":"羽","⽼":"老","⽽":"而","⽾":"耒","⽿":"耳","⾀":"聿","⾁":"肉","⾂":"臣","⾃":"自","⾄":"至","⾅":"臼","⾆":"舌","⾇":"舛","⾈":"舟","⾉":"艮","⾊":"色","⾋":"艸","⾌":"虍","⾍":"虫","⾎":"血","⾏":"行","⾐":"衣","⾑":"襾","⾒":"見","⾓":"角","⾔":"言","⾕":"谷","⾖":"豆","⾗":"豕","⾘":"豸","⾙":"貝","⾚":"赤","⾛":"走","⾜":"足","⾝":"身","⾞":"車","⾟":"辛","⾠":"辰","⾡":"辵","⾢":"邑","⾣":"酉","⾤":"釆","⾥":"里","⾦":"金","⾧":"長","⾨":"門","⾩":"阜","⾪":"隶","⾫":"隹","⾬":"雨","⾭":"靑","⾮":"非","⾯":"面","⾰":"革","⾱":"韋","⾲":"韭","⾳":"音","⾴":"頁","⾵":"風","⾶":"飛","⾷":"食","⾸":"首","⾹":"香","⾺":"馬","⾻":"骨","⾼":"高","⾽":"髟","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⿂":"魚","⿃":"鳥","⿄":"鹵","⿅":"鹿","⿆":"麥","⿇":"麻","⿈":"黃","⿉":"黍","⿊":"黑","⿋":"黹","⿌":"黽","⿍":"鼎","⿎":"鼓","⿏":"鼠","⿐":"鼻","⿑":"齊","⿒":"齒","⿓":"龍","⿔":"龜","⿕":"龠","〶":"〒","〸":"十","〹":"卄","〺":"卅","゛":" ゙","゜":" ゚",ㄱ:"ᄀ",ㄲ:"ᄁ",ㄳ:"ᆪ",ㄴ:"ᄂ",ㄵ:"ᆬ",ㄶ:"ᆭ",ㄷ:"ᄃ",ㄸ:"ᄄ",ㄹ:"ᄅ",ㄺ:"ᆰ",ㄻ:"ᆱ",ㄼ:"ᆲ",ㄽ:"ᆳ",ㄾ:"ᆴ",ㄿ:"ᆵ",ㅀ:"ᄚ",ㅁ:"ᄆ",ㅂ:"ᄇ",ㅃ:"ᄈ",ㅄ:"ᄡ",ㅅ:"ᄉ",ㅆ:"ᄊ",ㅇ:"ᄋ",ㅈ:"ᄌ",ㅉ:"ᄍ",ㅊ:"ᄎ",ㅋ:"ᄏ",ㅌ:"ᄐ",ㅍ:"ᄑ",ㅎ:"ᄒ",ㅏ:"ᅡ",ㅐ:"ᅢ",ㅑ:"ᅣ",ㅒ:"ᅤ",ㅓ:"ᅥ",ㅔ:"ᅦ",ㅕ:"ᅧ",ㅖ:"ᅨ",ㅗ:"ᅩ",ㅘ:"ᅪ",ㅙ:"ᅫ",ㅚ:"ᅬ",ㅛ:"ᅭ",ㅜ:"ᅮ",ㅝ:"ᅯ",ㅞ:"ᅰ",ㅟ:"ᅱ",ㅠ:"ᅲ",ㅡ:"ᅳ",ㅢ:"ᅴ",ㅣ:"ᅵ",ㅤ:"ᅠ",ㅥ:"ᄔ",ㅦ:"ᄕ",ㅧ:"ᇇ",ㅨ:"ᇈ",ㅩ:"ᇌ",ㅪ:"ᇎ",ㅫ:"ᇓ",ㅬ:"ᇗ",ㅭ:"ᇙ",ㅮ:"ᄜ",ㅯ:"ᇝ",ㅰ:"ᇟ",ㅱ:"ᄝ",ㅲ:"ᄞ",ㅳ:"ᄠ",ㅴ:"ᄢ",ㅵ:"ᄣ",ㅶ:"ᄧ",ㅷ:"ᄩ",ㅸ:"ᄫ",ㅹ:"ᄬ",ㅺ:"ᄭ",ㅻ:"ᄮ",ㅼ:"ᄯ",ㅽ:"ᄲ",ㅾ:"ᄶ",ㅿ:"ᅀ",ㆀ:"ᅇ",ㆁ:"ᅌ",ㆂ:"ᇱ",ㆃ:"ᇲ",ㆄ:"ᅗ",ㆅ:"ᅘ",ㆆ:"ᅙ",ㆇ:"ᆄ",ㆈ:"ᆅ",ㆉ:"ᆈ",ㆊ:"ᆑ",ㆋ:"ᆒ",ㆌ:"ᆔ",ㆍ:"ᆞ",ㆎ:"ᆡ","㈀":"(ᄀ)","㈁":"(ᄂ)","㈂":"(ᄃ)","㈃":"(ᄅ)","㈄":"(ᄆ)","㈅":"(ᄇ)","㈆":"(ᄉ)","㈇":"(ᄋ)","㈈":"(ᄌ)","㈉":"(ᄎ)","㈊":"(ᄏ)","㈋":"(ᄐ)","㈌":"(ᄑ)","㈍":"(ᄒ)","㈎":"(가)","㈏":"(나)","㈐":"(다)","㈑":"(라)","㈒":"(마)","㈓":"(바)","㈔":"(사)","㈕":"(아)","㈖":"(자)","㈗":"(차)","㈘":"(카)","㈙":"(타)","㈚":"(파)","㈛":"(하)","㈜":"(주)","㈝":"(오전)","㈞":"(오후)","㈠":"(一)","㈡":"(二)","㈢":"(三)","㈣":"(四)","㈤":"(五)","㈥":"(六)","㈦":"(七)","㈧":"(八)","㈨":"(九)","㈩":"(十)","㈪":"(月)","㈫":"(火)","㈬":"(水)","㈭":"(木)","㈮":"(金)","㈯":"(土)","㈰":"(日)","㈱":"(株)","㈲":"(有)","㈳":"(社)","㈴":"(名)","㈵":"(特)","㈶":"(財)","㈷":"(祝)","㈸":"(労)","㈹":"(代)","㈺":"(呼)","㈻":"(学)","㈼":"(監)","㈽":"(企)","㈾":"(資)","㈿":"(協)","㉀":"(祭)","㉁":"(休)","㉂":"(自)","㉃":"(至)","㋀":"1月","㋁":"2月","㋂":"3月","㋃":"4月","㋄":"5月","㋅":"6月","㋆":"7月","㋇":"8月","㋈":"9月","㋉":"10月","㋊":"11月","㋋":"12月","㍘":"0点","㍙":"1点","㍚":"2点","㍛":"3点","㍜":"4点","㍝":"5点","㍞":"6点","㍟":"7点","㍠":"8点","㍡":"9点","㍢":"10点","㍣":"11点","㍤":"12点","㍥":"13点","㍦":"14点","㍧":"15点","㍨":"16点","㍩":"17点","㍪":"18点","㍫":"19点","㍬":"20点","㍭":"21点","㍮":"22点","㍯":"23点","㍰":"24点","㏠":"1日","㏡":"2日","㏢":"3日","㏣":"4日","㏤":"5日","㏥":"6日","㏦":"7日","㏧":"8日","㏨":"9日","㏩":"10日","㏪":"11日","㏫":"12日","㏬":"13日","㏭":"14日","㏮":"15日","㏯":"16日","㏰":"17日","㏱":"18日","㏲":"19日","㏳":"20日","㏴":"21日","㏵":"22日","㏶":"23日","㏷":"24日","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏽":"30日","㏾":"31日",ff:"ff",fi:"fi",fl:"fl",ffi:"ffi",ffl:"ffl",ſt:"ſt",st:"st",ﬓ:"մն",ﬔ:"մե",ﬕ:"մի",ﬖ:"վն",ﬗ:"մխ",ﭏ:"אל",ﭐ:"ٱ",ﭑ:"ٱ",ﭒ:"ٻ",ﭓ:"ٻ",ﭔ:"ٻ",ﭕ:"ٻ",ﭖ:"پ",ﭗ:"پ",ﭘ:"پ",ﭙ:"پ",ﭚ:"ڀ",ﭛ:"ڀ",ﭜ:"ڀ",ﭝ:"ڀ",ﭞ:"ٺ",ﭟ:"ٺ",ﭠ:"ٺ",ﭡ:"ٺ",ﭢ:"ٿ",ﭣ:"ٿ",ﭤ:"ٿ",ﭥ:"ٿ",ﭦ:"ٹ",ﭧ:"ٹ",ﭨ:"ٹ",ﭩ:"ٹ",ﭪ:"ڤ",ﭫ:"ڤ",ﭬ:"ڤ",ﭭ:"ڤ",ﭮ:"ڦ",ﭯ:"ڦ",ﭰ:"ڦ",ﭱ:"ڦ",ﭲ:"ڄ",ﭳ:"ڄ",ﭴ:"ڄ",ﭵ:"ڄ",ﭶ:"ڃ",ﭷ:"ڃ",ﭸ:"ڃ",ﭹ:"ڃ",ﭺ:"چ",ﭻ:"چ",ﭼ:"چ",ﭽ:"چ",ﭾ:"ڇ",ﭿ:"ڇ",ﮀ:"ڇ",ﮁ:"ڇ",ﮂ:"ڍ",ﮃ:"ڍ",ﮄ:"ڌ",ﮅ:"ڌ",ﮆ:"ڎ",ﮇ:"ڎ",ﮈ:"ڈ",ﮉ:"ڈ",ﮊ:"ژ",ﮋ:"ژ",ﮌ:"ڑ",ﮍ:"ڑ",ﮎ:"ک",ﮏ:"ک",ﮐ:"ک",ﮑ:"ک",ﮒ:"گ",ﮓ:"گ",ﮔ:"گ",ﮕ:"گ",ﮖ:"ڳ",ﮗ:"ڳ",ﮘ:"ڳ",ﮙ:"ڳ",ﮚ:"ڱ",ﮛ:"ڱ",ﮜ:"ڱ",ﮝ:"ڱ",ﮞ:"ں",ﮟ:"ں",ﮠ:"ڻ",ﮡ:"ڻ",ﮢ:"ڻ",ﮣ:"ڻ",ﮤ:"ۀ",ﮥ:"ۀ",ﮦ:"ہ",ﮧ:"ہ",ﮨ:"ہ",ﮩ:"ہ",ﮪ:"ھ",ﮫ:"ھ",ﮬ:"ھ",ﮭ:"ھ",ﮮ:"ے",ﮯ:"ے",ﮰ:"ۓ",ﮱ:"ۓ",ﯓ:"ڭ",ﯔ:"ڭ",ﯕ:"ڭ",ﯖ:"ڭ",ﯗ:"ۇ",ﯘ:"ۇ",ﯙ:"ۆ",ﯚ:"ۆ",ﯛ:"ۈ",ﯜ:"ۈ",ﯝ:"ٷ",ﯞ:"ۋ",ﯟ:"ۋ",ﯠ:"ۅ",ﯡ:"ۅ",ﯢ:"ۉ",ﯣ:"ۉ",ﯤ:"ې",ﯥ:"ې",ﯦ:"ې",ﯧ:"ې",ﯨ:"ى",ﯩ:"ى",ﯪ:"ئا",ﯫ:"ئا",ﯬ:"ئە",ﯭ:"ئە",ﯮ:"ئو",ﯯ:"ئو",ﯰ:"ئۇ",ﯱ:"ئۇ",ﯲ:"ئۆ",ﯳ:"ئۆ",ﯴ:"ئۈ",ﯵ:"ئۈ",ﯶ:"ئې",ﯷ:"ئې",ﯸ:"ئې",ﯹ:"ئى",ﯺ:"ئى",ﯻ:"ئى",ﯼ:"ی",ﯽ:"ی",ﯾ:"ی",ﯿ:"ی",ﰀ:"ئج",ﰁ:"ئح",ﰂ:"ئم",ﰃ:"ئى",ﰄ:"ئي",ﰅ:"بج",ﰆ:"بح",ﰇ:"بخ",ﰈ:"بم",ﰉ:"بى",ﰊ:"بي",ﰋ:"تج",ﰌ:"تح",ﰍ:"تخ",ﰎ:"تم",ﰏ:"تى",ﰐ:"تي",ﰑ:"ثج",ﰒ:"ثم",ﰓ:"ثى",ﰔ:"ثي",ﰕ:"جح",ﰖ:"جم",ﰗ:"حج",ﰘ:"حم",ﰙ:"خج",ﰚ:"خح",ﰛ:"خم",ﰜ:"سج",ﰝ:"سح",ﰞ:"سخ",ﰟ:"سم",ﰠ:"صح",ﰡ:"صم",ﰢ:"ضج",ﰣ:"ضح",ﰤ:"ضخ",ﰥ:"ضم",ﰦ:"طح",ﰧ:"طم",ﰨ:"ظم",ﰩ:"عج",ﰪ:"عم",ﰫ:"غج",ﰬ:"غم",ﰭ:"فج",ﰮ:"فح",ﰯ:"فخ",ﰰ:"فم",ﰱ:"فى",ﰲ:"في",ﰳ:"قح",ﰴ:"قم",ﰵ:"قى",ﰶ:"قي",ﰷ:"كا",ﰸ:"كج",ﰹ:"كح",ﰺ:"كخ",ﰻ:"كل",ﰼ:"كم",ﰽ:"كى",ﰾ:"كي",ﰿ:"لج",ﱀ:"لح",ﱁ:"لخ",ﱂ:"لم",ﱃ:"لى",ﱄ:"لي",ﱅ:"مج",ﱆ:"مح",ﱇ:"مخ",ﱈ:"مم",ﱉ:"مى",ﱊ:"مي",ﱋ:"نج",ﱌ:"نح",ﱍ:"نخ",ﱎ:"نم",ﱏ:"نى",ﱐ:"ني",ﱑ:"هج",ﱒ:"هم",ﱓ:"هى",ﱔ:"هي",ﱕ:"يج",ﱖ:"يح",ﱗ:"يخ",ﱘ:"يم",ﱙ:"يى",ﱚ:"يي",ﱛ:"ذٰ",ﱜ:"رٰ",ﱝ:"ىٰ",ﱞ:" ٌّ",ﱟ:" ٍّ",ﱠ:" َّ",ﱡ:" ُّ",ﱢ:" ِّ",ﱣ:" ّٰ",ﱤ:"ئر",ﱥ:"ئز",ﱦ:"ئم",ﱧ:"ئن",ﱨ:"ئى",ﱩ:"ئي",ﱪ:"بر",ﱫ:"بز",ﱬ:"بم",ﱭ:"بن",ﱮ:"بى",ﱯ:"بي",ﱰ:"تر",ﱱ:"تز",ﱲ:"تم",ﱳ:"تن",ﱴ:"تى",ﱵ:"تي",ﱶ:"ثر",ﱷ:"ثز",ﱸ:"ثم",ﱹ:"ثن",ﱺ:"ثى",ﱻ:"ثي",ﱼ:"فى",ﱽ:"في",ﱾ:"قى",ﱿ:"قي",ﲀ:"كا",ﲁ:"كل",ﲂ:"كم",ﲃ:"كى",ﲄ:"كي",ﲅ:"لم",ﲆ:"لى",ﲇ:"لي",ﲈ:"ما",ﲉ:"مم",ﲊ:"نر",ﲋ:"نز",ﲌ:"نم",ﲍ:"نن",ﲎ:"نى",ﲏ:"ني",ﲐ:"ىٰ",ﲑ:"ير",ﲒ:"يز",ﲓ:"يم",ﲔ:"ين",ﲕ:"يى",ﲖ:"يي",ﲗ:"ئج",ﲘ:"ئح",ﲙ:"ئخ",ﲚ:"ئم",ﲛ:"ئه",ﲜ:"بج",ﲝ:"بح",ﲞ:"بخ",ﲟ:"بم",ﲠ:"به",ﲡ:"تج",ﲢ:"تح",ﲣ:"تخ",ﲤ:"تم",ﲥ:"ته",ﲦ:"ثم",ﲧ:"جح",ﲨ:"جم",ﲩ:"حج",ﲪ:"حم",ﲫ:"خج",ﲬ:"خم",ﲭ:"سج",ﲮ:"سح",ﲯ:"سخ",ﲰ:"سم",ﲱ:"صح",ﲲ:"صخ",ﲳ:"صم",ﲴ:"ضج",ﲵ:"ضح",ﲶ:"ضخ",ﲷ:"ضم",ﲸ:"طح",ﲹ:"ظم",ﲺ:"عج",ﲻ:"عم",ﲼ:"غج",ﲽ:"غم",ﲾ:"فج",ﲿ:"فح",ﳀ:"فخ",ﳁ:"فم",ﳂ:"قح",ﳃ:"قم",ﳄ:"كج",ﳅ:"كح",ﳆ:"كخ",ﳇ:"كل",ﳈ:"كم",ﳉ:"لج",ﳊ:"لح",ﳋ:"لخ",ﳌ:"لم",ﳍ:"له",ﳎ:"مج",ﳏ:"مح",ﳐ:"مخ",ﳑ:"مم",ﳒ:"نج",ﳓ:"نح",ﳔ:"نخ",ﳕ:"نم",ﳖ:"نه",ﳗ:"هج",ﳘ:"هم",ﳙ:"هٰ",ﳚ:"يج",ﳛ:"يح",ﳜ:"يخ",ﳝ:"يم",ﳞ:"يه",ﳟ:"ئم",ﳠ:"ئه",ﳡ:"بم",ﳢ:"به",ﳣ:"تم",ﳤ:"ته",ﳥ:"ثم",ﳦ:"ثه",ﳧ:"سم",ﳨ:"سه",ﳩ:"شم",ﳪ:"شه",ﳫ:"كل",ﳬ:"كم",ﳭ:"لم",ﳮ:"نم",ﳯ:"نه",ﳰ:"يم",ﳱ:"يه",ﳲ:"ـَّ",ﳳ:"ـُّ",ﳴ:"ـِّ",ﳵ:"طى",ﳶ:"طي",ﳷ:"عى",ﳸ:"عي",ﳹ:"غى",ﳺ:"غي",ﳻ:"سى",ﳼ:"سي",ﳽ:"شى",ﳾ:"شي",ﳿ:"حى",ﴀ:"حي",ﴁ:"جى",ﴂ:"جي",ﴃ:"خى",ﴄ:"خي",ﴅ:"صى",ﴆ:"صي",ﴇ:"ضى",ﴈ:"ضي",ﴉ:"شج",ﴊ:"شح",ﴋ:"شخ",ﴌ:"شم",ﴍ:"شر",ﴎ:"سر",ﴏ:"صر",ﴐ:"ضر",ﴑ:"طى",ﴒ:"طي",ﴓ:"عى",ﴔ:"عي",ﴕ:"غى",ﴖ:"غي",ﴗ:"سى",ﴘ:"سي",ﴙ:"شى",ﴚ:"شي",ﴛ:"حى",ﴜ:"حي",ﴝ:"جى",ﴞ:"جي",ﴟ:"خى",ﴠ:"خي",ﴡ:"صى",ﴢ:"صي",ﴣ:"ضى",ﴤ:"ضي",ﴥ:"شج",ﴦ:"شح",ﴧ:"شخ",ﴨ:"شم",ﴩ:"شر",ﴪ:"سر",ﴫ:"صر",ﴬ:"ضر",ﴭ:"شج",ﴮ:"شح",ﴯ:"شخ",ﴰ:"شم",ﴱ:"سه",ﴲ:"شه",ﴳ:"طم",ﴴ:"سج",ﴵ:"سح",ﴶ:"سخ",ﴷ:"شج",ﴸ:"شح",ﴹ:"شخ",ﴺ:"طم",ﴻ:"ظم",ﴼ:"اً",ﴽ:"اً",ﵐ:"تجم",ﵑ:"تحج",ﵒ:"تحج",ﵓ:"تحم",ﵔ:"تخم",ﵕ:"تمج",ﵖ:"تمح",ﵗ:"تمخ",ﵘ:"جمح",ﵙ:"جمح",ﵚ:"حمي",ﵛ:"حمى",ﵜ:"سحج",ﵝ:"سجح",ﵞ:"سجى",ﵟ:"سمح",ﵠ:"سمح",ﵡ:"سمج",ﵢ:"سمم",ﵣ:"سمم",ﵤ:"صحح",ﵥ:"صحح",ﵦ:"صمم",ﵧ:"شحم",ﵨ:"شحم",ﵩ:"شجي",ﵪ:"شمخ",ﵫ:"شمخ",ﵬ:"شمم",ﵭ:"شمم",ﵮ:"ضحى",ﵯ:"ضخم",ﵰ:"ضخم",ﵱ:"طمح",ﵲ:"طمح",ﵳ:"طمم",ﵴ:"طمي",ﵵ:"عجم",ﵶ:"عمم",ﵷ:"عمم",ﵸ:"عمى",ﵹ:"غمم",ﵺ:"غمي",ﵻ:"غمى",ﵼ:"فخم",ﵽ:"فخم",ﵾ:"قمح",ﵿ:"قمم",ﶀ:"لحم",ﶁ:"لحي",ﶂ:"لحى",ﶃ:"لجج",ﶄ:"لجج",ﶅ:"لخم",ﶆ:"لخم",ﶇ:"لمح",ﶈ:"لمح",ﶉ:"محج",ﶊ:"محم",ﶋ:"محي",ﶌ:"مجح",ﶍ:"مجم",ﶎ:"مخج",ﶏ:"مخم",ﶒ:"مجخ",ﶓ:"همج",ﶔ:"همم",ﶕ:"نحم",ﶖ:"نحى",ﶗ:"نجم",ﶘ:"نجم",ﶙ:"نجى",ﶚ:"نمي",ﶛ:"نمى",ﶜ:"يمم",ﶝ:"يمم",ﶞ:"بخي",ﶟ:"تجي",ﶠ:"تجى",ﶡ:"تخي",ﶢ:"تخى",ﶣ:"تمي",ﶤ:"تمى",ﶥ:"جمي",ﶦ:"جحى",ﶧ:"جمى",ﶨ:"سخى",ﶩ:"صحي",ﶪ:"شحي",ﶫ:"ضحي",ﶬ:"لجي",ﶭ:"لمي",ﶮ:"يحي",ﶯ:"يجي",ﶰ:"يمي",ﶱ:"ممي",ﶲ:"قمي",ﶳ:"نحي",ﶴ:"قمح",ﶵ:"لحم",ﶶ:"عمي",ﶷ:"كمي",ﶸ:"نجح",ﶹ:"مخي",ﶺ:"لجم",ﶻ:"كمم",ﶼ:"لجم",ﶽ:"نجح",ﶾ:"جحي",ﶿ:"حجي",ﷀ:"مجي",ﷁ:"فمي",ﷂ:"بحي",ﷃ:"كمم",ﷄ:"عجم",ﷅ:"صمم",ﷆ:"سخي",ﷇ:"نجي","﹉":"‾","﹊":"‾","﹋":"‾","﹌":"‾","﹍":"_","﹎":"_","﹏":"_",ﺀ:"ء",ﺁ:"آ",ﺂ:"آ",ﺃ:"أ",ﺄ:"أ",ﺅ:"ؤ",ﺆ:"ؤ",ﺇ:"إ",ﺈ:"إ",ﺉ:"ئ",ﺊ:"ئ",ﺋ:"ئ",ﺌ:"ئ",ﺍ:"ا",ﺎ:"ا",ﺏ:"ب",ﺐ:"ب",ﺑ:"ب",ﺒ:"ب",ﺓ:"ة",ﺔ:"ة",ﺕ:"ت",ﺖ:"ت",ﺗ:"ت",ﺘ:"ت",ﺙ:"ث",ﺚ:"ث",ﺛ:"ث",ﺜ:"ث",ﺝ:"ج",ﺞ:"ج",ﺟ:"ج",ﺠ:"ج",ﺡ:"ح",ﺢ:"ح",ﺣ:"ح",ﺤ:"ح",ﺥ:"خ",ﺦ:"خ",ﺧ:"خ",ﺨ:"خ",ﺩ:"د",ﺪ:"د",ﺫ:"ذ",ﺬ:"ذ",ﺭ:"ر",ﺮ:"ر",ﺯ:"ز",ﺰ:"ز",ﺱ:"س",ﺲ:"س",ﺳ:"س",ﺴ:"س",ﺵ:"ش",ﺶ:"ش",ﺷ:"ش",ﺸ:"ش",ﺹ:"ص",ﺺ:"ص",ﺻ:"ص",ﺼ:"ص",ﺽ:"ض",ﺾ:"ض",ﺿ:"ض",ﻀ:"ض",ﻁ:"ط",ﻂ:"ط",ﻃ:"ط",ﻄ:"ط",ﻅ:"ظ",ﻆ:"ظ",ﻇ:"ظ",ﻈ:"ظ",ﻉ:"ع",ﻊ:"ع",ﻋ:"ع",ﻌ:"ع",ﻍ:"غ",ﻎ:"غ",ﻏ:"غ",ﻐ:"غ",ﻑ:"ف",ﻒ:"ف",ﻓ:"ف",ﻔ:"ف",ﻕ:"ق",ﻖ:"ق",ﻗ:"ق",ﻘ:"ق",ﻙ:"ك",ﻚ:"ك",ﻛ:"ك",ﻜ:"ك",ﻝ:"ل",ﻞ:"ل",ﻟ:"ل",ﻠ:"ل",ﻡ:"م",ﻢ:"م",ﻣ:"م",ﻤ:"م",ﻥ:"ن",ﻦ:"ن",ﻧ:"ن",ﻨ:"ن",ﻩ:"ه",ﻪ:"ه",ﻫ:"ه",ﻬ:"ه",ﻭ:"و",ﻮ:"و",ﻯ:"ى",ﻰ:"ى",ﻱ:"ي",ﻲ:"ي",ﻳ:"ي",ﻴ:"ي",ﻵ:"لآ",ﻶ:"لآ",ﻷ:"لأ",ﻸ:"لأ",ﻹ:"لإ",ﻺ:"لإ",ﻻ:"لا",ﻼ:"لا"},Ea=function(){function e(e,t,a,r,i,n){this.fontChar=e,this.unicode=t,this.accent=a,this.width=r,this.vmetric=i,this.operatorListId=n
-}return e.prototype.matchesForCache=function(e,t,a,r,i,n){return this.fontChar===e&&this.unicode===t&&this.accent===a&&this.width===r&&this.vmetric===i&&this.operatorListId===n},e}(),Fa=function(){function r(e,r,i){var n;this.name=e,this.loadedName=i.loadedName,this.isType3Font=i.isType3Font,this.sizes=[],this.glyphCache={};var o=e.split("+");o=o.length>1?o[1]:o[0],o=o.split(/[-,_]/g)[0],this.isSerifFont=!!(i.flags&Ba.Serif),this.isSymbolicFont=!!(i.flags&Ba.Symbolic),this.isMonospace=!!(i.flags&Ba.FixedPitch);var s=i.type;this.type=s,this.fallbackName=this.isMonospace?"monospace":this.isSerifFont?"serif":"sans-serif",this.differences=i.differences,this.widths=i.widths,this.defaultWidth=i.defaultWidth,this.composite=i.composite,this.wideChars=i.wideChars,this.cMap=i.cMap,this.ascent=i.ascent/Ca,this.descent=i.descent/Ca,this.fontMatrix=i.fontMatrix;var c=this.buildToUnicode(i);if(this.toUnicode=i.toUnicode=c.toUnicode,this.isIdentityUnicode=i.isIdentityUnicode=c.isIdentity,this.toFontChar=[],"Type3"!=i.type){if(this.cidEncoding=i.cidEncoding,this.vertical=i.vertical,this.vertical&&(this.vmetrics=i.vmetrics,this.defaultVMetrics=i.defaultVMetrics),!r||r.isEmpty){r&&t('Font file is empty in "'+e+'" ('+this.loadedName+")"),this.missingFile=!0;var l=e.replace(/[,_]/g,"-"),h=l in Oa;if(l=Oa[l]||La[l]||l,this.bold=-1!=l.search(/bold/gi),this.italic=-1!=l.search(/oblique/gi)||-1!=l.search(/italic/gi),this.black=-1!=e.search(/Black/g),this.remeasure=Object.keys(this.widths).length>0,h&&"CIDFontType2"===s&&0===i.cidEncoding.indexOf("Identity-")){var u=[];for(var f in Pa)u[+f]=Pa[f];this.toFontChar=u,this.toUnicode=u}else if(/Symbol/i.test(l)){var d=Ia.SymbolSetEncoding;for(n in d){var g=nr[d[n]];g&&(this.toFontChar[n]=g)}}else if(h){this.toFontChar=[];for(n in i.defaultEncoding){var m=i.differences[n]||i.defaultEncoding[n];this.toFontChar[n]=nr[m]}}else for(n in this.toUnicode)this.toFontChar[n]=this.toUnicode[n].charCodeAt(0);return this.loadedName=l.split("-")[0],void(this.loading=!1)}var p=i.subtype;"Type1C"==p&&"Type1"!=s&&"MMType1"!=s&&(b(r)?p="TrueType":s="Type1"),"CIDFontType0C"==p&&"CIDFontType0"!=s&&(s="CIDFontType0"),"OpenType"===p&&(s="OpenType");var v;switch(s){case"Type1":case"CIDFontType0":this.mimetype="font/opentype";var y="Type1C"==p||"CIDFontType0C"==p?new Ga(r,i):new Ha(e,r,i);N(i),v=this.convert(e,y,i);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",v=this.checkAndRepair(e,r,i);break;default:a("Font "+s+" is not supported")}this.data=v,this.fontMatrix=i.fontMatrix,this.widths=i.widths,this.defaultWidth=i.defaultWidth,this.encoding=i.baseEncoding,this.seacMap=i.seacMap,this.loading=!0}else for(n=0;256>n;n++)this.toFontChar[n]=this.differences[n]||i.defaultEncoding[n]}function n(e,t){return(e<<8)+t}function l(e,t,a,r){return(e<<24)+(t<<16)+(a<<8)+r}function u(e){for(var t=0,a=e;a>=2;)a/=2,t++;a=2;for(var r=1;t>r;r++)a*=2;return a}function f(e){return String.fromCharCode(e>>8&255,255&e)}function d(e){return e=e>32767?32767:-32768>e?-32768:e,String.fromCharCode(e>>8&255,255&e)}function m(e,t,a){"true"==e&&(e=h(65536));var r=e;r+=f(a);var i=u(a),n=16*i;r+=f(n),r+=f(Math.log(i)/Math.log(2)),r+=f(16*a-n),t.file+=r,t.virtualOffset+=r.length}function p(e,t,a){for(var r=e.virtualOffset,i=a.length;3&a.length;)a.push(0);for(;3&e.virtualOffset;)e.virtualOffset++;for(var n=0,o=a.length,s=0;o>s;s+=4)n=n+l(a[s],a[s+1],a[s+2],a[s+3])|0;var c=t+h(n)+h(r)+h(i);e.file+=c,e.virtualOffset+=a.length}function b(e){var t=e.peekBytes(4);return 65536===g(t,0)}function v(e,t){var a=t.toUnicode,r=!!(t.flags&Ba.Symbolic),i=t.isIdentityUnicode,n=Object.create(null),o=[],s=[],c=ka;for(var l in e){l|=0;var h=e[l],u=l;if(!i&&l in a){var f=a[u];1===f.length&&(u=f.charCodeAt(0))}if((u in s||31>=u||127===u||173===u||u>=128&&159>=u||u>=65520&&65535>=u||r&&i)&&wa>=c)do u=c++,xa&&61440===u&&(u=61472,c=u+1);while(u in s&&wa>=c);n[u]=h,o[l]=u,s[u]=!0}return{toFontChar:o,charCodeToGlyphId:n,nextAvailableFontCharCode:c}}function y(e){var t=[];for(var a in e)t.push({fontCharCode:0|a,glyphId:e[a]});t.sort(function(e,t){return e.fontCharCode-t.fontCharCode});for(var r=[],i=t.length,n=0;i>n;){var o=t[n].fontCharCode,s=[t[n].glyphId];++n;for(var c=o;i>n&&c+1==t[n].fontCharCode&&(s.push(t[n].glyphId),++c,++n,65535!==c););r.push([o,c,s])}return r}function k(e){var t,a,r,i,n=y(e),o=n[n.length-1][1]>65535?2:1,s="\x00\x00"+f(o)+"\x00\x00"+h(4+8*o);for(t=n.length-1;t>=0&&!(n[t][0]<=65535);--t);var l=t+1;n[t][0]<65535&&65535===n[t][1]&&(n[t][1]=65534);var d,g,m,p,b=n[t][1]<65535?1:0,v=l+b,k=2*v,w=2*u(v),x=Math.log(v)/Math.log(2),C=2*v-w,S="",A="",B="",I="",O="",L=0;for(t=0,a=l;a>t;t++){d=n[t],g=d[0],m=d[1],S+=f(g),A+=f(m),p=d[2];var R=!0;for(r=1,i=p.length;i>r;++r)if(p[r]!==p[r-1]+1){R=!1;break}if(R){var T=p[0];B+=f(T-g&65535),I+=f(0)}else{var P=2*(v-t)+2*L;for(L+=m-g+1,B+=f(0),I+=f(P),r=0,i=p.length;i>r;++r)O+=f(p[r])}}b>0&&(A+="ÿÿ",S+="ÿÿ",B+="\x00",I+="\x00\x00");var M="\x00\x00"+f(k)+f(w)+f(x)+f(C)+A+"\x00\x00"+S+B+I+O,q="",D="";if(o>1){for(s+="\x00\x00\n"+h(4+8*o+4+M.length),q="",t=0,a=n.length;a>t;t++){d=n[t],g=d[0],p=d[2];var E=p[0];for(r=1,i=p.length;i>r;++r)p[r]!==p[r-1]+1&&(m=d[0]+r-1,q+=h(g)+h(m)+h(E),g=m+1,E=p[r]);q+=h(g)+h(d[1])+h(E)}D="\x00\f\x00\x00"+h(q.length+16)+"\x00\x00\x00\x00"+h(q.length/12)}return c(s+"\x00"+f(M.length+4)+M+D+q)}function w(e){var t=new pr(e.data),a=t.getUint16();t.getBytes(60);var r=t.getUint16();if(4>a&&768&r)return!1;var i=t.getUint16(),n=t.getUint16();if(i>n)return!1;t.getBytes(6);var o=t.getUint16();return 0===o?!1:(e.data[8]=e.data[9]=0,!0)}function C(e,t,r){r=r||{unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};var i=0,n=0,o=0,s=0,c=null,l=0;if(t)for(var u in t){u|=0,(c>u||!c)&&(c=u),u>l&&(l=u);var d=E(u);32>d?i|=1<<d:64>d?n|=1<<d-32:96>d?o|=1<<d-64:123>d?s|=1<<d-96:a("Unicode ranges Bits > 123 are reserved for internal usage")}else c=0,l=255;var g=e.bbox||[0,0,0,0],m=r.unitsPerEm||1/(e.fontMatrix||X)[0],p=e.ascentScaled?1:m/Ca,b=r.ascent||Math.round(p*(e.ascent||g[3])),v=r.descent||Math.round(p*(e.descent||g[1]));v>0&&e.descent>0&&g[1]<0&&(v=-v);var y=r.yMax||b,k=-r.yMin||-v;return"\x00$ô\x00\x00\x00Š»\x00\x00\x00ŒŠ»\x00\x00ß\x001\x00\x00\x00\x00"+String.fromCharCode(e.fixedPitch?9:0)+"\x00\x00\x00\x00\x00\x00"+h(i)+h(n)+h(o)+h(s)+"*21*"+f(e.italicAngle?1:0)+f(c||e.firstChar)+f(l||e.lastChar)+f(b)+f(v)+"\x00d"+f(y)+f(k)+"\x00\x00\x00\x00\x00\x00\x00\x00"+f(e.xHeight)+f(e.capHeight)+f(0)+f(c||e.firstChar)+"\x00"}function S(e){var t=Math.floor(e.italicAngle*Math.pow(2,16));return"\x00\x00\x00"+h(t)+"\x00\x00\x00\x00"+h(e.fixedPitch)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}function A(e,t){t||(t=[[],[]]);var a,r,i,n,o,s=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||"",t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],c=[];for(a=0,r=s.length;r>a;a++){o=t[1][a]||s[a];var l=[];for(i=0,n=o.length;n>i;i++)l.push(f(o.charCodeAt(i)));c.push(l.join(""))}var h=[s,c],u=["\x00","\x00"],d=["\x00\x00","\x00"],g=["\x00\x00"," "],m=s.length*u.length,p="\x00\x00"+f(m)+f(12*m+6),b=0;for(a=0,r=u.length;r>a;a++){var v=h[a];for(i=0,n=v.length;n>i;i++){o=v[i];var y=u[a]+d[a]+g[a]+f(i)+f(o.length)+f(b);p+=y,b+=o.length}}return p+=s.join("")+c.join("")}return r.getFontID=function(){var e=1;return function(){return String(e++)}}(),r.prototype={name:null,font:null,mimetype:null,encoding:null,get renderer(){var e=ir.create(this);return o(this,"renderer",e)},exportData:function(){var e={};for(var t in this)this.hasOwnProperty(t)&&(e[t]=this[t]);return e},checkAndRepair:function(r,o,h){function u(e){var t=s(e.getBytes(4)),a=e.getInt32(),r=e.getInt32()>>>0,i=e.getInt32()>>>0,n=e.pos;e.pos=e.start?e.start:0,e.skip(r);var o=e.getBytes(i);return e.pos=n,"head"==t&&(o[8]=o[9]=o[10]=o[11]=0,o[17]|=32),{tag:t,checksum:a,length:i,offset:r,data:o}}function f(e){return{version:s(e.getBytes(4)),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function d(e,r,i){var n,o=(r.start?r.start:0)+e.offset;r.pos=o;for(var s,c=(r.getUint16(),r.getUint16()),l=!1,h=0;c>h;h++){var u=r.getUint16(),f=r.getUint16(),d=r.getInt32()>>>0,g=!1;if(1==u&&0===f?g=!0:i||3!==u||1!==f?i&&3===u&&0===f&&(g=!0,l=!0):(g=!0,l=!0),g&&(s={platformId:u,encodingId:f,offset:d}),l)break}if(!s)return t("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};r.pos=o+s.offset;var m,p,b=r.getUint16(),v=(r.getUint16(),r.getUint16(),!1),y=[];if(0===b){for(m=0;256>m;m++){var k=r.getByte();k&&y.push({charCode:m,glyphId:k})}v=!0}else if(4===b){var w=r.getUint16()>>1;r.getBytes(6);var x,C=[];for(x=0;w>x;x++)C.push({end:r.getUint16()});for(r.getUint16(),x=0;w>x;x++)C[x].start=r.getUint16();for(x=0;w>x;x++)C[x].delta=r.getUint16();var S=0;for(x=0;w>x;x++){n=C[x];var A=r.getUint16();if(A){var B=(A>>1)-(w-x);n.offsetIndex=B,S=Math.max(S,B+n.end-n.start+1)}else n.offsetIndex=-1}var I=[];for(m=0;S>m;m++)I.push(r.getUint16());for(x=0;w>x;x++){n=C[x],o=n.start;var O=n.end,L=n.delta;for(B=n.offsetIndex,m=o;O>=m;m++)65535!=m&&(p=0>B?m:I[B+m-o],p=p+L&65535,0!==p&&y.push({charCode:m,glyphId:p}))}}else if(6==b){var R=r.getUint16(),T=r.getUint16();for(m=0;T>m;m++){p=r.getUint16();var P=R+m;y.push({charCode:P,glyphId:p})}}else a("cmap table has unsupported format: "+b);for(y.sort(function(e,t){return e.charCode-t.charCode}),h=1;h<y.length;h++)y[h-1].charCode===y[h].charCode&&(y.splice(h,1),h--);return{platformId:s.platformId,encodingId:s.encodingId,mappings:y,hasShortCmap:v}}function g(t,a,r,i){if(!a)return void(r&&(r.data=null));t.pos=(t.start?t.start:0)+a.offset,t.pos+=a.length-2;var n=t.getUint16();n>i&&(e("The numOfMetrics ("+n+") should not be greater than the numGlyphs ("+i+")"),n=i,a.data[34]=(65280&n)>>8,a.data[35]=255&n);var o,s,l=i-n,h=l-(r.length-4*n>>1);if(h>0){t.pos=(t.start?t.start:0)+r.offset;var u="";for(o=0,s=r.length;s>o;o++)u+=String.fromCharCode(t.getByte());for(o=0;h>o;o++)u+="\x00\x00";r.data=c(u)}}function b(e,t,a,r,i,n){if(12>=a-t)return 0;var o=e.subarray(t,a),s=o[0]<<8|o[1];if(32768&s)return r.set(o,i),o.length;var c,l=10,h=0;for(c=0;s>c;c++){var u=o[l]<<8|o[l+1];h=u+1,l+=2}var f=l,d=o[l]<<8|o[l+1];l+=2+d;var g=l,m=0;for(c=0;h>c;c++){var p=o[l++];192&p&&(o[l-1]=63&p);var b=(2&p?1:16&p?0:2)+(4&p?1:32&p?0:2);if(m+=b,8&p){var v=o[l++];c+=v,m+=v*b}}if(0===m)return 0;var y=l+m;return y>o.length?0:!n&&d>0?(r.set(o.subarray(0,f),i),r.set([0,0],i+f),r.set(o.subarray(g,y),i+f+2),y-=d,o.length-y>3&&(y=y+3&-4),y):o.length-y>3?(y=y+3&-4,r.set(o.subarray(0,y),i),y):(r.set(o,i),o.length)}function y(a,r,i){var o=a.data,s=l(o[0],o[1],o[2],o[3]);s>>16!==1&&(e("Attempting to fix invalid version in head table: "+s),o[0]=0,o[1]=1,o[2]=0,o[3]=0);var c=n(o[50],o[51]);if(0>c||c>1){e("Attempting to fix invalid indexToLocFormat in head table: "+c);var h=r+1;i===h<<1?(o[50]=0,o[51]=0):i===h<<2?(o[50]=0,o[51]=1):t("Could not fix indexToLocFormat: "+c)}}function x(e,t,a,r,i,n){var o,s,c;r?(o=4,s=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},c=function(e,t,a){e[t]=a>>>24&255,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=255&a}):(o=2,s=function(e,t){return e[t]<<9|e[t+1]<<1},c=function(e,t,a){e[t]=a>>9&255,e[t+1]=a>>1&255});var l=e.data,h=o*(1+a);l.length!==h&&(l=new Uint8Array(h),l.set(e.data.subarray(0,h)),e.data=l);var u=t.data,f=u.length,d=new Uint8Array(f),g=s(l,0),m=0;c(l,0,m);var p,v;for(p=0,v=o;a>p;p++,v+=o){var y=s(l,v);if(y>f&&(f+3&-4)===y&&(y=f),y>f)c(l,v,m),g=y;else{var k=b(u,g,y,d,m,i);m+=k,c(l,v,m),g=y}}if(0===m){var w=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(p=0,v=o;a>p;p++,v+=o)c(l,v,w.length);return void(t.data=w)}if(n){var x=s(l,o);d.length>x+m?t.data=d.subarray(0,x+m):(t.data=new Uint8Array(x+m),t.data.set(d.subarray(0,m))),t.data.set(d.subarray(0,x),m),c(e.data,l.length-o,m+x)}else t.data=d.subarray(0,m)}function B(e,a,r){var i=(o.start?o.start:0)+e.offset;o.pos=i;var n=e.length,s=i+n,c=o.getInt32();o.getBytes(28);var l,h,u=!0;switch(c){case 65536:l=qa;break;case 131072:var f=o.getUint16();if(f!=r){u=!1;break}var d=[];for(h=0;f>h;++h){var g=o.getUint16();if(g>=32768){u=!1;break}d.push(g)}if(!u)break;for(var m=[];o.pos<s;){var p=o.getByte(),b="";for(h=0;p>h;++h)b+=String.fromCharCode(o.getByte());m.push(b)}for(l=[],h=0;f>h;++h){var v=d[h];l.push(258>v?qa[v]:m[v-258])}break;case 196608:break;default:t("Unknown/unsupported post table version "+c),u=!1}return a.glyphNames=l,u}function I(e){var t=(o.start?o.start:0)+e.offset;o.pos=t;var a=[[],[]],r=e.length,i=t+r,n=o.getUint16(),c=6;if(0!==n||c>r)return a;var l,h,u=o.getUint16(),f=o.getUint16(),d=[],g=12;for(l=0;u>l&&o.pos+g<=i;l++){var m={platform:o.getUint16(),encoding:o.getUint16(),language:o.getUint16(),name:o.getUint16(),length:o.getUint16(),offset:o.getUint16()};(1==m.platform&&0===m.encoding&&0===m.language||3==m.platform&&1==m.encoding&&1033==m.language)&&d.push(m)}for(l=0,h=d.length;h>l;l++){var p=d[l],b=t+f+p.offset;if(!(b+p.length>i)){o.pos=b;var v=p.name;if(p.encoding){for(var y="",k=0,w=p.length;w>k;k+=2)y+=String.fromCharCode(o.getUint16());a[1][v]=y}else a[0][v]=s(o.getBytes(p.length))}}return a}function O(e,a){for(var r,i,n,o,s,c=e.data,l=0,h=0,u=0,f=[],d=[],g=[],m=a.tooComplexToFollowFunctions,p=!1,b=0,v=0,y=c.length;y>l;){var k=c[l++];if(64===k)if(i=c[l++],p||v)l+=i;else for(r=0;i>r;r++)f.push(c[l++]);else if(65===k)if(i=c[l++],p||v)l+=2*i;else for(r=0;i>r;r++)n=c[l++],f.push(n<<8|c[l++]);else if(176===(248&k))if(i=k-176+1,p||v)l+=i;else for(r=0;i>r;r++)f.push(c[l++]);else if(184===(248&k))if(i=k-184+1,p||v)l+=2*i;else for(r=0;i>r;r++)n=c[l++],f.push(n<<8|c[l++]);else if(43!==k||m)if(44!==k||m){if(45===k)if(p)p=!1,h=l;else{if(s=d.pop(),!s)return t("TT: ENDF bad stack"),void(a.hintsValid=!1);o=g.pop(),c=s.data,l=s.i,a.functionsStackDeltas[o]=f.length-s.stackTop}else if(137===k)(p||v)&&(t("TT: nested IDEFs not allowed"),m=!0),p=!0,u=l;else if(88===k)++b;else if(27===k)v=b;else if(89===k)v===b&&(v=0),--b;else if(28===k&&!p&&!v){var w=f[f.length-1];w>0&&(l+=w-1)}}else(p||v)&&(t("TT: nested FDEFs not allowed"),m=!0),p=!0,u=l,o=f.pop(),a.functionsDefined[o]={data:c,i:l};else if(!p&&!v)if(o=f[f.length-1],a.functionsUsed[o]=!0,o in a.functionsStackDeltas)f.length+=a.functionsStackDeltas[o];else if(o in a.functionsDefined&&g.indexOf(o)<0){if(d.push({data:c,i:l,stackTop:f.length-1}),g.push(o),s=a.functionsDefined[o],!s)return t("TT: CALL non-existent function"),void(a.hintsValid=!1);c=s.data,l=s.i}if(!p&&!v){var x=142>=k?P[k]:k>=192&&223>=k?-1:k>=224?-2:0;for(k>=113&&117>=k&&(i=f.pop(),i===i&&(x=2*-i));0>x&&f.length>0;)f.pop(),x++;for(;x>0;)f.push(0/0),x--}}a.tooComplexToFollowFunctions=m;var C=[c];l>c.length&&C.push(new Uint8Array(l-c.length)),u>h&&(t("TT: complementing a missing function tail"),C.push(new Uint8Array([34,45]))),R(e,C)}function L(e,a){if(!e.tooComplexToFollowFunctions){if(e.functionsDefined.length>a)return t("TT: more functions defined than expected"),void(e.hintsValid=!1);for(var r=0,i=e.functionsUsed.length;i>r;r++){if(r>a)return t("TT: invalid function id: "+r),void(e.hintsValid=!1);if(e.functionsUsed[r]&&!e.functionsDefined[r])return t("TT: undefined function: "+r),void(e.hintsValid=!1)}}}function R(e,t){if(t.length>1){var a,r,i=0;for(a=0,r=t.length;r>a;a++)i+=t[a].length;i=i+3&-4;var n=new Uint8Array(i),o=0;for(a=0,r=t.length;r>a;a++)n.set(t[a],o),o+=t[a].length;e.data=n,e.length=i}}function T(e,t,a){var r={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(e&&O(e,r),t&&O(t,r),e&&L(r,_),a&&1&a.length){var i=new Uint8Array(a.length+1);i.set(a.data),a.data=i}return r.hintsValid}var P=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];o=new pr(new Uint8Array(o.getBytes()));for(var M,q,D,E,F=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "],U=f(o),N=U.numTables,j={"OS/2":null,cmap:null,head:null,hhea:null,hmtx:null,maxp:null,name:null,post:null},z=0;N>z;z++)D=u(o),F.indexOf(D.tag)<0||0!==D.length&&(j[D.tag]=D);var H=!j["CFF "];if(H)j.glyf&&j.loca||a('Required "glyf" or "loca" tables are not found');else{if(!(j.head&&j.hhea&&j.maxp&&j.post))return q=new pr(j["CFF "].data),M=new Ga(q,h),this.convert(r,M,h);delete j.glyf,delete j.loca,delete j.fpgm,delete j.prep,delete j["cvt "]}j.maxp||a('Required "maxp" table is not found'),o.pos=(o.start||0)+j.maxp.offset;var G=o.getInt32(),X=o.getUint16(),_=0;if(G>=65536&&j.maxp.length>=22){o.pos+=8;var V=o.getUint16();V>2&&(j.maxp.data[14]=0,j.maxp.data[15]=2),o.pos+=4,_=o.getUint16()}var J=!1;"CIDFontType2"==h.type&&h.toUnicode&&h.toUnicode[0]>"\x00"&&(J=!0,X++,j.maxp.data[4]=X>>8,j.maxp.data[5]=255&X);var W=T(j.fpgm,j.prep,j["cvt "],_);W||(delete j.fpgm,delete j.prep,delete j["cvt "]);var K=Object.keys(j);K.sort(),N=K.length;var Y={file:"",virtualOffset:16*N};if(m(U.version,Y,N),g(o,j.hhea,j.hmtx,X),j.head||a('Required "head" table is not found'),y(j.head,X,H?j.loca.length:0),H){var Z=n(j.head.data[50],j.head.data[51]);x(j.loca,j.glyf,X,Z,W,J)}if(j.hhea||a('Required "hhea" table is not found'),0===j.hhea.data[10]&&0===j.hhea.data[11]&&(j.hhea.data[10]=255,j.hhea.data[11]=255),j.post){var Q=B(j.post,h,X);Q||(j.post=null)}var $,et=[];if("CIDFontType2"==h.type){var tt=h.cidToGidMap||[],at=h.cMap.map;for($ in at){$|=0;var rt=at[$];i(1===rt.length,"Max size of CID is 65,535"),rt=rt.charCodeAt(0);var it=-1;0===tt.length?it=$:rt in tt&&(it=tt[rt]),it>=0&&X>it&&(et[$]=it)}J&&(et[0]=X-1)}else{var nt=d(j.cmap,o,this.isSymbolicFont),ot=nt.platformId,st=nt.encodingId,ct=nt.mappings,lt=ct.length,ht=h.differences.length||!!h.baseEncodingName;if(ht&&(3===ot&&1===st||1===ot&&0===st)){var ut=[];for(("MacRomanEncoding"===h.baseEncodingName||"WinAnsiEncoding"===h.baseEncodingName)&&(ut=Ia[h.baseEncodingName]),$=0;256>$;$++){var ft;if(ft=this.differences&&$ in this.differences?this.differences[$]:$ in ut&&""!==ut[$]?ut[$]:Ia.StandardEncoding[$]){var dt;3===ot&&1===st?dt=nr[ft]:1===ot&&0===st&&(dt=Ia.MacRomanEncoding.indexOf(ft));var gt=!1;for(z=0;lt>z;++z)if(ct[z].charCode===dt){et[$]=ct[z].glyphId,gt=!0;break}!gt&&h.glyphNames&&(it=h.glyphNames.indexOf(ft),it>0&&(et[$]=it))}}}else for(z=0;lt>z;++z)$=255&ct[z].charCode,et[$]=ct[z].glyphId}0===et.length&&(et[0]=0);var mt=v(et,h);if(this.toFontChar=mt.toFontChar,j.cmap={tag:"cmap",data:k(mt.charCodeToGlyphId)},!j["OS/2"]||!w(j["OS/2"])){var pt={unitsPerEm:n(j.head.data[18],j.head.data[19]),yMax:n(j.head.data[42],j.head.data[43]),yMin:n(j.head.data[38],j.head.data[39])-65536,ascent:n(j.hhea.data[4],j.hhea.data[5]),descent:n(j.hhea.data[6],j.hhea.data[7])-65536};j["OS/2"]={tag:"OS/2",data:c(C(h,mt.charCodeToGlyphId,pt))}}if(j.post||(j.post={tag:"post",data:c(S(h))}),!H)try{q=new pr(j["CFF "].data);var bt=new Xa(q,h);M=bt.parse();var vt=new rr(M);j["CFF "].data=vt.compile()}catch(yt){t("Failed to compile font "+h.loadedName)}if(j.name){var kt=I(j.name);j.name.data=c(A(r,kt))}else j.name={tag:"name",data:c(A(this.name))};for(z=0;N>z;z++){D=j[K[z]];var wt=[];E=D.data;for(var xt=0,Ct=E.length;Ct>xt;xt++)wt.push(E[xt]);p(Y,D.tag,wt)}for(z=0;N>z;z++)for(D=j[K[z]],E=D.data,Y.file+=s(new Uint8Array(E));3&Y.file.length;)Y.file+=String.fromCharCode(0);return c(Y.file)},convert:function(e,t,a){function r(e,t,a){for(var r in e)if(t===e[r])return 0|r;return a?(o.charCodeToGlyphId[o.nextAvailableFontCharCode]=t,o.nextAvailableFontCharCode++):null}var i={file:"",virtualOffset:144};m("OTTO",i,9),a.fixedPitch=!1;var n=t.getGlyphMapping(a),o=v(n,a);this.toFontChar=o.toFontChar;var l=t.numGlyphs,h=t.seacs;if(Aa&&h&&h.length){var u=a.fontMatrix||X,g=t.getCharset(),b=Object.create(null);for(var y in h){y|=0;var w=h[y],x=Ia.StandardEncoding[w[2]],B=Ia.StandardEncoding[w[3]],I=g.indexOf(x),O=g.indexOf(B);if(!(0>I||0>O)){var L={x:w[0]*u[0]+w[1]*u[2]+u[4],y:w[0]*u[1]+w[1]*u[3]+u[5]},R=r(n,y);if(null!==R){var T=o.charCodeToGlyphId,P=r(T,I,!0),M=r(T,O,!0);b[R]={baseFontCharCode:P,accentFontCharCode:M,accentOffset:L}}}}a.seacMap=b}var q,D=1/(a.fontMatrix||X)[0],E={"CFF ":t.data,"OS/2":c(C(a,o.charCodeToGlyphId)),cmap:k(o.charCodeToGlyphId),head:function(){return c("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00_<õ\x00\x00"+d(D)+"\x00\x00\x00\x00ž ~'\x00\x00\x00\x00ž ~'\x00\x00"+d(a.descent)+"ÿ"+d(a.ascent)+f(a.italicAngle?2:0)+"\x00\x00\x00\x00\x00\x00\x00")}(),hhea:function(){return c("\x00\x00\x00"+d(a.ascent)+d(a.descent)+"\x00\x00ÿÿ\x00\x00\x00\x00\x00\x00"+d(a.capHeight)+d(Math.tan(a.italicAngle)*a.xHeight)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+f(l))}(),hmtx:function(){for(var e=t.charstrings,a="\x00\x00\x00\x00",r=1,i=l;i>r;r++){var n=e?e[r-1]:{},o="width"in n?n.width:0;a+=f(o)+f(0)}return c(a)}(),maxp:function(){return c("\x00\x00P\x00"+f(l))}(),name:c(A(e)),post:c(S(a))};for(q in E)p(i,q,E[q]);for(q in E){var F=E[q];i.file+=s(new Uint8Array(F))}return c(i.file)},buildToUnicode:function(e){var t={isIdentity:!1,toUnicode:null};if(e.toUnicode&&0!==e.toUnicode.length)return t.toUnicode=e.toUnicode,t;var a,r;if(!e.composite){a=[];var n=e.defaultEncoding.slice(),o=e.differences;for(r in o)n[r]=o[r];for(r in n){var s=n[r];if(""!==s&&s in nr)a[r]=String.fromCharCode(nr[s]);else{var c;3===s.length&&"G"===s[0]&&(c=parseInt(s.substr(1),16))&&(a[r]=String.fromCharCode(c)),s.length>=3&&"C"===s[0]&&(c=+s.substr(1))&&(a[r]=String.fromCharCode(c))}}return t.toUnicode=a,t}if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof ba)||"Adobe"===e.cidSystemInfo.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){var l=e.cidSystemInfo.registry,h=e.cidSystemInfo.ordering,u=new Bt(l+"-"+h+"-UCS2"),f=ya.create(u,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),d=e.cMap;a=[];for(r in d.map){var g=d.map[r];i(1===g.length,"Max size of CID is 65,535");var m=f.map[g.charCodeAt(0)];m&&(a[r]=String.fromCharCode((m.charCodeAt(0)<<8)+m.charCodeAt(1)))}return t.toUnicode=a,t}a=[];for(var p=e.firstChar,b=e.lastChar,v=p;b>=v;v++)a[v]=String.fromCharCode(v);return t.isIdentity=!0,t.toUnicode=a,t},get spaceWidth(){if("_shadowWidth"in this)return this._shadowWidth;for(var e,t=["space","minus","one","i"],a=0,r=t.length;r>a;a++){var i=t[a];if(i in this.widths){e=this.widths[i];break}var n=nr[i],o=0;if(this.composite&&n in this.cMap.map&&(o=this.cMap.lookup(n).charCodeAt(0)),!o&&"toUnicode"in this&&(o=this.toUnicode.indexOf(n)),0>=o&&(o=n),e=this.widths[o])break}return e=e||this.defaultWidth,this._shadowWidth=e,e},charToGlyph:function(e){var t,a,r,i=e;this.cMap&&e in this.cMap.map&&(i=this.cMap.map[e].charCodeAt(0)),a=this.widths[i],a=x(a)?a:this.defaultWidth;var n=this.vmetrics&&this.vmetrics[i],o=this.toUnicode[e]||e;"number"==typeof o&&(o=String.fromCharCode(o)),t=this.toFontChar[e]||e,this.missingFile&&(t=D(t)),this.isType3Font&&(r=t);var s=null;if(this.seacMap&&this.seacMap[e]){var c=this.seacMap[e];t=c.baseFontCharCode,s={fontChar:String.fromCharCode(c.accentFontCharCode),offset:c.accentOffset}}var l=String.fromCharCode(t),h=this.glyphCache[e];return h&&h.matchesForCache(l,o,s,a,n,r)||(h=new Ea(l,o,s,a,n,r),this.glyphCache[e]=h),h},charsToGlyphs:function(e){var t,a,r,i=this.charsCache;if(i&&(t=i[e]))return t;i||(i=this.charsCache=Object.create(null)),t=[];var n,o=e,s=0;if(this.cMap)for(;s<e.length;){var c=this.cMap.readCharCode(e,s);r=c[0];var l=c[1];s+=l,a=this.charToGlyph(r),t.push(a),1===l&&32===e.charCodeAt(s-1)&&t.push(null)}else for(s=0,n=e.length;n>s;++s)r=e.charCodeAt(s),a=this.charToGlyph(r),t.push(a),32==r&&t.push(null);return i[o]=t}},r}(),Ua=function(){function e(e){this.error=e,this.loadedName="g_font_error",this.loading=!1}return e.prototype={charsToGlyphs:function(){return[]},exportData:function(){return{error:this.error}}},e}(),Na=function(){function e(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}var a={hstem:[1],vstem:[3],vmoveto:[4],rlineto:[5],hlineto:[6],vlineto:[7],rrcurveto:[8],callsubr:[10],flex:[12,35],drop:[12,18],endchar:[14],rmoveto:[21],hmoveto:[22],vhcurveto:[30],hvcurveto:[31]};return e.prototype={convert:function(e,r){for(var i,n,o,s=e.length,c=!1,l=0;s>l;l++){var h=e[l];if(32>h){switch(12===h&&(h=(h<<8)+e[++l]),h){case 1:if(!Sa){this.stack=[];break}c=this.executeCommand(2,a.hstem);break;case 3:if(!Sa){this.stack=[];break}c=this.executeCommand(2,a.vstem);break;case 4:if(this.flexing){if(this.stack.length<1){c=!0;break}var u=this.stack.pop();this.stack.push(0,u);break}c=this.executeCommand(1,a.vmoveto);break;case 5:c=this.executeCommand(2,a.rlineto);break;case 6:c=this.executeCommand(1,a.hlineto);break;case 7:c=this.executeCommand(1,a.vlineto);break;case 8:c=this.executeCommand(6,a.rrcurveto);break;case 9:this.stack=[];break;case 10:if(this.stack.length<1){c=!0;break}o=this.stack.pop(),c=this.convert(r[o],r);break;case 11:return c;case 13:if(this.stack.length<2){c=!0;break}i=this.stack.pop(),n=this.stack.pop(),this.lsb=n,this.width=i,this.stack.push(n),c=this.executeCommand(1,a.hmoveto);break;case 14:this.output.push(a.endchar[0]);break;case 21:if(this.flexing)break;c=this.executeCommand(2,a.rmoveto);break;case 22:if(this.flexing){this.stack.push(0);break}c=this.executeCommand(1,a.hmoveto);break;case 30:c=this.executeCommand(4,a.vhcurveto);break;case 31:c=this.executeCommand(4,a.hvcurveto);break;case 3072:this.stack=[];break;case 3073:if(!Sa){this.stack=[];break}c=this.executeCommand(2,a.vstem);break;case 3074:if(!Sa){this.stack=[];break}c=this.executeCommand(2,a.hstem);break;case 3078:Aa?(this.seac=this.stack.splice(-4,4),c=this.executeCommand(0,a.endchar)):c=this.executeCommand(4,a.endchar);break;case 3079:if(this.stack.length<4){c=!0;break}{this.stack.pop()}i=this.stack.pop();var f=this.stack.pop();n=this.stack.pop(),this.lsb=n,this.width=i,this.stack.push(n,f),c=this.executeCommand(2,a.rmoveto);break;case 3084:if(this.stack.length<2){c=!0;break}var d=this.stack.pop(),g=this.stack.pop();this.stack.push(g/d);break;case 3088:if(this.stack.length<2){c=!0;break}o=this.stack.pop();var m=this.stack.pop();if(0===o&&3===m){var p=this.stack.splice(this.stack.length-17,17);this.stack.push(p[2]+p[0],p[3]+p[1],p[4],p[5],p[6],p[7],p[8],p[9],p[10],p[11],p[12],p[13],p[14]),c=this.executeCommand(13,a.flex,!0),this.flexing=!1,this.stack.push(p[15],p[16])}else 1===o&&0===m&&(this.flexing=!0);break;case 3089:break;case 3105:this.stack=[];break;default:t('Unknown type 1 charstring command of "'+h+'"')}if(c)break}else 246>=h?h-=139:h=250>=h?256*(h-247)+e[++l]+108:254>=h?-(256*(h-251))-e[++l]-108:(255&e[++l])<<24|(255&e[++l])<<16|(255&e[++l])<<8|(255&e[++l])<<0,this.stack.push(h)}return c},executeCommand:function(e,t,a){var r=this.stack.length;if(e>r)return!0;for(var i=r-e,n=i;r>n;n++){var o=this.stack[n];o===(0|o)?this.output.push(28,o>>8&255,255&o):(o=65536*o|0,this.output.push(255,o>>24&255,o>>16&255,o>>8&255,255&o))}return this.output.push.apply(this.output,t),a?this.stack.splice(i,e):this.stack.length=0,!1}},e}(),ja=function(){function e(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function t(e,t,a){for(var r=0|t,i=52845,n=22719,o=e.length,s=new Uint8Array(o),c=0;o>c;c++){var l=e[c];s[c]=l^r>>8,r=(l+r)*i+n&65535}return Array.prototype.slice.call(s,a)}function a(t,a,r){var i,n,o=0|a,s=52845,c=22719,l=t.length,h=l>>>1,u=new Uint8Array(h);for(i=0,n=0;l>i;i++){var f=t[i];if(e(f)){i++;for(var d;l>i&&!e(d=t[i]);)i++;if(l>i){var g=parseInt(String.fromCharCode(f,d),16);u[n++]=g^o>>8,o=(g+o)*s+c&65535}}}return Array.prototype.slice.call(u,r,n)}function r(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}function i(r,i){if(i){var o=r.getBytes(),s=!(e(o[0])&&e(o[1])&&e(o[2])&&e(o[3]));r=new pr(s?t(o,n,4):a(o,n,4))}this.stream=r,this.nextChar()}var n=55665,o=4330;return i.prototype={readNumberArray:function(){this.getToken();for(var e=[];;){var t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e},readNumber:function(){var e=this.getToken();return parseFloat(e||0)},readInt:function(){var e=this.getToken();return 0|parseInt(e||0,10)},readBoolean:function(){var e=this.getToken();return"true"===e?1:0},nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var e=!1,t=this.currentChar;;){if(-1===t)return null;if(e)(10===t||13===t)&&(e=!1);else if(37===t)e=!0;else if(!hr.isSpace(t))break;t=this.nextChar()}if(r(t))return this.nextChar(),String.fromCharCode(t);var a="";do a+=String.fromCharCode(t),t=this.nextChar();while(t>=0&&!hr.isSpace(t)&&!r(t));return a},extractFontProgram:function(){for(var e,a,r,i,n,s=this.stream,c=[],l=[],h={subrs:[],charstrings:[],properties:{privateData:{lenIV:4}}};null!==(e=this.getToken());)if("/"===e)switch(e=this.getToken()){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();;){if(e=this.getToken(),null===e||"end"===e)break;if("/"===e){var u=this.getToken();a=this.readInt(),this.getToken(),r=s.makeSubStream(s.pos,a),i=h.properties.privateData.lenIV,n=t(r.getBytes(),o,i),s.skip(a),this.nextChar(),e=this.getToken(),"noaccess"===e&&this.getToken(),l.push({glyph:u,encoded:n})}}break;case"Subrs":{this.readInt()}for(this.getToken();"dup"===(e=this.getToken());){var f=this.readInt();a=this.readInt(),this.getToken(),r=s.makeSubStream(s.pos,a),i=h.properties.privateData.lenIV,n=t(r.getBytes(),o,i),s.skip(a),this.nextChar(),e=this.getToken(),"noaccess"===e&&this.getToken(),c[f]=n}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":var d=this.readNumberArray();d.length>0&&d.length%2===0&&Sa&&(h.properties.privateData[e]=d);break;case"StemSnapH":case"StemSnapV":h.properties.privateData[e]=this.readNumberArray();break;case"StdHW":case"StdVW":h.properties.privateData[e]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":case"ExpansionFactor":h.properties.privateData[e]=this.readNumber();break;case"ForceBold":h.properties.privateData[e]=this.readBoolean()}for(var g=0;g<l.length;g++){u=l[g].glyph,n=l[g].encoded;var m=new Na,p=m.convert(n,c),b=m.output;p&&(b=[14]),h.charstrings.push({glyphName:u,charstring:b,width:m.width,lsb:m.lsb,seac:m.seac})}return h},extractFontHeader:function(e){for(var t;null!==(t=this.getToken());)if("/"===t)switch(t=this.getToken()){case"FontMatrix":var a=this.readNumberArray();e.fontMatrix=a;break;case"Encoding":var r,i=this.getToken();if(/^\d+$/.test(i)){r=[];var n=0|parseInt(i,10);this.getToken();for(var o=0;n>o;o++){for(t=this.getToken();"dup"!==t&&"def"!==t;)if(t=this.getToken(),null===t)return;if("def"===t)break;var s=this.readInt();this.getToken();var c=this.getToken();r[s]=c,this.getToken()}}else r=Ia[i];e.builtInEncoding=r;break;case"FontBBox":var l=this.readNumberArray();e.ascent=l[3],e.descent=l[1],e.ascentScaled=!0}}},i}(),za=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Ha=function(e,t,a){var r=6,i=a.length1,n=a.length2,o=t.peekBytes(r),s=128==o[0]&&1==o[1];
-s&&(t.skip(r),i=o[5]<<24|o[4]<<16|o[3]<<8|o[2]);var c=new pr(t.getBytes(i)),l=new ja(c);l.extractFontHeader(a),s&&(o=t.getBytes(r),n=o[5]<<24|o[4]<<16|o[3]<<8|o[2]);var h=new pr(t.getBytes(n)),u=new ja(h,!0),f=u.extractFontProgram();for(var d in f.properties)a[d]=f.properties[d];var g=f.charstrings,m=this.getType2Charstrings(g),p=this.getType2Subrs(f.subrs);this.charstrings=g,this.data=this.wrap(e,m,this.charstrings,p,a),this.seacs=this.getSeacs(f.charstrings)};Ha.prototype={get numGlyphs(){return this.charstrings.length+1},getCharset:function(){for(var e=[".notdef"],t=this.charstrings,a=0;a<t.length;a++)e.push(t[a].glyphName);return e},getGlyphMapping:function(e){var t,a=this.charstrings,r=[".notdef"];for(t=0;t<a.length;t++)r.push(a[t].glyphName);var i=e.builtInEncoding;if(i){var n={};for(var o in i)t=r.indexOf(i[o]),t>=0&&(n[o]=t)}return j(e,n,r)},getSeacs:function(e){var t,a,r=[];for(t=0,a=e.length;a>t;t++){var i=e[t];i.seac&&(r[t+1]=i.seac)}return r},getType2Charstrings:function(e){for(var t=[],a=0,r=e.length;r>a;a++)t.push(e[a].charstring);return t},getType2Subrs:function(e){var t=0,a=e.length;t=1133>a?107:33769>a?1131:32768;var r,i=[];for(r=0;t>r;r++)i.push([11]);for(r=0;a>r;r++)i.push(e[r]);return i},wrap:function(e,t,a,r,i){var n=new _a;n.header=new Va(1,0,4,4),n.names=[e];var o=new Ya;o.setByName("version",391),o.setByName("Notice",392),o.setByName("FullName",393),o.setByName("FamilyName",394),o.setByName("Weight",395),o.setByName("Encoding",null),o.setByName("FontMatrix",i.fontMatrix),o.setByName("FontBBox",i.bbox),o.setByName("charset",null),o.setByName("CharStrings",null),o.setByName("Private",null),n.topDict=o;var s=new Ja;s.add("Version 0.11"),s.add("See original notice"),s.add(e),s.add(e),s.add("Medium"),n.strings=s,n.globalSubrIndex=new Wa;var c,l,h=t.length,u=[0];for(c=0;h>c;c++){var f=za.indexOf(a[c].glyphName);-1==f&&(f=0),u.push(f>>8&255,255&f)}n.charset=new $a(!1,0,[],u);var d=new Wa;for(d.add([139,14]),c=0;h>c;c++)d.add(t[c]);n.charStrings=d;var g=new Za;g.setByName("Subrs",null);var m=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(c=0,l=m.length;l>c;c++){var p=m[c];if(i.privateData.hasOwnProperty(p)){var b=i.privateData[p];if(I(b))for(var v=b.length-1;v>0;v--)b[v]-=b[v-1];g.setByName(p,b)}}n.topDict.privateDict=g;var y=new Wa;for(c=0,l=r.length;l>c;c++)y.add(r[c]);g.subrsIndex=y;var k=new rr(n);return k.compile()}};var Ga=function(){function e(e,a){this.properties=a;var r=new Xa(e,a);this.cff=r.parse();var i=new rr(this.cff);this.seacs=this.cff.seacs;try{this.data=i.compile()}catch(n){t("Failed to compile font "+a.loadedName),this.data=e}}return e.prototype={get numGlyphs(){return this.cff.charStrings.count},getCharset:function(){return this.cff.charset.charset},getGlyphMapping:function(){var e,t,a=this.cff,r=this.properties,i=a.charset.charset;if(r.composite){if(e=Object.create(null),a.isCIDFont)for(t=0;t<i.length;t++){var n=String.fromCharCode(i[t]),o=r.cMap.map.indexOf(n);e[o]=t}else for(t=0;t<a.charStrings.count;t++)e[t]=t;return e}var s=a.encoding?a.encoding.encoding:null;return e=j(r,s,i)}},e}(),Xa=function(){function r(e,t){this.bytes=e.getBytes(),this.properties=t}var i=[null,{id:"hstem",min:2,resetStack:!0,stem:!0},null,{id:"vstem",min:2,resetStack:!0,stem:!0},{id:"vmoveto",min:1,resetStack:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,null,null,null,null,{id:"hstemhm",min:2,resetStack:!0,stem:!0},null,null,{id:"rmoveto",min:2,resetStack:!0},{id:"hmoveto",min:1,resetStack:!0},{id:"vstemhm",min:2,resetStack:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],n=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn:function(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn:function(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn:function(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn:function(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn:function(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];return r.prototype={parse:function(){var e=this.properties,t=new _a;this.cff=t;var a=this.parseHeader(),r=this.parseIndex(a.endPos),i=this.parseIndex(r.endPos),n=this.parseIndex(i.endPos),o=this.parseIndex(n.endPos),s=this.parseDict(i.obj.get(0)),c=this.createDict(Ya,s,t.strings);t.header=a.obj,t.names=this.parseNameIndex(r.obj),t.strings=this.parseStringIndex(n.obj),t.topDict=c,t.globalSubrIndex=o.obj,this.parsePrivateDict(t.topDict),t.isCIDFont=c.hasName("ROS");var l=c.getByName("CharStrings"),h=this.parseCharStrings(l);t.charStrings=h.charStrings,t.seacs=h.seacs;var u=c.getByName("FontMatrix");u&&(e.fontMatrix=u);var f=c.getByName("FontBBox");f&&(e.ascent=f[3],e.descent=f[1],e.ascentScaled=!0);var d,g;if(t.isCIDFont){for(var m=this.parseIndex(c.getByName("FDArray")).obj,p=0,b=m.count;b>p;++p){var v=m.get(p),y=this.createDict(Ya,this.parseDict(v),t.strings);this.parsePrivateDict(y),t.fdArray.push(y)}g=null,d=this.parseCharsets(c.getByName("charset"),t.charStrings.count,t.strings,!0),t.fdSelect=this.parseFDSelect(c.getByName("FDSelect"),t.charStrings.count)}else d=this.parseCharsets(c.getByName("charset"),t.charStrings.count,t.strings,!1),g=this.parseEncoding(c.getByName("Encoding"),e,t.strings,d.charset);return t.charset=d,t.encoding=g,t},parseHeader:function(){for(var t=this.bytes,r=t.length,i=0;r>i&&1!==t[i];)++i;i>=r?a("Invalid CFF header"):0!==i&&(e("cff data is shifted"),t=t.subarray(i),this.bytes=t);var n=t[0],o=t[1],s=t[2],c=t[3],l=new Va(n,o,s,c);return{obj:l,endPos:s}},parseDict:function(e){function t(){var t=e[i++];return 30===t?r(i):28===t?(t=e[i++],t=(t<<24|e[i++]<<16)>>16):29===t?(t=e[i++],t=t<<8|e[i++],t=t<<8|e[i++],t=t<<8|e[i++]):t>=32&&246>=t?t-139:t>=247&&250>=t?256*(t-247)+e[i++]+108:t>=251&&254>=t?-(256*(t-251))-e[i++]-108:(a("255 is not a valid DICT command"),-1)}function r(){for(var t="",a=15,r=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],n=e.length;n>i;){var o=e[i++],s=o>>4,c=15&o;if(s==a)break;if(t+=r[s],c==a)break;t+=r[c]}return parseFloat(t)}var i=0,n=[],o=[];i=0;for(var s=e.length;s>i;){var c=e[i];21>=c?(12===c&&(c=c<<8|e[++i]),o.push([c,n]),n=[],++i):n.push(t())}return o},parseIndex:function(e){var t,a,r=new Wa,i=this.bytes,n=i[e++]<<8|i[e++],o=[],s=e;if(0!==n){var c=i[e++],l=e+(n+1)*c-1;for(t=0,a=n+1;a>t;++t){for(var h=0,u=0;c>u;++u)h<<=8,h+=i[e++];o.push(l+h)}s=o[n]}for(t=0,a=o.length-1;a>t;++t){var f=o[t],d=o[t+1];r.add(i.subarray(f,d))}return{obj:r,endPos:s}},parseNameIndex:function(e){for(var t=[],a=0,r=e.count;r>a;++a){for(var i=e.get(a),n=Math.min(i.length,127),o=[],c=0;n>c;++c){var l=i[c];o[c]=(0!==c||0!==l)&&(33>l||l>126||91===l||93===l||40===l||41===l||123===l||125===l||60===l||62===l||47===l||37===l||35===l)?95:l}t.push(s(o))}return t},parseStringIndex:function(e){for(var t=new Ja,a=0,r=e.count;r>a;++a){var i=e.get(a);t.add(s(i))}return t},createDict:function(e,t,a){for(var r=new e(a),i=0,n=t.length;n>i;++i){var o=t[i],s=o[0],c=o[1];r.setByKey(s,c)}return r},parseCharStrings:function(e){for(var a=this.parseIndex(e).obj,r=[],o=a.count,s=0;o>s;s++){for(var c=a.get(s),l=0,h=[],u=!0,f=0,d=!0,g=c,m=g.length,p=0;m>p;){var b=g[p++],v=null;if(12==b){var y=g[p++];0===y?(g[p-2]=139,g[p-1]=22,l=0):v=n[y]}else 28===b?(h[l]=(g[p]<<24|g[p+1]<<16)>>16,p+=2,l++):14==b?l>=4&&(l-=4,Aa&&(r[s]=h.slice(l,l+4),d=!1)):b>=32&&246>=b?(h[l]=b-139,l++):b>=247&&254>=b?(h[l]=251>b?(b-247<<8)+g[p]+108:-(b-251<<8)-g[p]-108,p++,l++):255==b?(h[l]=(g[p]<<24|g[p+1]<<16|g[p+2]<<8|g[p+3])/65536,p+=4,l++):19==b||20==b?(f+=l>>1,p+=f+7>>3,l=0):v=i[b];if(v){if(v.stem&&(f+=l>>1),"min"in v&&!u&&l<v.min){t("Not enough parameters for "+v.id+"; actual: "+l+", expected: "+v.min),d=!1;break}"stackDelta"in v?("stackFn"in v&&v.stackFn(h,l),l+=v.stackDelta):v.resetStack?(l=0,u=!1):v.undefStack&&(l=0,u=!0)}}d||a.set(s,new Uint8Array([14]))}return{charStrings:a,seacs:r}},emptyPrivateDictionary:function(e){var t=this.createDict(Za,[],e.strings);e.setByKey(18,[0,0]),e.privateDict=t},parsePrivateDict:function(e){if(!e.hasName("Private"))return void this.emptyPrivateDictionary(e);var t=e.getByName("Private");if(!I(t)||2!==t.length)return void e.removeByName("Private");var a=t[0],r=t[1];if(0===a||r>=this.bytes.length)return void this.emptyPrivateDictionary(e);var i=r+a,n=this.bytes.subarray(r,i),o=this.parseDict(n),s=this.createDict(Za,o,e.strings);if(e.privateDict=s,s.getByName("Subrs")){var c=s.getByName("Subrs"),l=r+c;if(0===c||l>=this.bytes.length)return void this.emptyPrivateDictionary(e);var h=this.parseIndex(l);s.subrsIndex=h.obj}},parseCharsets:function(e,t,r,i){if(0===e)return new $a(!0,Qa.ISO_ADOBE,Ft);if(1==e)return new $a(!0,Qa.EXPERT,Ut);if(2==e)return new $a(!0,Qa.EXPERT_SUBSET,Nt);var n,o,s,c=this.bytes,l=e,h=c[e++],u=[".notdef"];switch(t-=1,h){case 0:for(s=0;t>s;s++)n=c[e++]<<8|c[e++],u.push(i?n:r.get(n));break;case 1:for(;u.length<=t;)for(n=c[e++]<<8|c[e++],o=c[e++],s=0;o>=s;s++)u.push(i?n++:r.get(n++));break;case 2:for(;u.length<=t;)for(n=c[e++]<<8|c[e++],o=c[e++]<<8|c[e++],s=0;o>=s;s++)u.push(i?n++:r.get(n++));break;default:a("Unknown charset format")}var f=e,d=c.subarray(l,f);return new $a(!1,h,u,d)},parseEncoding:function(e,t,r,i){function n(){var t=h[e++];for(s=0;t>s;s++){var a=h[e++],n=(h[e++]<<8)+(255&h[e++]);l[a]=i.indexOf(r.get(n))}}var o,s,c,l={},h=this.bytes,u=!1,f=!1,d=null;if(0===e||1==e){u=!0,o=e;var g=e?Ia.ExpertEncoding:Ia.StandardEncoding;for(s=0,c=i.length;c>s;s++){var m=g.indexOf(i[s]);-1!=m&&(l[m]=s)}}else{var p=e;switch(o=h[e++],127&o){case 0:var b=h[e++];for(s=1;b>=s;s++)l[h[e++]]=s;break;case 1:var v=h[e++],y=1;for(s=0;v>s;s++)for(var k=h[e++],w=h[e++],x=k;k+w>=x;x++)l[x]=y++;break;default:a("Unknow encoding format: "+o+" in CFF")}var C=e;128&o&&(h[p]&=127,n(),f=!0),d=h.subarray(p,C)}return o=127&o,new er(u,o,l,d)},parseFDSelect:function(e,t){var r,i=e,n=this.bytes,o=n[e++],s=[];switch(o){case 0:for(r=0;t>r;++r){var c=n[e++];s.push(c)}break;case 3:var l=n[e++]<<8|n[e++];for(r=0;l>r;++r)for(var h=n[e++]<<8|n[e++],u=n[e++],f=n[e]<<8|n[e+1],d=h;f>d;++d)s.push(u);e+=2;break;default:a("Unknown fdselect format "+o)}var g=e;return new tr(s,n.subarray(i,g))}},r}(),_a=function(){function e(){this.header=null,this.names=[],this.topDict=null,this.strings=new Ja,this.globalSubrIndex=null,this.encoding=null,this.charset=null,this.charStrings=null,this.fdArray=[],this.fdSelect=null,this.isCIDFont=!1}return e}(),Va=function(){function e(e,t,a,r){this.major=e,this.minor=t,this.hdrSize=a,this.offSize=r}return e}(),Ja=function(){function e(){this.strings=[]}return e.prototype={get:function(e){return e>=0&&390>=e?za[e]:e-391<=this.strings.length?this.strings[e-391]:za[0]},add:function(e){this.strings.push(e)},get count(){return this.strings.length}},e}(),Wa=function(){function e(){this.objects=[],this.length=0}return e.prototype={add:function(e){this.length+=e.length,this.objects.push(e)},set:function(e,t){this.length+=t.length-this.objects[e].length,this.objects[e]=t},get:function(e){return this.objects[e]},get count(){return this.objects.length}},e}(),Ka=function(){function e(e,t){this.keyToNameMap=e.keyToNameMap,this.nameToKeyMap=e.nameToKeyMap,this.defaults=e.defaults,this.types=e.types,this.opcodes=e.opcodes,this.order=e.order,this.strings=t,this.values={}}return e.prototype={setByKey:function(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;var a=this.types[e];return("num"===a||"sid"===a||"offset"===a)&&(t=t[0]),this.values[e]=t,!0},setByName:function(e,t){e in this.nameToKeyMap||a('Invalid dictionary name "'+e+'"'),this.values[this.nameToKeyMap[e]]=t},hasName:function(e){return this.nameToKeyMap[e]in this.values},getByName:function(e){e in this.nameToKeyMap||a('Invalid dictionary name "'+e+'"');var t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]},removeByName:function(e){delete this.values[this.nameToKeyMap[e]]}},e.createTables=function(e){for(var t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]},a=0,r=e.length;r>a;++a){var i=e[a],n=I(i[0])?(i[0][0]<<8)+i[0][1]:i[0];t.keyToNameMap[n]=i[1],t.nameToKeyMap[i[1]]=n,t.types[n]=i[2],t.defaults[n]=i[3],t.opcodes[n]=I(i[0])?i[0]:[i[0]],t.order.push(n)}return t},e}(),Ya=function(){function e(e){null===a&&(a=Ka.createTables(t)),Ka.call(this,a,e),this.privateDict=null}var t=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]],a=null;return e.prototype=Object.create(Ka.prototype),e}(),Za=function(){function e(e){null===a&&(a=Ka.createTables(t)),Ka.call(this,a,e),this.subrsIndex=null}var t=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]],a=null;return e.prototype=Object.create(Ka.prototype),e}(),Qa={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2},$a=function(){function e(e,t,a,r){this.predefined=e,this.format=t,this.charset=a,this.raw=r}return e}(),er=function(){function e(e,t,a,r){this.predefined=e,this.format=t,this.encoding=a,this.raw=r}return e}(),tr=function(){function e(e,t){this.fdSelect=e,this.raw=t}return e}(),ar=function(){function e(){this.offsets={}}return e.prototype={isTracking:function(e){return e in this.offsets},track:function(e,t){e in this.offsets&&a("Already tracking location of "+e),this.offsets[e]=t},offset:function(e){for(var t in this.offsets)this.offsets[t]+=e},setEntryLocation:function(e,t,r){e in this.offsets||a("Not tracking location of "+e);for(var i=r.data,n=this.offsets[e],o=5,s=0,c=t.length;c>s;++s){var l=s*o+n,h=l+1,u=l+2,f=l+3,d=l+4;(29!==i[l]||0!==i[h]||0!==i[u]||0!==i[f]||0!==i[d])&&a("writing to an offset that is not empty");var g=t[s];i[l]=29,i[h]=g>>24&255,i[u]=g>>16&255,i[f]=g>>8&255,i[d]=255&g}}},e}(),rr=function(){function e(e){this.cff=e}return e.prototype={compile:function(){var e=this.cff,t={data:[],length:0,add:function(e){this.data=this.data.concat(e),this.length=this.data.length}},a=this.compileHeader(e.header);t.add(a);var r=this.compileNameIndex(e.names);if(t.add(r),e.isCIDFont&&e.topDict.hasName("FontMatrix")){var i=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(var n=0,o=e.fdArray.length;o>n;n++){var s=e.fdArray[n],c=i.slice(0);s.hasName("FontMatrix")&&(c=ot.transform(c,s.getByName("FontMatrix"))),s.setByName("FontMatrix",c)}}var l=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(l.output);var h=l.trackers[0],u=this.compileStringIndex(e.strings.strings);t.add(u);var f=this.compileIndex(e.globalSubrIndex);if(t.add(f),e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)h.setEntryLocation("Encoding",[e.encoding.format],t);else{var d=this.compileEncoding(e.encoding);h.setEntryLocation("Encoding",[t.length],t),t.add(d)}if(e.charset&&e.topDict.hasName("charset"))if(e.charset.predefined)h.setEntryLocation("charset",[e.charset.format],t);else{var g=this.compileCharset(e.charset);h.setEntryLocation("charset",[t.length],t),t.add(g)}var m=this.compileCharStrings(e.charStrings);if(h.setEntryLocation("CharStrings",[t.length],t),t.add(m),e.isCIDFont){h.setEntryLocation("FDSelect",[t.length],t);var p=this.compileFDSelect(e.fdSelect.raw);t.add(p),l=this.compileTopDicts(e.fdArray,t.length,!0),h.setEntryLocation("FDArray",[t.length],t),t.add(l.output);var b=l.trackers;this.compilePrivateDicts(e.fdArray,b,t)}return this.compilePrivateDicts([e.topDict],[h],t),t.add([0]),t.data},encodeNumber:function(e){return parseFloat(e)!=parseInt(e,10)||isNaN(e)?this.encodeFloat(e):this.encodeInteger(e)},encodeFloat:function(e){var t=e.toString(),a=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(a){var r=parseFloat("1e"+((a[2]?+a[2]:0)+a[1].length));t=(Math.round(e*r)/r).toString()}var i,n,o="";for(i=0,n=t.length;n>i;++i){var s=t[i];o+="e"===s?"-"===t[++i]?"c":"b":"."===s?"a":"-"===s?"e":s}o+=1&o.length?"f":"ff";var c=[30];for(i=0,n=o.length;n>i;i+=2)c.push(parseInt(o.substr(i,2),16));return c},encodeInteger:function(e){var t;return e>=-107&&107>=e?t=[e+139]:e>=108&&1131>=e?(e=[e-108],t=[(e>>8)+247,255&e]):e>=-1131&&-108>=e?(e=-e-108,t=[(e>>8)+251,255&e]):t=e>=-32768&&32767>=e?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e],t},compileHeader:function(e){return[e.major,e.minor,e.hdrSize,e.offSize]},compileNameIndex:function(e){for(var t=new Wa,a=0,r=e.length;r>a;++a)t.add(c(e[a]));return this.compileIndex(t)},compileTopDicts:function(e,t,a){for(var r=[],i=new Wa,n=0,o=e.length;o>n;++n){var s=e[n];a&&(s.removeByName("CIDFontVersion"),s.removeByName("CIDFontRevision"),s.removeByName("CIDFontType"),s.removeByName("CIDCount"),s.removeByName("UIDBase"));var c=new ar,l=this.compileDict(s,c);r.push(c),i.add(l),c.offset(t)}return i=this.compileIndex(i,r),{trackers:r,output:i}},compilePrivateDicts:function(e,t,a){for(var r=0,n=e.length;n>r;++r){var o=e[r];i(o.privateDict&&o.hasName("Private"),"There must be an private dictionary.");var s=o.privateDict,c=new ar,l=this.compileDict(s,c),h=a.length;if(c.offset(h),l.length||(h=0),t[r].setEntryLocation("Private",[l.length,h],a),a.add(l),s.subrsIndex&&s.hasName("Subrs")){var u=this.compileIndex(s.subrsIndex);c.setEntryLocation("Subrs",[l.length],a),a.add(u)}}},compileDict:function(e,t){for(var r=[],i=e.order,n=0;n<i.length;++n){var o=i[n];if(o in e.values){var s=e.values[o],c=e.types[o];if(I(c)||(c=[c]),I(s)||(s=[s]),0!==s.length){for(var l=0,h=c.length;h>l;++l){var u=c[l],f=s[l];switch(u){case"num":case"sid":r=r.concat(this.encodeNumber(f));break;case"offset":var d=e.keyToNameMap[o];t.isTracking(d)||t.track(d,r.length),r=r.concat([29,0,0,0,0]);break;case"array":case"delta":r=r.concat(this.encodeNumber(f));for(var g=1,m=s.length;m>g;++g)r=r.concat(this.encodeNumber(s[g]));break;default:a("Unknown data type of "+u)}}r=r.concat(e.opcodes[o])}}}return r},compileStringIndex:function(e){for(var t=new Wa,a=0,r=e.length;r>a;++a)t.add(c(e[a]));return this.compileIndex(t)},compileGlobalSubrIndex:function(){var e=this.cff.globalSubrIndex;this.out.writeByteArray(this.compileIndex(e))},compileCharStrings:function(e){return this.compileIndex(e)},compileCharset:function(e){return this.compileTypedArray(e.raw)},compileEncoding:function(e){return this.compileTypedArray(e.raw)},compileFDSelect:function(e){return this.compileTypedArray(e)},compileTypedArray:function(e){for(var t=[],a=0,r=e.length;r>a;++a)t[a]=e[a];return t},compileIndex:function(e,t){t=t||[];var a=e.objects,r=a.length;if(0===r)return[0,0,0];var i,n=[r>>8&255,255&r],o=1;for(i=0;r>i;++i)o+=a[i].length;var s;s=256>o?1:65536>o?2:16777216>o?3:4,n.push(s);var c=1;for(i=0;r+1>i;i++)1===s?n.push(255&c):2===s?n.push(c>>8&255,255&c):3===s?n.push(c>>16&255,c>>8&255,255&c):n.push(c>>>24&255,c>>16&255,c>>8&255,255&c),a[i]&&(c+=a[i].length);for(i=0;r>i;i++){t[i]&&t[i].offset(n.length);for(var l=0,h=a[i].length;h>l;l++)n.push(a[i][l])}return n}},e}();!function(){/Windows/.test(navigator.userAgent)&&(Aa=!0)}(),function(){/Windows.*Chrome/.test(navigator.userAgent)&&(xa=!0)}();var ir=function(){function e(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function t(e,t){return e[t]<<8|e[t+1]}function r(r,i){var n,o,s,c,l=1===t(r,i+2)?e(r,i+8):e(r,i+16),h=t(r,i+l);if(4===h){n=t(r,i+l+2);var u=t(r,i+l+6)>>1;for(s=i+l+14,o=[],c=0;u>c;c++,s+=2)o[c]={end:t(r,s)};for(s+=2,c=0;u>c;c++,s+=2)o[c].start=t(r,s);for(c=0;u>c;c++,s+=2)o[c].idDelta=t(r,s);for(c=0;u>c;c++,s+=2){var f=t(r,s);if(0!==f){o[c].ids=[];for(var d=0,g=o[c].end-o[c].start+1;g>d;d++)o[c].ids[d]=t(r,s+f),f+=2}}return o}if(12===h){n=e(r,i+l+4);var m=e(r,i+l+12);for(s=i+l+16,o=[],c=0;m>c;c++)o.push({start:e(r,s),end:e(r,s+4),idDelta:e(r,s+8)-e(r,s)}),s+=12;return o}a("not supported cmap: "+h)}function i(e,t,a){var r={},i=new Xa(new pr(e,t,a-t),r),n=i.parse();return{glyphs:n.charStrings.objects,subrs:n.topDict.privateDict&&n.topDict.privateDict.subrsIndex&&n.topDict.privateDict.subrsIndex.objects,gsubrs:n.globalSubrIndex&&n.globalSubrIndex.objects}}function n(e,t,a){var r,i;a?(r=4,i=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}):(r=2,i=function(e,t){return e[t]<<9|e[t+1]<<1});for(var n=[],o=i(t,0),s=r;s<t.length;s+=r){var c=i(t,s);n.push(e.subarray(o,c)),o=c}return n}function o(e,t){for(var a=t.charCodeAt(0),r=0,i=e.length-1;i>r;){var n=r+i+1>>1;a<e[n].start?i=n-1:r=n}return e[r].start<=a&&a<=e[r].end?e[r].idDelta+(e[r].ids?e[r].ids[a-e[r].start]:a)&65535:0}function c(e,t,a){function r(e,a){t.push("c.moveTo("+e+","+a+");")}function i(e,a){t.push("c.lineTo("+e+","+a+");")}function n(e,a,r,i){t.push("c.quadraticCurveTo("+e+","+a+","+r+","+i+");")}var o,s=0,l=(e[s]<<24|e[s+1]<<16)>>16,h=0,u=0;if(s+=10,0>l){do{o=e[s]<<8|e[s+1];var f=e[s+2]<<8|e[s+3];s+=4;var d,g;1&o?(d=(e[s]<<24|e[s+1]<<16)>>16,g=(e[s+2]<<24|e[s+3]<<16)>>16,s+=4):(d=e[s++],g=e[s++]),2&o?(h=d,u=g):(h=0,u=0);var m=1,p=1,b=0,v=0;8&o?(m=p=(e[s]<<24|e[s+1]<<16)/1073741824,s+=2):64&o?(m=(e[s]<<24|e[s+1]<<16)/1073741824,p=(e[s+2]<<24|e[s+3]<<16)/1073741824,s+=4):128&o&&(m=(e[s]<<24|e[s+1]<<16)/1073741824,b=(e[s+2]<<24|e[s+3]<<16)/1073741824,v=(e[s+4]<<24|e[s+5]<<16)/1073741824,p=(e[s+6]<<24|e[s+7]<<16)/1073741824,s+=8);var y=a.glyphs[f];y&&(t.push("c.save();"),t.push("c.transform("+m+","+b+","+v+","+p+","+h+","+u+");"),c(y,t,a),t.push("c.restore();"))}while(32&o)}else{var k,w,x=[];for(k=0;l>k;k++)x.push(e[s]<<8|e[s+1]),s+=2;var C=e[s]<<8|e[s+1];s+=2+C;for(var S=x[x.length-1]+1,A=[];A.length<S;){o=e[s++];var B=1;for(8&o&&(B+=e[s++]);B-->0;)A.push({flags:o})}for(k=0;S>k;k++){switch(18&A[k].flags){case 0:h+=(e[s]<<24|e[s+1]<<16)>>16,s+=2;break;case 2:h-=e[s++];break;case 18:h+=e[s++]}A[k].x=h}for(k=0;S>k;k++){switch(36&A[k].flags){case 0:u+=(e[s]<<24|e[s+1]<<16)>>16,s+=2;break;case 4:u-=e[s++];break;case 36:u+=e[s++]}A[k].y=u}var I=0;for(s=0;l>s;s++){var O=x[s],L=A.slice(I,O+1);if(1&L[0].flags)L.push(L[0]);else if(1&L[L.length-1].flags)L.unshift(L[L.length-1]);else{var R={flags:1,x:(L[0].x+L[L.length-1].x)/2,y:(L[0].y+L[L.length-1].y)/2};L.unshift(R),L.push(R)}for(r(L[0].x,L[0].y),k=1,w=L.length;w>k;k++)1&L[k].flags?i(L[k].x,L[k].y):1&L[k+1].flags?(n(L[k].x,L[k].y,L[k+1].x,L[k+1].y),k++):n(L[k].x,L[k].y,(L[k].x+L[k+1].x)/2,(L[k].y+L[k+1].y)/2);I=O+1}}}function l(e,t,r){function i(e,a){t.push("c.moveTo("+e+","+a+");")}function n(e,a){t.push("c.lineTo("+e+","+a+");")}function s(e,a,r,i,n,o){t.push("c.bezierCurveTo("+e+","+a+","+r+","+i+","+n+","+o+");")}function c(e){for(var g=0;g<e.length;){var m,p,b,v,y,k,w,x,C,S=!1,A=e[g++];switch(A){case 1:d+=h.length>>1,S=!0;break;case 3:d+=h.length>>1,S=!0;break;case 4:f+=h.pop(),i(u,f),S=!0;break;case 5:for(;h.length>0;)u+=h.shift(),f+=h.shift(),n(u,f);break;case 6:for(;h.length>0&&(u+=h.shift(),n(u,f),0!==h.length);)f+=h.shift(),n(u,f);break;case 7:for(;h.length>0&&(f+=h.shift(),n(u,f),0!==h.length);)u+=h.shift(),n(u,f);break;case 8:for(;h.length>0;)m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+h.shift(),s(m,b,p,v,u,f);break;case 10:x=h.pop()+r.subrsBias,C=r.subrs[x],C&&c(C);break;case 11:return;case 12:switch(A=e[g++]){case 34:m=u+h.shift(),p=m+h.shift(),y=f+h.shift(),u=p+h.shift(),s(m,f,p,y,u,y),m=u+h.shift(),p=m+h.shift(),u=p+h.shift(),s(m,y,p,f,u,f);break;case 35:m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+h.shift(),s(m,b,p,v,u,f),m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+h.shift(),s(m,b,p,v,u,f),h.pop();break;case 36:m=u+h.shift(),y=f+h.shift(),p=m+h.shift(),k=y+h.shift(),u=p+h.shift(),s(m,y,p,k,u,k),m=u+h.shift(),p=m+h.shift(),w=k+h.shift(),u=p+h.shift(),s(m,k,p,w,u,f);break;case 37:var B=u,I=f;m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+h.shift(),s(m,b,p,v,u,f),m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p,f=v,Math.abs(u-B)>Math.abs(f-I)?u+=h.shift():f+=h.shift(),s(m,b,p,v,u,f);break;default:a("unknown operator: 12 "+A)}break;case 14:if(h.length>=4){var O=h.pop(),L=h.pop();f=h.pop(),u=h.pop(),t.push("c.save();"),t.push("c.translate("+u+","+f+");");var R=o(r.cmap,String.fromCharCode(r.glyphNameMap[Ia.StandardEncoding[O]]));l(r.glyphs[R],t,r),t.push("c.restore();"),R=o(r.cmap,String.fromCharCode(r.glyphNameMap[Ia.StandardEncoding[L]])),l(r.glyphs[R],t,r)}return;case 18:d+=h.length>>1,S=!0;break;case 19:d+=h.length>>1,g+=d+7>>3,S=!0;break;case 20:d+=h.length>>1,g+=d+7>>3,S=!0;break;case 21:f+=h.pop(),u+=h.pop(),i(u,f),S=!0;break;case 22:u+=h.pop(),i(u,f),S=!0;break;case 23:d+=h.length>>1,S=!0;break;case 24:for(;h.length>2;)m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+h.shift(),s(m,b,p,v,u,f);u+=h.shift(),f+=h.shift(),n(u,f);break;case 25:for(;h.length>6;)u+=h.shift(),f+=h.shift(),n(u,f);m=u+h.shift(),b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+h.shift(),s(m,b,p,v,u,f);break;case 26:for(h.length%2&&(u+=h.shift());h.length>0;)m=u,b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p,f=v+h.shift(),s(m,b,p,v,u,f);break;case 27:for(h.length%2&&(f+=h.shift());h.length>0;)m=u+h.shift(),b=f,p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v,s(m,b,p,v,u,f);break;case 28:h.push((e[g]<<24|e[g+1]<<16)>>16),g+=2;break;case 29:x=h.pop()+r.gsubrsBias,C=r.gsubrs[x],C&&c(C);break;case 30:for(;h.length>0&&(m=u,b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+(1===h.length?h.shift():0),s(m,b,p,v,u,f),0!==h.length);)m=u+h.shift(),b=f,p=m+h.shift(),v=b+h.shift(),f=v+h.shift(),u=p+(1===h.length?h.shift():0),s(m,b,p,v,u,f);break;case 31:for(;h.length>0&&(m=u+h.shift(),b=f,p=m+h.shift(),v=b+h.shift(),f=v+h.shift(),u=p+(1===h.length?h.shift():0),s(m,b,p,v,u,f),0!==h.length);)m=u,b=f+h.shift(),p=m+h.shift(),v=b+h.shift(),u=p+h.shift(),f=v+(1===h.length?h.shift():0),s(m,b,p,v,u,f);break;default:32>A&&a("unknown operator: "+A),247>A?h.push(A-139):251>A?h.push(256*(A-247)+e[g++]+108):255>A?h.push(256*-(A-251)-e[g++]-108):(h.push((e[g]<<24|e[g+1]<<16|e[g+2]<<8|e[g+3])/65536),g+=4)}S&&(h.length=0)}}var h=[],u=0,f=0,d=0;c(e)}function h(e){this.compiledGlyphs={},this.fontMatrix=e}function u(e,t,a){a=a||[488e-6,0,0,488e-6,0,0],h.call(this,a),this.glyphs=e,this.cmap=t,this.compiledGlyphs=[]}function f(e,t,a,r){a=a||[.001,0,0,.001,0,0],h.call(this,a),this.glyphs=e.glyphs,this.gsubrs=e.gsubrs||[],this.subrs=e.subrs||[],this.cmap=t,this.glyphNameMap=r||nr,this.compiledGlyphs=[],this.gsubrsBias=this.gsubrs.length<1240?107:this.gsubrs.length<33900?1131:32768,this.subrsBias=this.subrs.length<1240?107:this.subrs.length<33900?1131:32768}var d="";return h.prototype={getPathJs:function(e){var t=o(this.cmap,e),a=this.compiledGlyphs[t];return a||(this.compiledGlyphs[t]=a=this.compileGlyph(this.glyphs[t])),a},compileGlyph:function(e){if(!e||0===e.length||14===e[0])return d;var t=[];return t.push("c.save();"),t.push("c.transform("+this.fontMatrix.join(",")+");"),t.push("c.scale(size, -size);"),this.compileGlyphImpl(e,t),t.push("c.restore();"),t.join("\n")},compileGlyphImpl:function(){a("Children classes should implement this.")},hasBuiltPath:function(e){var t=o(this.cmap,e);return t in this.compiledGlyphs}},ot.inherit(u,h,{compileGlyphImpl:function(e,t){c(e,t,this)}}),ot.inherit(f,h,{compileGlyphImpl:function(e,t){l(e,t,this)}}),{create:function(a){for(var o,c,l,h,d,g,m=new Uint8Array(a.data),p=t(m,4),b=0,v=12;p>b;b++,v+=16){var y=s(m.subarray(v,v+4)),k=e(m,v+8),w=e(m,v+12);switch(y){case"cmap":o=r(m,k,k+w);break;case"glyf":c=m.subarray(k,k+w);break;case"loca":l=m.subarray(k,k+w);break;case"head":g=t(m,k+18),d=t(m,k+50);break;case"CFF ":h=i(m,k,k+w)}}if(c){var x=g?[1/g,0,0,1/g,0,0]:a.fontMatrix;return new u(n(c,l,d),o,x)}return new f(h,o,a.fontMatrix,a.glyphNameMap)}}}(),nr={A:65,AE:198,AEacute:508,AEmacron:482,AEsmall:63462,Aacute:193,Aacutesmall:63457,Abreve:258,Abreveacute:7854,Abrevecyrillic:1232,Abrevedotbelow:7862,Abrevegrave:7856,Abrevehookabove:7858,Abrevetilde:7860,Acaron:461,Acircle:9398,Acircumflex:194,Acircumflexacute:7844,Acircumflexdotbelow:7852,Acircumflexgrave:7846,Acircumflexhookabove:7848,Acircumflexsmall:63458,Acircumflextilde:7850,Acute:63177,Acutesmall:63412,Acyrillic:1040,Adblgrave:512,Adieresis:196,Adieresiscyrillic:1234,Adieresismacron:478,Adieresissmall:63460,Adotbelow:7840,Adotmacron:480,Agrave:192,Agravesmall:63456,Ahookabove:7842,Aiecyrillic:1236,Ainvertedbreve:514,Alpha:913,Alphatonos:902,Amacron:256,Amonospace:65313,Aogonek:260,Aring:197,Aringacute:506,Aringbelow:7680,Aringsmall:63461,Asmall:63329,Atilde:195,Atildesmall:63459,Aybarmenian:1329,B:66,Bcircle:9399,Bdotaccent:7682,Bdotbelow:7684,Becyrillic:1041,Benarmenian:1330,Beta:914,Bhook:385,Blinebelow:7686,Bmonospace:65314,Brevesmall:63220,Bsmall:63330,Btopbar:386,C:67,Caarmenian:1342,Cacute:262,Caron:63178,Caronsmall:63221,Ccaron:268,Ccedilla:199,Ccedillaacute:7688,Ccedillasmall:63463,Ccircle:9400,Ccircumflex:264,Cdot:266,Cdotaccent:266,Cedillasmall:63416,Chaarmenian:1353,Cheabkhasiancyrillic:1212,Checyrillic:1063,Chedescenderabkhasiancyrillic:1214,Chedescendercyrillic:1206,Chedieresiscyrillic:1268,Cheharmenian:1347,Chekhakassiancyrillic:1227,Cheverticalstrokecyrillic:1208,Chi:935,Chook:391,Circumflexsmall:63222,Cmonospace:65315,Coarmenian:1361,Csmall:63331,D:68,DZ:497,DZcaron:452,Daarmenian:1332,Dafrican:393,Dcaron:270,Dcedilla:7696,Dcircle:9401,Dcircumflexbelow:7698,Dcroat:272,Ddotaccent:7690,Ddotbelow:7692,Decyrillic:1044,Deicoptic:1006,Delta:8710,Deltagreek:916,Dhook:394,Dieresis:63179,DieresisAcute:63180,DieresisGrave:63181,Dieresissmall:63400,Digammagreek:988,Djecyrillic:1026,Dlinebelow:7694,Dmonospace:65316,Dotaccentsmall:63223,Dslash:272,Dsmall:63332,Dtopbar:395,Dz:498,Dzcaron:453,Dzeabkhasiancyrillic:1248,Dzecyrillic:1029,Dzhecyrillic:1039,E:69,Eacute:201,Eacutesmall:63465,Ebreve:276,Ecaron:282,Ecedillabreve:7708,Echarmenian:1333,Ecircle:9402,Ecircumflex:202,Ecircumflexacute:7870,Ecircumflexbelow:7704,Ecircumflexdotbelow:7878,Ecircumflexgrave:7872,Ecircumflexhookabove:7874,Ecircumflexsmall:63466,Ecircumflextilde:7876,Ecyrillic:1028,Edblgrave:516,Edieresis:203,Edieresissmall:63467,Edot:278,Edotaccent:278,Edotbelow:7864,Efcyrillic:1060,Egrave:200,Egravesmall:63464,Eharmenian:1335,Ehookabove:7866,Eightroman:8551,Einvertedbreve:518,Eiotifiedcyrillic:1124,Elcyrillic:1051,Elevenroman:8554,Emacron:274,Emacronacute:7702,Emacrongrave:7700,Emcyrillic:1052,Emonospace:65317,Encyrillic:1053,Endescendercyrillic:1186,Eng:330,Enghecyrillic:1188,Enhookcyrillic:1223,Eogonek:280,Eopen:400,Epsilon:917,Epsilontonos:904,Ercyrillic:1056,Ereversed:398,Ereversedcyrillic:1069,Escyrillic:1057,Esdescendercyrillic:1194,Esh:425,Esmall:63333,Eta:919,Etarmenian:1336,Etatonos:905,Eth:208,Ethsmall:63472,Etilde:7868,Etildebelow:7706,Euro:8364,Ezh:439,Ezhcaron:494,Ezhreversed:440,F:70,Fcircle:9403,Fdotaccent:7710,Feharmenian:1366,Feicoptic:996,Fhook:401,Fitacyrillic:1138,Fiveroman:8548,Fmonospace:65318,Fourroman:8547,Fsmall:63334,G:71,GBsquare:13191,Gacute:500,Gamma:915,Gammaafrican:404,Gangiacoptic:1002,Gbreve:286,Gcaron:486,Gcedilla:290,Gcircle:9404,Gcircumflex:284,Gcommaaccent:290,Gdot:288,Gdotaccent:288,Gecyrillic:1043,Ghadarmenian:1346,Ghemiddlehookcyrillic:1172,Ghestrokecyrillic:1170,Gheupturncyrillic:1168,Ghook:403,Gimarmenian:1331,Gjecyrillic:1027,Gmacron:7712,Gmonospace:65319,Grave:63182,Gravesmall:63328,Gsmall:63335,Gsmallhook:667,Gstroke:484,H:72,H18533:9679,H18543:9642,H18551:9643,H22073:9633,HPsquare:13259,Haabkhasiancyrillic:1192,Hadescendercyrillic:1202,Hardsigncyrillic:1066,Hbar:294,Hbrevebelow:7722,Hcedilla:7720,Hcircle:9405,Hcircumflex:292,Hdieresis:7718,Hdotaccent:7714,Hdotbelow:7716,Hmonospace:65320,Hoarmenian:1344,Horicoptic:1e3,Hsmall:63336,Hungarumlaut:63183,Hungarumlautsmall:63224,Hzsquare:13200,I:73,IAcyrillic:1071,IJ:306,IUcyrillic:1070,Iacute:205,Iacutesmall:63469,Ibreve:300,Icaron:463,Icircle:9406,Icircumflex:206,Icircumflexsmall:63470,Icyrillic:1030,Idblgrave:520,Idieresis:207,Idieresisacute:7726,Idieresiscyrillic:1252,Idieresissmall:63471,Idot:304,Idotaccent:304,Idotbelow:7882,Iebrevecyrillic:1238,Iecyrillic:1045,Ifraktur:8465,Igrave:204,Igravesmall:63468,Ihookabove:7880,Iicyrillic:1048,Iinvertedbreve:522,Iishortcyrillic:1049,Imacron:298,Imacroncyrillic:1250,Imonospace:65321,Iniarmenian:1339,Iocyrillic:1025,Iogonek:302,Iota:921,Iotaafrican:406,Iotadieresis:938,Iotatonos:906,Ismall:63337,Istroke:407,Itilde:296,Itildebelow:7724,Izhitsacyrillic:1140,Izhitsadblgravecyrillic:1142,J:74,Jaarmenian:1345,Jcircle:9407,Jcircumflex:308,Jecyrillic:1032,Jheharmenian:1355,Jmonospace:65322,Jsmall:63338,K:75,KBsquare:13189,KKsquare:13261,Kabashkircyrillic:1184,Kacute:7728,Kacyrillic:1050,Kadescendercyrillic:1178,Kahookcyrillic:1219,Kappa:922,Kastrokecyrillic:1182,Kaverticalstrokecyrillic:1180,Kcaron:488,Kcedilla:310,Kcircle:9408,Kcommaaccent:310,Kdotbelow:7730,Keharmenian:1364,Kenarmenian:1343,Khacyrillic:1061,Kheicoptic:998,Khook:408,Kjecyrillic:1036,Klinebelow:7732,Kmonospace:65323,Koppacyrillic:1152,Koppagreek:990,Ksicyrillic:1134,Ksmall:63339,L:76,LJ:455,LL:63167,Lacute:313,Lambda:923,Lcaron:317,Lcedilla:315,Lcircle:9409,Lcircumflexbelow:7740,Lcommaaccent:315,Ldot:319,Ldotaccent:319,Ldotbelow:7734,Ldotbelowmacron:7736,Liwnarmenian:1340,Lj:456,Ljecyrillic:1033,Llinebelow:7738,Lmonospace:65324,Lslash:321,Lslashsmall:63225,Lsmall:63340,M:77,MBsquare:13190,Macron:63184,Macronsmall:63407,Macute:7742,Mcircle:9410,Mdotaccent:7744,Mdotbelow:7746,Menarmenian:1348,Mmonospace:65325,Msmall:63341,Mturned:412,Mu:924,N:78,NJ:458,Nacute:323,Ncaron:327,Ncedilla:325,Ncircle:9411,Ncircumflexbelow:7754,Ncommaaccent:325,Ndotaccent:7748,Ndotbelow:7750,Nhookleft:413,Nineroman:8552,Nj:459,Njecyrillic:1034,Nlinebelow:7752,Nmonospace:65326,Nowarmenian:1350,Nsmall:63342,Ntilde:209,Ntildesmall:63473,Nu:925,O:79,OE:338,OEsmall:63226,Oacute:211,Oacutesmall:63475,Obarredcyrillic:1256,Obarreddieresiscyrillic:1258,Obreve:334,Ocaron:465,Ocenteredtilde:415,Ocircle:9412,Ocircumflex:212,Ocircumflexacute:7888,Ocircumflexdotbelow:7896,Ocircumflexgrave:7890,Ocircumflexhookabove:7892,Ocircumflexsmall:63476,Ocircumflextilde:7894,Ocyrillic:1054,Odblacute:336,Odblgrave:524,Odieresis:214,Odieresiscyrillic:1254,Odieresissmall:63478,Odotbelow:7884,Ogoneksmall:63227,Ograve:210,Ogravesmall:63474,Oharmenian:1365,Ohm:8486,Ohookabove:7886,Ohorn:416,Ohornacute:7898,Ohorndotbelow:7906,Ohorngrave:7900,Ohornhookabove:7902,Ohorntilde:7904,Ohungarumlaut:336,Oi:418,Oinvertedbreve:526,Omacron:332,Omacronacute:7762,Omacrongrave:7760,Omega:8486,Omegacyrillic:1120,Omegagreek:937,Omegaroundcyrillic:1146,Omegatitlocyrillic:1148,Omegatonos:911,Omicron:927,Omicrontonos:908,Omonospace:65327,Oneroman:8544,Oogonek:490,Oogonekmacron:492,Oopen:390,Oslash:216,Oslashacute:510,Oslashsmall:63480,Osmall:63343,Ostrokeacute:510,Otcyrillic:1150,Otilde:213,Otildeacute:7756,Otildedieresis:7758,Otildesmall:63477,P:80,Pacute:7764,Pcircle:9413,Pdotaccent:7766,Pecyrillic:1055,Peharmenian:1354,Pemiddlehookcyrillic:1190,Phi:934,Phook:420,Pi:928,Piwrarmenian:1363,Pmonospace:65328,Psi:936,Psicyrillic:1136,Psmall:63344,Q:81,Qcircle:9414,Qmonospace:65329,Qsmall:63345,R:82,Raarmenian:1356,Racute:340,Rcaron:344,Rcedilla:342,Rcircle:9415,Rcommaaccent:342,Rdblgrave:528,Rdotaccent:7768,Rdotbelow:7770,Rdotbelowmacron:7772,Reharmenian:1360,Rfraktur:8476,Rho:929,Ringsmall:63228,Rinvertedbreve:530,Rlinebelow:7774,Rmonospace:65330,Rsmall:63346,Rsmallinverted:641,Rsmallinvertedsuperior:694,S:83,SF010000:9484,SF020000:9492,SF030000:9488,SF040000:9496,SF050000:9532,SF060000:9516,SF070000:9524,SF080000:9500,SF090000:9508,SF100000:9472,SF110000:9474,SF190000:9569,SF200000:9570,SF210000:9558,SF220000:9557,SF230000:9571,SF240000:9553,SF250000:9559,SF260000:9565,SF270000:9564,SF280000:9563,SF360000:9566,SF370000:9567,SF380000:9562,SF390000:9556,SF400000:9577,SF410000:9574,SF420000:9568,SF430000:9552,SF440000:9580,SF450000:9575,SF460000:9576,SF470000:9572,SF480000:9573,SF490000:9561,SF500000:9560,SF510000:9554,SF520000:9555,SF530000:9579,SF540000:9578,Sacute:346,Sacutedotaccent:7780,Sampigreek:992,Scaron:352,Scarondotaccent:7782,Scaronsmall:63229,Scedilla:350,Schwa:399,Schwacyrillic:1240,Schwadieresiscyrillic:1242,Scircle:9416,Scircumflex:348,Scommaaccent:536,Sdotaccent:7776,Sdotbelow:7778,Sdotbelowdotaccent:7784,Seharmenian:1357,Sevenroman:8550,Shaarmenian:1351,Shacyrillic:1064,Shchacyrillic:1065,Sheicoptic:994,Shhacyrillic:1210,Shimacoptic:1004,Sigma:931,Sixroman:8549,Smonospace:65331,Softsigncyrillic:1068,Ssmall:63347,Stigmagreek:986,T:84,Tau:932,Tbar:358,Tcaron:356,Tcedilla:354,Tcircle:9417,Tcircumflexbelow:7792,Tcommaaccent:354,Tdotaccent:7786,Tdotbelow:7788,Tecyrillic:1058,Tedescendercyrillic:1196,Tenroman:8553,Tetsecyrillic:1204,Theta:920,Thook:428,Thorn:222,Thornsmall:63486,Threeroman:8546,Tildesmall:63230,Tiwnarmenian:1359,Tlinebelow:7790,Tmonospace:65332,Toarmenian:1337,Tonefive:444,Tonesix:388,Tonetwo:423,Tretroflexhook:430,Tsecyrillic:1062,Tshecyrillic:1035,Tsmall:63348,Twelveroman:8555,Tworoman:8545,U:85,Uacute:218,Uacutesmall:63482,Ubreve:364,Ucaron:467,Ucircle:9418,Ucircumflex:219,Ucircumflexbelow:7798,Ucircumflexsmall:63483,Ucyrillic:1059,Udblacute:368,Udblgrave:532,Udieresis:220,Udieresisacute:471,Udieresisbelow:7794,Udieresiscaron:473,Udieresiscyrillic:1264,Udieresisgrave:475,Udieresismacron:469,Udieresissmall:63484,Udotbelow:7908,Ugrave:217,Ugravesmall:63481,Uhookabove:7910,Uhorn:431,Uhornacute:7912,Uhorndotbelow:7920,Uhorngrave:7914,Uhornhookabove:7916,Uhorntilde:7918,Uhungarumlaut:368,Uhungarumlautcyrillic:1266,Uinvertedbreve:534,Ukcyrillic:1144,Umacron:362,Umacroncyrillic:1262,Umacrondieresis:7802,Umonospace:65333,Uogonek:370,Upsilon:933,Upsilon1:978,Upsilonacutehooksymbolgreek:979,Upsilonafrican:433,Upsilondieresis:939,Upsilondieresishooksymbolgreek:980,Upsilonhooksymbol:978,Upsilontonos:910,Uring:366,Ushortcyrillic:1038,Usmall:63349,Ustraightcyrillic:1198,Ustraightstrokecyrillic:1200,Utilde:360,Utildeacute:7800,Utildebelow:7796,V:86,Vcircle:9419,Vdotbelow:7806,Vecyrillic:1042,Vewarmenian:1358,Vhook:434,Vmonospace:65334,Voarmenian:1352,Vsmall:63350,Vtilde:7804,W:87,Wacute:7810,Wcircle:9420,Wcircumflex:372,Wdieresis:7812,Wdotaccent:7814,Wdotbelow:7816,Wgrave:7808,Wmonospace:65335,Wsmall:63351,X:88,Xcircle:9421,Xdieresis:7820,Xdotaccent:7818,Xeharmenian:1341,Xi:926,Xmonospace:65336,Xsmall:63352,Y:89,Yacute:221,Yacutesmall:63485,Yatcyrillic:1122,Ycircle:9422,Ycircumflex:374,Ydieresis:376,Ydieresissmall:63487,Ydotaccent:7822,Ydotbelow:7924,Yericyrillic:1067,Yerudieresiscyrillic:1272,Ygrave:7922,Yhook:435,Yhookabove:7926,Yiarmenian:1349,Yicyrillic:1031,Yiwnarmenian:1362,Ymonospace:65337,Ysmall:63353,Ytilde:7928,Yusbigcyrillic:1130,Yusbigiotifiedcyrillic:1132,Yuslittlecyrillic:1126,Yuslittleiotifiedcyrillic:1128,Z:90,Zaarmenian:1334,Zacute:377,Zcaron:381,Zcaronsmall:63231,Zcircle:9423,Zcircumflex:7824,Zdot:379,Zdotaccent:379,Zdotbelow:7826,Zecyrillic:1047,Zedescendercyrillic:1176,Zedieresiscyrillic:1246,Zeta:918,Zhearmenian:1338,Zhebrevecyrillic:1217,Zhecyrillic:1046,Zhedescendercyrillic:1174,Zhedieresiscyrillic:1244,Zlinebelow:7828,Zmonospace:65338,Zsmall:63354,Zstroke:437,a:97,aabengali:2438,aacute:225,aadeva:2310,aagujarati:2694,aagurmukhi:2566,aamatragurmukhi:2622,aarusquare:13059,aavowelsignbengali:2494,aavowelsigndeva:2366,aavowelsigngujarati:2750,abbreviationmarkarmenian:1375,abbreviationsigndeva:2416,abengali:2437,abopomofo:12570,abreve:259,abreveacute:7855,abrevecyrillic:1233,abrevedotbelow:7863,abrevegrave:7857,abrevehookabove:7859,abrevetilde:7861,acaron:462,acircle:9424,acircumflex:226,acircumflexacute:7845,acircumflexdotbelow:7853,acircumflexgrave:7847,acircumflexhookabove:7849,acircumflextilde:7851,acute:180,acutebelowcmb:791,acutecmb:769,acutecomb:769,acutedeva:2388,acutelowmod:719,acutetonecmb:833,acyrillic:1072,adblgrave:513,addakgurmukhi:2673,adeva:2309,adieresis:228,adieresiscyrillic:1235,adieresismacron:479,adotbelow:7841,adotmacron:481,ae:230,aeacute:509,aekorean:12624,aemacron:483,afii00208:8213,afii08941:8356,afii10017:1040,afii10018:1041,afii10019:1042,afii10020:1043,afii10021:1044,afii10022:1045,afii10023:1025,afii10024:1046,afii10025:1047,afii10026:1048,afii10027:1049,afii10028:1050,afii10029:1051,afii10030:1052,afii10031:1053,afii10032:1054,afii10033:1055,afii10034:1056,afii10035:1057,afii10036:1058,afii10037:1059,afii10038:1060,afii10039:1061,afii10040:1062,afii10041:1063,afii10042:1064,afii10043:1065,afii10044:1066,afii10045:1067,afii10046:1068,afii10047:1069,afii10048:1070,afii10049:1071,afii10050:1168,afii10051:1026,afii10052:1027,afii10053:1028,afii10054:1029,afii10055:1030,afii10056:1031,afii10057:1032,afii10058:1033,afii10059:1034,afii10060:1035,afii10061:1036,afii10062:1038,afii10063:63172,afii10064:63173,afii10065:1072,afii10066:1073,afii10067:1074,afii10068:1075,afii10069:1076,afii10070:1077,afii10071:1105,afii10072:1078,afii10073:1079,afii10074:1080,afii10075:1081,afii10076:1082,afii10077:1083,afii10078:1084,afii10079:1085,afii10080:1086,afii10081:1087,afii10082:1088,afii10083:1089,afii10084:1090,afii10085:1091,afii10086:1092,afii10087:1093,afii10088:1094,afii10089:1095,afii10090:1096,afii10091:1097,afii10092:1098,afii10093:1099,afii10094:1100,afii10095:1101,afii10096:1102,afii10097:1103,afii10098:1169,afii10099:1106,afii10100:1107,afii10101:1108,afii10102:1109,afii10103:1110,afii10104:1111,afii10105:1112,afii10106:1113,afii10107:1114,afii10108:1115,afii10109:1116,afii10110:1118,afii10145:1039,afii10146:1122,afii10147:1138,afii10148:1140,afii10192:63174,afii10193:1119,afii10194:1123,afii10195:1139,afii10196:1141,afii10831:63175,afii10832:63176,afii10846:1241,afii299:8206,afii300:8207,afii301:8205,afii57381:1642,afii57388:1548,afii57392:1632,afii57393:1633,afii57394:1634,afii57395:1635,afii57396:1636,afii57397:1637,afii57398:1638,afii57399:1639,afii57400:1640,afii57401:1641,afii57403:1563,afii57407:1567,afii57409:1569,afii57410:1570,afii57411:1571,afii57412:1572,afii57413:1573,afii57414:1574,afii57415:1575,afii57416:1576,afii57417:1577,afii57418:1578,afii57419:1579,afii57420:1580,afii57421:1581,afii57422:1582,afii57423:1583,afii57424:1584,afii57425:1585,afii57426:1586,afii57427:1587,afii57428:1588,afii57429:1589,afii57430:1590,afii57431:1591,afii57432:1592,afii57433:1593,afii57434:1594,afii57440:1600,afii57441:1601,afii57442:1602,afii57443:1603,afii57444:1604,afii57445:1605,afii57446:1606,afii57448:1608,afii57449:1609,afii57450:1610,afii57451:1611,afii57452:1612,afii57453:1613,afii57454:1614,afii57455:1615,afii57456:1616,afii57457:1617,afii57458:1618,afii57470:1607,afii57505:1700,afii57506:1662,afii57507:1670,afii57508:1688,afii57509:1711,afii57511:1657,afii57512:1672,afii57513:1681,afii57514:1722,afii57519:1746,afii57534:1749,afii57636:8362,afii57645:1470,afii57658:1475,afii57664:1488,afii57665:1489,afii57666:1490,afii57667:1491,afii57668:1492,afii57669:1493,afii57670:1494,afii57671:1495,afii57672:1496,afii57673:1497,afii57674:1498,afii57675:1499,afii57676:1500,afii57677:1501,afii57678:1502,afii57679:1503,afii57680:1504,afii57681:1505,afii57682:1506,afii57683:1507,afii57684:1508,afii57685:1509,afii57686:1510,afii57687:1511,afii57688:1512,afii57689:1513,afii57690:1514,afii57694:64298,afii57695:64299,afii57700:64331,afii57705:64287,afii57716:1520,afii57717:1521,afii57718:1522,afii57723:64309,afii57793:1460,afii57794:1461,afii57795:1462,afii57796:1467,afii57797:1464,afii57798:1463,afii57799:1456,afii57800:1458,afii57801:1457,afii57802:1459,afii57803:1474,afii57804:1473,afii57806:1465,afii57807:1468,afii57839:1469,afii57841:1471,afii57842:1472,afii57929:700,afii61248:8453,afii61289:8467,afii61352:8470,afii61573:8236,afii61574:8237,afii61575:8238,afii61664:8204,afii63167:1645,afii64937:701,agrave:224,agujarati:2693,agurmukhi:2565,ahiragana:12354,ahookabove:7843,aibengali:2448,aibopomofo:12574,aideva:2320,aiecyrillic:1237,aigujarati:2704,aigurmukhi:2576,aimatragurmukhi:2632,ainarabic:1593,ainfinalarabic:65226,aininitialarabic:65227,ainmedialarabic:65228,ainvertedbreve:515,aivowelsignbengali:2504,aivowelsigndeva:2376,aivowelsigngujarati:2760,akatakana:12450,akatakanahalfwidth:65393,akorean:12623,alef:1488,alefarabic:1575,alefdageshhebrew:64304,aleffinalarabic:65166,alefhamzaabovearabic:1571,alefhamzaabovefinalarabic:65156,alefhamzabelowarabic:1573,alefhamzabelowfinalarabic:65160,alefhebrew:1488,aleflamedhebrew:64335,alefmaddaabovearabic:1570,alefmaddaabovefinalarabic:65154,alefmaksuraarabic:1609,alefmaksurafinalarabic:65264,alefmaksurainitialarabic:65267,alefmaksuramedialarabic:65268,alefpatahhebrew:64302,alefqamatshebrew:64303,aleph:8501,allequal:8780,alpha:945,alphatonos:940,amacron:257,amonospace:65345,ampersand:38,ampersandmonospace:65286,ampersandsmall:63270,amsquare:13250,anbopomofo:12578,angbopomofo:12580,angbracketleft:12296,angbracketright:12297,angkhankhuthai:3674,angle:8736,anglebracketleft:12296,anglebracketleftvertical:65087,anglebracketright:12297,anglebracketrightvertical:65088,angleleft:9001,angleright:9002,angstrom:8491,anoteleia:903,anudattadeva:2386,anusvarabengali:2434,anusvaradeva:2306,anusvaragujarati:2690,aogonek:261,apaatosquare:13056,aparen:9372,apostrophearmenian:1370,apostrophemod:700,apple:63743,approaches:8784,approxequal:8776,approxequalorimage:8786,approximatelyequal:8773,araeaekorean:12686,araeakorean:12685,arc:8978,arighthalfring:7834,aring:229,aringacute:507,aringbelow:7681,arrowboth:8596,arrowdashdown:8675,arrowdashleft:8672,arrowdashright:8674,arrowdashup:8673,arrowdblboth:8660,arrowdbldown:8659,arrowdblleft:8656,arrowdblright:8658,arrowdblup:8657,arrowdown:8595,arrowdownleft:8601,arrowdownright:8600,arrowdownwhite:8681,arrowheaddownmod:709,arrowheadleftmod:706,arrowheadrightmod:707,arrowheadupmod:708,arrowhorizex:63719,arrowleft:8592,arrowleftdbl:8656,arrowleftdblstroke:8653,arrowleftoverright:8646,arrowleftwhite:8678,arrowright:8594,arrowrightdblstroke:8655,arrowrightheavy:10142,arrowrightoverleft:8644,arrowrightwhite:8680,arrowtableft:8676,arrowtabright:8677,arrowup:8593,arrowupdn:8597,arrowupdnbse:8616,arrowupdownbase:8616,arrowupleft:8598,arrowupleftofdown:8645,arrowupright:8599,arrowupwhite:8679,arrowvertex:63718,asciicircum:94,asciicircummonospace:65342,asciitilde:126,asciitildemonospace:65374,ascript:593,ascriptturned:594,asmallhiragana:12353,asmallkatakana:12449,asmallkatakanahalfwidth:65383,asterisk:42,asteriskaltonearabic:1645,asteriskarabic:1645,asteriskmath:8727,asteriskmonospace:65290,asterisksmall:65121,asterism:8258,asuperior:63209,asymptoticallyequal:8771,at:64,atilde:227,atmonospace:65312,atsmall:65131,aturned:592,aubengali:2452,aubopomofo:12576,audeva:2324,augujarati:2708,augurmukhi:2580,aulengthmarkbengali:2519,aumatragurmukhi:2636,auvowelsignbengali:2508,auvowelsigndeva:2380,auvowelsigngujarati:2764,avagrahadeva:2365,aybarmenian:1377,ayin:1506,ayinaltonehebrew:64288,ayinhebrew:1506,b:98,babengali:2476,backslash:92,backslashmonospace:65340,badeva:2348,bagujarati:2732,bagurmukhi:2604,bahiragana:12400,bahtthai:3647,bakatakana:12496,bar:124,barmonospace:65372,bbopomofo:12549,bcircle:9425,bdotaccent:7683,bdotbelow:7685,beamedsixteenthnotes:9836,because:8757,becyrillic:1073,beharabic:1576,behfinalarabic:65168,behinitialarabic:65169,behiragana:12409,behmedialarabic:65170,behmeeminitialarabic:64671,behmeemisolatedarabic:64520,behnoonfinalarabic:64621,bekatakana:12505,benarmenian:1378,bet:1489,beta:946,betasymbolgreek:976,betdagesh:64305,betdageshhebrew:64305,bethebrew:1489,betrafehebrew:64332,bhabengali:2477,bhadeva:2349,bhagujarati:2733,bhagurmukhi:2605,bhook:595,bihiragana:12403,bikatakana:12499,bilabialclick:664,bindigurmukhi:2562,birusquare:13105,blackcircle:9679,blackdiamond:9670,blackdownpointingtriangle:9660,blackleftpointingpointer:9668,blackleftpointingtriangle:9664,blacklenticularbracketleft:12304,blacklenticularbracketleftvertical:65083,blacklenticularbracketright:12305,blacklenticularbracketrightvertical:65084,blacklowerlefttriangle:9699,blacklowerrighttriangle:9698,blackrectangle:9644,blackrightpointingpointer:9658,blackrightpointingtriangle:9654,blacksmallsquare:9642,blacksmilingface:9787,blacksquare:9632,blackstar:9733,blackupperlefttriangle:9700,blackupperrighttriangle:9701,blackuppointingsmalltriangle:9652,blackuppointingtriangle:9650,blank:9251,blinebelow:7687,block:9608,bmonospace:65346,bobaimaithai:3610,bohiragana:12412,bokatakana:12508,bparen:9373,bqsquare:13251,braceex:63732,braceleft:123,braceleftbt:63731,braceleftmid:63730,braceleftmonospace:65371,braceleftsmall:65115,bracelefttp:63729,braceleftvertical:65079,braceright:125,bracerightbt:63742,bracerightmid:63741,bracerightmonospace:65373,bracerightsmall:65116,bracerighttp:63740,bracerightvertical:65080,bracketleft:91,bracketleftbt:63728,bracketleftex:63727,bracketleftmonospace:65339,bracketlefttp:63726,bracketright:93,bracketrightbt:63739,bracketrightex:63738,bracketrightmonospace:65341,bracketrighttp:63737,breve:728,brevebelowcmb:814,brevecmb:774,breveinvertedbelowcmb:815,breveinvertedcmb:785,breveinverteddoublecmb:865,bridgebelowcmb:810,bridgeinvertedbelowcmb:826,brokenbar:166,bstroke:384,bsuperior:63210,btopbar:387,buhiragana:12406,bukatakana:12502,bullet:8226,bulletinverse:9688,bulletoperator:8729,bullseye:9678,c:99,caarmenian:1390,cabengali:2458,cacute:263,cadeva:2330,cagujarati:2714,cagurmukhi:2586,calsquare:13192,candrabindubengali:2433,candrabinducmb:784,candrabindudeva:2305,candrabindugujarati:2689,capslock:8682,careof:8453,caron:711,caronbelowcmb:812,caroncmb:780,carriagereturn:8629,cbopomofo:12568,ccaron:269,ccedilla:231,ccedillaacute:7689,ccircle:9426,ccircumflex:265,ccurl:597,cdot:267,cdotaccent:267,cdsquare:13253,cedilla:184,cedillacmb:807,cent:162,centigrade:8451,centinferior:63199,centmonospace:65504,centoldstyle:63394,centsuperior:63200,chaarmenian:1401,chabengali:2459,chadeva:2331,chagujarati:2715,chagurmukhi:2587,chbopomofo:12564,cheabkhasiancyrillic:1213,checkmark:10003,checyrillic:1095,chedescenderabkhasiancyrillic:1215,chedescendercyrillic:1207,chedieresiscyrillic:1269,cheharmenian:1395,chekhakassiancyrillic:1228,cheverticalstrokecyrillic:1209,chi:967,chieuchacirclekorean:12919,chieuchaparenkorean:12823,chieuchcirclekorean:12905,chieuchkorean:12618,chieuchparenkorean:12809,chochangthai:3594,chochanthai:3592,chochingthai:3593,chochoethai:3596,chook:392,cieucacirclekorean:12918,cieucaparenkorean:12822,cieuccirclekorean:12904,cieuckorean:12616,cieucparenkorean:12808,cieucuparenkorean:12828,circle:9675,circlecopyrt:169,circlemultiply:8855,circleot:8857,circleplus:8853,circlepostalmark:12342,circlewithlefthalfblack:9680,circlewithrighthalfblack:9681,circumflex:710,circumflexbelowcmb:813,circumflexcmb:770,clear:8999,clickalveolar:450,clickdental:448,clicklateral:449,clickretroflex:451,club:9827,clubsuitblack:9827,clubsuitwhite:9831,cmcubedsquare:13220,cmonospace:65347,cmsquaredsquare:13216,coarmenian:1409,colon:58,colonmonetary:8353,colonmonospace:65306,colonsign:8353,colonsmall:65109,colontriangularhalfmod:721,colontriangularmod:720,comma:44,commaabovecmb:787,commaaboverightcmb:789,commaaccent:63171,commaarabic:1548,commaarmenian:1373,commainferior:63201,commamonospace:65292,commareversedabovecmb:788,commareversedmod:701,commasmall:65104,commasuperior:63202,commaturnedabovecmb:786,commaturnedmod:699,compass:9788,congruent:8773,contourintegral:8750,control:8963,controlACK:6,controlBEL:7,controlBS:8,controlCAN:24,controlCR:13,controlDC1:17,controlDC2:18,controlDC3:19,controlDC4:20,controlDEL:127,controlDLE:16,controlEM:25,controlENQ:5,controlEOT:4,controlESC:27,controlETB:23,controlETX:3,controlFF:12,controlFS:28,controlGS:29,controlHT:9,controlLF:10,controlNAK:21,controlRS:30,controlSI:15,controlSO:14,controlSOT:2,controlSTX:1,controlSUB:26,controlSYN:22,controlUS:31,controlVT:11,copyright:169,copyrightsans:63721,copyrightserif:63193,cornerbracketleft:12300,cornerbracketlefthalfwidth:65378,cornerbracketleftvertical:65089,cornerbracketright:12301,cornerbracketrighthalfwidth:65379,cornerbracketrightvertical:65090,corporationsquare:13183,cosquare:13255,coverkgsquare:13254,cparen:9374,cruzeiro:8354,cstretched:663,curlyand:8911,curlyor:8910,currency:164,cyrBreve:63185,cyrFlex:63186,cyrbreve:63188,cyrflex:63189,d:100,daarmenian:1380,dabengali:2470,dadarabic:1590,dadeva:2342,dadfinalarabic:65214,dadinitialarabic:65215,dadmedialarabic:65216,dagesh:1468,dageshhebrew:1468,dagger:8224,daggerdbl:8225,dagujarati:2726,dagurmukhi:2598,dahiragana:12384,dakatakana:12480,dalarabic:1583,dalet:1491,daletdagesh:64307,daletdageshhebrew:64307,dalethebrew:1491,dalfinalarabic:65194,dammaarabic:1615,dammalowarabic:1615,dammatanaltonearabic:1612,dammatanarabic:1612,danda:2404,dargahebrew:1447,dargalefthebrew:1447,dasiapneumatacyrilliccmb:1157,dblGrave:63187,dblanglebracketleft:12298,dblanglebracketleftvertical:65085,dblanglebracketright:12299,dblanglebracketrightvertical:65086,dblarchinvertedbelowcmb:811,dblarrowleft:8660,dblarrowright:8658,dbldanda:2405,dblgrave:63190,dblgravecmb:783,dblintegral:8748,dbllowline:8215,dbllowlinecmb:819,dbloverlinecmb:831,dblprimemod:698,dblverticalbar:8214,dblverticallineabovecmb:782,dbopomofo:12553,dbsquare:13256,dcaron:271,dcedilla:7697,dcircle:9427,dcircumflexbelow:7699,dcroat:273,ddabengali:2465,ddadeva:2337,ddagujarati:2721,ddagurmukhi:2593,ddalarabic:1672,ddalfinalarabic:64393,dddhadeva:2396,ddhabengali:2466,ddhadeva:2338,ddhagujarati:2722,ddhagurmukhi:2594,ddotaccent:7691,ddotbelow:7693,decimalseparatorarabic:1643,decimalseparatorpersian:1643,decyrillic:1076,degree:176,dehihebrew:1453,dehiragana:12391,deicoptic:1007,dekatakana:12487,deleteleft:9003,deleteright:8998,delta:948,deltaturned:397,denominatorminusonenumeratorbengali:2552,dezh:676,dhabengali:2471,dhadeva:2343,dhagujarati:2727,dhagurmukhi:2599,dhook:599,dialytikatonos:901,dialytikatonoscmb:836,diamond:9830,diamondsuitwhite:9826,dieresis:168,dieresisacute:63191,dieresisbelowcmb:804,dieresiscmb:776,dieresisgrave:63192,dieresistonos:901,dihiragana:12386,dikatakana:12482,dittomark:12291,divide:247,divides:8739,divisionslash:8725,djecyrillic:1106,dkshade:9619,dlinebelow:7695,dlsquare:13207,dmacron:273,dmonospace:65348,dnblock:9604,dochadathai:3598,dodekthai:3604,dohiragana:12393,dokatakana:12489,dollar:36,dollarinferior:63203,dollarmonospace:65284,dollaroldstyle:63268,dollarsmall:65129,dollarsuperior:63204,dong:8363,dorusquare:13094,dotaccent:729,dotaccentcmb:775,dotbelowcmb:803,dotbelowcomb:803,dotkatakana:12539,dotlessi:305,dotlessj:63166,dotlessjstrokehook:644,dotmath:8901,dottedcircle:9676,doubleyodpatah:64287,doubleyodpatahhebrew:64287,downtackbelowcmb:798,downtackmod:725,dparen:9375,dsuperior:63211,dtail:598,dtopbar:396,duhiragana:12389,dukatakana:12485,dz:499,dzaltone:675,dzcaron:454,dzcurl:677,dzeabkhasiancyrillic:1249,dzecyrillic:1109,dzhecyrillic:1119,e:101,eacute:233,earth:9793,ebengali:2447,ebopomofo:12572,ebreve:277,ecandradeva:2317,ecandragujarati:2701,ecandravowelsigndeva:2373,ecandravowelsigngujarati:2757,ecaron:283,ecedillabreve:7709,echarmenian:1381,echyiwnarmenian:1415,ecircle:9428,ecircumflex:234,ecircumflexacute:7871,ecircumflexbelow:7705,ecircumflexdotbelow:7879,ecircumflexgrave:7873,ecircumflexhookabove:7875,ecircumflextilde:7877,ecyrillic:1108,edblgrave:517,edeva:2319,edieresis:235,edot:279,edotaccent:279,edotbelow:7865,eegurmukhi:2575,eematragurmukhi:2631,efcyrillic:1092,egrave:232,egujarati:2703,eharmenian:1383,ehbopomofo:12573,ehiragana:12360,ehookabove:7867,eibopomofo:12575,eight:56,eightarabic:1640,eightbengali:2542,eightcircle:9319,eightcircleinversesansserif:10129,eightdeva:2414,eighteencircle:9329,eighteenparen:9349,eighteenperiod:9369,eightgujarati:2798,eightgurmukhi:2670,eighthackarabic:1640,eighthangzhou:12328,eighthnotebeamed:9835,eightideographicparen:12839,eightinferior:8328,eightmonospace:65304,eightoldstyle:63288,eightparen:9339,eightperiod:9359,eightpersian:1784,eightroman:8567,eightsuperior:8312,eightthai:3672,einvertedbreve:519,eiotifiedcyrillic:1125,ekatakana:12456,ekatakanahalfwidth:65396,ekonkargurmukhi:2676,ekorean:12628,elcyrillic:1083,element:8712,elevencircle:9322,elevenparen:9342,elevenperiod:9362,elevenroman:8570,ellipsis:8230,ellipsisvertical:8942,emacron:275,emacronacute:7703,emacrongrave:7701,emcyrillic:1084,emdash:8212,emdashvertical:65073,emonospace:65349,emphasismarkarmenian:1371,emptyset:8709,enbopomofo:12579,encyrillic:1085,endash:8211,endashvertical:65074,endescendercyrillic:1187,eng:331,engbopomofo:12581,enghecyrillic:1189,enhookcyrillic:1224,enspace:8194,eogonek:281,eokorean:12627,eopen:603,eopenclosed:666,eopenreversed:604,eopenreversedclosed:606,eopenreversedhook:605,eparen:9376,epsilon:949,epsilontonos:941,equal:61,equalmonospace:65309,equalsmall:65126,equalsuperior:8316,equivalence:8801,erbopomofo:12582,ercyrillic:1088,ereversed:600,ereversedcyrillic:1101,escyrillic:1089,esdescendercyrillic:1195,esh:643,eshcurl:646,eshortdeva:2318,eshortvowelsigndeva:2374,eshreversedloop:426,eshsquatreversed:645,esmallhiragana:12359,esmallkatakana:12455,esmallkatakanahalfwidth:65386,estimated:8494,esuperior:63212,eta:951,etarmenian:1384,etatonos:942,eth:240,etilde:7869,etildebelow:7707,etnahtafoukhhebrew:1425,etnahtafoukhlefthebrew:1425,etnahtahebrew:1425,etnahtalefthebrew:1425,eturned:477,eukorean:12641,euro:8364,evowelsignbengali:2503,evowelsigndeva:2375,evowelsigngujarati:2759,exclam:33,exclamarmenian:1372,exclamdbl:8252,exclamdown:161,exclamdownsmall:63393,exclammonospace:65281,exclamsmall:63265,existential:8707,ezh:658,ezhcaron:495,ezhcurl:659,ezhreversed:441,ezhtail:442,f:102,fadeva:2398,fagurmukhi:2654,fahrenheit:8457,fathaarabic:1614,fathalowarabic:1614,fathatanarabic:1611,fbopomofo:12552,fcircle:9429,fdotaccent:7711,feharabic:1601,feharmenian:1414,fehfinalarabic:65234,fehinitialarabic:65235,fehmedialarabic:65236,feicoptic:997,female:9792,ff:64256,ffi:64259,ffl:64260,fi:64257,fifteencircle:9326,fifteenparen:9346,fifteenperiod:9366,figuredash:8210,filledbox:9632,filledrect:9644,finalkaf:1498,finalkafdagesh:64314,finalkafdageshhebrew:64314,finalkafhebrew:1498,finalmem:1501,finalmemhebrew:1501,finalnun:1503,finalnunhebrew:1503,finalpe:1507,finalpehebrew:1507,finaltsadi:1509,finaltsadihebrew:1509,firsttonechinese:713,fisheye:9673,fitacyrillic:1139,five:53,fivearabic:1637,fivebengali:2539,fivecircle:9316,fivecircleinversesansserif:10126,fivedeva:2411,fiveeighths:8541,fivegujarati:2795,fivegurmukhi:2667,fivehackarabic:1637,fivehangzhou:12325,fiveideographicparen:12836,fiveinferior:8325,fivemonospace:65301,fiveoldstyle:63285,fiveparen:9336,fiveperiod:9356,fivepersian:1781,fiveroman:8564,fivesuperior:8309,fivethai:3669,fl:64258,florin:402,fmonospace:65350,fmsquare:13209,fofanthai:3615,fofathai:3613,fongmanthai:3663,forall:8704,four:52,fourarabic:1636,fourbengali:2538,fourcircle:9315,fourcircleinversesansserif:10125,fourdeva:2410,fourgujarati:2794,fourgurmukhi:2666,fourhackarabic:1636,fourhangzhou:12324,fourideographicparen:12835,fourinferior:8324,fourmonospace:65300,fournumeratorbengali:2551,fouroldstyle:63284,fourparen:9335,fourperiod:9355,fourpersian:1780,fourroman:8563,foursuperior:8308,fourteencircle:9325,fourteenparen:9345,fourteenperiod:9365,fourthai:3668,fourthtonechinese:715,fparen:9377,fraction:8260,franc:8355,g:103,gabengali:2455,gacute:501,gadeva:2327,gafarabic:1711,gaffinalarabic:64403,gafinitialarabic:64404,gafmedialarabic:64405,gagujarati:2711,gagurmukhi:2583,gahiragana:12364,gakatakana:12460,gamma:947,gammalatinsmall:611,gammasuperior:736,gangiacoptic:1003,gbopomofo:12557,gbreve:287,gcaron:487,gcedilla:291,gcircle:9430,gcircumflex:285,gcommaaccent:291,gdot:289,gdotaccent:289,gecyrillic:1075,gehiragana:12370,gekatakana:12466,geometricallyequal:8785,gereshaccenthebrew:1436,gereshhebrew:1523,gereshmuqdamhebrew:1437,germandbls:223,gershayimaccenthebrew:1438,gershayimhebrew:1524,getamark:12307,ghabengali:2456,ghadarmenian:1394,ghadeva:2328,ghagujarati:2712,ghagurmukhi:2584,ghainarabic:1594,ghainfinalarabic:65230,ghaininitialarabic:65231,ghainmedialarabic:65232,ghemiddlehookcyrillic:1173,ghestrokecyrillic:1171,gheupturncyrillic:1169,ghhadeva:2394,ghhagurmukhi:2650,ghook:608,ghzsquare:13203,gihiragana:12366,gikatakana:12462,gimarmenian:1379,gimel:1490,gimeldagesh:64306,gimeldageshhebrew:64306,gimelhebrew:1490,gjecyrillic:1107,glottalinvertedstroke:446,glottalstop:660,glottalstopinverted:662,glottalstopmod:704,glottalstopreversed:661,glottalstopreversedmod:705,glottalstopreversedsuperior:740,glottalstopstroke:673,glottalstopstrokereversed:674,gmacron:7713,gmonospace:65351,gohiragana:12372,gokatakana:12468,gparen:9378,gpasquare:13228,gradient:8711,grave:96,gravebelowcmb:790,gravecmb:768,gravecomb:768,gravedeva:2387,gravelowmod:718,gravemonospace:65344,gravetonecmb:832,greater:62,greaterequal:8805,greaterequalorless:8923,greatermonospace:65310,greaterorequivalent:8819,greaterorless:8823,greateroverequal:8807,greatersmall:65125,gscript:609,gstroke:485,guhiragana:12368,guillemotleft:171,guillemotright:187,guilsinglleft:8249,guilsinglright:8250,gukatakana:12464,guramusquare:13080,gysquare:13257,h:104,haabkhasiancyrillic:1193,haaltonearabic:1729,habengali:2489,hadescendercyrillic:1203,hadeva:2361,hagujarati:2745,hagurmukhi:2617,haharabic:1581,hahfinalarabic:65186,hahinitialarabic:65187,hahiragana:12399,hahmedialarabic:65188,haitusquare:13098,hakatakana:12495,hakatakanahalfwidth:65418,halantgurmukhi:2637,hamzaarabic:1569,hamzalowarabic:1569,hangulfiller:12644,hardsigncyrillic:1098,harpoonleftbarbup:8636,harpoonrightbarbup:8640,hasquare:13258,hatafpatah:1458,hatafpatah16:1458,hatafpatah23:1458,hatafpatah2f:1458,hatafpatahhebrew:1458,hatafpatahnarrowhebrew:1458,hatafpatahquarterhebrew:1458,hatafpatahwidehebrew:1458,hatafqamats:1459,hatafqamats1b:1459,hatafqamats28:1459,hatafqamats34:1459,hatafqamatshebrew:1459,hatafqamatsnarrowhebrew:1459,hatafqamatsquarterhebrew:1459,hatafqamatswidehebrew:1459,hatafsegol:1457,hatafsegol17:1457,hatafsegol24:1457,hatafsegol30:1457,hatafsegolhebrew:1457,hatafsegolnarrowhebrew:1457,hatafsegolquarterhebrew:1457,hatafsegolwidehebrew:1457,hbar:295,hbopomofo:12559,hbrevebelow:7723,hcedilla:7721,hcircle:9431,hcircumflex:293,hdieresis:7719,hdotaccent:7715,hdotbelow:7717,he:1492,heart:9829,heartsuitblack:9829,heartsuitwhite:9825,hedagesh:64308,hedageshhebrew:64308,hehaltonearabic:1729,heharabic:1607,hehebrew:1492,hehfinalaltonearabic:64423,hehfinalalttwoarabic:65258,hehfinalarabic:65258,hehhamzaabovefinalarabic:64421,hehhamzaaboveisolatedarabic:64420,hehinitialaltonearabic:64424,hehinitialarabic:65259,hehiragana:12408,hehmedialaltonearabic:64425,hehmedialarabic:65260,heiseierasquare:13179,hekatakana:12504,hekatakanahalfwidth:65421,hekutaarusquare:13110,henghook:615,herutusquare:13113,het:1495,hethebrew:1495,hhook:614,hhooksuperior:689,hieuhacirclekorean:12923,hieuhaparenkorean:12827,hieuhcirclekorean:12909,hieuhkorean:12622,hieuhparenkorean:12813,hihiragana:12402,hikatakana:12498,hikatakanahalfwidth:65419,hiriq:1460,hiriq14:1460,hiriq21:1460,hiriq2d:1460,hiriqhebrew:1460,hiriqnarrowhebrew:1460,hiriqquarterhebrew:1460,hiriqwidehebrew:1460,hlinebelow:7830,hmonospace:65352,hoarmenian:1392,hohipthai:3627,hohiragana:12411,hokatakana:12507,hokatakanahalfwidth:65422,holam:1465,holam19:1465,holam26:1465,holam32:1465,holamhebrew:1465,holamnarrowhebrew:1465,holamquarterhebrew:1465,holamwidehebrew:1465,honokhukthai:3630,hookabovecomb:777,hookcmb:777,hookpalatalizedbelowcmb:801,hookretroflexbelowcmb:802,hoonsquare:13122,horicoptic:1001,horizontalbar:8213,horncmb:795,hotsprings:9832,house:8962,hparen:9379,hsuperior:688,hturned:613,huhiragana:12405,huiitosquare:13107,hukatakana:12501,hukatakanahalfwidth:65420,hungarumlaut:733,hungarumlautcmb:779,hv:405,hyphen:45,hypheninferior:63205,hyphenmonospace:65293,hyphensmall:65123,hyphensuperior:63206,hyphentwo:8208,i:105,iacute:237,iacyrillic:1103,ibengali:2439,ibopomofo:12583,ibreve:301,icaron:464,icircle:9432,icircumflex:238,icyrillic:1110,idblgrave:521,ideographearthcircle:12943,ideographfirecircle:12939,ideographicallianceparen:12863,ideographiccallparen:12858,ideographiccentrecircle:12965,ideographicclose:12294,ideographiccomma:12289,ideographiccommaleft:65380,ideographiccongratulationparen:12855,ideographiccorrectcircle:12963,ideographicearthparen:12847,ideographicenterpriseparen:12861,ideographicexcellentcircle:12957,ideographicfestivalparen:12864,ideographicfinancialcircle:12950,ideographicfinancialparen:12854,ideographicfireparen:12843,ideographichaveparen:12850,ideographichighcircle:12964,ideographiciterationmark:12293,ideographiclaborcircle:12952,ideographiclaborparen:12856,ideographicleftcircle:12967,ideographiclowcircle:12966,ideographicmedicinecircle:12969,ideographicmetalparen:12846,ideographicmoonparen:12842,ideographicnameparen:12852,ideographicperiod:12290,ideographicprintcircle:12958,ideographicreachparen:12867,ideographicrepresentparen:12857,ideographicresourceparen:12862,ideographicrightcircle:12968,ideographicsecretcircle:12953,ideographicselfparen:12866,ideographicsocietyparen:12851,ideographicspace:12288,ideographicspecialparen:12853,ideographicstockparen:12849,ideographicstudyparen:12859,ideographicsunparen:12848,ideographicsuperviseparen:12860,ideographicwaterparen:12844,ideographicwoodparen:12845,ideographiczero:12295,ideographmetalcircle:12942,ideographmooncircle:12938,ideographnamecircle:12948,ideographsuncircle:12944,ideographwatercircle:12940,ideographwoodcircle:12941,ideva:2311,idieresis:239,idieresisacute:7727,idieresiscyrillic:1253,idotbelow:7883,iebrevecyrillic:1239,iecyrillic:1077,ieungacirclekorean:12917,ieungaparenkorean:12821,ieungcirclekorean:12903,ieungkorean:12615,ieungparenkorean:12807,igrave:236,igujarati:2695,igurmukhi:2567,ihiragana:12356,ihookabove:7881,iibengali:2440,iicyrillic:1080,iideva:2312,iigujarati:2696,iigurmukhi:2568,iimatragurmukhi:2624,iinvertedbreve:523,iishortcyrillic:1081,iivowelsignbengali:2496,iivowelsigndeva:2368,iivowelsigngujarati:2752,ij:307,ikatakana:12452,ikatakanahalfwidth:65394,ikorean:12643,ilde:732,iluyhebrew:1452,imacron:299,imacroncyrillic:1251,imageorapproximatelyequal:8787,imatragurmukhi:2623,imonospace:65353,increment:8710,infinity:8734,iniarmenian:1387,integral:8747,integralbottom:8993,integralbt:8993,integralex:63733,integraltop:8992,integraltp:8992,intersection:8745,intisquare:13061,invbullet:9688,invcircle:9689,invsmileface:9787,iocyrillic:1105,iogonek:303,iota:953,iotadieresis:970,iotadieresistonos:912,iotalatin:617,iotatonos:943,iparen:9380,irigurmukhi:2674,ismallhiragana:12355,ismallkatakana:12451,ismallkatakanahalfwidth:65384,issharbengali:2554,istroke:616,isuperior:63213,iterationhiragana:12445,iterationkatakana:12541,itilde:297,itildebelow:7725,iubopomofo:12585,iucyrillic:1102,ivowelsignbengali:2495,ivowelsigndeva:2367,ivowelsigngujarati:2751,izhitsacyrillic:1141,izhitsadblgravecyrillic:1143,j:106,jaarmenian:1393,jabengali:2460,jadeva:2332,jagujarati:2716,jagurmukhi:2588,jbopomofo:12560,jcaron:496,jcircle:9433,jcircumflex:309,jcrossedtail:669,jdotlessstroke:607,jecyrillic:1112,jeemarabic:1580,jeemfinalarabic:65182,jeeminitialarabic:65183,jeemmedialarabic:65184,jeharabic:1688,jehfinalarabic:64395,jhabengali:2461,jhadeva:2333,jhagujarati:2717,jhagurmukhi:2589,jheharmenian:1403,jis:12292,jmonospace:65354,jparen:9381,jsuperior:690,k:107,kabashkircyrillic:1185,kabengali:2453,kacute:7729,kacyrillic:1082,kadescendercyrillic:1179,kadeva:2325,kaf:1499,kafarabic:1603,kafdagesh:64315,kafdageshhebrew:64315,kaffinalarabic:65242,kafhebrew:1499,kafinitialarabic:65243,kafmedialarabic:65244,kafrafehebrew:64333,kagujarati:2709,kagurmukhi:2581,kahiragana:12363,kahookcyrillic:1220,kakatakana:12459,kakatakanahalfwidth:65398,kappa:954,kappasymbolgreek:1008,kapyeounmieumkorean:12657,kapyeounphieuphkorean:12676,kapyeounpieupkorean:12664,kapyeounssangpieupkorean:12665,karoriisquare:13069,kashidaautoarabic:1600,kashidaautonosidebearingarabic:1600,kasmallkatakana:12533,kasquare:13188,kasraarabic:1616,kasratanarabic:1613,kastrokecyrillic:1183,katahiraprolongmarkhalfwidth:65392,kaverticalstrokecyrillic:1181,kbopomofo:12558,kcalsquare:13193,kcaron:489,kcedilla:311,kcircle:9434,kcommaaccent:311,kdotbelow:7731,keharmenian:1412,kehiragana:12369,kekatakana:12465,kekatakanahalfwidth:65401,kenarmenian:1391,kesmallkatakana:12534,kgreenlandic:312,khabengali:2454,khacyrillic:1093,khadeva:2326,khagujarati:2710,khagurmukhi:2582,khaharabic:1582,khahfinalarabic:65190,khahinitialarabic:65191,khahmedialarabic:65192,kheicoptic:999,khhadeva:2393,khhagurmukhi:2649,khieukhacirclekorean:12920,khieukhaparenkorean:12824,khieukhcirclekorean:12906,khieukhkorean:12619,khieukhparenkorean:12810,khokhaithai:3586,khokhonthai:3589,khokhuatthai:3587,khokhwaithai:3588,khomutthai:3675,khook:409,khorakhangthai:3590,khzsquare:13201,kihiragana:12365,kikatakana:12461,kikatakanahalfwidth:65399,kiroguramusquare:13077,kiromeetorusquare:13078,kirosquare:13076,kiyeokacirclekorean:12910,kiyeokaparenkorean:12814,kiyeokcirclekorean:12896,kiyeokkorean:12593,kiyeokparenkorean:12800,kiyeoksioskorean:12595,kjecyrillic:1116,klinebelow:7733,klsquare:13208,kmcubedsquare:13222,kmonospace:65355,kmsquaredsquare:13218,kohiragana:12371,kohmsquare:13248,kokaithai:3585,kokatakana:12467,kokatakanahalfwidth:65402,kooposquare:13086,koppacyrillic:1153,koreanstandardsymbol:12927,koroniscmb:835,kparen:9382,kpasquare:13226,ksicyrillic:1135,ktsquare:13263,kturned:670,kuhiragana:12367,kukatakana:12463,kukatakanahalfwidth:65400,kvsquare:13240,kwsquare:13246,l:108,labengali:2482,lacute:314,ladeva:2354,lagujarati:2738,lagurmukhi:2610,lakkhangyaothai:3653,lamaleffinalarabic:65276,lamalefhamzaabovefinalarabic:65272,lamalefhamzaaboveisolatedarabic:65271,lamalefhamzabelowfinalarabic:65274,lamalefhamzabelowisolatedarabic:65273,lamalefisolatedarabic:65275,lamalefmaddaabovefinalarabic:65270,lamalefmaddaaboveisolatedarabic:65269,lamarabic:1604,lambda:955,lambdastroke:411,lamed:1500,lameddagesh:64316,lameddageshhebrew:64316,lamedhebrew:1500,lamfinalarabic:65246,lamhahinitialarabic:64714,laminitialarabic:65247,lamjeeminitialarabic:64713,lamkhahinitialarabic:64715,lamlamhehisolatedarabic:65010,lammedialarabic:65248,lammeemhahinitialarabic:64904,lammeeminitialarabic:64716,largecircle:9711,lbar:410,lbelt:620,lbopomofo:12556,lcaron:318,lcedilla:316,lcircle:9435,lcircumflexbelow:7741,lcommaaccent:316,ldot:320,ldotaccent:320,ldotbelow:7735,ldotbelowmacron:7737,leftangleabovecmb:794,lefttackbelowcmb:792,less:60,lessequal:8804,lessequalorgreater:8922,lessmonospace:65308,lessorequivalent:8818,lessorgreater:8822,lessoverequal:8806,lesssmall:65124,lezh:622,lfblock:9612,lhookretroflex:621,lira:8356,liwnarmenian:1388,lj:457,ljecyrillic:1113,ll:63168,lladeva:2355,llagujarati:2739,llinebelow:7739,llladeva:2356,llvocalicbengali:2529,llvocalicdeva:2401,llvocalicvowelsignbengali:2531,llvocalicvowelsigndeva:2403,lmiddletilde:619,lmonospace:65356,lmsquare:13264,lochulathai:3628,logicaland:8743,logicalnot:172,logicalnotreversed:8976,logicalor:8744,lolingthai:3621,longs:383,lowlinecenterline:65102,lowlinecmb:818,lowlinedashed:65101,lozenge:9674,lparen:9383,lslash:322,lsquare:8467,lsuperior:63214,ltshade:9617,luthai:3622,lvocalicbengali:2444,lvocalicdeva:2316,lvocalicvowelsignbengali:2530,lvocalicvowelsigndeva:2402,lxsquare:13267,m:109,mabengali:2478,macron:175,macronbelowcmb:817,macroncmb:772,macronlowmod:717,macronmonospace:65507,macute:7743,madeva:2350,magujarati:2734,magurmukhi:2606,mahapakhhebrew:1444,mahapakhlefthebrew:1444,mahiragana:12414,maichattawalowleftthai:63637,maichattawalowrightthai:63636,maichattawathai:3659,maichattawaupperleftthai:63635,maieklowleftthai:63628,maieklowrightthai:63627,maiekthai:3656,maiekupperleftthai:63626,maihanakatleftthai:63620,maihanakatthai:3633,maitaikhuleftthai:63625,maitaikhuthai:3655,maitholowleftthai:63631,maitholowrightthai:63630,maithothai:3657,maithoupperleftthai:63629,maitrilowleftthai:63634,maitrilowrightthai:63633,maitrithai:3658,maitriupperleftthai:63632,maiyamokthai:3654,makatakana:12510,makatakanahalfwidth:65423,male:9794,mansyonsquare:13127,maqafhebrew:1470,mars:9794,masoracirclehebrew:1455,masquare:13187,mbopomofo:12551,mbsquare:13268,mcircle:9436,mcubedsquare:13221,mdotaccent:7745,mdotbelow:7747,meemarabic:1605,meemfinalarabic:65250,meeminitialarabic:65251,meemmedialarabic:65252,meemmeeminitialarabic:64721,meemmeemisolatedarabic:64584,meetorusquare:13133,mehiragana:12417,meizierasquare:13182,mekatakana:12513,mekatakanahalfwidth:65426,mem:1502,memdagesh:64318,memdageshhebrew:64318,memhebrew:1502,menarmenian:1396,merkhahebrew:1445,merkhakefulahebrew:1446,merkhakefulalefthebrew:1446,merkhalefthebrew:1445,mhook:625,mhzsquare:13202,middledotkatakanahalfwidth:65381,middot:183,mieumacirclekorean:12914,mieumaparenkorean:12818,mieumcirclekorean:12900,mieumkorean:12609,mieumpansioskorean:12656,mieumparenkorean:12804,mieumpieupkorean:12654,mieumsioskorean:12655,mihiragana:12415,mikatakana:12511,mikatakanahalfwidth:65424,minus:8722,minusbelowcmb:800,minuscircle:8854,minusmod:727,minusplus:8723,minute:8242,miribaarusquare:13130,mirisquare:13129,mlonglegturned:624,mlsquare:13206,mmcubedsquare:13219,mmonospace:65357,mmsquaredsquare:13215,mohiragana:12418,mohmsquare:13249,mokatakana:12514,mokatakanahalfwidth:65427,molsquare:13270,momathai:3617,moverssquare:13223,moverssquaredsquare:13224,mparen:9384,mpasquare:13227,mssquare:13235,msuperior:63215,mturned:623,mu:181,mu1:181,muasquare:13186,muchgreater:8811,muchless:8810,mufsquare:13196,mugreek:956,mugsquare:13197,muhiragana:12416,mukatakana:12512,mukatakanahalfwidth:65425,mulsquare:13205,multiply:215,mumsquare:13211,munahhebrew:1443,munahlefthebrew:1443,musicalnote:9834,musicalnotedbl:9835,musicflatsign:9837,musicsharpsign:9839,mussquare:13234,muvsquare:13238,muwsquare:13244,mvmegasquare:13241,mvsquare:13239,mwmegasquare:13247,mwsquare:13245,n:110,nabengali:2472,nabla:8711,nacute:324,nadeva:2344,nagujarati:2728,nagurmukhi:2600,nahiragana:12394,nakatakana:12490,nakatakanahalfwidth:65413,napostrophe:329,nasquare:13185,nbopomofo:12555,nbspace:160,ncaron:328,ncedilla:326,ncircle:9437,ncircumflexbelow:7755,ncommaaccent:326,ndotaccent:7749,ndotbelow:7751,nehiragana:12397,nekatakana:12493,nekatakanahalfwidth:65416,newsheqelsign:8362,nfsquare:13195,ngabengali:2457,ngadeva:2329,ngagujarati:2713,ngagurmukhi:2585,ngonguthai:3591,nhiragana:12435,nhookleft:626,nhookretroflex:627,nieunacirclekorean:12911,nieunaparenkorean:12815,nieuncieuckorean:12597,nieuncirclekorean:12897,nieunhieuhkorean:12598,nieunkorean:12596,nieunpansioskorean:12648,nieunparenkorean:12801,nieunsioskorean:12647,nieuntikeutkorean:12646,nihiragana:12395,nikatakana:12491,nikatakanahalfwidth:65414,nikhahitleftthai:63641,nikhahitthai:3661,nine:57,ninearabic:1641,ninebengali:2543,ninecircle:9320,ninecircleinversesansserif:10130,ninedeva:2415,ninegujarati:2799,ninegurmukhi:2671,ninehackarabic:1641,ninehangzhou:12329,nineideographicparen:12840,nineinferior:8329,ninemonospace:65305,nineoldstyle:63289,nineparen:9340,nineperiod:9360,ninepersian:1785,nineroman:8568,ninesuperior:8313,nineteencircle:9330,nineteenparen:9350,nineteenperiod:9370,ninethai:3673,nj:460,njecyrillic:1114,nkatakana:12531,nkatakanahalfwidth:65437,nlegrightlong:414,nlinebelow:7753,nmonospace:65358,nmsquare:13210,nnabengali:2467,nnadeva:2339,nnagujarati:2723,nnagurmukhi:2595,nnnadeva:2345,nohiragana:12398,nokatakana:12494,nokatakanahalfwidth:65417,nonbreakingspace:160,nonenthai:3603,nonuthai:3609,noonarabic:1606,noonfinalarabic:65254,noonghunnaarabic:1722,noonghunnafinalarabic:64415,nooninitialarabic:65255,noonjeeminitialarabic:64722,noonjeemisolatedarabic:64587,noonmedialarabic:65256,noonmeeminitialarabic:64725,noonmeemisolatedarabic:64590,noonnoonfinalarabic:64653,notcontains:8716,notelement:8713,notelementof:8713,notequal:8800,notgreater:8815,notgreaternorequal:8817,notgreaternorless:8825,notidentical:8802,notless:8814,notlessnorequal:8816,notparallel:8742,notprecedes:8832,notsubset:8836,notsucceeds:8833,notsuperset:8837,nowarmenian:1398,nparen:9385,nssquare:13233,nsuperior:8319,ntilde:241,nu:957,nuhiragana:12396,nukatakana:12492,nukatakanahalfwidth:65415,nuktabengali:2492,nuktadeva:2364,nuktagujarati:2748,nuktagurmukhi:2620,numbersign:35,numbersignmonospace:65283,numbersignsmall:65119,numeralsigngreek:884,numeralsignlowergreek:885,numero:8470,nun:1504,nundagesh:64320,nundageshhebrew:64320,nunhebrew:1504,nvsquare:13237,nwsquare:13243,nyabengali:2462,nyadeva:2334,nyagujarati:2718,nyagurmukhi:2590,o:111,oacute:243,oangthai:3629,obarred:629,obarredcyrillic:1257,obarreddieresiscyrillic:1259,obengali:2451,obopomofo:12571,obreve:335,ocandradeva:2321,ocandragujarati:2705,ocandravowelsigndeva:2377,ocandravowelsigngujarati:2761,ocaron:466,ocircle:9438,ocircumflex:244,ocircumflexacute:7889,ocircumflexdotbelow:7897,ocircumflexgrave:7891,ocircumflexhookabove:7893,ocircumflextilde:7895,ocyrillic:1086,odblacute:337,odblgrave:525,odeva:2323,odieresis:246,odieresiscyrillic:1255,odotbelow:7885,oe:339,oekorean:12634,ogonek:731,ogonekcmb:808,ograve:242,ogujarati:2707,oharmenian:1413,ohiragana:12362,ohookabove:7887,ohorn:417,ohornacute:7899,ohorndotbelow:7907,ohorngrave:7901,ohornhookabove:7903,ohorntilde:7905,ohungarumlaut:337,oi:419,oinvertedbreve:527,okatakana:12458,okatakanahalfwidth:65397,okorean:12631,olehebrew:1451,omacron:333,omacronacute:7763,omacrongrave:7761,omdeva:2384,omega:969,omega1:982,omegacyrillic:1121,omegalatinclosed:631,omegaroundcyrillic:1147,omegatitlocyrillic:1149,omegatonos:974,omgujarati:2768,omicron:959,omicrontonos:972,omonospace:65359,one:49,onearabic:1633,onebengali:2535,onecircle:9312,onecircleinversesansserif:10122,onedeva:2407,onedotenleader:8228,oneeighth:8539,onefitted:63196,onegujarati:2791,onegurmukhi:2663,onehackarabic:1633,onehalf:189,onehangzhou:12321,oneideographicparen:12832,oneinferior:8321,onemonospace:65297,onenumeratorbengali:2548,oneoldstyle:63281,oneparen:9332,oneperiod:9352,onepersian:1777,onequarter:188,oneroman:8560,onesuperior:185,onethai:3665,onethird:8531,oogonek:491,oogonekmacron:493,oogurmukhi:2579,oomatragurmukhi:2635,oopen:596,oparen:9386,openbullet:9702,option:8997,ordfeminine:170,ordmasculine:186,orthogonal:8735,oshortdeva:2322,oshortvowelsigndeva:2378,oslash:248,oslashacute:511,osmallhiragana:12361,osmallkatakana:12457,osmallkatakanahalfwidth:65387,ostrokeacute:511,osuperior:63216,otcyrillic:1151,otilde:245,otildeacute:7757,otildedieresis:7759,oubopomofo:12577,overline:8254,overlinecenterline:65098,overlinecmb:773,overlinedashed:65097,overlinedblwavy:65100,overlinewavy:65099,overscore:175,ovowelsignbengali:2507,ovowelsigndeva:2379,ovowelsigngujarati:2763,p:112,paampssquare:13184,paasentosquare:13099,pabengali:2474,pacute:7765,padeva:2346,pagedown:8671,pageup:8670,pagujarati:2730,pagurmukhi:2602,pahiragana:12401,paiyannoithai:3631,pakatakana:12497,palatalizationcyrilliccmb:1156,palochkacyrillic:1216,pansioskorean:12671,paragraph:182,parallel:8741,parenleft:40,parenleftaltonearabic:64830,parenleftbt:63725,parenleftex:63724,parenleftinferior:8333,parenleftmonospace:65288,parenleftsmall:65113,parenleftsuperior:8317,parenlefttp:63723,parenleftvertical:65077,parenright:41,parenrightaltonearabic:64831,parenrightbt:63736,parenrightex:63735,parenrightinferior:8334,parenrightmonospace:65289,parenrightsmall:65114,parenrightsuperior:8318,parenrighttp:63734,parenrightvertical:65078,partialdiff:8706,paseqhebrew:1472,pashtahebrew:1433,pasquare:13225,patah:1463,patah11:1463,patah1d:1463,patah2a:1463,patahhebrew:1463,patahnarrowhebrew:1463,patahquarterhebrew:1463,patahwidehebrew:1463,pazerhebrew:1441,pbopomofo:12550,pcircle:9439,pdotaccent:7767,pe:1508,pecyrillic:1087,pedagesh:64324,pedageshhebrew:64324,peezisquare:13115,pefinaldageshhebrew:64323,peharabic:1662,peharmenian:1402,pehebrew:1508,pehfinalarabic:64343,pehinitialarabic:64344,pehiragana:12410,pehmedialarabic:64345,pekatakana:12506,pemiddlehookcyrillic:1191,perafehebrew:64334,percent:37,percentarabic:1642,percentmonospace:65285,percentsmall:65130,period:46,periodarmenian:1417,periodcentered:183,periodhalfwidth:65377,periodinferior:63207,periodmonospace:65294,periodsmall:65106,periodsuperior:63208,perispomenigreekcmb:834,perpendicular:8869,perthousand:8240,peseta:8359,pfsquare:13194,phabengali:2475,phadeva:2347,phagujarati:2731,phagurmukhi:2603,phi:966,phi1:981,phieuphacirclekorean:12922,phieuphaparenkorean:12826,phieuphcirclekorean:12908,phieuphkorean:12621,phieuphparenkorean:12812,philatin:632,phinthuthai:3642,phisymbolgreek:981,phook:421,phophanthai:3614,phophungthai:3612,phosamphaothai:3616,pi:960,pieupacirclekorean:12915,pieupaparenkorean:12819,pieupcieuckorean:12662,pieupcirclekorean:12901,pieupkiyeokkorean:12658,pieupkorean:12610,pieupparenkorean:12805,pieupsioskiyeokkorean:12660,pieupsioskorean:12612,pieupsiostikeutkorean:12661,pieupthieuthkorean:12663,pieuptikeutkorean:12659,pihiragana:12404,pikatakana:12500,pisymbolgreek:982,piwrarmenian:1411,plus:43,plusbelowcmb:799,pluscircle:8853,plusminus:177,plusmod:726,plusmonospace:65291,plussmall:65122,plussuperior:8314,pmonospace:65360,pmsquare:13272,pohiragana:12413,pointingindexdownwhite:9759,pointingindexleftwhite:9756,pointingindexrightwhite:9758,pointingindexupwhite:9757,pokatakana:12509,poplathai:3611,postalmark:12306,postalmarkface:12320,pparen:9387,precedes:8826,prescription:8478,primemod:697,primereversed:8245,product:8719,projective:8965,prolongedkana:12540,propellor:8984,propersubset:8834,propersuperset:8835,proportion:8759,proportional:8733,psi:968,psicyrillic:1137,psilipneumatacyrilliccmb:1158,pssquare:13232,puhiragana:12407,pukatakana:12503,pvsquare:13236,pwsquare:13242,q:113,qadeva:2392,qadmahebrew:1448,qafarabic:1602,qaffinalarabic:65238,qafinitialarabic:65239,qafmedialarabic:65240,qamats:1464,qamats10:1464,qamats1a:1464,qamats1c:1464,qamats27:1464,qamats29:1464,qamats33:1464,qamatsde:1464,qamatshebrew:1464,qamatsnarrowhebrew:1464,qamatsqatanhebrew:1464,qamatsqatannarrowhebrew:1464,qamatsqatanquarterhebrew:1464,qamatsqatanwidehebrew:1464,qamatsquarterhebrew:1464,qamatswidehebrew:1464,qarneyparahebrew:1439,qbopomofo:12561,qcircle:9440,qhook:672,qmonospace:65361,qof:1511,qofdagesh:64327,qofdageshhebrew:64327,qofhebrew:1511,qparen:9388,quarternote:9833,qubuts:1467,qubuts18:1467,qubuts25:1467,qubuts31:1467,qubutshebrew:1467,qubutsnarrowhebrew:1467,qubutsquarterhebrew:1467,qubutswidehebrew:1467,question:63,questionarabic:1567,questionarmenian:1374,questiondown:191,questiondownsmall:63423,questiongreek:894,questionmonospace:65311,questionsmall:63295,quotedbl:34,quotedblbase:8222,quotedblleft:8220,quotedblmonospace:65282,quotedblprime:12318,quotedblprimereversed:12317,quotedblright:8221,quoteleft:8216,quoteleftreversed:8219,quotereversed:8219,quoteright:8217,quoterightn:329,quotesinglbase:8218,quotesingle:39,quotesinglemonospace:65287,r:114,raarmenian:1404,rabengali:2480,racute:341,radeva:2352,radical:8730,radicalex:63717,radoverssquare:13230,radoverssquaredsquare:13231,radsquare:13229,rafe:1471,rafehebrew:1471,ragujarati:2736,ragurmukhi:2608,rahiragana:12425,rakatakana:12521,rakatakanahalfwidth:65431,ralowerdiagonalbengali:2545,ramiddlediagonalbengali:2544,ramshorn:612,ratio:8758,rbopomofo:12566,rcaron:345,rcedilla:343,rcircle:9441,rcommaaccent:343,rdblgrave:529,rdotaccent:7769,rdotbelow:7771,rdotbelowmacron:7773,referencemark:8251,reflexsubset:8838,reflexsuperset:8839,registered:174,registersans:63720,registerserif:63194,reharabic:1585,reharmenian:1408,rehfinalarabic:65198,rehiragana:12428,rekatakana:12524,rekatakanahalfwidth:65434,resh:1512,reshdageshhebrew:64328,reshhebrew:1512,reversedtilde:8765,reviahebrew:1431,reviamugrashhebrew:1431,revlogicalnot:8976,rfishhook:638,rfishhookreversed:639,rhabengali:2525,rhadeva:2397,rho:961,rhook:637,rhookturned:635,rhookturnedsuperior:693,rhosymbolgreek:1009,rhotichookmod:734,rieulacirclekorean:12913,rieulaparenkorean:12817,rieulcirclekorean:12899,rieulhieuhkorean:12608,rieulkiyeokkorean:12602,rieulkiyeoksioskorean:12649,rieulkorean:12601,rieulmieumkorean:12603,rieulpansioskorean:12652,rieulparenkorean:12803,rieulphieuphkorean:12607,rieulpieupkorean:12604,rieulpieupsioskorean:12651,rieulsioskorean:12605,rieulthieuthkorean:12606,rieultikeutkorean:12650,rieulyeorinhieuhkorean:12653,rightangle:8735,righttackbelowcmb:793,righttriangle:8895,rihiragana:12426,rikatakana:12522,rikatakanahalfwidth:65432,ring:730,ringbelowcmb:805,ringcmb:778,ringhalfleft:703,ringhalfleftarmenian:1369,ringhalfleftbelowcmb:796,ringhalfleftcentered:723,ringhalfright:702,ringhalfrightbelowcmb:825,ringhalfrightcentered:722,rinvertedbreve:531,rittorusquare:13137,rlinebelow:7775,rlongleg:636,rlonglegturned:634,rmonospace:65362,rohiragana:12429,rokatakana:12525,rokatakanahalfwidth:65435,roruathai:3619,rparen:9389,rrabengali:2524,rradeva:2353,rragurmukhi:2652,rreharabic:1681,rrehfinalarabic:64397,rrvocalicbengali:2528,rrvocalicdeva:2400,rrvocalicgujarati:2784,rrvocalicvowelsignbengali:2500,rrvocalicvowelsigndeva:2372,rrvocalicvowelsigngujarati:2756,rsuperior:63217,rtblock:9616,rturned:633,rturnedsuperior:692,ruhiragana:12427,rukatakana:12523,rukatakanahalfwidth:65433,rupeemarkbengali:2546,rupeesignbengali:2547,rupiah:63197,ruthai:3620,rvocalicbengali:2443,rvocalicdeva:2315,rvocalicgujarati:2699,rvocalicvowelsignbengali:2499,rvocalicvowelsigndeva:2371,rvocalicvowelsigngujarati:2755,s:115,sabengali:2488,sacute:347,sacutedotaccent:7781,sadarabic:1589,sadeva:2360,sadfinalarabic:65210,sadinitialarabic:65211,sadmedialarabic:65212,sagujarati:2744,sagurmukhi:2616,sahiragana:12373,sakatakana:12469,sakatakanahalfwidth:65403,sallallahoualayhewasallamarabic:65018,samekh:1505,samekhdagesh:64321,samekhdageshhebrew:64321,samekhhebrew:1505,saraaathai:3634,saraaethai:3649,saraaimaimalaithai:3652,saraaimaimuanthai:3651,saraamthai:3635,saraathai:3632,saraethai:3648,saraiileftthai:63622,saraiithai:3637,saraileftthai:63621,saraithai:3636,saraothai:3650,saraueeleftthai:63624,saraueethai:3639,saraueleftthai:63623,sarauethai:3638,sarauthai:3640,sarauuthai:3641,sbopomofo:12569,scaron:353,scarondotaccent:7783,scedilla:351,schwa:601,schwacyrillic:1241,schwadieresiscyrillic:1243,schwahook:602,scircle:9442,scircumflex:349,scommaaccent:537,sdotaccent:7777,sdotbelow:7779,sdotbelowdotaccent:7785,seagullbelowcmb:828,second:8243,secondtonechinese:714,section:167,seenarabic:1587,seenfinalarabic:65202,seeninitialarabic:65203,seenmedialarabic:65204,segol:1462,segol13:1462,segol1f:1462,segol2c:1462,segolhebrew:1462,segolnarrowhebrew:1462,segolquarterhebrew:1462,segoltahebrew:1426,segolwidehebrew:1462,seharmenian:1405,sehiragana:12379,sekatakana:12475,sekatakanahalfwidth:65406,semicolon:59,semicolonarabic:1563,semicolonmonospace:65307,semicolonsmall:65108,semivoicedmarkkana:12444,semivoicedmarkkanahalfwidth:65439,sentisquare:13090,sentosquare:13091,seven:55,sevenarabic:1639,sevenbengali:2541,sevencircle:9318,sevencircleinversesansserif:10128,sevendeva:2413,seveneighths:8542,sevengujarati:2797,sevengurmukhi:2669,sevenhackarabic:1639,sevenhangzhou:12327,sevenideographicparen:12838,seveninferior:8327,sevenmonospace:65303,sevenoldstyle:63287,sevenparen:9338,sevenperiod:9358,sevenpersian:1783,sevenroman:8566,sevensuperior:8311,seventeencircle:9328,seventeenparen:9348,seventeenperiod:9368,seventhai:3671,sfthyphen:173,shaarmenian:1399,shabengali:2486,shacyrillic:1096,shaddaarabic:1617,shaddadammaarabic:64609,shaddadammatanarabic:64606,shaddafathaarabic:64608,shaddakasraarabic:64610,shaddakasratanarabic:64607,shade:9618,shadedark:9619,shadelight:9617,shademedium:9618,shadeva:2358,shagujarati:2742,shagurmukhi:2614,shalshelethebrew:1427,shbopomofo:12565,shchacyrillic:1097,sheenarabic:1588,sheenfinalarabic:65206,sheeninitialarabic:65207,sheenmedialarabic:65208,sheicoptic:995,sheqel:8362,sheqelhebrew:8362,sheva:1456,sheva115:1456,sheva15:1456,sheva22:1456,sheva2e:1456,shevahebrew:1456,shevanarrowhebrew:1456,shevaquarterhebrew:1456,shevawidehebrew:1456,shhacyrillic:1211,shimacoptic:1005,shin:1513,shindagesh:64329,shindageshhebrew:64329,shindageshshindot:64300,shindageshshindothebrew:64300,shindageshsindot:64301,shindageshsindothebrew:64301,shindothebrew:1473,shinhebrew:1513,shinshindot:64298,shinshindothebrew:64298,shinsindot:64299,shinsindothebrew:64299,shook:642,sigma:963,sigma1:962,sigmafinal:962,sigmalunatesymbolgreek:1010,sihiragana:12375,sikatakana:12471,sikatakanahalfwidth:65404,siluqhebrew:1469,siluqlefthebrew:1469,similar:8764,sindothebrew:1474,siosacirclekorean:12916,siosaparenkorean:12820,sioscieuckorean:12670,sioscirclekorean:12902,sioskiyeokkorean:12666,sioskorean:12613,siosnieunkorean:12667,siosparenkorean:12806,siospieupkorean:12669,siostikeutkorean:12668,six:54,sixarabic:1638,sixbengali:2540,sixcircle:9317,sixcircleinversesansserif:10127,sixdeva:2412,sixgujarati:2796,sixgurmukhi:2668,sixhackarabic:1638,sixhangzhou:12326,sixideographicparen:12837,sixinferior:8326,sixmonospace:65302,sixoldstyle:63286,sixparen:9337,sixperiod:9357,sixpersian:1782,sixroman:8565,sixsuperior:8310,sixteencircle:9327,sixteencurrencydenominatorbengali:2553,sixteenparen:9347,sixteenperiod:9367,sixthai:3670,slash:47,slashmonospace:65295,slong:383,slongdotaccent:7835,smileface:9786,smonospace:65363,sofpasuqhebrew:1475,softhyphen:173,softsigncyrillic:1100,sohiragana:12381,sokatakana:12477,sokatakanahalfwidth:65407,soliduslongoverlaycmb:824,solidusshortoverlaycmb:823,sorusithai:3625,sosalathai:3624,sosothai:3595,sosuathai:3626,space:32,spacehackarabic:32,spade:9824,spadesuitblack:9824,spadesuitwhite:9828,sparen:9390,squarebelowcmb:827,squarecc:13252,squarecm:13213,squarediagonalcrosshatchfill:9641,squarehorizontalfill:9636,squarekg:13199,squarekm:13214,squarekmcapital:13262,squareln:13265,squarelog:13266,squaremg:13198,squaremil:13269,squaremm:13212,squaremsquared:13217,squareorthogonalcrosshatchfill:9638,squareupperlefttolowerrightfill:9639,squareupperrighttolowerleftfill:9640,squareverticalfill:9637,squarewhitewithsmallblack:9635,srsquare:13275,ssabengali:2487,ssadeva:2359,ssagujarati:2743,ssangcieuckorean:12617,ssanghieuhkorean:12677,ssangieungkorean:12672,ssangkiyeokkorean:12594,ssangnieunkorean:12645,ssangpieupkorean:12611,ssangsioskorean:12614,ssangtikeutkorean:12600,ssuperior:63218,sterling:163,sterlingmonospace:65505,strokelongoverlaycmb:822,strokeshortoverlaycmb:821,subset:8834,subsetnotequal:8842,subsetorequal:8838,succeeds:8827,suchthat:8715,suhiragana:12377,sukatakana:12473,sukatakanahalfwidth:65405,sukunarabic:1618,summation:8721,sun:9788,superset:8835,supersetnotequal:8843,supersetorequal:8839,svsquare:13276,syouwaerasquare:13180,t:116,tabengali:2468,tackdown:8868,tackleft:8867,tadeva:2340,tagujarati:2724,tagurmukhi:2596,taharabic:1591,tahfinalarabic:65218,tahinitialarabic:65219,tahiragana:12383,tahmedialarabic:65220,taisyouerasquare:13181,takatakana:12479,takatakanahalfwidth:65408,tatweelarabic:1600,tau:964,tav:1514,tavdages:64330,tavdagesh:64330,tavdageshhebrew:64330,tavhebrew:1514,tbar:359,tbopomofo:12554,tcaron:357,tccurl:680,tcedilla:355,tcheharabic:1670,tchehfinalarabic:64379,tchehinitialarabic:64380,tchehmedialarabic:64381,tcircle:9443,tcircumflexbelow:7793,tcommaaccent:355,tdieresis:7831,tdotaccent:7787,tdotbelow:7789,tecyrillic:1090,tedescendercyrillic:1197,teharabic:1578,tehfinalarabic:65174,tehhahinitialarabic:64674,tehhahisolatedarabic:64524,tehinitialarabic:65175,tehiragana:12390,tehjeeminitialarabic:64673,tehjeemisolatedarabic:64523,tehmarbutaarabic:1577,tehmarbutafinalarabic:65172,tehmedialarabic:65176,tehmeeminitialarabic:64676,tehmeemisolatedarabic:64526,tehnoonfinalarabic:64627,tekatakana:12486,tekatakanahalfwidth:65411,telephone:8481,telephoneblack:9742,telishagedolahebrew:1440,telishaqetanahebrew:1449,tencircle:9321,tenideographicparen:12841,tenparen:9341,tenperiod:9361,tenroman:8569,tesh:679,tet:1496,tetdagesh:64312,tetdageshhebrew:64312,tethebrew:1496,tetsecyrillic:1205,tevirhebrew:1435,tevirlefthebrew:1435,thabengali:2469,thadeva:2341,thagujarati:2725,thagurmukhi:2597,thalarabic:1584,thalfinalarabic:65196,thanthakhatlowleftthai:63640,thanthakhatlowrightthai:63639,thanthakhatthai:3660,thanthakhatupperleftthai:63638,theharabic:1579,thehfinalarabic:65178,thehinitialarabic:65179,thehmedialarabic:65180,thereexists:8707,therefore:8756,theta:952,theta1:977,thetasymbolgreek:977,thieuthacirclekorean:12921,thieuthaparenkorean:12825,thieuthcirclekorean:12907,thieuthkorean:12620,thieuthparenkorean:12811,thirteencircle:9324,thirteenparen:9344,thirteenperiod:9364,thonangmonthothai:3601,thook:429,thophuthaothai:3602,thorn:254,thothahanthai:3607,thothanthai:3600,thothongthai:3608,thothungthai:3606,thousandcyrillic:1154,thousandsseparatorarabic:1644,thousandsseparatorpersian:1644,three:51,threearabic:1635,threebengali:2537,threecircle:9314,threecircleinversesansserif:10124,threedeva:2409,threeeighths:8540,threegujarati:2793,threegurmukhi:2665,threehackarabic:1635,threehangzhou:12323,threeideographicparen:12834,threeinferior:8323,threemonospace:65299,threenumeratorbengali:2550,threeoldstyle:63283,threeparen:9334,threeperiod:9354,threepersian:1779,threequarters:190,threequartersemdash:63198,threeroman:8562,threesuperior:179,threethai:3667,thzsquare:13204,tihiragana:12385,tikatakana:12481,tikatakanahalfwidth:65409,tikeutacirclekorean:12912,tikeutaparenkorean:12816,tikeutcirclekorean:12898,tikeutkorean:12599,tikeutparenkorean:12802,tilde:732,tildebelowcmb:816,tildecmb:771,tildecomb:771,tildedoublecmb:864,tildeoperator:8764,tildeoverlaycmb:820,tildeverticalcmb:830,timescircle:8855,tipehahebrew:1430,tipehalefthebrew:1430,tippigurmukhi:2672,titlocyrilliccmb:1155,tiwnarmenian:1407,tlinebelow:7791,tmonospace:65364,toarmenian:1385,tohiragana:12392,tokatakana:12488,tokatakanahalfwidth:65412,tonebarextrahighmod:741,tonebarextralowmod:745,tonebarhighmod:742,tonebarlowmod:744,tonebarmidmod:743,tonefive:445,tonesix:389,tonetwo:424,tonos:900,tonsquare:13095,topatakthai:3599,tortoiseshellbracketleft:12308,tortoiseshellbracketleftsmall:65117,tortoiseshellbracketleftvertical:65081,tortoiseshellbracketright:12309,tortoiseshellbracketrightsmall:65118,tortoiseshellbracketrightvertical:65082,totaothai:3605,tpalatalhook:427,tparen:9391,trademark:8482,trademarksans:63722,trademarkserif:63195,tretroflexhook:648,triagdn:9660,triaglf:9668,triagrt:9658,triagup:9650,ts:678,tsadi:1510,tsadidagesh:64326,tsadidageshhebrew:64326,tsadihebrew:1510,tsecyrillic:1094,tsere:1461,tsere12:1461,tsere1e:1461,tsere2b:1461,tserehebrew:1461,tserenarrowhebrew:1461,tserequarterhebrew:1461,tserewidehebrew:1461,tshecyrillic:1115,tsuperior:63219,ttabengali:2463,ttadeva:2335,ttagujarati:2719,ttagurmukhi:2591,tteharabic:1657,ttehfinalarabic:64359,ttehinitialarabic:64360,ttehmedialarabic:64361,tthabengali:2464,tthadeva:2336,tthagujarati:2720,tthagurmukhi:2592,tturned:647,tuhiragana:12388,tukatakana:12484,tukatakanahalfwidth:65410,tusmallhiragana:12387,tusmallkatakana:12483,tusmallkatakanahalfwidth:65391,twelvecircle:9323,twelveparen:9343,twelveperiod:9363,twelveroman:8571,twentycircle:9331,twentyhangzhou:21316,twentyparen:9351,twentyperiod:9371,two:50,twoarabic:1634,twobengali:2536,twocircle:9313,twocircleinversesansserif:10123,twodeva:2408,twodotenleader:8229,twodotleader:8229,twodotleadervertical:65072,twogujarati:2792,twogurmukhi:2664,twohackarabic:1634,twohangzhou:12322,twoideographicparen:12833,twoinferior:8322,twomonospace:65298,twonumeratorbengali:2549,twooldstyle:63282,twoparen:9333,twoperiod:9353,twopersian:1778,tworoman:8561,twostroke:443,twosuperior:178,twothai:3666,twothirds:8532,u:117,uacute:250,ubar:649,ubengali:2441,ubopomofo:12584,ubreve:365,ucaron:468,ucircle:9444,ucircumflex:251,ucircumflexbelow:7799,ucyrillic:1091,udattadeva:2385,udblacute:369,udblgrave:533,udeva:2313,udieresis:252,udieresisacute:472,udieresisbelow:7795,udieresiscaron:474,udieresiscyrillic:1265,udieresisgrave:476,udieresismacron:470,udotbelow:7909,ugrave:249,ugujarati:2697,ugurmukhi:2569,uhiragana:12358,uhookabove:7911,uhorn:432,uhornacute:7913,uhorndotbelow:7921,uhorngrave:7915,uhornhookabove:7917,uhorntilde:7919,uhungarumlaut:369,uhungarumlautcyrillic:1267,uinvertedbreve:535,ukatakana:12454,ukatakanahalfwidth:65395,ukcyrillic:1145,ukorean:12636,umacron:363,umacroncyrillic:1263,umacrondieresis:7803,umatragurmukhi:2625,umonospace:65365,underscore:95,underscoredbl:8215,underscoremonospace:65343,underscorevertical:65075,underscorewavy:65103,union:8746,universal:8704,uogonek:371,uparen:9392,upblock:9600,upperdothebrew:1476,upsilon:965,upsilondieresis:971,upsilondieresistonos:944,upsilonlatin:650,upsilontonos:973,uptackbelowcmb:797,uptackmod:724,uragurmukhi:2675,uring:367,ushortcyrillic:1118,usmallhiragana:12357,usmallkatakana:12453,usmallkatakanahalfwidth:65385,ustraightcyrillic:1199,ustraightstrokecyrillic:1201,utilde:361,utildeacute:7801,utildebelow:7797,uubengali:2442,uudeva:2314,uugujarati:2698,uugurmukhi:2570,uumatragurmukhi:2626,uuvowelsignbengali:2498,uuvowelsigndeva:2370,uuvowelsigngujarati:2754,uvowelsignbengali:2497,uvowelsigndeva:2369,uvowelsigngujarati:2753,v:118,vadeva:2357,vagujarati:2741,vagurmukhi:2613,vakatakana:12535,vav:1493,vavdagesh:64309,vavdagesh65:64309,vavdageshhebrew:64309,vavhebrew:1493,vavholam:64331,vavholamhebrew:64331,vavvavhebrew:1520,vavyodhebrew:1521,vcircle:9445,vdotbelow:7807,vecyrillic:1074,veharabic:1700,vehfinalarabic:64363,vehinitialarabic:64364,vehmedialarabic:64365,vekatakana:12537,venus:9792,verticalbar:124,verticallineabovecmb:781,verticallinebelowcmb:809,verticallinelowmod:716,verticallinemod:712,vewarmenian:1406,vhook:651,vikatakana:12536,viramabengali:2509,viramadeva:2381,viramagujarati:2765,visargabengali:2435,visargadeva:2307,visargagujarati:2691,vmonospace:65366,voarmenian:1400,voicediterationhiragana:12446,voicediterationkatakana:12542,voicedmarkkana:12443,voicedmarkkanahalfwidth:65438,vokatakana:12538,vparen:9393,vtilde:7805,vturned:652,vuhiragana:12436,vukatakana:12532,w:119,wacute:7811,waekorean:12633,wahiragana:12431,wakatakana:12527,wakatakanahalfwidth:65436,wakorean:12632,wasmallhiragana:12430,wasmallkatakana:12526,wattosquare:13143,wavedash:12316,wavyunderscorevertical:65076,wawarabic:1608,wawfinalarabic:65262,wawhamzaabovearabic:1572,wawhamzaabovefinalarabic:65158,wbsquare:13277,wcircle:9446,wcircumflex:373,wdieresis:7813,wdotaccent:7815,wdotbelow:7817,wehiragana:12433,weierstrass:8472,wekatakana:12529,wekorean:12638,weokorean:12637,wgrave:7809,whitebullet:9702,whitecircle:9675,whitecircleinverse:9689,whitecornerbracketleft:12302,whitecornerbracketleftvertical:65091,whitecornerbracketright:12303,whitecornerbracketrightvertical:65092,whitediamond:9671,whitediamondcontainingblacksmalldiamond:9672,whitedownpointingsmalltriangle:9663,whitedownpointingtriangle:9661,whiteleftpointingsmalltriangle:9667,whiteleftpointingtriangle:9665,whitelenticularbracketleft:12310,whitelenticularbracketright:12311,whiterightpointingsmalltriangle:9657,whiterightpointingtriangle:9655,whitesmallsquare:9643,whitesmilingface:9786,whitesquare:9633,whitestar:9734,whitetelephone:9743,whitetortoiseshellbracketleft:12312,whitetortoiseshellbracketright:12313,whiteuppointingsmalltriangle:9653,whiteuppointingtriangle:9651,wihiragana:12432,wikatakana:12528,wikorean:12639,wmonospace:65367,wohiragana:12434,wokatakana:12530,wokatakanahalfwidth:65382,won:8361,wonmonospace:65510,wowaenthai:3623,wparen:9394,wring:7832,wsuperior:695,wturned:653,wynn:447,x:120,xabovecmb:829,xbopomofo:12562,xcircle:9447,xdieresis:7821,xdotaccent:7819,xeharmenian:1389,xi:958,xmonospace:65368,xparen:9395,xsuperior:739,y:121,yaadosquare:13134,yabengali:2479,yacute:253,yadeva:2351,yaekorean:12626,yagujarati:2735,yagurmukhi:2607,yahiragana:12420,yakatakana:12516,yakatakanahalfwidth:65428,yakorean:12625,yamakkanthai:3662,yasmallhiragana:12419,yasmallkatakana:12515,yasmallkatakanahalfwidth:65388,yatcyrillic:1123,ycircle:9448,ycircumflex:375,ydieresis:255,ydotaccent:7823,ydotbelow:7925,yeharabic:1610,yehbarreearabic:1746,yehbarreefinalarabic:64431,yehfinalarabic:65266,yehhamzaabovearabic:1574,yehhamzaabovefinalarabic:65162,yehhamzaaboveinitialarabic:65163,yehhamzaabovemedialarabic:65164,yehinitialarabic:65267,yehmedialarabic:65268,yehmeeminitialarabic:64733,yehmeemisolatedarabic:64600,yehnoonfinalarabic:64660,yehthreedotsbelowarabic:1745,yekorean:12630,yen:165,yenmonospace:65509,yeokorean:12629,yeorinhieuhkorean:12678,yerahbenyomohebrew:1450,yerahbenyomolefthebrew:1450,yericyrillic:1099,yerudieresiscyrillic:1273,yesieungkorean:12673,yesieungpansioskorean:12675,yesieungsioskorean:12674,yetivhebrew:1434,ygrave:7923,yhook:436,yhookabove:7927,yiarmenian:1397,yicyrillic:1111,yikorean:12642,yinyang:9775,yiwnarmenian:1410,ymonospace:65369,yod:1497,yoddagesh:64313,yoddageshhebrew:64313,yodhebrew:1497,yodyodhebrew:1522,yodyodpatahhebrew:64287,yohiragana:12424,yoikorean:12681,yokatakana:12520,yokatakanahalfwidth:65430,yokorean:12635,yosmallhiragana:12423,yosmallkatakana:12519,yosmallkatakanahalfwidth:65390,yotgreek:1011,yoyaekorean:12680,yoyakorean:12679,yoyakthai:3618,yoyingthai:3597,yparen:9396,ypogegrammeni:890,ypogegrammenigreekcmb:837,yr:422,yring:7833,ysuperior:696,ytilde:7929,yturned:654,yuhiragana:12422,yuikorean:12684,yukatakana:12518,yukatakanahalfwidth:65429,yukorean:12640,yusbigcyrillic:1131,yusbigiotifiedcyrillic:1133,yuslittlecyrillic:1127,yuslittleiotifiedcyrillic:1129,yusmallhiragana:12421,yusmallkatakana:12517,yusmallkatakanahalfwidth:65389,yuyekorean:12683,yuyeokorean:12682,yyabengali:2527,yyadeva:2399,z:122,zaarmenian:1382,zacute:378,zadeva:2395,zagurmukhi:2651,zaharabic:1592,zahfinalarabic:65222,zahinitialarabic:65223,zahiragana:12374,zahmedialarabic:65224,zainarabic:1586,zainfinalarabic:65200,zakatakana:12470,zaqefgadolhebrew:1429,zaqefqatanhebrew:1428,zarqahebrew:1432,zayin:1494,zayindagesh:64310,zayindageshhebrew:64310,zayinhebrew:1494,zbopomofo:12567,zcaron:382,zcircle:9449,zcircumflex:7825,zcurl:657,zdot:380,zdotaccent:380,zdotbelow:7827,zecyrillic:1079,zedescendercyrillic:1177,zedieresiscyrillic:1247,zehiragana:12380,zekatakana:12476,zero:48,zeroarabic:1632,zerobengali:2534,zerodeva:2406,zerogujarati:2790,zerogurmukhi:2662,zerohackarabic:1632,zeroinferior:8320,zeromonospace:65296,zerooldstyle:63280,zeropersian:1776,zerosuperior:8304,zerothai:3664,zerowidthjoiner:65279,zerowidthnonjoiner:8204,zerowidthspace:8203,zeta:950,zhbopomofo:12563,zhearmenian:1386,zhebrevecyrillic:1218,zhecyrillic:1078,zhedescendercyrillic:1175,zhedieresiscyrillic:1245,zihiragana:12376,zikatakana:12472,zinorhebrew:1454,zlinebelow:7829,zmonospace:65370,zohiragana:12382,zokatakana:12478,zparen:9397,zretroflexhook:656,zstroke:438,zuhiragana:12378,zukatakana:12474,".notdef":0},or=function(){function r(e,t,a,r){if(r instanceof xr&&r.isNativelyDecodable(t,a)){var i=r.dict,n=i.get("ColorSpace","CS");
-n=Gt.parse(n,t,a);var o=n.numComps,s=e.sendWithPromise("JpegDecode",[r.getIR(),o]);return s.then(function(e){var t=e.data;return new pr(t,0,t.length,r.dict)})}return Promise.resolve(r)}function i(e,t,a,r){return e=t+e*a,0>e?0:e>r?r:e}function n(t,r,i,o,s,c,l){this.image=i;var h=i.dict;if(h.has("Filter")){var u=h.get("Filter").name;if("JPXDecode"===u){var f=new Ur;f.parseImageProperties(i.stream),i.stream.reset(),i.bitsPerComponent=f.bitsPerComponent,i.numComps=f.componentsCount}else"JBIG2Decode"===u&&(i.bitsPerComponent=1,i.numComps=1)}this.width=h.get("Width","W"),this.height=h.get("Height","H"),(this.width<1||this.height<1)&&a("Invalid image width: "+this.width+" or height: "+this.height),this.interpolate=h.get("Interpolate","I")||!1,this.imageMask=h.get("ImageMask","IM")||!1,this.matte=h.get("Matte")||!1;var d=i.bitsPerComponent;if(d||(d=h.get("BitsPerComponent","BPC"),d||(this.imageMask?d=1:a("Bits per component missing in image: "+this.imageMask))),this.bpc=d,!this.imageMask){var g=h.get("ColorSpace","CS");if(!g)switch(e("JPX images (which do not require color spaces)"),i.numComps){case 1:g=Bt.get("DeviceGray");break;case 3:g=Bt.get("DeviceRGB");break;case 4:g=Bt.get("DeviceCMYK");break;default:a("JPX images with "+this.numComps+" color components not supported.")}this.colorSpace=Gt.parse(g,t,r),this.numComps=this.colorSpace.numComps}if(this.decode=h.get("Decode","D"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode)||l&&!Gt.isDefaultDecode(this.decode,1))){this.needsDecode=!0;var m=(1<<d)-1;this.decodeCoefficients=[],this.decodeAddends=[];for(var p=0,b=0;p<this.decode.length;p+=2,++b){var v=this.decode[p],y=this.decode[p+1];this.decodeCoefficients[b]=y-v,this.decodeAddends[b]=m*v}}s?this.smask=new n(t,r,s,!1):c&&(this.mask=O(c)?new n(t,r,c,!1,null,null,!0):c)}return n.buildImage=function(e,a,i,o,s){var c,l,h=r(e,a,i,o),u=o.dict.get("SMask"),f=o.dict.get("Mask");return u?(c=r(e,a,i,u),l=Promise.resolve(null)):(c=Promise.resolve(null),f?O(f)?l=r(e,a,i,f):I(f)?l=Promise.resolve(f):(t("Unsupported mask format."),l=Promise.resolve(null)):l=Promise.resolve(null)),Promise.all([h,c,l]).then(function(e){var t=e[0],r=e[1],o=e[2];return new n(a,i,t,s,r,o)})},n.resize=function(e,t,r,i,n,o,s,c,l){1!==r&&3!==r&&a("Unsupported component count for resizing.");var h,u,f,d,g=o*s*r,m=c?c:8>=t?new Uint8Array(g):16>=t?new Uint16Array(g):new Uint32Array(g),p=i/o,b=n/s,v=0,y=new Uint16Array(o),k=i*r;for(1!==l&&(l=0),u=0;o>u;u++)y[u]=Math.floor(u*p)*r;if(1===r)for(h=0;s>h;h++)for(f=Math.floor(h*b)*k,u=0;o>u;u++)d=f+y[u],m[v++]=e[d];else if(3===r)for(h=0;s>h;h++)for(f=Math.floor(h*b)*k,u=0;o>u;u++)d=f+y[u],m[v++]=e[d++],m[v++]=e[d++],m[v++]=e[d++],v+=l;return m},n.createMask=function(e,t,a,r,i){var n,o=e.byteLength;if(r?n=e:(n=new Uint8Array(o),n.set(e)),i)for(var s=0;o>s;s++)n[s]=~n[s];return{data:n,width:t,height:a}},n.prototype={get drawWidth(){return Math.max(this.width,this.smask&&this.smask.width||0,this.mask&&this.mask.width||0)},get drawHeight(){return Math.max(this.height,this.smask&&this.smask.height||0,this.mask&&this.mask.height||0)},decodeBuffer:function(e){var t,a,r=this.bpc,n=this.numComps,o=this.decodeAddends,s=this.decodeCoefficients,c=(1<<r)-1;if(1!==r){var l=0;for(t=0,a=this.width*this.height;a>t;t++)for(var h=0;n>h;h++)e[l]=i(e[l],o[h],s[h],c),l++}else for(t=0,a=e.length;a>t;t++)e[t]=+!e[t]},getComponents:function(e){var t=this.bpc;if(8===t)return e;var a,r,i=this.width,n=this.height,o=this.numComps,s=i*n*o,c=0,l=8>=t?new Uint8Array(s):16>=t?new Uint16Array(s):new Uint32Array(s),h=i*o,u=(1<<t)-1,f=0;if(1===t)for(var d,g,m,p=0;n>p;p++){for(g=f+(-8&h),m=f+h;g>f;)r=e[c++],l[f]=r>>7&1,l[f+1]=r>>6&1,l[f+2]=r>>5&1,l[f+3]=r>>4&1,l[f+4]=r>>3&1,l[f+5]=r>>2&1,l[f+6]=r>>1&1,l[f+7]=1&r,f+=8;if(m>f)for(r=e[c++],d=128;m>f;)l[f++]=+!!(r&d),d>>=1}else{var b=0;for(r=0,f=0,a=s;a>f;++f){for(f%h===0&&(r=0,b=0);t>b;)r=r<<8|e[c++],b+=8;var v=b-t,y=r>>v;l[f]=0>y?0:y>u?u:y,r&=(1<<v)-1,b=v}}return l},fillOpacity:function(e,t,r,i,o){var s,c,l,h,u,f,d=this.smask,g=this.mask;if(d)c=d.width,l=d.height,s=new Uint8Array(c*l),d.fillGrayBuffer(s),(c!=t||l!=r)&&(s=n.resize(s,d.bpc,1,c,l,t,r));else if(g)if(g instanceof n){for(c=g.width,l=g.height,s=new Uint8Array(c*l),g.numComps=1,g.fillGrayBuffer(s),h=0,u=c*l;u>h;++h)s[h]=255-s[h];(c!=t||l!=r)&&(s=n.resize(s,g.bpc,1,c,l,t,r))}else if(I(g)){s=new Uint8Array(t*r);var m=this.numComps;for(h=0,u=t*r;u>h;++h){var p=0,b=h*m;for(f=0;m>f;++f){var v=o[b+f],y=2*f;if(v<g[y]||v>g[y+1]){p=255;break}}s[h]=p}}else a("Unknown mask format.");if(s)for(h=0,f=3,u=t*i;u>h;++h,f+=4)e[f]=s[h];else for(h=0,f=3,u=t*i;u>h;++h,f+=4)e[f]=255},undoPreblend:function(e,t,a){var r=this.smask&&this.smask.matte;if(r)for(var i,n,o,s=this.colorSpace.getRgb(r,0),c=s[0],l=s[1],h=s[2],u=t*a*4,f=0;u>f;f+=4){var d=e[f+3];if(0!==d){var g=255/d;i=(e[f]-c)*g+c,n=(e[f+1]-l)*g+l,o=(e[f+2]-h)*g+h,e[f]=0>=i?0:i>=255?255:0|i,e[f+1]=0>=n?0:n>=255?255:0|n,e[f+2]=0>=o?0:o>=255?255:0|o}else e[f]=255,e[f+1]=255,e[f+2]=255}},createImageData:function(e){var t,a=this.drawWidth,r=this.drawHeight,i={width:a,height:r},n=this.numComps,o=this.width,s=this.height,c=this.bpc,l=o*n*c+7>>3;if(!e){var h;if("DeviceGray"===this.colorSpace.name&&1===c?h=V.GRAYSCALE_1BPP:"DeviceRGB"===this.colorSpace.name&&8===c&&(h=V.RGB_24BPP),h&&!this.smask&&!this.mask&&!this.needsDecode&&a===o&&r===s){if(i.kind=h,t=this.getImageBytes(s*l),this.image instanceof vr)i.data=t;else{var u=new Uint8Array(t.length);u.set(t),i.data=u}return i}}if(this.image instanceof xr)return i.kind=V.RGB_24BPP,i.data=this.getImageBytes(s*l,a,r),i;t=this.getImageBytes(s*l);var f,d,g=0|t.length/l*r/s,m=this.getComponents(t);return e||this.smask||this.mask?(i.kind=V.RGBA_32BPP,i.data=new Uint8Array(a*r*4),f=1,d=!0,this.fillOpacity(i.data,a,r,g,m)):(i.kind=V.RGB_24BPP,i.data=new Uint8Array(a*r*3),f=0,d=!1),this.needsDecode&&this.decodeBuffer(m),this.colorSpace.fillRgb(i.data,o,s,a,r,g,c,m,f),d&&this.undoPreblend(i.data,a,g),i},fillGrayBuffer:function(e){var t=this.numComps;1!=t&&a("Reading gray scale from a color image: "+t);var r,i,n=this.width,o=this.height,s=this.bpc,c=n*t*s+7>>3,l=this.getImageBytes(o*c),h=this.getComponents(l);if(1!==s){this.needsDecode&&this.decodeBuffer(h),i=n*o;var u=255/((1<<s)-1);for(r=0;i>r;++r)e[r]=u*h[r]|0}else if(i=n*o,this.needsDecode)for(r=0;i>r;++r)e[r]=h[r]-1&255;else for(r=0;i>r;++r)e[r]=255&-h[r]},getImageBytes:function(e,t,a){return this.image.reset(),this.image.drawWidth=t,this.image.drawHeight=a,this.image.getBytes(e)}},n}(),sr={Courier:600,"Courier-Bold":600,"Courier-BoldOblique":600,"Courier-Oblique":600,Helvetica:{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},"Helvetica-Bold":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-BoldOblique":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-Oblique":{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},Symbol:{space:250,exclam:333,universal:713,numbersign:500,existential:549,percent:833,ampersand:778,suchthat:439,parenleft:333,parenright:333,asteriskmath:500,plus:549,comma:250,minus:549,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:549,equal:549,greater:549,question:444,congruent:549,Alpha:722,Beta:667,Chi:722,Delta:612,Epsilon:611,Phi:763,Gamma:603,Eta:722,Iota:333,theta1:631,Kappa:722,Lambda:686,Mu:889,Nu:722,Omicron:722,Pi:768,Theta:741,Rho:556,Sigma:592,Tau:611,Upsilon:690,sigma1:439,Omega:768,Xi:645,Psi:795,Zeta:611,bracketleft:333,therefore:863,bracketright:333,perpendicular:658,underscore:500,radicalex:500,alpha:631,beta:549,chi:549,delta:494,epsilon:439,phi:521,gamma:411,eta:603,iota:329,phi1:603,kappa:549,lambda:549,mu:576,nu:521,omicron:549,pi:549,theta:521,rho:549,sigma:603,tau:439,upsilon:576,omega1:713,omega:686,xi:493,psi:686,zeta:494,braceleft:480,bar:200,braceright:480,similar:549,Euro:750,Upsilon1:620,minute:247,lessequal:549,fraction:167,infinity:713,florin:500,club:753,diamond:753,heart:753,spade:753,arrowboth:1042,arrowleft:987,arrowup:603,arrowright:987,arrowdown:603,degree:400,plusminus:549,second:411,greaterequal:549,multiply:549,proportional:713,partialdiff:494,bullet:460,divide:549,notequal:549,equivalence:549,approxequal:549,ellipsis:1e3,arrowvertex:603,arrowhorizex:1e3,carriagereturn:658,aleph:823,Ifraktur:686,Rfraktur:795,weierstrass:987,circlemultiply:768,circleplus:768,emptyset:823,intersection:768,union:768,propersuperset:713,reflexsuperset:713,notsubset:713,propersubset:713,reflexsubset:713,element:713,notelement:713,angle:768,gradient:713,registerserif:790,copyrightserif:790,trademarkserif:890,product:823,radical:549,dotmath:250,logicalnot:713,logicaland:603,logicalor:603,arrowdblboth:1042,arrowdblleft:987,arrowdblup:603,arrowdblright:987,arrowdbldown:603,lozenge:494,angleleft:329,registersans:790,copyrightsans:790,trademarksans:786,summation:713,parenlefttp:384,parenleftex:384,parenleftbt:384,bracketlefttp:384,bracketleftex:384,bracketleftbt:384,bracelefttp:494,braceleftmid:494,braceleftbt:494,braceex:494,angleright:329,integral:274,integraltp:686,integralex:686,integralbt:686,parenrighttp:384,parenrightex:384,parenrightbt:384,bracketrighttp:384,bracketrightex:384,bracketrightbt:384,bracerighttp:494,bracerightmid:494,bracerightbt:494,apple:790},"Times-Roman":{space:250,exclam:333,quotedbl:408,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:564,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:564,equal:564,greater:564,question:444,at:921,A:722,B:667,C:667,D:722,E:611,F:556,G:722,H:722,I:333,J:389,K:722,L:611,M:889,N:722,O:722,P:556,Q:722,R:667,S:556,T:611,U:722,V:722,W:944,X:722,Y:722,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:469,underscore:500,quoteleft:333,a:444,b:500,c:444,d:500,e:444,f:333,g:500,h:500,i:278,j:278,k:500,l:278,m:778,n:500,o:500,p:500,q:500,r:333,s:389,t:278,u:500,v:500,w:722,x:500,y:500,z:444,braceleft:480,bar:200,braceright:480,asciitilde:541,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:180,quotedblleft:444,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:453,bullet:350,quotesinglbase:333,quotedblbase:444,quotedblright:444,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:444,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:889,ordfeminine:276,Lslash:611,Oslash:722,OE:889,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:333,eacute:444,abreve:444,uhungarumlaut:500,ecaron:444,Ydieresis:722,divide:564,Yacute:722,Acircumflex:722,aacute:444,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:444,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:444,Ncommaaccent:722,lacute:278,agrave:444,Tcommaaccent:611,Cacute:667,atilde:444,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:667,Gcommaaccent:722,ucircumflex:500,acircumflex:444,Amacron:722,rcaron:333,ccedilla:444,Zdotaccent:611,Thorn:556,Omacron:722,Racute:667,Sacute:556,dcaron:588,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:722,Abreve:722,multiply:564,uacute:500,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:611,adieresis:444,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:722,Iacute:333,plusminus:564,brokenbar:200,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:333,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:326,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:722,oacute:500,amacron:444,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:556,lcaron:344,Kcommaaccent:722,Lacute:611,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:722,zdotaccent:444,Ecaron:611,Iogonek:333,kcommaaccent:500,minus:564,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:564,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},"Times-Bold":{space:250,exclam:333,quotedbl:555,numbersign:500,dollar:500,percent:1e3,ampersand:833,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:930,A:722,B:667,C:722,D:722,E:667,F:611,G:778,H:778,I:389,J:500,K:778,L:667,M:944,N:722,O:778,P:611,Q:778,R:722,S:556,T:667,U:722,V:722,W:1e3,X:722,Y:722,Z:667,bracketleft:333,backslash:278,bracketright:333,asciicircum:581,underscore:500,quoteleft:333,a:500,b:556,c:444,d:556,e:444,f:333,g:500,h:556,i:278,j:333,k:556,l:278,m:833,n:556,o:500,p:556,q:556,r:444,s:389,t:333,u:556,v:500,w:722,x:500,y:500,z:444,braceleft:394,bar:220,braceright:394,asciitilde:520,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:540,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:300,Lslash:667,Oslash:778,OE:1e3,ordmasculine:330,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:556,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:722,divide:570,Yacute:722,Acircumflex:722,aacute:500,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:667,Cacute:722,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:500,Amacron:722,rcaron:444,ccedilla:444,Zdotaccent:667,Thorn:611,Omacron:778,Racute:722,Sacute:556,dcaron:672,Umacron:722,uring:556,threesuperior:300,Ograve:778,Agrave:722,Abreve:722,multiply:570,uacute:556,Tcaron:667,partialdiff:494,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:778,Idotaccent:389,summation:600,Egrave:667,racute:444,omacron:500,Zacute:667,Zcaron:667,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:416,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:778,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:300,Odieresis:778,mu:556,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:556,threequarters:750,Scedilla:556,lcaron:394,Kcommaaccent:778,Lacute:667,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:667,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:778,degree:400,ograve:500,Ccaron:722,ugrave:556,radical:549,Dcaron:722,rcommaaccent:444,Ntilde:722,otilde:500,Rcommaaccent:722,Lcommaaccent:667,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:444,Ecaron:667,Iogonek:389,kcommaaccent:556,minus:570,Icircumflex:389,ncaron:556,tcommaaccent:333,logicalnot:570,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-BoldItalic":{space:250,exclam:389,quotedbl:555,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:832,A:667,B:667,C:667,D:722,E:667,F:667,G:722,H:778,I:389,J:500,K:667,L:611,M:889,N:722,O:722,P:611,Q:722,R:667,S:556,T:611,U:722,V:667,W:889,X:667,Y:611,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:570,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:333,g:500,h:556,i:278,j:278,k:500,l:278,m:778,n:556,o:500,p:500,q:500,r:389,s:389,t:278,u:556,v:444,w:667,x:500,y:444,z:389,braceleft:348,bar:220,braceright:348,asciitilde:570,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:500,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:944,ordfeminine:266,Lslash:611,Oslash:722,OE:944,ordmasculine:300,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:611,divide:570,Yacute:611,Acircumflex:667,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:611,Cacute:667,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:667,Gcommaaccent:722,ucircumflex:556,acircumflex:500,Amacron:667,rcaron:389,ccedilla:444,Zdotaccent:611,Thorn:611,Omacron:722,Racute:667,Sacute:556,dcaron:608,Umacron:722,uring:556,threesuperior:300,Ograve:722,Agrave:667,Abreve:667,multiply:570,uacute:556,Tcaron:611,partialdiff:494,ydieresis:444,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:722,Idotaccent:389,summation:600,Egrave:667,racute:389,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:366,eogonek:444,Uogonek:722,Aacute:667,Adieresis:667,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:576,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:500,threequarters:750,Scedilla:556,lcaron:382,Kcommaaccent:667,Lacute:611,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:556,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:667,Aogonek:667,Aring:667,Otilde:722,zdotaccent:389,Ecaron:667,Iogonek:389,kcommaaccent:500,minus:606,Icircumflex:389,ncaron:556,tcommaaccent:278,logicalnot:606,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-Italic":{space:250,exclam:333,quotedbl:420,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:675,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:675,equal:675,greater:675,question:500,at:920,A:611,B:611,C:667,D:722,E:611,F:611,G:722,H:722,I:333,J:444,K:667,L:556,M:833,N:667,O:722,P:611,Q:722,R:611,S:500,T:556,U:722,V:611,W:833,X:611,Y:556,Z:556,bracketleft:389,backslash:278,bracketright:389,asciicircum:422,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:278,g:500,h:500,i:278,j:278,k:444,l:278,m:722,n:500,o:500,p:500,q:500,r:389,s:389,t:278,u:500,v:444,w:667,x:444,y:444,z:389,braceleft:400,bar:275,braceright:400,asciitilde:541,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:214,quotedblleft:556,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:523,bullet:350,quotesinglbase:333,quotedblbase:556,quotedblright:556,guillemotright:500,ellipsis:889,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:889,AE:889,ordfeminine:276,Lslash:556,Oslash:722,OE:944,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:667,germandbls:500,Idieresis:333,eacute:444,abreve:500,uhungarumlaut:500,ecaron:444,Ydieresis:556,divide:675,Yacute:556,Acircumflex:611,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:500,Ncommaaccent:667,lacute:278,agrave:500,Tcommaaccent:556,Cacute:667,atilde:500,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:611,Gcommaaccent:722,ucircumflex:500,acircumflex:500,Amacron:611,rcaron:389,ccedilla:444,Zdotaccent:556,Thorn:611,Omacron:722,Racute:611,Sacute:500,dcaron:544,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:611,Abreve:611,multiply:675,uacute:500,Tcaron:556,partialdiff:476,ydieresis:444,Nacute:667,icircumflex:278,Ecircumflex:611,adieresis:500,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:667,Iacute:333,plusminus:675,brokenbar:275,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:389,omacron:500,Zacute:556,Zcaron:556,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:300,eogonek:444,Uogonek:722,Aacute:611,Adieresis:611,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:500,lcaron:300,Kcommaaccent:667,Lacute:556,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:500,Scommaaccent:500,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:389,Ntilde:667,otilde:500,Rcommaaccent:611,Lcommaaccent:556,Atilde:611,Aogonek:611,Aring:611,Otilde:722,zdotaccent:389,Ecaron:611,Iogonek:333,kcommaaccent:444,minus:675,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:675,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},ZapfDingbats:{space:278,a1:974,a2:961,a202:974,a3:980,a4:719,a5:789,a119:790,a118:791,a117:690,a11:960,a12:939,a13:549,a14:855,a15:911,a16:933,a105:911,a17:945,a18:974,a19:755,a20:846,a21:762,a22:761,a23:571,a24:677,a25:763,a26:760,a27:759,a28:754,a6:494,a7:552,a8:537,a9:577,a10:692,a29:786,a30:788,a31:788,a32:790,a33:793,a34:794,a35:816,a36:823,a37:789,a38:841,a39:823,a40:833,a41:816,a42:831,a43:923,a44:744,a45:723,a46:749,a47:790,a48:792,a49:695,a50:776,a51:768,a52:792,a53:759,a54:707,a55:708,a56:682,a57:701,a58:826,a59:815,a60:789,a61:789,a62:707,a63:687,a64:696,a65:689,a66:786,a67:787,a68:713,a69:791,a70:785,a71:791,a72:873,a73:761,a74:762,a203:762,a75:759,a204:759,a76:892,a77:892,a78:788,a79:784,a81:438,a82:138,a83:277,a84:415,a97:392,a98:392,a99:668,a100:668,a89:390,a90:390,a93:317,a94:317,a91:276,a92:276,a205:509,a85:509,a206:410,a86:410,a87:234,a88:234,a95:334,a96:334,a101:732,a102:544,a103:544,a104:910,a106:667,a107:760,a108:760,a112:776,a111:595,a110:694,a109:626,a120:788,a121:788,a122:788,a123:788,a124:788,a125:788,a126:788,a127:788,a128:788,a129:788,a130:788,a131:788,a132:788,a133:788,a134:788,a135:788,a136:788,a137:788,a138:788,a139:788,a140:788,a141:788,a142:788,a143:788,a144:788,a145:788,a146:788,a147:788,a148:788,a149:788,a150:788,a151:788,a152:788,a153:788,a154:788,a155:788,a156:788,a157:788,a158:788,a159:788,a160:894,a161:838,a163:1016,a164:458,a196:748,a165:924,a192:748,a166:918,a167:927,a168:928,a169:928,a170:834,a171:873,a172:828,a173:924,a162:924,a174:917,a175:930,a176:931,a177:463,a178:883,a179:836,a193:836,a180:867,a199:867,a181:696,a200:696,a182:874,a201:874,a183:760,a184:946,a197:771,a185:865,a194:771,a198:888,a186:967,a195:888,a187:831,a188:873,a189:927,a190:970,a191:918}},cr={},lr=function(){function r(e,t,a){this.lexer=e,this.allowStreams=t,this.xref=a,this.imageCache={length:0,adler32:0,stream:null},this.refill()
-}return r.prototype={refill:function(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()},shift:function(){A(this.buf2,"ID")?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())},getObj:function(t){var r=this.buf1;if(this.shift(),r instanceof It)switch(r.cmd){case"BI":return this.makeInlineImage(t);case"[":for(var i=[];!A(this.buf1,"]")&&!z(this.buf1);)i.push(this.getObj(t));return z(this.buf1)&&a("End of file inside array"),this.shift(),i;case"<<":for(var n=new Ot(this.xref);!A(this.buf1,">>")&&!z(this.buf1);)if(S(this.buf1)){var o=this.buf1.name;if(this.shift(),z(this.buf1))break;n.set(o,this.getObj(t))}else e("Malformed dictionary: key must be a name object"),this.shift();return z(this.buf1)&&a("End of file inside dictionary"),A(this.buf2,"stream")?this.allowStreams?this.makeStream(n,t):n:(this.shift(),n);default:return r}if(w(r)){var s=r;if(w(this.buf1)&&A(this.buf2,"R")){var c=new Lt(s,this.buf1);return this.shift(),this.shift(),c}return s}if(C(r)){var l=r;return t&&(l=t.decryptString(l)),l}return r},makeInlineImage:function(e){for(var t=this.lexer,r=t.stream,i=new Ot(null);!A(this.buf1,"ID")&&!z(this.buf1);){S(this.buf1)||a("Dictionary key must be a name object");var n=this.buf1.name;if(this.shift(),z(this.buf1))break;i.set(n,this.getObj(e))}for(var o,s,c,l=r.pos,h=0;4!=h&&-1!==(o=r.getByte());)switch(0|o){case 32:case 13:case 10:var u=r.peekBytes(5);for(s=0,c=u.length;c>s;s++)if(o=u[s],10!==o&&13!==o&&(32>o||o>127)){h=0;break}h=3===h?4:0;break;case 69:h=2;break;case 73:h=2===h?3:0;break;default:h=0}var f,d=r.pos-4-l,g=r.makeSubStream(l,d,i),m=1e3,p=!1;if(m>d&&this.imageCache.length===d){var b=g.getBytes();g.reset();var v=1,y=0;for(s=0,c=b.length;c>s;++s)v=(v+(255&b[s]))%65521,y=(y+v)%65521;if(f=y<<16|v,this.imageCache.stream&&this.imageCache.adler32===f)return this.buf2=It.get("EI"),this.shift(),this.imageCache.stream.reset(),this.imageCache.stream;p=!0}return p||this.imageCache.stream||(this.imageCache.length=d,this.imageCache.stream=null),e&&(g=e.createStream(g,d)),g=this.filter(g,i,d),g.dict=i,p&&(g.cacheKey="inline_"+d+"_"+f,this.imageCache.adler32=f,this.imageCache.stream=g),this.buf2=It.get("EI"),this.shift(),g},fetchIfRef:function(e){return R(e)?this.xref.fetch(e):e},makeStream:function(t,r){var i=this.lexer,n=i.stream;i.skipToNextLine();var o=n.pos-1,s=this.fetchIfRef(t.get("Length"));if(w(s)||(e("Bad "+s+" attribute in stream"),s=0),n.pos=o+s,i.nextChar(),this.shift(),this.shift(),!A(this.buf1,"endstream")){n.pos=o;for(var c,l,h=2048,u=9,f=[101,110,100,115,116,114,101,97,109],d=0,g=!1;n.pos<n.end;){var m=n.peekBytes(h),p=m.length-u;for(g=!1,c=0,l=0;p>c;c++){var b=m[c];if(b!==f[l])c-=l,l=0;else if(l++,l>=u){c++,g=!0;break}}if(g){d+=c-u,n.pos+=c-u;break}d+=p,n.pos+=p}g||a("Missing endstream"),s=d,i.nextChar(),this.shift(),this.shift()}return this.shift(),n=n.makeSubStream(o,s,t),r&&(n=r.createStream(n,s)),n=this.filter(n,t,s),n.dict=t,n},filter:function(e,t,r){var i=this.fetchIfRef(t.get("Filter","F")),n=this.fetchIfRef(t.get("DecodeParms","DP"));if(S(i))return this.makeFilter(e,i.name,r,n);var o=r;if(I(i))for(var s=i,c=n,l=0,h=s.length;h>l;++l)i=s[l],S(i)||a("Bad filter name: "+i),n=null,I(c)&&l in c&&(n=c[l]),e=this.makeFilter(e,i.name,o,n),o=null;return e},makeFilter:function(e,a,r,i){if(0===e.dict.get("Length"))return new Tr(e);if("FlateDecode"==a||"Fl"==a)return i?new wr(new kr(e,r),r,i):new kr(e,r);if("LZWDecode"==a||"LZW"==a){var n=1;return i?(i.has("EarlyChange")&&(n=i.get("EarlyChange")),new wr(new Rr(e,r,n),r,i)):new Rr(e,r,n)}return"DCTDecode"==a||"DCT"==a?new xr(e,r,e.dict,this.xref):"JPXDecode"==a||"JPX"==a?new Cr(e,r,e.dict):"ASCII85Decode"==a||"A85"==a?new Br(e,r):"ASCIIHexDecode"==a||"AHx"==a?new Ir(e,r):"CCITTFaxDecode"==a||"CCF"==a?new Lr(e,r,i):"RunLengthDecode"==a||"RL"==a?new Or(e,r):"JBIG2Decode"==a?new Sr(e,r,e.dict):(t('filter "'+a+'" not supported yet'),e)}},r}(),hr=function(){function e(e,t){this.stream=e,this.nextChar(),this.strBuf=[],this.knownCommands=t}function r(e){return e>=48&&57>=e?15&e:e>=65&&70>=e||e>=97&&102>=e?(15&e)+9:-1}e.isSpace=function(e){return 32===e||9===e||13===e||10===e};var i=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,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,2,0,2,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,2,0,2,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,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];return e.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},peekChar:function(){return this.stream.peekBytes(1)[0]},getNumber:function(){var e=this.currentChar,r=!1,i=0,n=1;if(45===e?(n=-1,e=this.nextChar()):43===e&&(e=this.nextChar()),46===e&&(i=10,e=this.nextChar()),48>e||e>57)return a("Invalid number: "+String.fromCharCode(e)),0;for(var o=e-48,s=0,c=1;(e=this.nextChar())>=0;)if(e>=48&&57>=e){var l=e-48;r?s=10*s+l:(0!==i&&(i*=10),o=10*o+l)}else if(46===e){if(0!==i)break;i=1}else if(45===e)t("Badly formated number");else{if(69!==e&&101!==e)break;if(e=this.peekChar(),43===e||45===e)c=45===e?-1:1,this.nextChar();else if(48>e||e>57)break;r=!0}return 0!==i&&(o/=i),r&&(o*=Math.pow(10,c*s)),n*o},getString:function(){var e=1,a=!1,r=this.strBuf;r.length=0;for(var i=this.nextChar();;){var n=!1;switch(0|i){case-1:t("Unterminated string"),a=!0;break;case 40:++e,r.push("(");break;case 41:0===--e?(this.nextChar(),a=!0):r.push(")");break;case 92:switch(i=this.nextChar()){case-1:t("Unterminated string"),a=!0;break;case 110:r.push("\n");break;case 114:r.push("\r");break;case 116:r.push(" ");break;case 98:r.push("\b");break;case 102:r.push("\f");break;case 92:case 40:case 41:r.push(String.fromCharCode(i));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:var o=15&i;i=this.nextChar(),n=!0,i>=48&&55>=i&&(o=(o<<3)+(15&i),i=this.nextChar(),i>=48&&55>=i&&(n=!1,o=(o<<3)+(15&i))),r.push(String.fromCharCode(o));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:r.push(String.fromCharCode(i))}break;default:r.push(String.fromCharCode(i))}if(a)break;n||(i=this.nextChar())}return r.join("")},getName:function(){var e,t=this.strBuf;for(t.length=0;(e=this.nextChar())>=0&&!i[e];)if(35===e){e=this.nextChar();var n=r(e);if(-1!=n){var o=r(this.nextChar());-1===o&&a("Illegal digit in hex char in name: "+o),t.push(String.fromCharCode(n<<4|o))}else t.push("#",String.fromCharCode(e))}else t.push(String.fromCharCode(e));return t.length>128&&a("Warning: name token is longer than allowed by the spec: "+t.length),Bt.get(t.join(""))},getHexString:function(){var e=this.strBuf;e.length=0;for(var a,n,o=this.currentChar,s=!0;;){if(0>o){t("Unterminated hex string");break}if(62===o){this.nextChar();break}if(1!==i[o]){if(s){if(a=r(o),-1===a){t('Ignoring invalid character "'+o+'" in hex string'),o=this.nextChar();continue}}else{if(n=r(o),-1===n){t('Ignoring invalid character "'+o+'" in hex string'),o=this.nextChar();continue}e.push(String.fromCharCode(a<<4|n))}s=!s,o=this.nextChar()}else o=this.nextChar()}return e.join("")},getObj:function(){for(var e=!1,t=this.currentChar;;){if(0>t)return cr;if(e)(10===t||13===t)&&(e=!1);else if(37===t)e=!0;else if(1!==i[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),It.get("[");case 93:return this.nextChar(),It.get("]");case 60:return t=this.nextChar(),60===t?(this.nextChar(),It.get("<<")):this.getHexString();case 62:return t=this.nextChar(),62===t?(this.nextChar(),It.get(">>")):It.get(">");case 123:return this.nextChar(),It.get("{");case 125:return this.nextChar(),It.get("}");case 41:a("Illegal character: "+t)}for(var r=String.fromCharCode(t),n=this.knownCommands,o=(n&&r in n);(t=this.nextChar())>=0&&!i[t];){var s=r+String.fromCharCode(t);if(o&&!(s in n))break;128===r.length&&a("Command token too long: "+r.length),r=s,o=n&&r in n}return"true"===r?!0:"false"===r?!1:"null"===r?null:It.get(r)},skipToNextLine:function(){for(var e=this.currentChar;e>=0;){if(13===e){e=this.nextChar(),10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}},e}(),ur=function(){function e(e){this.parser=new lr(new hr(e),!1,null);var t=this.parser.getObj(),a=this.parser.getObj(),r=this.parser.getObj();if(this.linDict=this.parser.getObj(),w(t)&&w(a)&&A(r,"obj")&&B(this.linDict)){var i=this.linDict.get("Linearized");x(i)&&i>0||(this.linDict=null)}}return e.prototype={getInt:function(e){var t,r=this.linDict;return B(r)&&w(t=r.get(e))&&t>0?t:void a('"'+e+'" field in linearization table is invalid')},getHint:function(e){var t,r,i=this.linDict;return B(i)&&I(t=i.get("H"))&&t.length>=2&&w(r=t[e])&&r>0?r:void a("Hints table in linearization table is invalid: "+e)},get length(){return B(this.linDict)?this.getInt("L"):0},get hintsOffset(){return this.getHint(0)},get hintsLength(){return this.getHint(1)},get hintsOffset2(){return this.getHint(2)},get hintsLenth2(){return this.getHint(3)},get objectNumberFirst(){return this.getInt("O")},get endFirst(){return this.getInt("E")},get numPages(){return this.getInt("N")},get mainXRefEntriesOffset(){return this.getInt("T")},get pageFirst(){return this.getInt("P")}},e}(),fr=function(){function e(e){this.lexer=e,this.operators=[],this.token=null,this.prev=null}return e.prototype={nextToken:function(){this.prev=this.token,this.token=this.lexer.getToken()},accept:function(e){return this.token.type==e?(this.nextToken(),!0):!1},expect:function(e){return this.accept(e)?!0:void a("Unexpected symbol: found "+this.token.type+" expected "+e+".")},parse:function(){return this.nextToken(),this.expect(dr.LBRACE),this.parseBlock(),this.expect(dr.RBRACE),this.operators},parseBlock:function(){for(;;)if(this.accept(dr.NUMBER))this.operators.push(this.prev.value);else if(this.accept(dr.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(dr.LBRACE))return;this.parseCondition()}},parseCondition:function(){var e=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(dr.RBRACE),this.accept(dr.IF))this.operators[e]=this.operators.length,this.operators[e+1]="jz";else if(this.accept(dr.LBRACE)){var t=this.operators.length;this.operators.push(null,null);var r=this.operators.length;this.parseBlock(),this.expect(dr.RBRACE),this.expect(dr.IFELSE),this.operators[t]=this.operators.length,this.operators[t+1]="j",this.operators[e]=r,this.operators[e+1]="jz"}else a("PS Function: error parsing conditional.")}},e}(),dr={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5},gr=function(){function e(e,t){this.type=e,this.value=t}var t={};return e.getOperator=function(a){var r=t[a];return r?r:t[a]=new e(dr.OPERATOR,a)},e.LBRACE=new e(dr.LBRACE,"{"),e.RBRACE=new e(dr.RBRACE,"}"),e.IF=new e(dr.IF,"IF"),e.IFELSE=new e(dr.IFELSE,"IFELSE"),e}(),mr=function(){function e(e){this.stream=e,this.nextChar()}return e.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var e=!1,t=this.currentChar;;){if(0>t)return cr;if(e)(10===t||13===t)&&(e=!1);else if(37==t)e=!0;else if(!hr.isSpace(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new gr(dr.NUMBER,this.getNumber());case 123:return this.nextChar(),gr.LBRACE;case 125:return this.nextChar(),gr.RBRACE}for(var a=String.fromCharCode(t);(t=this.nextChar())>=0&&(t>=65&&90>=t||t>=97&&122>=t);)a+=String.fromCharCode(t);switch(a.toLowerCase()){case"if":return gr.IF;case"ifelse":return gr.IFELSE;default:return gr.getOperator(a)}},getNumber:function(){for(var e=this.currentChar,t=String.fromCharCode(e);(e=this.nextChar())>=0&&(e>=48&&57>=e||45===e||46===e);)t+=String.fromCharCode(e);var r=parseFloat(t);return isNaN(r)&&a("Invalid floating point number: "+r),r}},e}(),pr=function(){function e(e,t,a,r){this.bytes=e instanceof Uint8Array?e:new Uint8Array(e),this.start=t||0,this.pos=this.start,this.end=t+a||this.bytes.length,this.dict=r}return e.prototype={get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},getUint16:function(){var e=this.getByte(),t=this.getByte();return(e<<8)+t},getInt32:function(){var e=this.getByte(),t=this.getByte(),a=this.getByte(),r=this.getByte();return(e<<24)+(t<<16)+(a<<8)+r},getBytes:function(e){var t=this.bytes,a=this.pos,r=this.end;if(!e)return t.subarray(a,r);var i=a+e;return i>r&&(i=r),this.pos=i,t.subarray(a,i)},peekBytes:function(e){var t=this.getBytes(e);return this.pos-=t.length,t},skip:function(e){e||(e=1),this.pos+=e},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(t,a,r){return new e(this.bytes.buffer,t,a,r)},isStream:!0},e}(),br=function(){function e(e){for(var t=e.length,a=new Uint8Array(t),r=0;t>r;++r)a[r]=e.charCodeAt(r);pr.call(this,a)}return e.prototype=pr.prototype,e}(),vr=function(){function e(e){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=null,this.minBufferLength=512,e)for(;this.minBufferLength<e;)this.minBufferLength*=2}return e.prototype={get isEmpty(){for(;!this.eof&&0===this.bufferLength;)this.readBlock();return 0===this.bufferLength},ensureBuffer:function(e){var t,a=this.buffer;if(a){if(t=a.byteLength,t>=e)return a}else t=0;for(var r=this.minBufferLength;e>r;)r*=2;var i=new Uint8Array(r);return a&&i.set(a),this.buffer=i},getByte:function(){for(var e=this.pos;this.bufferLength<=e;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]},getUint16:function(){var e=this.getByte(),t=this.getByte();return(e<<8)+t},getInt32:function(){var e=this.getByte(),t=this.getByte(),a=this.getByte(),r=this.getByte();return(e<<24)+(t<<16)+(a<<8)+r},getBytes:function(e){var t,a=this.pos;if(e){for(this.ensureBuffer(a+e),t=a+e;!this.eof&&this.bufferLength<t;)this.readBlock();var r=this.bufferLength;t>r&&(t=r)}else{for(;!this.eof;)this.readBlock();t=this.bufferLength,t||(this.buffer=new Uint8Array(0))}return this.pos=t,this.buffer.subarray(a,t)},peekBytes:function(e){var t=this.getBytes(e);return this.pos-=t.length,t},makeSubStream:function(e,t,a){for(var r=e+t;this.bufferLength<=r&&!this.eof;)this.readBlock();return new pr(this.buffer,e,t,a)},skip:function(e){e||(e=1),this.pos+=e},reset:function(){this.pos=0},getBaseStreams:function(){return this.str&&this.str.getBaseStreams?this.str.getBaseStreams():[]}},e}(),yr=function(){function e(e){this.streams=e,vr.call(this,null)}return e.prototype=Object.create(vr.prototype),e.prototype.readBlock=function(){var e=this.streams;if(0===e.length)return void(this.eof=!0);var t=e.shift(),a=t.getBytes(),r=this.bufferLength,i=r+a.length,n=this.ensureBuffer(i);n.set(a,r),this.bufferLength=i},e.prototype.getBaseStreams=function(){for(var e=[],t=0,a=this.streams.length;a>t;t++){var r=this.streams[t];r.getBaseStreams&&ot.concatenateToArray(e,r.getBaseStreams())}return e},e}(),kr=function(){function e(e,t){this.str=e,this.dict=e.dict;var r=e.getByte(),i=e.getByte();(-1==r||-1==i)&&a("Invalid header in flate stream: "+r+", "+i),8!=(15&r)&&a("Unknown compression method in flate stream: "+r+", "+i),((r<<8)+i)%31!==0&&a("Bad FCHECK in flate stream: "+r+", "+i),32&i&&a("FDICT bit set in flate stream: "+r+", "+i),this.codeSize=0,this.codeBuf=0,vr.call(this,t)}var t=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),r=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),i=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),n=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],o=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];return e.prototype=Object.create(vr.prototype),e.prototype.getBits=function(e){for(var t,r=this.str,i=this.codeSize,n=this.codeBuf;e>i;)-1===(t=r.getByte())&&a("Bad encoding in flate stream"),n|=t<<i,i+=8;return t=n&(1<<e)-1,this.codeBuf=n>>e,this.codeSize=i-=e,t},e.prototype.getCode=function(e){for(var t=this.str,r=e[0],i=e[1],n=this.codeSize,o=this.codeBuf;i>n;){var s;-1===(s=t.getByte())&&a("Bad encoding in flate stream"),o|=s<<n,n+=8}var c=r[o&(1<<i)-1],l=c>>16,h=65535&c;return(0===n||l>n||0===l)&&a("Bad encoding in flate stream"),this.codeBuf=o>>l,this.codeSize=n-l,h},e.prototype.generateHuffmanTable=function(e){var t,a=e.length,r=0;for(t=0;a>t;++t)e[t]>r&&(r=e[t]);for(var i=1<<r,n=new Uint32Array(i),o=1,s=0,c=2;r>=o;++o,s<<=1,c<<=1)for(var l=0;a>l;++l)if(e[l]==o){var h=0,u=s;for(t=0;o>t;++t)h=h<<1|1&u,u>>=1;for(t=h;i>t;t+=c)n[t]=o<<16|l;++s}return[n,r]},e.prototype.readBlock=function(){var e,s,c=this.str,l=this.getBits(3);if(1&l&&(this.eof=!0),l>>=1,0!==l){var h,u;if(1==l)h=n,u=o;else if(2==l){var f,d=this.getBits(5)+257,g=this.getBits(5)+1,m=this.getBits(4)+4,p=new Uint8Array(t.length);for(f=0;m>f;++f)p[t[f]]=this.getBits(3);var b=this.generateHuffmanTable(p);s=0,f=0;for(var v,y,k,w=d+g,x=new Uint8Array(w);w>f;){var C=this.getCode(b);if(16==C)v=2,y=3,k=s;else if(17==C)v=3,y=3,k=s=0;else{if(18!=C){x[f++]=s=C;continue}v=7,y=11,k=s=0}for(var S=this.getBits(v)+y;S-->0;)x[f++]=k}h=this.generateHuffmanTable(x.subarray(0,d)),u=this.generateHuffmanTable(x.subarray(d,w))}else a("Unknown block type in flate stream");e=this.buffer;for(var A=e?e.length:0,B=this.bufferLength;;){var I=this.getCode(h);if(256>I)B+1>=A&&(e=this.ensureBuffer(B+1),A=e.length),e[B++]=I;else{if(256==I)return void(this.bufferLength=B);I-=257,I=r[I];var O=I>>16;O>0&&(O=this.getBits(O)),s=(65535&I)+O,I=this.getCode(u),I=i[I],O=I>>16,O>0&&(O=this.getBits(O));var L=(65535&I)+O;B+s>=A&&(e=this.ensureBuffer(B+s),A=e.length);for(var R=0;s>R;++R,++B)e[B]=e[B-L]}}}else{var T;-1===(T=c.getByte())&&a("Bad block header in flate stream");var P=T;-1===(T=c.getByte())&&a("Bad block header in flate stream"),P|=T<<8,-1===(T=c.getByte())&&a("Bad block header in flate stream");var M=T;-1===(T=c.getByte())&&a("Bad block header in flate stream"),M|=T<<8,M==(65535&~P)||0===P&&0===M||a("Bad uncompressed block length in flate stream"),this.codeBuf=0,this.codeSize=0;var q=this.bufferLength;e=this.ensureBuffer(q+P);var D=q+P;if(this.bufferLength=D,0===P)0===c.peekBytes(1).length&&(this.eof=!0);else for(var E=q;D>E;++E){if(-1===(T=c.getByte())){this.eof=!0;break}e[E]=T}}},e}(),wr=function(){function e(e,t,r){var i=this.predictor=r.get("Predictor")||1;if(1>=i)return e;2!==i&&(10>i||i>15)&&a("Unsupported predictor: "+i),this.readBlock=2===i?this.readBlockTiff:this.readBlockPng,this.str=e,this.dict=e.dict;var n=this.colors=r.get("Colors")||1,o=this.bits=r.get("BitsPerComponent")||8,s=this.columns=r.get("Columns")||1;return this.pixBytes=n*o+7>>3,this.rowBytes=s*n*o+7>>3,vr.call(this,t),this}return e.prototype=Object.create(vr.prototype),e.prototype.readBlockTiff=function(){var e=this.rowBytes,t=this.bufferLength,a=this.ensureBuffer(t+e),r=this.bits,i=this.colors,n=this.str.getBytes(e);if(this.eof=!n.length,!this.eof){var o,s=0,c=0,l=0,h=0,u=t;if(1===r)for(o=0;e>o;++o){var f=n[o];s=s<<8|f,a[u++]=255&(f^s>>i),s&=65535}else if(8===r){for(o=0;i>o;++o)a[u++]=n[o];for(;e>o;++o)a[u]=a[u-i]+n[o],u++}else{var d=new Uint8Array(i+1),g=(1<<r)-1,m=0,p=t,b=this.columns;for(o=0;b>o;++o)for(var v=0;i>v;++v)r>l&&(s=s<<8|255&n[m++],l+=8),d[v]=d[v]+(s>>l-r)&g,l-=r,c=c<<r|d[v],h+=r,h>=8&&(a[p++]=c>>h-8&255,h-=8);h>0&&(a[p++]=(c<<8-h)+(s&(1<<8-h)-1))}this.bufferLength+=e}},e.prototype.readBlockPng=function(){var e=this.rowBytes,t=this.pixBytes,r=this.str.getByte(),i=this.str.getBytes(e);if(this.eof=!i.length,!this.eof){var n=this.bufferLength,o=this.ensureBuffer(n+e),s=o.subarray(n-e,n);0===s.length&&(s=new Uint8Array(e));var c,l,h,u=n;switch(r){case 0:for(c=0;e>c;++c)o[u++]=i[c];break;case 1:for(c=0;t>c;++c)o[u++]=i[c];for(;e>c;++c)o[u]=o[u-t]+i[c]&255,u++;break;case 2:for(c=0;e>c;++c)o[u++]=s[c]+i[c]&255;break;case 3:for(c=0;t>c;++c)o[u++]=(s[c]>>1)+i[c];for(;e>c;++c)o[u]=(s[c]+o[u-t]>>1)+i[c]&255,u++;break;case 4:for(c=0;t>c;++c)l=s[c],h=i[c],o[u++]=l+h;for(;e>c;++c){l=s[c];var f=s[c-t],d=o[u-t],g=d+l-f,m=g-d;0>m&&(m=-m);var p=g-l;0>p&&(p=-p);var b=g-f;0>b&&(b=-b),h=i[c],o[u++]=p>=m&&b>=m?d+h:b>=p?l+h:f+h}break;default:a("Unsupported predictor: "+r)}this.bufferLength+=e}},e}(),xr=function(){function e(e,t,a){this.stream=e,this.maybeLength=t,this.dict=a,vr.call(this,t)}return e.prototype=Object.create(vr.prototype),Object.defineProperty(e.prototype,"bytes",{get:function(){return o(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),e.prototype.ensureBuffer=function(){if(!this.bufferLength)try{var e=new Fr;if(this.dict&&I(this.dict.get("Decode"))){for(var t=this.dict.get("Decode"),r=this.dict.get("BitsPerComponent")||8,i=t.length,n=new Int32Array(i),o=!1,s=(1<<r)-1,c=0;i>c;c+=2)n[c]=256*(t[c+1]-t[c])|0,n[c+1]=t[c]*s|0,(256!==n[c]||0!==n[c+1])&&(o=!0);o&&(e.decodeTransform=n)}e.parse(this.bytes);var l=e.getData(this.drawWidth,this.drawHeight,!0);this.buffer=l,this.bufferLength=l.length,this.eof=!0}catch(h){a("JPEG error: "+h)}},e.prototype.getBytes=function(){return this.ensureBuffer(),this.buffer},e.prototype.getIR=function(){return PDFJS.createObjectURL(this.bytes,"image/jpeg")},e.prototype.isNativelySupported=function(e,t){var a=Gt.parse(this.dict.get("ColorSpace","CS"),e,t);return"DeviceGray"===a.name||"DeviceRGB"===a.name},e.prototype.isNativelyDecodable=function(e,t){var a=Gt.parse(this.dict.get("ColorSpace","CS"),e,t),r=a.numComps;return 1==r||3==r},e}(),Cr=function(){function e(e,t,a){this.stream=e,this.maybeLength=t,this.dict=a,vr.call(this,t)}return e.prototype=Object.create(vr.prototype),Object.defineProperty(e.prototype,"bytes",{get:function(){return o(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),e.prototype.ensureBuffer=function(){if(!this.bufferLength){var e=new Ur;e.parse(this.bytes);var t=e.width,a=e.height,r=e.componentsCount,i=e.tiles.length;if(1===i)this.buffer=e.tiles[0].items;else{for(var n=new Uint8Array(t*a*r),o=0;i>o;o++)for(var s=e.tiles[o],c=s.width,l=s.height,h=s.left,u=s.top,f=s.items,d=0,g=(t*u+h)*r,m=t*r,p=c*r,b=0;l>b;b++){var v=f.subarray(d,d+p);n.set(v,g),d+=p,g+=m}this.buffer=n}this.bufferLength=this.buffer.length,this.eof=!0}},e}(),Sr=function(){function e(e,t,a){this.stream=e,this.maybeLength=t,this.dict=a,vr.call(this,t)}return e.prototype=Object.create(vr.prototype),Object.defineProperty(e.prototype,"bytes",{get:function(){return o(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),e.prototype.ensureBuffer=function(){if(!this.bufferLength){var e=new Nr,a=[],r=this.dict.get("DecodeParms");if(I(r)&&(r.length>1&&t("JBIG2 - 'DecodeParms' array with multiple elements not supported."),r=r[0]),r&&r.has("JBIG2Globals")){var i=r.get("JBIG2Globals"),n=i.getBytes();a.push({data:n,start:0,end:n.length})}a.push({data:this.bytes,start:0,end:this.bytes.length});for(var o=e.parseChunks(a),s=o.length,c=0;s>c;c++)o[c]^=255;this.buffer=o,this.bufferLength=s,this.eof=!0}},e}(),Ar=function(){function e(e,t,a){this.str=e,this.dict=e.dict,this.decrypt=a,this.nextChunk=null,this.initialized=!1,vr.call(this,t)}var t=512;return e.prototype=Object.create(vr.prototype),e.prototype.readBlock=function(){var e;if(this.initialized?e=this.nextChunk:(e=this.str.getBytes(t),this.initialized=!0),!e||0===e.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(t);var a=this.nextChunk&&this.nextChunk.length>0,r=this.decrypt;e=r(e,!a);var i,n=this.bufferLength,o=e.length,s=this.ensureBuffer(n+o);for(i=0;o>i;i++)s[n++]=e[i];this.bufferLength=n},e}(),Br=function(){function e(e,t){this.str=e,this.dict=e.dict,this.input=new Uint8Array(5),t&&(t=.8*t),vr.call(this,t)}return e.prototype=Object.create(vr.prototype),e.prototype.readBlock=function(){for(var e=126,t=122,a=-1,r=this.str,i=r.getByte();hr.isSpace(i);)i=r.getByte();if(i===a||i===e)return void(this.eof=!0);var n,o,s=this.bufferLength;if(i==t){for(n=this.ensureBuffer(s+4),o=0;4>o;++o)n[s+o]=0;this.bufferLength+=4}else{var c=this.input;for(c[0]=i,o=1;5>o;++o){for(i=r.getByte();hr.isSpace(i);)i=r.getByte();if(c[o]=i,i===a||i==e)break}if(n=this.ensureBuffer(s+o-1),this.bufferLength+=o-1,5>o){for(;5>o;++o)c[o]=117;this.eof=!0}var l=0;for(o=0;5>o;++o)l=85*l+(c[o]-33);for(o=3;o>=0;--o)n[s+o]=255&l,l>>=8}},e}(),Ir=function(){function e(e,t){this.str=e,this.dict=e.dict,this.firstDigit=-1,t&&(t=.5*t),vr.call(this,t)}return e.prototype=Object.create(vr.prototype),e.prototype.readBlock=function(){var e=8e3,t=this.str.getBytes(e);if(!t.length)return void(this.eof=!0);for(var a=t.length+1>>1,r=this.ensureBuffer(this.bufferLength+a),i=this.bufferLength,n=this.firstDigit,o=0,s=t.length;s>o;o++){var c,l=t[o];if(l>=48&&57>=l)c=15&l;else{if(!(l>=65&&70>=l||l>=97&&102>=l)){if(62===l){this.eof=!0;break}continue}c=(15&l)+9}0>n?n=c:(r[i++]=n<<4|c,n=-1)}n>=0&&this.eof&&(r[i++]=n<<4,n=-1),this.firstDigit=n,this.bufferLength=i},e}(),Or=function(){function e(e,t){this.str=e,this.dict=e.dict,vr.call(this,t)}return e.prototype=Object.create(vr.prototype),e.prototype.readBlock=function(){var e=this.str.getBytes(2);if(!e||e.length<2||128==e[0])return void(this.eof=!0);var t,a=this.bufferLength,r=e[0];if(128>r){if(t=this.ensureBuffer(a+r+1),t[a++]=e[1],r>0){var i=this.str.getBytes(r);t.set(i,a),a+=r}}else{r=257-r;var n=e[1];t=this.ensureBuffer(a+r+1);for(var o=0;r>o;o++)t[a++]=n}this.bufferLength=a},e}(),Lr=function(){function t(e,t,a){this.str=e,this.dict=e.dict,a=a||Ot.empty,this.encoding=a.get("K")||0,this.eoline=a.get("EndOfLine")||!1,this.byteAlign=a.get("EncodedByteAlign")||!1,this.columns=a.get("Columns")||1728,this.rows=a.get("Rows")||0;var r=a.get("EndOfBlock");(null===r||void 0===r)&&(r=!0),this.eoblock=r,this.black=a.get("BlackIs1")||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0;for(var i;0===(i=this.lookBits(12));)this.eatBits(1);1==i&&this.eatBits(12),this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),vr.call(this,t)}var a=-2,r=0,i=1,n=2,o=3,s=4,c=5,l=6,h=7,u=8,f=[[-1,-1],[-1,-1],[7,u],[7,h],[6,l],[6,l],[6,c],[6,c],[4,r],[4,r],[4,r],[4,r],[4,r],[4,r],[4,r],[4,r],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,i],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,s],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[3,o],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n],[1,n]],d=[[-1,-1],[12,a],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],g=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],m=[[-1,-1],[-1,-1],[12,a],[12,a],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],p=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],b=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];
-return t.prototype=Object.create(vr.prototype),t.prototype.readBlock=function(){for(;!this.eof;){var e=this.lookChar();this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=e}},t.prototype.addPixels=function(t,a){var r=this.codingLine,i=this.codingPos;t>r[i]&&(t>this.columns&&(e("row is wrong length"),this.err=!0,t=this.columns),1&i^a&&++i,r[i]=t),this.codingPos=i},t.prototype.addPixelsNeg=function(t,a){var r=this.codingLine,i=this.codingPos;if(t>r[i])t>this.columns&&(e("row is wrong length"),this.err=!0,t=this.columns),1&i^a&&++i,r[i]=t;else if(t<r[i]){for(0>t&&(e("invalid code"),this.err=!0,t=0);i>0&&t<r[i-1];)--i;r[i]=t}this.codingPos=i},t.prototype.lookChar=function(){var t,a,f,d,g=this.refLine,m=this.codingLine,p=this.columns;if(0===this.outputBits){if(this.eof)return null;this.err=!1;var b,v,y;if(this.nextLine2D){for(d=0;m[d]<p;++d)g[d]=m[d];for(g[d++]=p,g[d]=p,m[0]=0,this.codingPos=0,t=0,a=0;m[this.codingPos]<p;)switch(b=this.getTwoDimCode()){case r:this.addPixels(g[t+1],a),g[t+1]<p&&(t+=2);break;case i:if(b=v=0,a){do b+=y=this.getBlackCode();while(y>=64);do v+=y=this.getWhiteCode();while(y>=64)}else{do b+=y=this.getWhiteCode();while(y>=64);do v+=y=this.getBlackCode();while(y>=64)}for(this.addPixels(m[this.codingPos]+b,a),m[this.codingPos]<p&&this.addPixels(m[this.codingPos]+v,1^a);g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case h:if(this.addPixels(g[t]+3,a),a^=1,m[this.codingPos]<p)for(++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case c:if(this.addPixels(g[t]+2,a),a^=1,m[this.codingPos]<p)for(++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case o:if(this.addPixels(g[t]+1,a),a^=1,m[this.codingPos]<p)for(++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case n:if(this.addPixels(g[t],a),a^=1,m[this.codingPos]<p)for(++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case u:if(this.addPixelsNeg(g[t]-3,a),a^=1,m[this.codingPos]<p)for(t>0?--t:++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case l:if(this.addPixelsNeg(g[t]-2,a),a^=1,m[this.codingPos]<p)for(t>0?--t:++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case s:if(this.addPixelsNeg(g[t]-1,a),a^=1,m[this.codingPos]<p)for(t>0?--t:++t;g[t]<=m[this.codingPos]&&g[t]<p;)t+=2;break;case cr:this.addPixels(p,0),this.eof=!0;break;default:e("bad 2d code"),this.addPixels(p,0),this.err=!0}}else for(m[0]=0,this.codingPos=0,a=0;m[this.codingPos]<p;){if(b=0,a){do b+=y=this.getBlackCode();while(y>=64)}else do b+=y=this.getWhiteCode();while(y>=64);this.addPixels(m[this.codingPos]+b,a),a^=1}this.byteAlign&&(this.inputBits&=-8);var k=!1;if(this.eoblock||this.row!=this.rows-1){for(b=this.lookBits(12);0===b;)this.eatBits(1),b=this.lookBits(12);1==b?(this.eatBits(12),k=!0):b==cr&&(this.eof=!0)}else this.eof=!0;if(!this.eof&&this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),this.eoblock&&k){if(b=this.lookBits(12),1==b){if(this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1)),this.encoding>=0)for(d=0;4>d;++d)b=this.lookBits(12),1!=b&&e("bad rtc code: "+b),this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(b=this.lookBits(13),b==cr)return this.eof=!0,null;if(b>>1==1)break;this.eatBits(1)}this.eatBits(12),this.encoding>0&&(this.eatBits(1),this.nextLine2D=!(1&b))}this.outputBits=m[0]>0?m[this.codingPos=0]:m[this.codingPos=1],this.row++}var w;if(this.outputBits>=8)w=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&m[this.codingPos]<p&&(this.codingPos++,this.outputBits=m[this.codingPos]-m[this.codingPos-1]);else{f=8,w=0;do this.outputBits>f?(w<<=f,1&this.codingPos||(w|=255>>8-f),this.outputBits-=f,f=0):(w<<=this.outputBits,1&this.codingPos||(w|=255>>8-this.outputBits),f-=this.outputBits,this.outputBits=0,m[this.codingPos]<p?(this.codingPos++,this.outputBits=m[this.codingPos]-m[this.codingPos-1]):f>0&&(w<<=f,f=0));while(f)}return this.black&&(w^=255),w},t.prototype.findTableCode=function(e,t,a,r){for(var i=r||0,n=e;t>=n;++n){var o=this.lookBits(n);if(o==cr)return[!0,1,!1];if(t>n&&(o<<=t-n),!i||o>=i){var s=a[o-i];if(s[0]==n)return this.eatBits(n),[!0,s[1],!0]}}return[!1,0,!1]},t.prototype.getTwoDimCode=function(){var t,a=0;if(this.eoblock){if(a=this.lookBits(7),t=f[a],t&&t[0]>0)return this.eatBits(t[0]),t[1]}else{var r=this.findTableCode(1,7,f);if(r[0]&&r[2])return r[1]}return e("Bad two dim code"),cr},t.prototype.getWhiteCode=function(){var t,a=0;if(this.eoblock){if(a=this.lookBits(12),a==cr)return 1;if(t=a>>5===0?d[a]:g[a>>3],t[0]>0)return this.eatBits(t[0]),t[1]}else{var r=this.findTableCode(1,9,g);if(r[0])return r[1];if(r=this.findTableCode(11,12,d),r[0])return r[1]}return e("bad white code"),this.eatBits(1),1},t.prototype.getBlackCode=function(){var t,a;if(this.eoblock){if(t=this.lookBits(13),t==cr)return 1;if(a=t>>7===0?m[t]:t>>9===0&&t>>7!==0?p[(t>>1)-64]:b[t>>7],a[0]>0)return this.eatBits(a[0]),a[1]}else{var r=this.findTableCode(2,6,b);if(r[0])return r[1];if(r=this.findTableCode(7,12,p,64),r[0])return r[1];if(r=this.findTableCode(10,13,m),r[0])return r[1]}return e("bad black code"),this.eatBits(1),1},t.prototype.lookBits=function(e){for(var t;this.inputBits<e;){if(-1===(t=this.str.getByte()))return 0===this.inputBits?cr:this.inputBuf<<e-this.inputBits&65535>>16-e;this.inputBuf=(this.inputBuf<<8)+t,this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e},t.prototype.eatBits=function(e){(this.inputBits-=e)<0&&(this.inputBits=0)},t}(),Rr=function(){function e(e,t,a){this.str=e,this.dict=e.dict,this.cachedData=0,this.bitsCached=0;for(var r=4096,i={earlyChange:a,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(r),dictionaryLengths:new Uint16Array(r),dictionaryPrevCodes:new Uint16Array(r),currentSequence:new Uint8Array(r),currentSequenceLength:0},n=0;256>n;++n)i.dictionaryValues[n]=n,i.dictionaryLengths[n]=1;this.lzwState=i,vr.call(this,t)}return e.prototype=Object.create(vr.prototype),e.prototype.readBits=function(e){for(var t=this.bitsCached,a=this.cachedData;e>t;){var r=this.str.getByte();if(-1===r)return this.eof=!0,null;a=a<<8|r,t+=8}return this.bitsCached=t-=e,this.cachedData=a,this.lastCode=null,a>>>t&(1<<e)-1},e.prototype.readBlock=function(){var e,t,a,r=512,i=2*r,n=r,o=this.lzwState;if(o){var s=o.earlyChange,c=o.nextCode,l=o.dictionaryValues,h=o.dictionaryLengths,u=o.dictionaryPrevCodes,f=o.codeLength,d=o.prevCode,g=o.currentSequence,m=o.currentSequenceLength,p=0,b=this.bufferLength,v=this.ensureBuffer(this.bufferLength+i);for(e=0;r>e;e++){var y=this.readBits(f),k=m>0;if(256>y)g[0]=y,m=1;else{if(!(y>=258)){if(256==y){f=9,c=258,m=0;continue}this.eof=!0,delete this.lzwState;break}if(c>y)for(m=h[y],t=m-1,a=y;t>=0;t--)g[t]=l[a],a=u[a];else g[m++]=g[0]}if(k&&(u[c]=d,h[c]=h[d]+1,l[c]=g[0],c++,f=c+s&c+s-1?f:0|Math.min(Math.log(c+s)/.6931471805599453+1,12)),d=y,p+=m,p>i){do i+=n;while(p>i);v=this.ensureBuffer(this.bufferLength+i)}for(t=0;m>t;t++)v[b++]=g[t]}o.nextCode=c,o.codeLength=f,o.prevCode=d,o.currentSequenceLength=m,this.bufferLength=b}},e}(),Tr=function(){function e(){pr.call(this,new Uint8Array(0))}return e.prototype=pr.prototype,e}(),Pr=PDFJS.WorkerMessageHandler={setup:function(t){function a(e){var t=T(),a=function(){var e=i.ensureDoc("numPages"),a=i.ensureDoc("fingerprint"),n=i.ensureXRef("encrypt");Promise.all([e,a,n]).then(function(e){var a={numPages:e[0],fingerprint:e[1],encrypted:!!e[2]};t.resolve(a)},r)},r=function(e){t.reject(e)};return i.ensureDoc("checkHeader",[]).then(function(){i.ensureDoc("parseStartXRef",[]).then(function(){i.ensureDoc("parse",[e]).then(a,r)},r)},r),t.promise}function r(e){var a=T(),r=e.source,n=e.disableRange;if(r.data){try{i=new xt(r.data,r.password),a.resolve()}catch(o){a.reject(o)}return a.promise}if(r.chunkedViewerLoading){try{i=new Ct(r,t),a.resolve()}catch(o){a.reject(o)}return a.promise}var s=new bt(r.url,{httpHeaders:r.httpHeaders,withCredentials:r.withCredentials}),c=s.requestFull({onHeadersReceived:function(){if(!n){var e=s.getRequestXhr(c);if("bytes"===e.getResponseHeader("Accept-Ranges")){var o=e.getResponseHeader("Content-Encoding")||"identity";if("identity"===o){var l=e.getResponseHeader("Content-Length");if(l=parseInt(l,10),w(l)&&(r.length=l,!(2*kt>=l))){s.abortRequest(c);try{i=new Ct(r,t),a.resolve(i)}catch(h){a.reject(h)}}}}}},onDone:function(e){try{i=new xt(e.chunk,r.password),a.resolve()}catch(t){a.reject(t)}},onError:function(e){if(404==e){var a=new et('Missing PDF "'+r.url+'".');t.send("MissingPDF",{exception:a})}else t.send("DocError","Unexpected server response ("+e+') while retrieving PDF "'+r.url+'".')},onProgress:function(e){t.send("DocProgress",{loaded:e.loaded,total:e.lengthComputable?e.total:r.length})}});return a.promise}var i;t.on("test",function(e){if(!(e instanceof Uint8Array))return void t.send("test",!1);var a=255===e[0];t.postMessageTransfers=a;var r=new XMLHttpRequest,i="response"in r;try{{r.responseType}}catch(n){i=!1}return i?void t.send("test",{supportTypedArray:!0,supportTransfers:a}):void t.send("test",!1)}),t.on("GetDocRequest",function(e){var n=function(e){t.send("GetDoc",{pdfInfo:e})},o=function(e){e instanceof Z?e.code===Y.NEED_PASSWORD?t.send("NeedPassword",{exception:e}):e.code===Y.INCORRECT_PASSWORD&&t.send("IncorrectPassword",{exception:e}):e instanceof $?t.send("InvalidPDF",{exception:e}):e instanceof et?t.send("MissingPDF",{exception:e}):t.send("UnknownError",{exception:new Q(e.message,e.toString())})};PDFJS.maxImageSize=void 0===e.maxImageSize?-1:e.maxImageSize,PDFJS.disableFontFace=e.disableFontFace,PDFJS.disableCreateObjectURL=e.disableCreateObjectURL,PDFJS.verbosity=e.verbosity,PDFJS.cMapUrl=void 0===e.cMapUrl?null:e.cMapUrl,PDFJS.cMapPacked=e.cMapPacked===!0,r(e).then(function(){i.onLoadedStream().then(function(e){t.send("DataLoaded",{length:e.bytes.byteLength})})}).then(function s(){a(!1).then(n,function(e){return e instanceof rt?(i.requestLoadedStream(),void i.onLoadedStream().then(function(){a(!0).then(n,o)})):(e instanceof Z&&i.passwordChanged().then(s),void o(e))},o)},o)}),t.on("GetPage",function(e){return i.getPage(e.pageIndex).then(function(e){var t=i.ensure(e,"rotate"),a=i.ensure(e,"ref"),r=i.ensure(e,"view");return Promise.all([t,a,r]).then(function(e){return{rotate:e[0],ref:e[1],view:e[2]}})})}),t.on("GetPageIndex",function(e){var t=new Lt(e.ref.num,e.ref.gen),a=i.pdfDocument.catalog;return a.getPageIndex(t)}),t.on("GetDestinations",function(){return i.ensureCatalog("destinations")}),t.on("GetAttachments",function(){return i.ensureCatalog("attachments")}),t.on("GetJavaScript",function(){return i.ensureCatalog("javaScript")}),t.on("GetOutline",function(){return i.ensureCatalog("documentOutline")}),t.on("GetMetadata",function(){return Promise.all([i.ensureDoc("documentInfo"),i.ensureCatalog("metadata")])}),t.on("GetData",function(){return i.requestLoadedStream(),i.onLoadedStream().then(function(e){return e.bytes})}),t.on("UpdatePassword",function(e){i.updatePassword(e)}),t.on("GetAnnotations",function(e){return i.getPage(e.pageIndex).then(function(e){return i.ensure(e,"getAnnotationsData",[])})}),t.on("RenderPageRequest",function(a){i.getPage(a.pageIndex).then(function(r){var i=a.pageIndex+1,n=Date.now();r.getOperatorList(t,a.intent).then(function(t){e("page="+i+" - getOperatorList: time="+(Date.now()-n)+"ms, len="+t.fnArray.length)},function(e){var r,n="worker.js: while trying to getPage() and getOperatorList()";r="string"==typeof e?{message:e,stack:n}:"object"==typeof e?{message:e.message||e.toString(),stack:e.stack||n}:{message:"Unknown exception type: "+typeof e,stack:n},t.send("PageError",{pageNum:i,error:r,intent:a.intent})})})},this),t.on("GetTextContent",function(t){return i.getPage(t.pageIndex).then(function(a){var r=t.pageIndex+1,i=Date.now();return a.extractTextContent().then(function(t){return e("text indexing: page="+r+" - time="+(Date.now()-i)+"ms"),t})})}),t.on("Cleanup",function(){return i.cleanup()}),t.on("Terminate",function(){i.terminate()})}},Mr={},qr={log:function(){var e=Array.prototype.slice.call(arguments);H.postMessage({action:"console_log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments);throw H.postMessage({action:"console_error",data:e}),"pdf.js execution error"},time:function(e){Mr[e]=Date.now()},timeEnd:function(e){var t=Mr[e];t||a("Unknown timer name "+e),this.log("Timer:",e,Date.now()-t)}};if("undefined"==typeof window){"console"in H||(H.console=qr),PDFJS.UnsupportedManager.listen(function(e){H.postMessage({action:"_unsupported_feature",data:e})});var Dr=new P("worker_processor",this);Pr.setup(Dr)}var Er=function(){function e(e,t,a){this.data=e,this.bp=t,this.dataEnd=a,this.chigh=e[t],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var t=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return e.prototype={byteIn:function(){var e=this.data,t=this.bp;if(255==e[t]){var a=e[t+1];a>143?(this.clow+=65280,this.ct=8):(t++,this.clow+=e[t]<<9,this.ct=7,this.bp=t)}else t++,this.clow+=t<this.dataEnd?e[t]<<8:65280,this.ct=8,this.bp=t;this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(e,a){var r,i=e[a]>>1,n=1&e[a],o=t[i],s=o.qe,c=this.a-s;if(this.chigh<s)s>c?(c=s,r=n,i=o.nmps):(c=s,r=1^n,1===o.switchFlag&&(n=r),i=o.nlps);else{if(this.chigh-=s,0!==(32768&c))return this.a=c,n;s>c?(r=1^n,1===o.switchFlag&&(n=r),i=o.nlps):(r=n,i=o.nmps)}do 0===this.ct&&this.byteIn(),c<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(32768&c));return this.a=c,e[a]=i<<1|n,r}},e}(),Fr=function(){function e(){}function t(e,t){for(var a,r,i=0,n=[],o=16;o>0&&!e[o-1];)o--;n.push({children:[],index:0});var s,c=n[0];for(a=0;o>a;a++){for(r=0;r<e[a];r++){for(c=n.pop(),c.children[c.index]=t[i];c.index>0;)c=n.pop();for(c.index++,n.push(c);n.length<=a;)n.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s;i++}o>a+1&&(n.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s)}return n[0].children}function a(e,t,a){return 64*((e.blocksPerLine+1)*t+a)}function r(e,t,r,i,n,o,c,l,h){function u(){if(M>0)return M--,P>>M&1;if(P=e[t++],255==P){var a=e[t++];if(a)throw"unexpected marker: "+(P<<8|a).toString(16)}return M=7,P>>>7}function f(e){for(var t,a=e;null!==(t=u());){if(a=a[t],"number"==typeof a)return a;if("object"!=typeof a)throw"invalid huffman sequence"}return null}function d(e){for(var t=0;e>0;){var a=u();if(null===a)return;t=t<<1|a,e--}return t}function g(e){if(1===e)return 1===u()?1:-1;var t=d(e);return t>=1<<e-1?t:t+(-1<<e)+1}function m(e,t){var a=f(e.huffmanTableDC),r=0===a?0:g(a);e.blockData[t]=e.pred+=r;for(var i=1;64>i;){var n=f(e.huffmanTableAC),o=15&n,c=n>>4;if(0!==o){i+=c;var l=s[i];e.blockData[t+l]=g(o),i++}else{if(15>c)break;i+=16}}}function p(e,t){var a=f(e.huffmanTableDC),r=0===a?0:g(a)<<h;e.blockData[t]=e.pred+=r}function b(e,t){e.blockData[t]|=u()<<h}function v(e,t){if(q>0)return void q--;for(var a=o,r=c;r>=a;){var i=f(e.huffmanTableAC),n=15&i,l=i>>4;if(0!==n){a+=l;var u=s[a];e.blockData[t+u]=g(n)*(1<<h),a++}else{if(15>l){q=d(l)+(1<<l)-1;break}a+=16}}}function y(e,t){for(var a,r,i=o,n=c,l=0;n>=i;){var m=s[i];switch(D){case 0:if(r=f(e.huffmanTableAC),a=15&r,l=r>>4,0===a)15>l?(q=d(l)+(1<<l),D=4):(l=16,D=1);else{if(1!==a)throw"invalid ACn encoding";x=g(a),D=l?2:3}continue;case 1:case 2:e.blockData[t+m]?e.blockData[t+m]+=u()<<h:(l--,0===l&&(D=2==D?3:0));break;case 3:e.blockData[t+m]?e.blockData[t+m]+=u()<<h:(e.blockData[t+m]=x<<h,D=0);break;case 4:e.blockData[t+m]&&(e.blockData[t+m]+=u()<<h)}i++}4===D&&(q--,0===q&&(D=0))}function k(e,t,r,i,n){var o=r/L|0,s=r%L,c=o*e.v+i,l=s*e.h+n,h=a(e,c,l);t(e,h)}function w(e,t,r){var i=r/e.blocksPerLine|0,n=r%e.blocksPerLine,o=a(e,i,n);t(e,o)}var x,C,S,A,B,I,O,L=(r.precision,r.samplesPerLine,r.scanLines,r.mcusPerLine),R=r.progressive,T=(r.maxH,r.maxV,t),P=0,M=0,q=0,D=0,E=i.length;O=R?0===o?0===l?p:b:0===l?v:y:m;var F,U,N=0;U=1==E?i[0].blocksPerLine*i[0].blocksPerColumn:L*r.mcusPerColumn,n||(n=U);for(var j,z;U>N;){for(S=0;E>S;S++)i[S].pred=0;if(q=0,1==E)for(C=i[0],I=0;n>I;I++)w(C,O,N),N++;else for(I=0;n>I;I++){for(S=0;E>S;S++)for(C=i[S],j=C.h,z=C.v,A=0;z>A;A++)for(B=0;j>B;B++)k(C,O,N,A,B);N++}if(M=0,F=e[t]<<8|e[t+1],65280>=F)throw"marker was not found";if(!(F>=65488&&65495>=F))break;t+=2}return t-T}function i(e,t,a){var r,i,n,o,s,p,b,v,y,k,w=e.quantizationTable;for(k=0;64>k;k++)a[k]=e.blockData[t+k]*w[k];for(k=0;8>k;++k){var x=8*k;0!==a[1+x]||0!==a[2+x]||0!==a[3+x]||0!==a[4+x]||0!==a[5+x]||0!==a[6+x]||0!==a[7+x]?(r=g*a[0+x]+128>>8,i=g*a[4+x]+128>>8,n=a[2+x],o=a[6+x],s=m*(a[1+x]-a[7+x])+128>>8,v=m*(a[1+x]+a[7+x])+128>>8,p=a[3+x]<<4,b=a[5+x]<<4,y=r-i+1>>1,r=r+i+1>>1,i=y,y=n*d+o*f+128>>8,n=n*f-o*d+128>>8,o=y,y=s-b+1>>1,s=s+b+1>>1,b=y,y=v+p+1>>1,p=v-p+1>>1,v=y,y=r-o+1>>1,r=r+o+1>>1,o=y,y=i-n+1>>1,i=i+n+1>>1,n=y,y=s*u+v*h+2048>>12,s=s*h-v*u+2048>>12,v=y,y=p*l+b*c+2048>>12,p=p*c-b*l+2048>>12,b=y,a[0+x]=r+v,a[7+x]=r-v,a[1+x]=i+b,a[6+x]=i-b,a[2+x]=n+p,a[5+x]=n-p,a[3+x]=o+s,a[4+x]=o-s):(y=g*a[0+x]+512>>10,a[0+x]=y,a[1+x]=y,a[2+x]=y,a[3+x]=y,a[4+x]=y,a[5+x]=y,a[6+x]=y,a[7+x]=y)}for(k=0;8>k;++k){var C=k;0!==a[8+C]||0!==a[16+C]||0!==a[24+C]||0!==a[32+C]||0!==a[40+C]||0!==a[48+C]||0!==a[56+C]?(r=g*a[0+C]+2048>>12,i=g*a[32+C]+2048>>12,n=a[16+C],o=a[48+C],s=m*(a[8+C]-a[56+C])+2048>>12,v=m*(a[8+C]+a[56+C])+2048>>12,p=a[24+C],b=a[40+C],y=r-i+1>>1,r=r+i+1>>1,i=y,y=n*d+o*f+2048>>12,n=n*f-o*d+2048>>12,o=y,y=s-b+1>>1,s=s+b+1>>1,b=y,y=v+p+1>>1,p=v-p+1>>1,v=y,y=r-o+1>>1,r=r+o+1>>1,o=y,y=i-n+1>>1,i=i+n+1>>1,n=y,y=s*u+v*h+2048>>12,s=s*h-v*u+2048>>12,v=y,y=p*l+b*c+2048>>12,p=p*c-b*l+2048>>12,b=y,a[0+C]=r+v,a[56+C]=r-v,a[8+C]=i+b,a[48+C]=i-b,a[16+C]=n+p,a[40+C]=n-p,a[24+C]=o+s,a[32+C]=o-s):(y=g*a[k+0]+8192>>14,a[0+C]=y,a[8+C]=y,a[16+C]=y,a[24+C]=y,a[32+C]=y,a[40+C]=y,a[48+C]=y,a[56+C]=y)}for(k=0;64>k;++k){var S=t+k,A=a[k];A=-2056>=A?0:A>=2024?255:A+2056>>4,e.blockData[S]=A}}function n(e,t){for(var r=t.blocksPerLine,n=t.blocksPerColumn,o=new Int32Array(64),s=0;n>s;s++)for(var c=0;r>c;c++){var l=a(t,s,c);i(t,l,o)}return t.blockData}function o(e){return 0>=e?0:e>=255?255:e}var s=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),c=4017,l=799,h=3406,u=2276,f=1567,d=3784,g=5793,m=2896;return e.prototype={parse:function(e){function a(){var t=e[h]<<8|e[h+1];return h+=2,t}function i(){var t=a(),r=e.subarray(h,h+t-2);return h+=r.length,r}function o(e){for(var t=Math.ceil(e.samplesPerLine/8/e.maxH),a=Math.ceil(e.scanLines/8/e.maxV),r=0;r<e.components.length;r++){U=e.components[r];var i=Math.ceil(Math.ceil(e.samplesPerLine/8)*U.h/e.maxH),n=Math.ceil(Math.ceil(e.scanLines/8)*U.v/e.maxV),o=t*U.h,s=a*U.v,c=64*s*(o+1);U.blockData=new Int16Array(c),U.blocksPerLine=i,U.blocksPerColumn=n}e.mcusPerLine=t,e.mcusPerColumn=a}var c,l,h=0,u=(e.length,null),f=null,d=[],g=[],m=[],p=a();if(65496!=p)throw"SOI not found";for(p=a();65497!=p;){var b,v,y;switch(p){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var k=i();65504===p&&74===k[0]&&70===k[1]&&73===k[2]&&70===k[3]&&0===k[4]&&(u={version:{major:k[5],minor:k[6]},densityUnits:k[7],xDensity:k[8]<<8|k[9],yDensity:k[10]<<8|k[11],thumbWidth:k[12],thumbHeight:k[13],thumbData:k.subarray(14,14+3*k[12]*k[13])}),65518===p&&65===k[0]&&100===k[1]&&111===k[2]&&98===k[3]&&101===k[4]&&0===k[5]&&(f={version:k[6],flags0:k[7]<<8|k[8],flags1:k[9]<<8|k[10],transformCode:k[11]});break;case 65499:for(var w,x=a(),C=x+h-2;C>h;){var S=e[h++],A=new Int32Array(64);if(S>>4===0)for(v=0;64>v;v++)w=s[v],A[w]=e[h++];else{if(S>>4!==1)throw"DQT: invalid table spec";for(v=0;64>v;v++)w=s[v],A[w]=a()}d[15&S]=A}break;case 65472:case 65473:case 65474:if(c)throw"Only single frame JPEGs supported";a(),c={},c.extended=65473===p,c.progressive=65474===p,c.precision=e[h++],c.scanLines=a(),c.samplesPerLine=a(),c.components=[],c.componentIds={};var B,I=e[h++],O=0,L=0;for(b=0;I>b;b++){B=e[h];var R=e[h+1]>>4,T=15&e[h+1];R>O&&(O=R),T>L&&(L=T);var P=e[h+2];y=c.components.push({h:R,v:T,quantizationTable:d[P]}),c.componentIds[B]=y-1,h+=3}c.maxH=O,c.maxV=L,o(c);break;case 65476:var M=a();for(b=2;M>b;){var q=e[h++],D=new Uint8Array(16),E=0;for(v=0;16>v;v++,h++)E+=D[v]=e[h];var F=new Uint8Array(E);for(v=0;E>v;v++,h++)F[v]=e[h];b+=17+E,(q>>4===0?m:g)[15&q]=t(D,F)}break;case 65501:a(),l=a();break;case 65498:var U,N=(a(),e[h++]),j=[];for(b=0;N>b;b++){var z=c.componentIds[e[h++]];U=c.components[z];var H=e[h++];U.huffmanTableDC=m[H>>4],U.huffmanTableAC=g[15&H],j.push(U)}var G=e[h++],X=e[h++],_=e[h++],V=r(e,h,c,j,l,G,X,_>>4,15&_);h+=V;break;default:if(255==e[h-3]&&e[h-2]>=192&&e[h-2]<=254){h-=3;break}throw"unknown JPEG marker "+p.toString(16)}p=a()}for(this.width=c.samplesPerLine,this.height=c.scanLines,this.jfif=u,this.adobe=f,this.components=[],b=0;b<c.components.length;b++)U=c.components[b],this.components.push({output:n(c,U),scaleX:U.h/c.maxH,scaleY:U.v/c.maxV,blocksPerLine:U.blocksPerLine,blocksPerColumn:U.blocksPerColumn});this.numComponents=this.components.length},_getLinearizedBlockData:function(e,t){var a,r,i,n,o,s,c,l,h,u,f,d=this.width/e,g=this.height/t,m=0,p=this.components.length,b=e*t*p,v=new Uint8Array(b),y=new Uint32Array(e),k=4294967288;for(c=0;p>c;c++){for(a=this.components[c],r=a.scaleX*d,i=a.scaleY*g,m=c,f=a.output,n=a.blocksPerLine+1<<3,o=0;e>o;o++)l=0|o*r,y[o]=(l&k)<<3|7&l;for(s=0;t>s;s++)for(l=0|s*i,u=n*(l&k)|(7&l)<<3,o=0;e>o;o++)v[m]=f[u+y[o]],m+=p}var w=this.decodeTransform;if(w)for(c=0;b>c;)for(l=0,h=0;p>l;l++,c++,h+=2)v[c]=(v[c]*w[h]>>8)+w[h+1];return v},_isColorConversionNeeded:function(){return this.adobe&&this.adobe.transformCode?!0:3==this.numComponents?!0:!1},_convertYccToRgb:function(e){for(var t,a,r,i=0,n=e.length;n>i;i+=3)t=e[i],a=e[i+1],r=e[i+2],e[i]=o(t-179.456+1.402*r),e[i+1]=o(t+135.459-.344*a-.714*r),e[i+2]=o(t-226.816+1.772*a);return e},_convertYcckToRgb:function(e){for(var t,a,r,i,n,s,c,l,h,u,f,d,g,m,p=0,b=0,v=e.length;v>b;b+=4){t=e[b],a=e[b+1],r=e[b+2],i=e[b+3],n=a*a,s=a*r,c=a*t,l=a*i,h=r*r,u=r*i,f=r*t,d=t*t,g=t*i,m=i*i;var y=-122.67195406894-660635669420364e-19*n+.000437130475926232*s-54080610064599e-18*c+.00048449797120281*l-.154362151871126*a-.000957964378445773*h+.000817076911346625*f-.00477271405408747*u+1.53380253221734*r+.000961250184130688*d-.00266257332283933*g+.48357088451265*t-.000336197177618394*m+.484791561490776*i,k=107.268039397724+219927104525741e-19*n-.000640992018297945*s+.000659397001245577*c+.000426105652938837*l-.176491792462875*a-.000778269941513683*h+.00130872261408275*f+.000770482631801132*u-.151051492775562*r+.00126935368114843*d-.00265090189010898*g+.25802910206845*t-.000318913117588328*m-.213742400323665*i,w=-20.810012546947-.000570115196973677*n-263409051004589e-19*s+.0020741088115012*c-.00288260236853442*l+.814272968359295*a-153496057440975e-19*h-.000132689043961446*f+.000560833691242812*u-.195152027534049*r+.00174418132927582*d-.00255243321439347*g+.116935020465145*t-.000343531996510555*m+.24165260232407*i;e[p++]=o(y),e[p++]=o(k),e[p++]=o(w)}return e},_convertYcckToCmyk:function(e){for(var t,a,r,i=0,n=e.length;n>i;i+=4)t=e[i],a=e[i+1],r=e[i+2],e[i]=o(434.456-t-1.402*r),e[i+1]=o(119.541-t+.344*a+.714*r),e[i+2]=o(481.816-t-1.772*a);return e},_convertCmykToRgb:function(e){for(var t,a,r,i,n=0,o=-16581375,s=1/255/255,c=0,l=e.length;l>c;c+=4){t=e[c],a=e[c+1],r=e[c+2],i=e[c+3];var h=t*(-4.387332384609988*t+54.48615194189176*a+18.82290502165302*r+212.25662451639585*i-72734.4411664936)+a*(1.7149763477362134*a-5.6096736904047315*r-17.873870861415444*i-1401.7366389350734)+r*(-2.5217340131683033*r-21.248923337353073*i+4465.541406466231)-i*(21.86122147463605*i+48317.86113160301),u=t*(8.841041422036149*t+60.118027045597366*a+6.871425592049007*r+31.159100130055922*i-20220.756542821975)+a*(-15.310361306967817*a+17.575251261109482*r+131.35250912493976*i-48691.05921601825)+r*(4.444339102852739*r+9.8632861493405*i-6341.191035517494)-i*(20.737325471181034*i+47890.15695978492),f=t*(.8842522430003296*t+8.078677503112928*a+30.89978309703729*r-.23883238689178934*i-3616.812083916688)+a*(10.49593273432072*a+63.02378494754052*r+50.606957656360734*i-28620.90484698408)+r*(.03296041114873217*r+115.60384449646641*i-49363.43385999684)-i*(22.33816807309886*i+45932.16563550634);e[n++]=h>=0?255:o>=h?0:255+h*s|0,e[n++]=u>=0?255:o>=u?0:255+u*s|0,e[n++]=f>=0?255:o>=f?0:255+f*s|0}return e},getData:function(e,t,a){if(this.numComponents>4)throw"Unsupported color mode";var r=this._getLinearizedBlockData(e,t);return 3===this.numComponents?this._convertYccToRgb(r):4===this.numComponents?this._isColorConversionNeeded()?a?this._convertYcckToRgb(r):this._convertYcckToCmyk(r):this._convertCmykToRgb(r):r}},e}(),Ur=function(){function e(){this.failOnCorruptedImage=!1}function r(e,t){e.x0=Math.ceil(t.XOsiz/e.XRsiz),e.x1=Math.ceil(t.Xsiz/e.XRsiz),e.y0=Math.ceil(t.YOsiz/e.YRsiz),e.y1=Math.ceil(t.Ysiz/e.YRsiz),e.width=e.x1-e.x0,e.height=e.y1-e.y0}function i(e,t){for(var a,r=e.SIZ,i=[],n=Math.ceil((r.Xsiz-r.XTOsiz)/r.XTsiz),o=Math.ceil((r.Ysiz-r.YTOsiz)/r.YTsiz),s=0;o>s;s++)for(var c=0;n>c;c++)a={},a.tx0=Math.max(r.XTOsiz+c*r.XTsiz,r.XOsiz),a.ty0=Math.max(r.YTOsiz+s*r.YTsiz,r.YOsiz),a.tx1=Math.min(r.XTOsiz+(c+1)*r.XTsiz,r.Xsiz),a.ty1=Math.min(r.YTOsiz+(s+1)*r.YTsiz,r.Ysiz),a.width=a.tx1-a.tx0,a.height=a.ty1-a.ty0,a.components=[],i.push(a);e.tiles=i;for(var l=r.Csiz,h=0,u=l;u>h;h++)for(var f=t[h],d=0,g=i.length;g>d;d++){var m={};a=i[d],m.tcx0=Math.ceil(a.tx0/f.XRsiz),m.tcy0=Math.ceil(a.ty0/f.YRsiz),m.tcx1=Math.ceil(a.tx1/f.XRsiz),m.tcy1=Math.ceil(a.ty1/f.YRsiz),m.width=m.tcx1-m.tcx0,m.height=m.tcy1-m.tcy0,a.components[h]=m}}function n(e,t,a){var r=t.codingStyleParameters,i={};return r.entropyCoderWithCustomPrecincts?(i.PPx=r.precinctsSizes[a].PPx,i.PPy=r.precinctsSizes[a].PPy):(i.PPx=15,i.PPy=15),i.xcb_=a>0?Math.min(r.xcb,i.PPx-1):Math.min(r.xcb,i.PPx),i.ycb_=a>0?Math.min(r.ycb,i.PPy-1):Math.min(r.ycb,i.PPy),i}function o(e,t,a){var r=1<<a.PPx,i=1<<a.PPy,n=t.trx1>t.trx0?Math.ceil(t.trx1/r)-Math.floor(t.trx0/r):0,o=t.try1>t.try0?Math.ceil(t.try1/i)-Math.floor(t.try0/i):0,s=n*o,c=Math.floor(t.trx0/r)*r,l=Math.floor(t.try0/i)*i;t.precinctParameters={precinctXOffset:c,precinctYOffset:l,precinctWidth:r,precinctHeight:i,numprecinctswide:n,numprecinctshigh:o,numprecincts:s}}function s(e,t,a){var r,i,n,o,s=a.xcb_,c=a.ycb_,l=1<<s,h=1<<c,u=t.tbx0>>s,f=t.tby0>>c,d=t.tbx1+l-1>>s,g=t.tby1+h-1>>c,m=t.resolution.precinctParameters,p=[],b=[];for(i=f;g>i;i++)for(r=u;d>r;r++){n={cbx:r,cby:i,tbx0:l*r,tby0:h*i,tbx1:l*(r+1),tby1:h*(i+1)};var v=Math.floor((n.tbx0-m.precinctXOffset)/m.precinctWidth),y=Math.floor((n.tby0-m.precinctYOffset)/m.precinctHeight);o=y+v*m.numprecinctswide,n.tbx0_=Math.max(t.tbx0,n.tbx0),n.tby0_=Math.max(t.tby0,n.tby0),n.tbx1_=Math.min(t.tbx1,n.tbx1),n.tby1_=Math.min(t.tby1,n.tby1),n.precinctNumber=o,n.subbandType=t.type,n.Lblock=3,p.push(n);var k=b[o];void 0!==k?(r<k.cbxMin?k.cbxMin=r:r>k.cbxMax&&(k.cbxMax=r),i<k.cbyMin?k.cbxMin=i:i>k.cbyMax&&(k.cbyMax=i)):b[o]=k={cbxMin:r,cbyMin:i,cbxMax:r,cbyMax:i},n.precinct=k}t.codeblockParameters={codeblockWidth:s,codeblockHeight:c,numcodeblockwide:d-u+1,numcodeblockhigh:g-g+1},t.codeblocks=p,t.precincts=b}function c(e,t,a){for(var r=[],i=e.subbands,n=0,o=i.length;o>n;n++)for(var s=i[n],c=s.codeblocks,l=0,h=c.length;h>l;l++){var u=c[l];u.precinctNumber==t&&r.push(u)}return{layerNumber:a,codeblocks:r}}function l(e){for(var t=e.SIZ,a=e.currentTile.index,r=e.tiles[a],i=r.codingStyleDefaultParameters.layersCount,n=t.Csiz,o=0,s=0;n>s;s++)o=Math.max(o,r.components[s].codingStyleParameters.decompositionLevelsCount);var l=0,h=0,u=0,f=0;this.nextPacket=function(){for(;i>l;l++){for(;o>=h;h++){for(;n>u;u++){var e=r.components[u];if(!(h>e.codingStyleParameters.decompositionLevelsCount)){for(var t=e.resolutions[h],a=t.precinctParameters.numprecincts;a>f;){var s=c(t,f,l);return f++,s}f=0}}u=0}h=0}throw"Out of packets"}}function h(e){for(var t=e.SIZ,a=e.currentTile.index,r=e.tiles[a],i=r.codingStyleDefaultParameters.layersCount,n=t.Csiz,o=0,s=0;n>s;s++)o=Math.max(o,r.components[s].codingStyleParameters.decompositionLevelsCount);var l=0,h=0,u=0,f=0;this.nextPacket=function(){for(;o>=l;l++){for(;i>h;h++){for(;n>u;u++){var e=r.components[u];if(!(l>e.codingStyleParameters.decompositionLevelsCount)){for(var t=e.resolutions[l],a=t.precinctParameters.numprecincts;a>f;){var s=c(t,f,h);return f++,s}f=0}}u=0}h=0}throw"Out of packets"}}function f(e){for(var t=e.SIZ,a=e.currentTile.index,r=e.tiles[a],i=t.Csiz,c=0;i>c;c++){for(var u=r.components[c],f=u.codingStyleParameters.decompositionLevelsCount,d=[],g=[],m=0;f>=m;m++){var p=n(e,u,m),b={},v=1<<f-m;b.trx0=Math.ceil(u.tcx0/v),b.try0=Math.ceil(u.tcy0/v),b.trx1=Math.ceil(u.tcx1/v),b.try1=Math.ceil(u.tcy1/v),o(e,b,p),d.push(b);var y;if(0===m)y={},y.type="LL",y.tbx0=Math.ceil(u.tcx0/v),y.tby0=Math.ceil(u.tcy0/v),y.tbx1=Math.ceil(u.tcx1/v),y.tby1=Math.ceil(u.tcy1/v),y.resolution=b,s(e,y,p),g.push(y),b.subbands=[y];else{var k=1<<f-m+1,w=[];y={},y.type="HL",y.tbx0=Math.ceil(u.tcx0/k-.5),y.tby0=Math.ceil(u.tcy0/k),y.tbx1=Math.ceil(u.tcx1/k-.5),y.tby1=Math.ceil(u.tcy1/k),y.resolution=b,s(e,y,p),g.push(y),w.push(y),y={},y.type="LH",y.tbx0=Math.ceil(u.tcx0/k),y.tby0=Math.ceil(u.tcy0/k-.5),y.tbx1=Math.ceil(u.tcx1/k),y.tby1=Math.ceil(u.tcy1/k-.5),y.resolution=b,s(e,y,p),g.push(y),w.push(y),y={},y.type="HH",y.tbx0=Math.ceil(u.tcx0/k-.5),y.tby0=Math.ceil(u.tcy0/k-.5),y.tbx1=Math.ceil(u.tcx1/k-.5),y.tby1=Math.ceil(u.tcy1/k-.5),y.resolution=b,s(e,y,p),g.push(y),w.push(y),b.subbands=w}}u.resolutions=d,u.subbands=g}var x=r.codingStyleDefaultParameters.progressionOrder;switch(x){case 0:r.packetsIterator=new l(e);break;case 1:r.packetsIterator=new h(e);break;default:throw"Unsupported progression order "+x}}function m(e,t,a,r){function i(e){for(;e>l;){var r=t[a+c];c++,h?(s=s<<7|r,l+=7,h=!1):(s=s<<8|r,l+=8),255==r&&(h=!0)}return l-=e,s>>>l&(1<<e)-1}function n(){l=0,h&&(c++,h=!1)}function o(){if(0===i(1))return 1;if(0===i(1))return 2;var e=i(2);return 3>e?e+3:(e=i(5),31>e?e+6:(e=i(7),e+37))}for(var s,c=0,l=0,h=!1,f=e.currentTile.index,d=e.tiles[f],g=d.packetsIterator;r>c;){var m=g.nextPacket();if(i(1)){for(var p,b=m.layerNumber,v=[],y=0,k=m.codeblocks.length;k>y;y++){p=m.codeblocks[y];
-var C,S=p.precinct,A=p.cbx-S.cbxMin,B=p.cby-S.cbyMin,I=!1,O=!1;if("included"in p)I=!!i(1);else{S=p.precinct;var L,R;if("inclusionTree"in S)L=S.inclusionTree;else{var T=S.cbxMax-S.cbxMin+1,P=S.cbyMax-S.cbyMin+1;L=new x(T,P,b),R=new w(T,P),S.inclusionTree=L,S.zeroBitPlanesTree=R}if(L.reset(A,B,b))for(;;){if(!i(1)){L.incrementValue(b);break}if(C=!L.nextLevel()){p.included=!0,I=O=!0;break}}}if(I){if(O){for(R=S.zeroBitPlanesTree,R.reset(A,B);;)if(i(1)){if(C=!R.nextLevel())break}else R.incrementValue();p.zeroBitPlanes=R.value}for(var M=o();i(1);)p.Lblock++;var q=u(M),D=(1<<q>M?q-1:q)+p.Lblock,E=i(D);v.push({codeblock:p,codingpasses:M,dataLength:E})}}for(n();v.length>0;){var F=v.shift();p=F.codeblock,"data"in p||(p.data=[]),p.data.push({data:t,start:a+c,end:a+c+F.dataLength,codingpasses:F.codingpasses}),c+=F.dataLength}}else n()}return c}function p(e,t,a,r,i,n,o,s){for(var c=r.tbx0,l=r.tby0,h=r.tbx1-r.tbx0,u=r.codeblocks,f="H"===r.type.charAt(0)?1:0,d="H"===r.type.charAt(1)?t:0,g=0,m=u.length;m>g;++g){var p=u[g],b=p.tbx1_-p.tbx0_,v=p.tby1_-p.tby0_;if(0!==b&&0!==v&&"data"in p){var y,k;y=new C(b,v,p.subbandType,p.zeroBitPlanes,n),k=2;var w,x,S,A=p.data,B=0,I=0;for(w=0,x=A.length;x>w;w++)S=A[w],B+=S.end-S.start,I+=S.codingpasses;var O=new Uint8Array(B),L=0;for(w=0,x=A.length;x>w;w++){S=A[w];var R=S.data.subarray(S.start,S.end);O.set(R,L),L+=R.length}var T=new Er(O,0,B);for(y.setDecoder(T),w=0;I>w;w++){switch(k){case 0:y.runSignificancePropogationPass();break;case 1:y.runMagnitudeRefinementPass();break;case 2:y.runCleanupPass(),s&&y.checkSegmentationSymbol()}k=(k+1)%3}var P,M,q,D=p.tbx0_-c+(p.tby0_-l)*h,E=y.coefficentsSign,F=y.coefficentsMagnitude,U=y.bitsDecoded,N=o?0:.5;L=0;var j="LL"!==r.type;for(w=0;v>w;w++){var z=D/h|0,H=2*z*(t-h)+f+d;for(P=0;b>P;P++){if(M=F[L],0!==M){M=(M+N)*i,0!==E[L]&&(M=-M),q=U[L];var G=j?H+(D<<1):D;e[G]=o&&q>=n?M:M*(1<<n-q)}D++,L++}D+=h-b}}}}function b(e,t,a){for(var r=t.components[a],i=r.codingStyleParameters,n=r.quantizationParameters,o=i.decompositionLevelsCount,s=n.SPqcds,c=n.scalarExpounded,l=n.guardBits,h=i.segmentationSymbolUsed,u=e.components[a].precision,f=i.reversibleTransformation,d=f?new B:new A,g=[],m=0,b=0;o>=b;b++){for(var v=r.resolutions[b],y=v.trx1-v.trx0,w=v.try1-v.try0,x=new Float32Array(y*w),C=0,S=v.subbands.length;S>C;C++){var I,O;c?(I=s[m].mu,O=s[m].epsilon,m++):(I=s[0].mu,O=s[0].epsilon+(b>0?1-b:0));var L=v.subbands[C],R=k[L.type],T=f?1:Math.pow(2,u+R-O)*(1+I/2048),P=l+O-1;p(x,y,w,L,T,P,f,h)}g.push({width:y,height:w,items:x})}var M=d.calculate(g,r.tcx0,r.tcy0);return{left:r.tcx0,top:r.tcy0,width:M.width,height:M.height,items:M.items}}function v(e){for(var t=e.SIZ,a=e.components,r=t.Csiz,i=[],n=0,o=e.tiles.length;o>n;n++){var s,c=e.tiles[n],l=[];for(s=0;r>s;s++)l[s]=b(e,c,s);var h,u,f,d,g,m,p,v,y,k,w,x,C,S,A,B=l[0],I=new Uint8Array(B.items.length*r),O={left:B.left,top:B.top,width:B.width,height:B.height,items:I},L=0;if(c.codingStyleDefaultParameters.multipleComponentTransform){var R=4===r,T=l[0].items,P=l[1].items,M=l[2].items,q=R?l[3].items:null;h=a[0].precision-8,u=(128<<h)+.5,f=255*(1<<h),g=.5*f,d=-g;var D=c.components[0],E=r-3;if(p=T.length,D.codingStyleParameters.reversibleTransformation)for(m=0;p>m;m++,L+=E)v=T[m]+u,y=P[m],k=M[m],x=v-(k+y>>2),w=x+k,C=x+y,I[L++]=0>=w?0:w>=f?255:w>>h,I[L++]=0>=x?0:x>=f?255:x>>h,I[L++]=0>=C?0:C>=f?255:C>>h;else for(m=0;p>m;m++,L+=E)v=T[m]+u,y=P[m],k=M[m],w=v+1.402*k,x=v-.34413*y-.71414*k,C=v+1.772*y,I[L++]=0>=w?0:w>=f?255:w>>h,I[L++]=0>=x?0:x>=f?255:x>>h,I[L++]=0>=C?0:C>=f?255:C>>h;if(R)for(m=0,L=3;p>m;m++,L+=4)S=q[m],I[L]=d>=S?0:S>=g?255:S+u>>h}else for(s=0;r>s;s++){var F=l[s].items;for(h=a[s].precision-8,u=(128<<h)+.5,f=127.5*(1<<h),d=-f,L=s,m=0,p=F.length;p>m;m++)A=F[m],I[L]=d>=A?0:A>=f?255:A+u>>h,L+=r}i.push(O)}return i}function y(e,t){for(var a=e.SIZ,r=a.Csiz,i=e.tiles[t],n=0;r>n;n++){var o=i.components[n],s=n in e.currentTile.QCC?e.currentTile.QCC[n]:e.currentTile.QCD;o.quantizationParameters=s;var c=n in e.currentTile.COC?e.currentTile.COC[n]:e.currentTile.COD;o.codingStyleParameters=c}i.codingStyleDefaultParameters=e.currentTile.COD}var k={LL:0,LH:1,HL:1,HH:2};e.prototype={parse:function(e){var t=d(e,0);if(65359===t)return void this.parseCodestream(e,0,e.length);for(var r=0,i=e.length;i>r;){var n=8,o=g(e,r),s=g(e,r+4);r+=n,1===o&&(o=4294967296*g(e,r)+g(e,r+4),r+=8,n+=8),0===o&&(o=i-r+n),n>o&&a("JPX error: Invalid box field size");var c=o-n,l=!0;switch(s){case 1783634458:break;case 1785737832:l=!1;break;case 1668246642:break;case 1785737827:this.parseCodestream(e,r,r+c)}l&&(r+=c)}},parseImageProperties:function(e){try{for(var r=e.getByte();r>=0;){var i=r;r=e.getByte();var n=i<<8|r;if(65361==n){e.skip(4);var o=e.getInt32()>>>0,s=e.getInt32()>>>0,c=e.getInt32()>>>0,l=e.getInt32()>>>0;e.skip(16);var h=e.getUint16();return this.width=o-c,this.height=s-l,this.componentsCount=h,void(this.bitsPerComponent=8)}}throw"No size marker found in JPX stream"}catch(u){this.failOnCorruptedImage?a("JPX error: "+u):t("JPX error: "+u+". Trying to recover")}},parseCodestream:function(e,n,o){var s={};try{for(var c=n;o>c+1;){var l=d(e,c);c+=2;var h,u,p,b,k,w,x=0;switch(l){case 65359:s.mainHeader=!0;break;case 65497:break;case 65361:x=d(e,c);var C={};C.Xsiz=g(e,c+4),C.Ysiz=g(e,c+8),C.XOsiz=g(e,c+12),C.YOsiz=g(e,c+16),C.XTsiz=g(e,c+20),C.YTsiz=g(e,c+24),C.XTOsiz=g(e,c+28),C.YTOsiz=g(e,c+32);var S=d(e,c+36);C.Csiz=S;var A=[];h=c+38;for(var B=0;S>B;B++){var I={precision:(127&e[h])+1,isSigned:!!(128&e[h]),XRsiz:e[h+1],YRsiz:e[h+1]};r(I,C),A.push(I)}s.SIZ=C,s.components=A,i(s,A),s.QCC=[],s.COC=[];break;case 65372:x=d(e,c);var O={};switch(h=c+2,u=e[h++],31&u){case 0:b=8,k=!0;break;case 1:b=16,k=!1;break;case 2:b=16,k=!0;break;default:throw"Invalid SQcd value "+u}for(O.noQuantization=8==b,O.scalarExpounded=k,O.guardBits=u>>5,p=[];x+c>h;){var L={};8==b?(L.epsilon=e[h++]>>3,L.mu=0):(L.epsilon=e[h]>>3,L.mu=(7&e[h])<<8|e[h+1],h+=2),p.push(L)}O.SPqcds=p,s.mainHeader?s.QCD=O:(s.currentTile.QCD=O,s.currentTile.QCC=[]);break;case 65373:x=d(e,c);var R={};h=c+2;var T;switch(s.SIZ.Csiz<257?T=e[h++]:(T=d(e,h),h+=2),u=e[h++],31&u){case 0:b=8,k=!0;break;case 1:b=16,k=!1;break;case 2:b=16,k=!0;break;default:throw"Invalid SQcd value "+u}for(R.noQuantization=8==b,R.scalarExpounded=k,R.guardBits=u>>5,p=[];x+c>h;)L={},8==b?(L.epsilon=e[h++]>>3,L.mu=0):(L.epsilon=e[h]>>3,L.mu=(7&e[h])<<8|e[h+1],h+=2),p.push(L);R.SPqcds=p,s.mainHeader?s.QCC[T]=R:s.currentTile.QCC[T]=R;break;case 65362:x=d(e,c);var P={};h=c+2;var M=e[h++];P.entropyCoderWithCustomPrecincts=!!(1&M),P.sopMarkerUsed=!!(2&M),P.ephMarkerUsed=!!(4&M),P.progressionOrder=e[h++],P.layersCount=d(e,h),h+=2,P.multipleComponentTransform=e[h++],P.decompositionLevelsCount=e[h++],P.xcb=(15&e[h++])+2,P.ycb=(15&e[h++])+2;var q=e[h++];if(P.selectiveArithmeticCodingBypass=!!(1&q),P.resetContextProbabilities=!!(2&q),P.terminationOnEachCodingPass=!!(4&q),P.verticalyStripe=!!(8&q),P.predictableTermination=!!(16&q),P.segmentationSymbolUsed=!!(32&q),P.reversibleTransformation=e[h++],P.entropyCoderWithCustomPrecincts){for(var D=[];x+c>h;){var E=e[h++];D.push({PPx:15&E,PPy:E>>4})}P.precinctsSizes=D}if(P.sopMarkerUsed||P.ephMarkerUsed||P.selectiveArithmeticCodingBypass||P.resetContextProbabilities||P.terminationOnEachCodingPass||P.verticalyStripe||P.predictableTermination)throw"Unsupported COD options: "+H.JSON.stringify(P);s.mainHeader?s.COD=P:(s.currentTile.COD=P,s.currentTile.COC=[]);break;case 65424:x=d(e,c),w={},w.index=d(e,c+2),w.length=g(e,c+4),w.dataEnd=w.length+c-2,w.partIndex=e[c+8],w.partsCount=e[c+9],s.mainHeader=!1,0===w.partIndex&&(w.COD=s.COD,w.COC=s.COC.slice(0),w.QCD=s.QCD,w.QCC=s.QCC.slice(0)),s.currentTile=w;break;case 65427:w=s.currentTile,0===w.partIndex&&(y(s,w.index),f(s)),x=w.dataEnd-c,m(s,e,c,x);break;case 65380:x=d(e,c);break;case 65363:throw"Codestream code 0xFF53 (COC) is not implemented";default:throw"Unknown codestream code: "+l.toString(16)}c+=x}}catch(F){this.failOnCorruptedImage?a("JPX error: "+F):t("JPX error: "+F+". Trying to recover")}this.tiles=v(s),this.width=s.SIZ.Xsiz-s.SIZ.XOsiz,this.height=s.SIZ.Ysiz-s.SIZ.YOsiz,this.componentsCount=s.SIZ.Csiz}};var w=function(){function e(e,t){var a=u(Math.max(e,t))+1;this.levels=[];for(var r=0;a>r;r++){var i={width:e,height:t,items:[]};this.levels.push(i),e=Math.ceil(e/2),t=Math.ceil(t/2)}}return e.prototype={reset:function(e,t){for(var a,r=0,i=0;r<this.levels.length;){a=this.levels[r];var n=e+t*a.width;if(n in a.items){i=a.items[n];break}a.index=n,e>>=1,t>>=1,r++}r--,a=this.levels[r],a.items[a.index]=i,this.currentLevel=r,delete this.value},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]++},nextLevel:function(){var e=this.currentLevel,t=this.levels[e],a=t.items[t.index];return e--,0>e?(this.value=a,!1):(this.currentLevel=e,t=this.levels[e],t.items[t.index]=a,!0)}},e}(),x=function(){function e(e,t,a){var r=u(Math.max(e,t))+1;this.levels=[];for(var i=0;r>i;i++){for(var n=new Uint8Array(e*t),o=0,s=n.length;s>o;o++)n[o]=a;var c={width:e,height:t,items:n};this.levels.push(c),e=Math.ceil(e/2),t=Math.ceil(t/2)}}return e.prototype={reset:function(e,t,a){for(var r=0;r<this.levels.length;){var i=this.levels[r],n=e+t*i.width;i.index=n;var o=i.items[n];if(255==o)break;if(o>a)return this.currentLevel=r,this.propagateValues(),!1;e>>=1,t>>=1,r++}return this.currentLevel=r-1,!0},incrementValue:function(e){var t=this.levels[this.currentLevel];t.items[t.index]=e+1,this.propagateValues()},propagateValues:function(){for(var e=this.currentLevel,t=this.levels[e],a=t.items[t.index];--e>=0;)t=this.levels[e],t.items[t.index]=a},nextLevel:function(){var e=this.currentLevel,t=this.levels[e],a=t.items[t.index];return t.items[t.index]=255,e--,0>e?!1:(this.currentLevel=e,t=this.levels[e],t.items[t.index]=a,!0)}},e}(),C=function(){function e(e,t,a,o,s){this.width=e,this.height=t,this.contextLabelTable="HH"==a?n:"HL"==a?i:r;var c=e*t;this.neighborsSignificance=new Uint8Array(c),this.coefficentsSign=new Uint8Array(c),this.coefficentsMagnitude=s>14?new Uint32Array(c):s>6?new Uint16Array(c):new Uint8Array(c),this.processingFlags=new Uint8Array(c);var l=new Uint8Array(c);if(0!==o)for(var h=0;c>h;h++)l[h]=o;this.bitsDecoded=l,this.reset()}var t=17,a=18,r=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),i=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),n=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return e.prototype={setDecoder:function(e){this.decoder=e},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[t]=92,this.contexts[a]=6},setNeighborsSignificance:function(e,t,a){var r,i=this.neighborsSignificance,n=this.width,o=this.height,s=t>0,c=n>t+1;e>0&&(r=a-n,s&&(i[r-1]+=16),c&&(i[r+1]+=16),i[r]+=4),o>e+1&&(r=a+n,s&&(i[r-1]+=16),c&&(i[r+1]+=16),i[r]+=4),s&&(i[a-1]+=1),c&&(i[a+1]+=1),i[a]|=128},runSignificancePropogationPass:function(){for(var e=this.decoder,t=this.width,a=this.height,r=this.coefficentsMagnitude,i=this.coefficentsSign,n=this.neighborsSignificance,o=this.processingFlags,s=this.contexts,c=this.contextLabelTable,l=this.bitsDecoded,h=-2,u=1,f=2,d=0;a>d;d+=4)for(var g=0;t>g;g++)for(var m=d*t+g,p=0;4>p;p++,m+=t){var b=d+p;if(b>=a)break;if(o[m]&=h,!r[m]&&n[m]){var v=c[n[m]],y=e.readBit(s,v);if(y){var k=this.decodeSignBit(b,g,m);i[m]=k,r[m]=1,this.setNeighborsSignificance(b,g,m),o[m]|=f}l[m]++,o[m]|=u}}},decodeSignBit:function(e,t,a){var r,i,n,o,s,c,l=this.width,h=this.height,u=this.coefficentsMagnitude,f=this.coefficentsSign;o=t>0&&0!==u[a-1],l>t+1&&0!==u[a+1]?(n=f[a+1],o?(i=f[a-1],r=1-n-i):r=1-n-n):o?(i=f[a-1],r=1-i-i):r=0;var d=3*r;return o=e>0&&0!==u[a-l],h>e+1&&0!==u[a+l]?(n=f[a+l],o?(i=f[a-l],r=1-n-i+d):r=1-n-n+d):o?(i=f[a-l],r=1-i-i+d):r=d,r>=0?(s=9+r,c=this.decoder.readBit(this.contexts,s)):(s=9-r,c=1^this.decoder.readBit(this.contexts,s)),c},runMagnitudeRefinementPass:function(){for(var e,t=this.decoder,a=this.width,r=this.height,i=this.coefficentsMagnitude,n=this.neighborsSignificance,o=this.contexts,s=this.bitsDecoded,c=this.processingFlags,l=1,h=2,u=a*r,f=4*a,d=0;u>d;d=e){e=Math.min(u,d+f);for(var g=0;a>g;g++)for(var m=d+g;e>m;m+=a)if(i[m]&&0===(c[m]&l)){var p=16;if(0!==(c[m]&h)){c[m]^=h;var b=127&n[m];p=0===b?15:14}var v=t.readBit(o,p);i[m]=i[m]<<1|v,s[m]++,c[m]|=l}}},runCleanupPass:function(){for(var e,r=this.decoder,i=this.width,n=this.height,o=this.neighborsSignificance,s=this.coefficentsMagnitude,c=this.coefficentsSign,l=this.contexts,h=this.contextLabelTable,u=this.bitsDecoded,f=this.processingFlags,d=1,g=2,m=i,p=2*i,b=3*i,v=0;n>v;v=e){e=Math.min(v+4,n);for(var y=v*i,k=n>v+3,w=0;i>w;w++){var x,C=y+w,S=k&&0===f[C]&&0===f[C+m]&&0===f[C+p]&&0===f[C+b]&&0===o[C]&&0===o[C+m]&&0===o[C+p]&&0===o[C+b],A=0,B=C,I=v;if(S){var O=r.readBit(l,a);if(!O){u[C]++,u[C+m]++,u[C+p]++,u[C+b]++;continue}A=r.readBit(l,t)<<1|r.readBit(l,t),0!==A&&(I=v+A,B+=A*i),x=this.decodeSignBit(I,w,B),c[B]=x,s[B]=1,this.setNeighborsSignificance(I,w,B),f[B]|=g,B=C;for(var L=v;I>=L;L++,B+=i)u[B]++;A++}for(I=v+A;e>I;I++,B+=i)if(!s[B]&&0===(f[B]&d)){var R=h[o[B]],T=r.readBit(l,R);1===T&&(x=this.decodeSignBit(I,w,B),c[B]=x,s[B]=1,this.setNeighborsSignificance(I,w,B),f[B]|=g),u[B]++}}}},checkSegmentationSymbol:function(){var e=this.decoder,a=this.contexts,r=e.readBit(a,t)<<3|e.readBit(a,t)<<2|e.readBit(a,t)<<1|e.readBit(a,t);if(10!=r)throw"Invalid segmentation symbol"}},e}(),S=function(){function e(){}return e.prototype.calculate=function(e,t,a){for(var r=e[0],i=1,n=e.length;n>i;i++)r=this.iterate(r,e[i],t,a);return r},e.prototype.extend=function(e,t,a){var r=t-1,i=t+1,n=t+a-2,o=t+a;e[r--]=e[i++],e[o++]=e[n--],e[r--]=e[i++],e[o++]=e[n--],e[r--]=e[i++],e[o++]=e[n--],e[r]=e[i],e[o]=e[n]},e.prototype.iterate=function(e,t,a,r){var i,n,o,s,c,l,h=e.width,u=e.height,f=e.items,d=t.width,g=t.height,m=t.items;for(o=0,i=0;u>i;i++)for(s=2*i*d,n=0;h>n;n++,o++,s+=2)m[s]=f[o];f=e.items=null;var p=4,b=new Float32Array(d+2*p);if(1===d){if(0!==(1&a))for(l=0,o=0;g>l;l++,o+=d)m[o]*=.5}else for(l=0,o=0;g>l;l++,o+=d)b.set(m.subarray(o,o+d),p),this.extend(b,p,d),this.filter(b,p,d),m.set(b.subarray(p,p+d),o);var v=16,y=[];for(i=0;v>i;i++)y.push(new Float32Array(g+2*p));var k,w=0;if(e=p+g,1===g){if(0!==(1&r))for(c=0;d>c;c++)m[c]*=.5}else for(c=0;d>c;c++){if(0===w){for(v=Math.min(d-c,v),o=c,s=p;e>s;o+=d,s++)for(k=0;v>k;k++)y[k][s]=m[o+k];w=v}w--;var x=y[w];if(this.extend(x,p,g),this.filter(x,p,g),0===w)for(o=c-v+1,s=p;e>s;o+=d,s++)for(k=0;v>k;k++)m[o+k]=y[k][s]}return{width:d,height:g,items:m}},e}(),A=function(){function e(){S.call(this)}return e.prototype=Object.create(S.prototype),e.prototype.filter=function(e,t,a){var r=a>>1;t=0|t;var i,n,o,s,c=-1.586134342059924,l=-.052980118572961,h=.882911075530934,u=.443506852043971,f=1.230174104914001,d=1/f;for(i=t-3,n=r+4;n--;i+=2)e[i]*=d;for(i=t-2,o=u*e[i-1],n=r+3;n--&&(s=u*e[i+1],e[i]=f*e[i]-o-s,n--);i+=2)i+=2,o=u*e[i+1],e[i]=f*e[i]-o-s;for(i=t-1,o=h*e[i-1],n=r+2;n--&&(s=h*e[i+1],e[i]-=o+s,n--);i+=2)i+=2,o=h*e[i+1],e[i]-=o+s;for(i=t,o=l*e[i-1],n=r+1;n--&&(s=l*e[i+1],e[i]-=o+s,n--);i+=2)i+=2,o=l*e[i+1],e[i]-=o+s;if(0!==r)for(i=t+1,o=c*e[i-1],n=r;n--&&(s=c*e[i+1],e[i]-=o+s,n--);i+=2)i+=2,o=c*e[i+1],e[i]-=o+s},e}(),B=function(){function e(){S.call(this)}return e.prototype=Object.create(S.prototype),e.prototype.filter=function(e,t,a){var r=a>>1;t=0|t;var i,n;for(i=t,n=r+1;n--;i+=2)e[i]-=e[i-1]+e[i+1]+2>>2;for(i=t+1,n=r;n--;i+=2)e[i]+=e[i-1]+e[i+1]>>1},e}();return e}(),Nr=function(){function e(){}function t(e,t,a){this.data=e,this.start=t,this.end=a}function r(e,t,a){function r(e){for(var t=0,r=0;e>r;r++){var o=a.readBit(i,n);n=256>n?n<<1|o:511&(n<<1|o)|256,t=t<<1|o}return t>>>0}var i=e.getContexts(t),n=1,o=r(1),s=r(1)?r(1)?r(1)?r(1)?r(1)?r(32)+4436:r(12)+340:r(8)+84:r(6)+20:r(4)+4:r(2);return 0===o?s:s>0?-s:null}function i(e,t,a){for(var r=e.getContexts("IAID"),i=1,n=0;a>n;n++){var o=t.readBit(r,i);i=i<<1|o}return 31>a?i&(1<<a)-1:2147483647&i}function n(e,t,r,i,n,o,s,c){e&&a("JBIG2 error: MMR encoding is not supported");var l=!!o,h=C[i].concat(s);h.sort(function(e,t){return e.y-t.y||e.x-t.x});var u,f,d=h.length,g=new Int8Array(d),m=new Int8Array(d),p=[],b=0,v=0,y=0,k=0;for(f=0;d>f;f++)g[f]=h[f].x,m[f]=h[f].y,v=Math.min(v,h[f].x),y=Math.max(y,h[f].x),k=Math.min(k,h[f].y),d-1>f&&h[f].y===h[f+1].y&&h[f].x===h[f+1].x-1?b|=1<<d-1-f:p.push(f);var w=p.length,x=new Int8Array(w),S=new Int8Array(w),B=new Uint16Array(w);for(u=0;w>u;u++)f=p[u],x[u]=h[f].x,S[u]=h[f].y,B[u]=1<<d-1-f;for(var I,O,L,R,T,P=-v,M=-k,q=t-y,D=A[i],E=new Uint8Array(t),F=[],U=c.decoder,N=c.contextCache.getContexts("GB"),j=0,z=0,H=0;r>H;H++){if(n){var G=U.readBit(N,D);if(j^=G){F.push(E);continue}}for(E=new Uint8Array(E),F.push(E),I=0;t>I;I++)if(l&&o[H][I])E[I]=0;else{if(I>=P&&q>I&&H>=M)for(z=z<<1&b,f=0;w>f;f++)O=H+S[f],L=I+x[f],R=F[O][L],R&&(R=B[f],z|=R);else for(z=0,T=d-1,f=0;d>f;f++,T--)L=I+g[f],L>=0&&t>L&&(O=H+m[f],O>=0&&(R=F[O][L],R&&(z|=R<<T)));var X=U.readBit(N,z);E[I]=X}}return F}function s(e,t,r,i,n,o,s,c,l){var h=S[r].coding;0===r&&(h=h.concat([c[0]]));var u,f=h.length,d=new Int32Array(f),g=new Int32Array(f);for(u=0;f>u;u++)d[u]=h[u].x,g[u]=h[u].y;var m=S[r].reference;0===r&&(m=m.concat([c[1]]));var p=m.length,b=new Int32Array(p),v=new Int32Array(p);for(u=0;p>u;u++)b[u]=m[u].x,v[u]=m[u].y;for(var y=i[0].length,k=i.length,w=B[r],x=[],C=l.decoder,A=l.contextCache.getContexts("GR"),I=0,O=0;t>O;O++){if(s){var L=C.readBit(A,w);I^=L,I&&a("JBIG2 error: prediction is not supported")}var R=new Uint8Array(e);x.push(R);for(var T=0;e>T;T++){var P,M,q=0;for(u=0;f>u;u++)P=O+g[u],M=T+d[u],0>P||0>M||M>=e?q<<=1:q=q<<1|x[P][M];for(u=0;p>u;u++)P=O+v[u]+o,M=T+b[u]+n,0>P||P>=k||0>M||M>=y?q<<=1:q=q<<1|i[P][M];var D=C.readBit(A,q);R[T]=D}}return x}function c(e,t,o,c,h,f,d,g,m,p,b){e&&a("JBIG2 error: huffman is not supported");for(var v=[],y=0,k=u(o.length+c),w=b.decoder,x=b.contextCache;v.length<c;){var C=r(x,"IADH",w);y+=C;for(var S=0,A=0;;){var B=r(x,"IADW",w);if(null===B)break;S+=B,A+=S;var I;if(t){var O=r(x,"IAAI",w);if(O>1)I=l(e,t,S,y,0,O,1,o.concat(v),k,0,0,1,0,f,m,p,b);else{var L=i(x,w,k),R=r(x,"IARDX",w),T=r(x,"IARDY",w),P=L<o.length?o[L]:v[L-o.length];I=s(S,y,m,P,R,T,!1,p,b)}}else I=n(!1,S,y,d,!1,null,g,b);v.push(I)}}for(var M=[],q=[],D=!1,E=o.length+c;q.length<E;){for(var F=r(x,"IAEX",w);F--;)q.push(D);D=!D}for(var U=0,N=o.length;N>U;U++)q[U]&&M.push(o[U]);for(var j=0;c>j;U++,j++)q[U]&&M.push(v[j]);return M}function l(e,t,n,o,c,l,h,u,f,d,g,m,p,b,v,y,k){e&&a("JBIG2 error: huffman is not supported");var w,x,C=[];for(w=0;o>w;w++){if(x=new Uint8Array(n),c)for(var S=0;n>S;S++)x[S]=c;C.push(x)}var A=k.decoder,B=k.contextCache,I=-r(B,"IADT",A),O=0;for(w=0;l>w;){var L=r(B,"IADT",A);I+=L;var R=r(B,"IAFS",A);O+=R;for(var T=O;;){var P=1==h?0:r(B,"IAIT",A),M=h*I+P,q=i(B,A,f),D=t&&r(B,"IARI",A),E=u[q],F=E[0].length,U=E.length;if(D){var N=r(B,"IARDW",A),j=r(B,"IARDH",A),z=r(B,"IARDX",A),H=r(B,"IARDY",A);F+=N,U+=j,E=s(F,U,v,E,(N>>1)+z,(j>>1)+H,!1,y,k)}var G,X,_,V=M-(1&m?0:U),J=T-(2&m?F:0);if(d){for(G=0;U>G;G++)if(x=C[J+G]){_=E[G];var W=Math.min(n-V,F);switch(p){case 0:for(X=0;W>X;X++)x[V+X]|=_[X];break;case 2:for(X=0;W>X;X++)x[V+X]^=_[X];break;default:a("JBIG2 error: operator "+p+" is not supported")}}T+=U-1}else{for(X=0;U>X;X++)if(x=C[V+X])switch(_=E[X],p){case 0:for(G=0;F>G;G++)x[J+G]|=_[G];break;case 2:for(G=0;F>G;G++)x[J+G]^=_[G];break;default:a("JBIG2 error: operator "+p+" is not supported")}T+=F-1}w++;var K=r(B,"IADS",A);if(null===K)break;T+=K+g}}return C}function h(e,t){var r={};r.number=g(e,t);var i=e[t+4],n=63&i;x[n]||a("JBIG2 error: invalid segment type: "+n),r.type=n,r.typeName=x[n],r.deferredNonRetain=!!(128&i);var o=!!(64&i),s=e[t+5],c=s>>5&7,l=[31&s],h=t+6;if(7==s){c=536870911&g(e,h-1),h+=3;var u=c+7>>3;for(l[0]=e[h++];--u>0;)l.push(e[h++])}else(5==s||6==s)&&a("JBIG2 error: invalid referred-to flags");r.retainBits=l;var f,m,b=r.number<=256?1:r.number<=65536?2:4,v=[];for(f=0;c>f;f++){var y=1==b?e[h]:2==b?d(e,h):g(e,h);v.push(y),h+=b}if(r.referredTo=v,o?(r.pageAssociation=g(e,h),h+=4):r.pageAssociation=e[h++],r.length=g(e,h),h+=4,4294967295==r.length)if(38===n){var k=p(e,h),w=e[h+I],C=!!(1&w),S=6,A=new Uint8Array(S);for(C||(A[0]=255,A[1]=172),A[2]=k.height>>>24&255,A[3]=k.height>>16&255,A[4]=k.height>>8&255,A[5]=255&k.height,f=h,m=e.length;m>f;f++){for(var B=0;S>B&&A[B]===e[f+B];)B++;if(B==S){r.length=f+S;break}}4294967295==r.length&&a("JBIG2 error: segment end was not found")}else a("JBIG2 error: invalid unknown segment length");return r.headerEnd=h,r}function m(e,t,a,r){for(var i=[],n=a;r>n;){var o=h(t,n);n=o.headerEnd;var s={header:o,data:t};if(e.randomAccess||(s.start=n,n+=o.length,s.end=n),i.push(s),51==o.type)break}if(e.randomAccess)for(var c=0,l=i.length;l>c;c++)i[c].start=n,n+=i[c].header.length,i[c].end=n;return i}function p(e,t){return{width:g(e,t),height:g(e,t+4),x:g(e,t+8),y:g(e,t+12),combinationOperator:7&e[t+16]}}function b(e,t){var r,i,n,o,s=e.header,c=e.data,l=e.start,h=e.end;switch(s.type){case 0:var u={},m=d(c,l);if(u.huffman=!!(1&m),u.refinement=!!(2&m),u.huffmanDHSelector=m>>2&3,u.huffmanDWSelector=m>>4&3,u.bitmapSizeSelector=m>>6&1,u.aggregationInstancesSelector=m>>7&1,u.bitmapCodingContextUsed=!!(256&m),u.bitmapCodingContextRetained=!!(512&m),u.template=m>>10&3,u.refinementTemplate=m>>12&1,l+=2,!u.huffman){for(o=0===u.template?4:1,i=[],n=0;o>n;n++)i.push({x:f(c,l),y:f(c,l+1)}),l+=2;u.at=i}if(u.refinement&&!u.refinementTemplate){for(i=[],n=0;2>n;n++)i.push({x:f(c,l),y:f(c,l+1)}),l+=2;u.refinementAt=i}u.numberOfExportedSymbols=g(c,l),l+=4,u.numberOfNewSymbols=g(c,l),l+=4,r=[u,s.number,s.referredTo,c,l,h];break;case 6:case 7:var b={};b.info=p(c,l),l+=I;var v=d(c,l);if(l+=2,b.huffman=!!(1&v),b.refinement=!!(2&v),b.stripSize=1<<(v>>2&3),b.referenceCorner=v>>4&3,b.transposed=!!(64&v),b.combinationOperator=v>>7&3,b.defaultPixelValue=v>>9&1,b.dsOffset=v<<17>>27,b.refinementTemplate=v>>15&1,b.huffman){var y=d(c,l);l+=2,b.huffmanFS=3&y,b.huffmanDS=y>>2&3,b.huffmanDT=y>>4&3,b.huffmanRefinementDW=y>>6&3,b.huffmanRefinementDH=y>>8&3,b.huffmanRefinementDX=y>>10&3,b.huffmanRefinementDY=y>>12&3,b.huffmanRefinementSizeSelector=!!(14&y)}if(b.refinement&&!b.refinementTemplate){for(i=[],n=0;2>n;n++)i.push({x:f(c,l),y:f(c,l+1)}),l+=2;b.refinementAt=i}b.numberOfSymbolInstances=g(c,l),l+=4,b.huffman&&a("JBIG2 error: huffman is not supported"),r=[b,s.referredTo,c,l,h];break;case 38:case 39:var k={};k.info=p(c,l),l+=I;var w=c[l++];if(k.mmr=!!(1&w),k.template=w>>1&3,k.prediction=!!(8&w),!k.mmr){for(o=0===k.template?4:1,i=[],n=0;o>n;n++)i.push({x:f(c,l),y:f(c,l+1)}),l+=2;k.at=i}r=[k,c,l,h];break;case 48:var x={width:g(c,l),height:g(c,l+4),resolutionX:g(c,l+8),resolutionY:g(c,l+12)};4294967295==x.height&&delete x.height;{var C=c[l+16];d(c,l+17)}x.lossless=!!(1&C),x.refinement=!!(2&C),x.defaultPixelValue=C>>2&1,x.combinationOperator=C>>3&3,x.requiresBuffer=!!(32&C),x.combinationOperatorOverride=!!(64&C),r=[x];break;case 49:break;case 50:break;case 51:break;case 62:break;default:a("JBIG2 error: segment type "+s.typeName+"("+s.type+") is not implemented")}var S="on"+s.typeName;S in t&&t[S].apply(t,r)}function v(e,t){for(var a=0,r=e.length;r>a;a++)b(e[a],t)}function y(e){for(var t=new k,a=0,r=e.length;r>a;a++){var i=e[a],n=m({},i.data,i.start,i.end);v(n,t)}return t.buffer}function k(){}function w(){}e.prototype={getContexts:function(e){return e in this?this[e]:this[e]=new Int8Array(65536)}},t.prototype={get decoder(){var e=new Er(this.data,this.start,this.end);return o(this,"decoder",e)},get contextCache(){var t=new e;return o(this,"contextCache",t)}};var x=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],C=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],S=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],A=[7379,1946,227,395],B=[32,8],I=17;return k.prototype={onPageInformation:function(e){this.currentPageInfo=e;var t=e.width+7>>3,a=new Uint8Array(t*e.height);if(e.defaultPixelValue)for(var r=0,i=a.length;i>r;r++)a[r]=255;this.buffer=a},drawBitmap:function(e,t){var r,i,n,o,s=this.currentPageInfo,c=e.width,l=e.height,h=s.width+7>>3,u=s.combinationOperatorOverride?e.combinationOperator:s.combinationOperator,f=this.buffer,d=128>>(7&e.x),g=e.y*h+(e.x>>3);switch(u){case 0:for(r=0;l>r;r++){for(n=d,o=g,i=0;c>i;i++)t[r][i]&&(f[o]|=n),n>>=1,n||(n=128,o++);g+=h}break;case 2:for(r=0;l>r;r++){for(n=d,o=g,i=0;c>i;i++)t[r][i]&&(f[o]^=n),n>>=1,n||(n=128,o++);g+=h}break;default:a("JBIG2 error: operator "+u+" is not supported")}},onImmediateGenericRegion:function(e,a,r,i){var o=e.info,s=new t(a,r,i),c=n(e.mmr,o.width,o.height,e.template,e.prediction,null,e.at,s);this.drawBitmap(o,c)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(e,r,i,n,o,s){var l;e.huffman&&a("JBIG2 error: huffman is not supported");var h=this.symbols;h||(this.symbols=h={});for(var u=[],f=0,d=i.length;d>f;f++)u=u.concat(h[i[f]]);var g=new t(n,o,s);h[r]=c(e.huffman,e.refinement,u,e.numberOfNewSymbols,e.numberOfExportedSymbols,l,e.template,e.at,e.refinementTemplate,e.refinementAt,g)},onImmediateTextRegion:function(e,a,r,i,n){for(var o,s=e.info,c=this.symbols,h=[],f=0,d=a.length;d>f;f++)h=h.concat(c[a[f]]);var g=u(h.length),m=new t(r,i,n),p=l(e.huffman,e.refinement,s.width,s.height,e.defaultPixelValue,e.numberOfSymbolInstances,e.stripSize,h,g,e.transposed,e.dsOffset,e.referenceCorner,e.combinationOperator,o,e.refinementTemplate,e.refinementAt,m);this.drawBitmap(s,p)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}},w.prototype={parseChunks:function(e){return y(e)}},w}(),jr=(PDFJS.bidi=function(){function e(e){return 0!==(1&e)}function t(e){return 0===(1&e)}function a(e,t,a){for(var r=t,i=e.length;i>r;++r)if(e[r]!=a)return r;return r}function r(e,t,a,r){for(var i=t;a>i;++i)e[i]=r}function i(e,t,a){for(var r=t,i=a-1;i>r;++r,--i){var n=e[r];e[r]=e[i],e[i]=n}}function n(e,t,a){return{str:e,dir:a?"ttb":t?"ltr":"rtl"}}function o(o,u,f){var d=!0,g=o.length;if(0===g||f)return n(o,d,f);l.length=0,h.length=0;var m,p,b=0;for(m=0;g>m;++m){l[m]=o.charAt(m);var v=o.charCodeAt(m),y="L";255>=v?y=s[v]:v>=1424&&1524>=v?y="R":v>=1536&&1791>=v?y=c[255&v]:v>=1792&&2220>=v&&(y="AL"),("R"==y||"AL"==y||"AN"==y)&&b++,h[m]=y}if(0===b)return d=!0,n(o,d);-1==u&&(.3>g/b?(d=!0,u=0):(d=!1,u=1));var k=[];for(m=0;g>m;++m)k[m]=u;var w=e(u)?"R":"L",x=w,C=x,S=x;for(m=0;g>m;++m)"NSM"==h[m]?h[m]=S:S=h[m];S=x;var A;for(m=0;g>m;++m)A=h[m],"EN"==A?h[m]="AL"==S?"AN":"EN":("R"==A||"L"==A||"AL"==A)&&(S=A);for(m=0;g>m;++m)A=h[m],"AL"==A&&(h[m]="R");for(m=1;g-1>m;++m)"ES"==h[m]&&"EN"==h[m-1]&&"EN"==h[m+1]&&(h[m]="EN"),"CS"!=h[m]||"EN"!=h[m-1]&&"AN"!=h[m-1]||h[m+1]!=h[m-1]||(h[m]=h[m-1]);for(m=0;g>m;++m)if("EN"==h[m]){var B;for(B=m-1;B>=0&&"ET"==h[B];--B)h[B]="EN";for(B=m+1;g>B&&"ET"==h[B];--B)h[B]="EN"}for(m=0;g>m;++m)A=h[m],("WS"==A||"ES"==A||"ET"==A||"CS"==A)&&(h[m]="ON");for(S=x,m=0;g>m;++m)A=h[m],"EN"==A?h[m]="L"==S?"L":"EN":("R"==A||"L"==A)&&(S=A);for(m=0;g>m;++m)if("ON"==h[m]){var I=a(h,m+1,"ON"),O=x;m>0&&(O=h[m-1]);var L=C;g>I+1&&(L=h[I+1]),"L"!=O&&(O="R"),"L"!=L&&(L="R"),O==L&&r(h,m,I,O),m=I-1}for(m=0;g>m;++m)"ON"==h[m]&&(h[m]=w);for(m=0;g>m;++m)A=h[m],t(k[m])?"R"==A?k[m]+=1:("AN"==A||"EN"==A)&&(k[m]+=2):("L"==A||"AN"==A||"EN"==A)&&(k[m]+=1);var R,T=-1,P=99;for(m=0,p=k.length;p>m;++m)R=k[m],R>T&&(T=R),P>R&&e(R)&&(P=R);for(R=T;R>=P;--R){var M=-1;for(m=0,p=k.length;p>m;++m)k[m]<R?M>=0&&(i(l,M,m),M=-1):0>M&&(M=m);M>=0&&i(l,M,k.length)}var q="";for(m=0,p=l.length;p>m;++m){var D=l[m];"<"!=D&&">"!=D&&(q+=D)}return n(q,d)}var s=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ON","CS","ON","CS","ON","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","ON","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","ON","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],c=["AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL"],l=[],h=[];return o}(),function(){function e(e){var t=3285377520;this.h1=e?4294967295&e:t,this.h2=e?4294967295&e:t}var t=4294901760,a=65535;return e.prototype={update:function(e){var r,i=!1;if("string"==typeof e){var n=new Uint8Array(2*e.length),o=0;for(r=0;r<e.length;r++){var s=e.charCodeAt(r);255>=s?n[o++]=s:(n[o++]=s>>>8,n[o++]=255&s)}}else if(e instanceof Uint8Array)n=e,o=n.length;else{if(!("object"==typeof e&&"length"in e))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");
-n=e,o=n.length,i=!0}var c=o>>2,l=o-4*c,h=i?new it(n,c):new Uint32Array(n.buffer,0,c),u=0,f=0,d=this.h1,g=this.h2,m=3432918353,p=461845907,b=m&a,v=p&a;for(r=0;c>r;r++)1&r?(u=h[r],u=u*m&t|u*b&a,u=u<<15|u>>>17,u=u*p&t|u*v&a,d^=u,d=d<<13|d>>>19,d=5*d+3864292196):(f=h[r],f=f*m&t|f*b&a,f=f<<15|f>>>17,f=f*p&t|f*v&a,g^=f,g=g<<13|g>>>19,g=5*g+3864292196);switch(u=0,l){case 3:u^=n[4*c+2]<<16;case 2:u^=n[4*c+1]<<8;case 1:u^=n[4*c],u=u*m&t|u*b&a,u=u<<15|u>>>17,u=u*p&t|u*v&a,1&c?d^=u:g^=u}return this.h1=d,this.h2=g,this},hexdigest:function(){var e=this.h1,r=this.h2;e^=r>>>1,e=3981806797*e&t|36045*e&a,r=4283543511*r&t|(2950163797*(r<<16|e>>>16)&t)>>>16,e^=r>>>1,e=444984403*e&t|60499*e&a,r=3301882366*r&t|(3120437893*(r<<16|e>>>16)&t)>>>16,e^=r>>>1;for(var i=0,n=[e,r],o="";i<n.length;i++){for(var s=(n[i]>>>0).toString(16);s.length<8;)s="0"+s;o+=s}return o}},e}())}.call("undefined"==typeof window?this:window),PDFJS.workerSrc||"undefined"==typeof document||(PDFJS.workerSrc=function(){"use strict";var e=document.body||document.getElementsByTagName("head")[0],t=e.lastChild.src;return t&&t.replace(/\.js$/i,".worker.js")}()); \ No newline at end of file
+"undefined"==typeof PDFJS&&(("undefined"!=typeof window?window:this).PDFJS={}),PDFJS.version="1.0.814",PDFJS.build="d6328bb",function(){"use strict";function info(msg){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+msg)}function warn(msg){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+msg)}function error(msg){if(arguments.length>1){var logArguments=["Error:"];logArguments.push.apply(logArguments,arguments),console.log.apply(console,logArguments),msg=[].join.call(arguments," ")}else console.log("Error: "+msg);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(msg)}function backtrace(){try{throw new Error}catch(e){return e.stack?e.stack.split("\n").slice(2).join("\n"):""}}function assert(cond,msg){cond||error(msg)}function isValidUrl(url,allowRelative){if(!url)return!1;var protocol=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(url);if(!protocol)return allowRelative;switch(protocol=protocol[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":return!0;default:return!1}}function shadow(obj,prop,value){return Object.defineProperty(obj,prop,{value:value,enumerable:!0,configurable:!0,writable:!1}),value}function bytesToString(bytes){var length=bytes.length,MAX_ARGUMENT_COUNT=8192;if(MAX_ARGUMENT_COUNT>length)return String.fromCharCode.apply(null,bytes);for(var strBuf=[],i=0;length>i;i+=MAX_ARGUMENT_COUNT){var chunkEnd=Math.min(i+MAX_ARGUMENT_COUNT,length),chunk=bytes.subarray(i,chunkEnd);strBuf.push(String.fromCharCode.apply(null,chunk))}return strBuf.join("")}function stringToBytes(str){for(var length=str.length,bytes=new Uint8Array(length),i=0;length>i;++i)bytes[i]=255&str.charCodeAt(i);return bytes}function string32(value){return String.fromCharCode(value>>24&255,value>>16&255,value>>8&255,255&value)}function log2(x){for(var n=1,i=0;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(2);buffer8[0]=1;var buffer16=new Uint16Array(buffer8.buffer);return 1===buffer16[0]}function hasCanvasTypedArrays(){var canvas=document.createElement("canvas");canvas.width=canvas.height=1;var ctx=canvas.getContext("2d"),imageData=ctx.createImageData(1,1);return"undefined"!=typeof imageData.data.buffer}function stringToPDFString(str){var i,n=str.length,strBuf=[];if("þ"===str[0]&&"ÿ"===str[1])for(i=2;n>i;i+=2)strBuf.push(String.fromCharCode(str.charCodeAt(i)<<8|str.charCodeAt(i+1)));else for(i=0;n>i;++i){var code=PDFStringTranslateTable[str.charCodeAt(i)];strBuf.push(code?String.fromCharCode(code):str.charAt(i))}return strBuf.join("")}function stringToUTF8String(str){return decodeURIComponent(escape(str))}function isEmptyObj(obj){for(var key in obj)return!1;return!0}function isBool(v){return"boolean"==typeof v}function isInt(v){return"number"==typeof v&&(0|v)===v}function isNum(v){return"number"==typeof v}function isString(v){return"string"==typeof v}function isName(v){return v instanceof Name}function isCmd(v,cmd){return v instanceof Cmd&&(void 0===cmd||v.cmd===cmd)}function isDict(v,type){if(!(v instanceof Dict))return!1;if(!type)return!0;var dictType=v.get("Type");return isName(dictType)&&dictType.name===type}function isArray(v){return v instanceof Array}function isStream(v){return"object"==typeof v&&null!==v&&void 0!==v.getBytes}function isArrayBuffer(v){return"object"==typeof v&&null!==v&&void 0!==v.byteLength}function isRef(v){return v instanceof Ref}function createPromiseCapability(){var capability={};return capability.promise=new Promise(function(resolve,reject){capability.resolve=resolve,capability.reject=reject}),capability}function MessageHandler(name,comObj){this.name=name,this.comObj=comObj,this.callbackIndex=1,this.postMessageTransfers=!0;var callbacksCapabilities=this.callbacksCapabilities={},ah=this.actionHandler={};ah.console_log=[function(data){console.log.apply(console,data)}],ah.console_error=[function(data){console.error.apply(console,data)}],ah._unsupported_feature=[function(data){UnsupportedManager.notify(data)}],comObj.onmessage=function(event){var data=event.data;if(data.isReply){var callbackId=data.callbackId;if(data.callbackId in callbacksCapabilities){var callback=callbacksCapabilities[callbackId];delete callbacksCapabilities[callbackId],"error"in data?callback.reject(data.error):callback.resolve(data.data)}else error("Cannot resolve callback "+callbackId)}else if(data.action in ah){var action=ah[data.action];data.callbackId?Promise.resolve().then(function(){return action[0].call(action[1],data.data)}).then(function(result){comObj.postMessage({isReply:!0,callbackId:data.callbackId,data:result})},function(reason){comObj.postMessage({isReply:!0,callbackId:data.callbackId,error:reason})}):action[0].call(action[1],data.data)}else error("Unknown action from worker: "+data.action)}}function getTilingPatternIR(operatorList,dict,args){var matrix=dict.get("Matrix"),bbox=dict.get("BBox"),xstep=dict.get("XStep"),ystep=dict.get("YStep"),paintType=dict.get("PaintType"),tilingType=dict.get("TilingType");return["TilingPattern",args,operatorList,matrix,bbox,xstep,ystep,paintType,tilingType]}function mapSpecialUnicodeValues(code){return code>=65520&&65535>=code?0:code>=62976&&63743>=code?SpecialPUASymbols[code]||code:code}function getUnicodeRangeFor(value){for(var i=0,ii=UnicodeRanges.length;ii>i;i++){var range=UnicodeRanges[i];if(value>=range.begin&&value<range.end)return i}return-1}function isRTLRangeFor(value){var range=UnicodeRanges[13];return value>=range.begin&&value<range.end?!0:(range=UnicodeRanges[11],value>=range.begin&&value<range.end?!0:!1)}function reverseIfRtl(chars){var charsLength=chars.length;if(1>=charsLength||!isRTLRangeFor(chars.charCodeAt(0)))return chars;for(var s="",ii=charsLength-1;ii>=0;ii--)s+=chars[ii];return s}function adjustWidths(properties){if(properties.fontMatrix[0]!==FONT_IDENTITY_MATRIX[0]){var scale=.001/properties.fontMatrix[0],glyphsWidths=properties.widths;for(var glyph in glyphsWidths)glyphsWidths[glyph]*=scale;properties.defaultWidth*=scale}}function getFontType(type,subtype){switch(type){case"Type1":return"Type1C"===subtype?FontType.TYPE1C:FontType.TYPE1;case"CIDFontType0":return"CIDFontType0C"===subtype?FontType.CIDFONTTYPE0C:FontType.CIDFONTTYPE0;case"OpenType":return FontType.OPENTYPE;case"TrueType":return FontType.TRUETYPE;case"CIDFontType2":return FontType.CIDFONTTYPE2;case"MMType1":return FontType.MMTYPE1;case"Type0":return FontType.TYPE0;default:return FontType.UNKNOWN}}function type1FontGlyphMapping(properties,builtInEncoding,glyphNames){var glyphId,charCode,baseEncoding,charCodeToGlyphId=Object.create(null);if(properties.baseEncodingName)for(baseEncoding=Encodings[properties.baseEncodingName],charCode=0;charCode<baseEncoding.length;charCode++)glyphId=glyphNames.indexOf(baseEncoding[charCode]),glyphId>=0&&(charCodeToGlyphId[charCode]=glyphId);else if(properties.flags&FontFlags.Symbolic)for(charCode in builtInEncoding)charCodeToGlyphId[charCode]=builtInEncoding[charCode];else for(baseEncoding=Encodings.StandardEncoding,charCode=0;charCode<baseEncoding.length;charCode++)glyphId=glyphNames.indexOf(baseEncoding[charCode]),glyphId>=0&&(charCodeToGlyphId[charCode]=glyphId);var differences=properties.differences;if(differences)for(charCode in differences){var glyphName=differences[charCode];glyphId=glyphNames.indexOf(glyphName),glyphId>=0&&(charCodeToGlyphId[charCode]=glyphId)}return charCodeToGlyphId}function isEOF(v){return v===EOF}var globalScope="undefined"==typeof window?this:window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],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},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.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},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var listeners=[];return{listen:function(cb){listeners.push(cb)},notify:function(featureId){warn('Unsupported feature "'+featureId+'"');for(var i=0,ii=listeners.length;ii>i;i++)listeners[i](featureId)}}}();PDFJS.isValidUrl=isValidUrl;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function PasswordException(msg,code){this.name="PasswordException",this.message=msg,this.code=code}return PasswordException.prototype=new Error,PasswordException.constructor=PasswordException,PasswordException}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function UnknownErrorException(msg,details){this.name="UnknownErrorException",this.message=msg,this.details=details}return UnknownErrorException.prototype=new Error,UnknownErrorException.constructor=UnknownErrorException,UnknownErrorException}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function InvalidPDFException(msg){this.name="InvalidPDFException",this.message=msg}return InvalidPDFException.prototype=new Error,InvalidPDFException.constructor=InvalidPDFException,InvalidPDFException}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function MissingPDFException(msg){this.name="MissingPDFException",this.message=msg}return MissingPDFException.prototype=new Error,MissingPDFException.constructor=MissingPDFException,MissingPDFException}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function UnexpectedResponseException(msg,status){this.name="UnexpectedResponseException",this.message=msg,this.status=status}return UnexpectedResponseException.prototype=new Error,UnexpectedResponseException.constructor=UnexpectedResponseException,UnexpectedResponseException}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function NotImplementedException(msg){this.message=msg}return NotImplementedException.prototype=new Error,NotImplementedException.prototype.name="NotImplementedException",NotImplementedException.constructor=NotImplementedException,NotImplementedException}(),MissingDataException=function(){function MissingDataException(begin,end){this.begin=begin,this.end=end,this.message="Missing data ["+begin+", "+end+")"}return MissingDataException.prototype=new Error,MissingDataException.prototype.name="MissingDataException",MissingDataException.constructor=MissingDataException,MissingDataException}(),XRefParseException=function(){function XRefParseException(msg){this.message=msg}return XRefParseException.prototype=new Error,XRefParseException.prototype.name="XRefParseException",XRefParseException.constructor=XRefParseException,XRefParseException}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return shadow(PDFJS,"isLittleEndian",isLittleEndian())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return shadow(PDFJS,"hasCanvasTypedArrays",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function Uint32ArrayView(buffer,length){this.buffer=buffer,this.byteLength=buffer.length,this.length=void 0===length?this.byteLength>>2:length,ensureUint32ArrayViewProps(this.length)}function createUint32ArrayProp(index){return{get:function(){var buffer=this.buffer,offset=index<<2;return(buffer[offset]|buffer[offset+1]<<8|buffer[offset+2]<<16|buffer[offset+3]<<24)>>>0},set:function(value){var buffer=this.buffer,offset=index<<2;buffer[offset]=255&value,buffer[offset+1]=value>>8&255,buffer[offset+2]=value>>16&255,buffer[offset+3]=value>>>24&255}}}function ensureUint32ArrayViewProps(length){for(;length>uint32ArrayViewSetters;)Object.defineProperty(Uint32ArrayView.prototype,uint32ArrayViewSetters,createUint32ArrayProp(uint32ArrayViewSetters)),uint32ArrayViewSetters++}Uint32ArrayView.prototype=Object.create(null);var uint32ArrayViewSetters=0;return Uint32ArrayView}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function Util(){}var rgbBuf=["rgb(",0,",",0,",",0,")"];return Util.makeCssRgb=function(rgb){return rgbBuf[1]=rgb[0],rgbBuf[3]=rgb[1],rgbBuf[5]=rgb[2],rgbBuf.join("")},Util.transform=function(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(p,m){var xt=p[0]*m[0]+p[1]*m[2]+m[4],yt=p[0]*m[1]+p[1]*m[3]+m[5];return[xt,yt]},Util.applyInverseTransform=function(p,m){var d=m[0]*m[3]-m[1]*m[2],xt=(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d,yt=(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d;return[xt,yt]},Util.getAxialAlignedBoundingBox=function(r,m){var p1=Util.applyTransform(r,m),p2=Util.applyTransform(r.slice(2,4),m),p3=Util.applyTransform([r[0],r[3]],m),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(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(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(m){var transpose=[m[0],m[2],m[1],m[3]],a=m[0]*transpose[0]+m[1]*transpose[2],b=m[0]*transpose[1]+m[1]*transpose[3],c=m[2]*transpose[0]+m[3]*transpose[2],d=m[2]*transpose[1]+m[3]*transpose[3],first=(a+d)/2,second=Math.sqrt((a+d)*(a+d)-4*(a*d-c*b))/2,sx=first+second||1,sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)]},Util.normalizeRect=function(rect){var r=rect.slice(0);return rect[0]>rect[2]&&(r[0]=rect[2],r[2]=rect[0]),rect[1]>rect[3]&&(r[1]=rect[3],r[3]=rect[1]),r},Util.intersect=function(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=[];return rect1=Util.normalizeRect(rect1),rect2=Util.normalizeRect(rect2),orderedX[0]===rect1[0]&&orderedX[1]===rect2[0]||orderedX[0]===rect2[0]&&orderedX[1]===rect1[0]?(result[0]=orderedX[1],result[2]=orderedX[2],orderedY[0]===rect1[1]&&orderedY[1]===rect2[1]||orderedY[0]===rect2[1]&&orderedY[1]===rect1[1]?(result[1]=orderedY[1],result[3]=orderedY[2],result):!1):!1},Util.sign=function(num){return 0>num?-1:1},Util.appendToArray=function(arr1,arr2){Array.prototype.push.apply(arr1,arr2)},Util.prependToArray=function(arr1,arr2){Array.prototype.unshift.apply(arr1,arr2)},Util.extendObj=function(obj1,obj2){for(var key in obj2)obj1[key]=obj2[key]},Util.getInheritableProperty=function(dict,name){for(;dict&&!dict.has(name);)dict=dict.get("Parent");return dict?dict.get(name):null},Util.inherit=function(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(src,callback){var script=document.createElement("script"),loaded=!1;script.setAttribute("src",src),callback&&(script.onload=function(){loaded||callback(),loaded=!0}),document.getElementsByTagName("head")[0].appendChild(script)},Util}(),PDFStringTranslateTable=(PDFJS.PageViewport=function(){function PageViewport(viewBox,scale,rotation,offsetX,offsetY,dontFlip){this.viewBox=viewBox,this.scale=scale,this.rotation=rotation,this.offsetX=offsetX,this.offsetY=offsetY;var rotateA,rotateB,rotateC,rotateD,centerX=(viewBox[2]+viewBox[0])/2,centerY=(viewBox[3]+viewBox[1])/2;switch(rotation%=360,rotation=0>rotation?rotation+360: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}dontFlip&&(rotateC=-rotateC,rotateD=-rotateD);var offsetCanvasX,offsetCanvasY,width,height;0===rotateA?(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):(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}return PageViewport.prototype={clone:function(args){args=args||{};var scale="scale"in args?args.scale:this.scale,rotation="rotation"in args?args.rotation:this.rotation;return new PageViewport(this.viewBox.slice(),scale,rotation,this.offsetX,this.offsetY,args.dontFlip)},convertToViewportPoint:function(x,y){return Util.applyTransform([x,y],this.transform)},convertToViewportRectangle:function(rect){var tl=Util.applyTransform([rect[0],rect[1]],this.transform),br=Util.applyTransform([rect[2],rect[3]],this.transform);return[tl[0],tl[1],br[0],br[1]]},convertToPdfPoint:function(x,y){return Util.applyInverseTransform([x,y],this.transform)}},PageViewport}(),[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,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,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364]);PDFJS.createPromiseCapability=createPromiseCapability,function(){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)}}if(globalScope.Promise)return"function"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(iterable){var resolve,reject,count=0,results=[],promise=new globalScope.Promise(function(resolve_,reject_){resolve=resolve_,reject=reject_});return iterable.forEach(function(p,i){count++,p.then(function(result){results[i]=result,count--,0===count&&resolve(results)},reject)}),0===count&&resolve(results),promise}),"function"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(value){return new globalScope.Promise(function(resolve){resolve(value)})}),"function"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(reason){return new globalScope.Promise(function(resolve,reject){reject(reason)})}),void("function"!=typeof globalScope.Promise.prototype.catch&&(globalScope.Promise.prototype.catch=function(onReject){return globalScope.Promise.prototype.then(void 0,onReject)}));var STATUS_PENDING=0,STATUS_RESOLVED=1,STATUS_REJECTED=2,REJECTION_TIMEOUT=500,HandlerManager={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(promise){promise._status!==STATUS_PENDING&&(this.handlers=this.handlers.concat(promise._handlers),promise._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var RUN_TIMEOUT=1,timeoutAt=Date.now()+RUN_TIMEOUT;this.handlers.length>0;){var handler=this.handlers.shift(),nextStatus=handler.thisPromise._status,nextValue=handler.thisPromise._value;try{nextStatus===STATUS_RESOLVED?"function"==typeof handler.onResolve&&(nextValue=handler.onResolve(nextValue)):"function"==typeof handler.onReject&&(nextValue=handler.onReject(nextValue),nextStatus=STATUS_RESOLVED,handler.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(handler.thisPromise))}catch(ex){nextStatus=STATUS_REJECTED,nextValue=ex}if(handler.nextPromise._updateStatus(nextStatus,nextValue),Date.now()>=timeoutAt)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(promise){this.unhandledRejections.push({promise:promise,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(promise){promise._unhandledRejection=!1;for(var i=0;i<this.unhandledRejections.length;i++)this.unhandledRejections[i].promise===promise&&(this.unhandledRejections.splice(i),i--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var now=Date.now(),i=0;i<this.unhandledRejections.length;i++)if(now-this.unhandledRejections[i].time>REJECTION_TIMEOUT){var unhandled=this.unhandledRejections[i].promise._value,msg="Unhandled rejection: "+unhandled;unhandled.stack&&(msg+="\n"+unhandled.stack),warn(msg),this.unhandledRejections.splice(i),i--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),REJECTION_TIMEOUT))}};Promise.all=function(promises){function reject(reason){deferred._status!==STATUS_REJECTED&&(results=[],rejectAll(reason))}var resolveAll,rejectAll,deferred=new Promise(function(resolve,reject){resolveAll=resolve,rejectAll=reject}),unresolved=promises.length,results=[];if(0===unresolved)return resolveAll(results),deferred;for(var i=0,ii=promises.length;ii>i;++i){var promise=promises[i],resolve=function(i){return function(value){deferred._status!==STATUS_REJECTED&&(results[i]=value,unresolved--,0===unresolved&&resolveAll(results))}}(i);Promise.isPromise(promise)?promise.then(resolve,reject):resolve(promise)}return deferred},Promise.isPromise=function(value){return value&&"function"==typeof value.then},Promise.resolve=function(value){return new Promise(function(resolve){resolve(value)})},Promise.reject=function(reason){return new Promise(function(resolve,reject){reject(reason)})},Promise.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(status,value){if(this._status!==STATUS_RESOLVED&&this._status!==STATUS_REJECTED){if(status===STATUS_RESOLVED&&Promise.isPromise(value))return void value.then(this._updateStatus.bind(this,STATUS_RESOLVED),this._updateStatus.bind(this,STATUS_REJECTED));this._status=status,this._value=value,status===STATUS_REJECTED&&0===this._handlers.length&&(this._unhandledRejection=!0,HandlerManager.addUnhandledRejection(this)),HandlerManager.scheduleHandlers(this)}},_resolve:function(value){this._updateStatus(STATUS_RESOLVED,value)},_reject:function(reason){this._updateStatus(STATUS_REJECTED,reason)},then:function(onResolve,onReject){var nextPromise=new Promise(function(resolve,reject){this.resolve=resolve,this.reject=reject});return this._handlers.push({thisPromise:this,onResolve:onResolve,onReject:onReject,nextPromise:nextPromise}),HandlerManager.scheduleHandlers(this),nextPromise},"catch":function(onReject){return this.then(void 0,onReject)}},globalScope.Promise=Promise}();!function(){function rpad(str,pad,length){for(;str.length<length;)str+=pad;return str}function StatTimer(){this.started={},this.times=[],this.enabled=!0}return StatTimer.prototype={time:function(name){this.enabled&&(name in this.started&&warn("Timer is already running for "+name),this.started[name]=Date.now())},timeEnd:function(name){this.enabled&&(name in this.started||warn("Timer has not been started for "+name),this.times.push({name:name,start:this.started[name],end:Date.now()}),delete this.started[name])},toString:function(){var i,ii,times=this.times,out="",longest=0;for(i=0,ii=times.length;ii>i;++i){var name=times[i].name;name.length>longest&&(longest=name.length)}for(i=0,ii=times.length;ii>i;++i){var span=times[i],duration=span.end-span.start;out+=rpad(span.name," ",longest)+" "+duration+"ms\n"}return out}},StatTimer}();PDFJS.createBlob=function(data,contentType){if("undefined"!=typeof Blob)return new Blob([data],{type:contentType});var bb=new MozBlobBuilder;return bb.append(data),bb.getBlob(contentType)},PDFJS.createObjectURL=function(){var digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(data,contentType){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var blob=PDFJS.createBlob(data,contentType);return URL.createObjectURL(blob)}for(var buffer="data:"+contentType+";base64,",i=0,ii=data.length;ii>i;i+=3){var b1=255&data[i],b2=255&data[i+1],b3=255&data[i+2],d1=b1>>2,d2=(3&b1)<<4|b2>>4,d3=ii>i+1?(15&b2)<<2|b3>>6:64,d4=ii>i+2?63&b3:64;buffer+=digits[d1]+digits[d2]+digits[d3]+digits[d4]}return buffer}}(),MessageHandler.prototype={on:function(actionName,handler,scope){var ah=this.actionHandler;ah[actionName]&&error('There is already an actionName called "'+actionName+'"'),ah[actionName]=[handler,scope]},send:function(actionName,data,transfers){var message={action:actionName,data:data};this.postMessage(message,transfers)},sendWithPromise:function(actionName,data,transfers){var callbackId=this.callbackIndex++,message={action:actionName,data:data,callbackId:callbackId},capability=createPromiseCapability();this.callbacksCapabilities[callbackId]=capability;try{this.postMessage(message,transfers)}catch(e){capability.reject(e)}return capability.promise},postMessage:function(message,transfers){transfers&&this.postMessageTransfers?this.comObj.postMessage(message,transfers):this.comObj.postMessage(message)}};var NetworkManager=function(){function NetworkManager(url,args){this.url=url,args=args||{},this.isHttp=/^https?:/i.test(url),this.httpHeaders=this.isHttp&&args.httpHeaders||{},this.withCredentials=args.withCredentials||!1,this.getXhr=args.getXhr||function(){return new XMLHttpRequest},this.currXhrId=0,this.pendingRequests={},this.loadedRequests={}}function getArrayBuffer(xhr){var data=xhr.response;if("string"!=typeof data)return data;for(var length=data.length,buffer=new Uint8Array(length),i=0;length>i;i++)buffer[i]=255&data.charCodeAt(i);return buffer}var OK_RESPONSE=200,PARTIAL_CONTENT_RESPONSE=206;return NetworkManager.prototype={requestRange:function(begin,end,listeners){var args={begin:begin,end:end};for(var prop in listeners)args[prop]=listeners[prop];return this.request(args)},requestFull:function(listeners){return this.request(listeners)},request:function(args){var xhr=this.getXhr(),xhrId=this.currXhrId++,pendingRequest=this.pendingRequests[xhrId]={xhr:xhr};xhr.open("GET",this.url),xhr.withCredentials=this.withCredentials;for(var property in this.httpHeaders){var value=this.httpHeaders[property];"undefined"!=typeof value&&xhr.setRequestHeader(property,value)}if(this.isHttp&&"begin"in args&&"end"in args){var rangeStr=args.begin+"-"+(args.end-1);xhr.setRequestHeader("Range","bytes="+rangeStr),pendingRequest.expectedStatus=206}else pendingRequest.expectedStatus=200;return xhr.responseType="arraybuffer",args.onProgress&&(xhr.onprogress=args.onProgress),args.onError&&(xhr.onerror=function(){args.onError(xhr.status)}),xhr.onreadystatechange=this.onStateChange.bind(this,xhrId),pendingRequest.onHeadersReceived=args.onHeadersReceived,pendingRequest.onDone=args.onDone,pendingRequest.onError=args.onError,xhr.send(null),xhrId},onStateChange:function(xhrId){var pendingRequest=this.pendingRequests[xhrId];if(pendingRequest){var xhr=pendingRequest.xhr;if(xhr.readyState>=2&&pendingRequest.onHeadersReceived&&(pendingRequest.onHeadersReceived(),delete pendingRequest.onHeadersReceived),4===xhr.readyState&&xhrId in this.pendingRequests){if(delete this.pendingRequests[xhrId],0===xhr.status&&this.isHttp)return void(pendingRequest.onError&&pendingRequest.onError(xhr.status));var xhrStatus=xhr.status||OK_RESPONSE,ok_response_on_range_request=xhrStatus===OK_RESPONSE&&pendingRequest.expectedStatus===PARTIAL_CONTENT_RESPONSE;if(!ok_response_on_range_request&&xhrStatus!==pendingRequest.expectedStatus)return void(pendingRequest.onError&&pendingRequest.onError(xhr.status));this.loadedRequests[xhrId]=!0;var chunk=getArrayBuffer(xhr);if(xhrStatus===PARTIAL_CONTENT_RESPONSE){var rangeHeader=xhr.getResponseHeader("Content-Range"),matches=/bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader),begin=parseInt(matches[1],10);pendingRequest.onDone({begin:begin,chunk:chunk})}else pendingRequest.onDone({begin:0,chunk:chunk})}}},hasPendingRequests:function(){for(var xhrId in this.pendingRequests)return!0;return!1},getRequestXhr:function(xhrId){return this.pendingRequests[xhrId].xhr},isPendingRequest:function(xhrId){return xhrId in this.pendingRequests},isLoadedRequest:function(xhrId){return xhrId in this.loadedRequests},abortAllRequests:function(){for(var xhrId in this.pendingRequests)this.abortRequest(0|xhrId)},abortRequest:function(xhrId){var xhr=this.pendingRequests[xhrId].xhr;delete this.pendingRequests[xhrId],xhr.abort()}},NetworkManager}(),ChunkedStream=function(){function ChunkedStream(length,chunkSize,manager){this.bytes=new Uint8Array(length),this.start=0,this.pos=0,this.end=length,this.chunkSize=chunkSize,this.loadedChunks=[],this.numChunksLoaded=0,this.numChunks=Math.ceil(length/chunkSize),this.manager=manager,this.initialDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}return ChunkedStream.prototype={getMissingChunks:function(){for(var chunks=[],chunk=0,n=this.numChunks;n>chunk;++chunk)chunk in this.loadedChunks||chunks.push(chunk);return chunks},getBaseStreams:function(){return[this]},allChunksLoaded:function(){return this.numChunksLoaded===this.numChunks},onReceiveData:function(begin,chunk){var end=begin+chunk.byteLength;assert(begin%this.chunkSize===0,"Bad begin offset: "+begin);var length=this.bytes.length;assert(end%this.chunkSize===0||end===length,"Bad end offset: "+end),this.bytes.set(new Uint8Array(chunk),begin);var curChunk,chunkSize=this.chunkSize,beginChunk=Math.floor(begin/chunkSize),endChunk=Math.floor((end-1)/chunkSize)+1;for(curChunk=beginChunk;endChunk>curChunk;++curChunk)curChunk in this.loadedChunks||(this.loadedChunks[curChunk]=!0,++this.numChunksLoaded)},onReceiveInitialData:function(data){this.bytes.set(data),this.initialDataLength=data.length;
+for(var endChunk=this.end===data.length?this.numChunks:Math.floor(data.length/this.chunkSize),i=0;endChunk>i;i++)this.loadedChunks[i]=!0,++this.numChunksLoaded},ensureByte:function(pos){var chunk=Math.floor(pos/this.chunkSize);if(chunk!==this.lastSuccessfulEnsureByteChunk){if(!(chunk in this.loadedChunks))throw new MissingDataException(pos,pos+1);this.lastSuccessfulEnsureByteChunk=chunk}},ensureRange:function(begin,end){if(!(begin>=end||end<=this.initialDataLength))for(var chunkSize=this.chunkSize,beginChunk=Math.floor(begin/chunkSize),endChunk=Math.floor((end-1)/chunkSize)+1,chunk=beginChunk;endChunk>chunk;++chunk)if(!(chunk in this.loadedChunks))throw new MissingDataException(begin,end)},nextEmptyChunk:function(beginChunk){var chunk,n;for(chunk=beginChunk,n=this.numChunks;n>chunk;++chunk)if(!(chunk in this.loadedChunks))return chunk;for(chunk=0;beginChunk>chunk;++chunk)if(!(chunk in this.loadedChunks))return chunk;return null},hasChunk:function(chunk){return chunk in this.loadedChunks},get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){var pos=this.pos;return pos>=this.end?-1:(this.ensureByte(pos),this.bytes[this.pos++])},getUint16:function(){var b0=this.getByte(),b1=this.getByte();return(b0<<8)+b1},getInt32:function(){var b0=this.getByte(),b1=this.getByte(),b2=this.getByte(),b3=this.getByte();return(b0<<24)+(b1<<16)+(b2<<8)+b3},getBytes:function(length){var bytes=this.bytes,pos=this.pos,strEnd=this.end;if(!length)return this.ensureRange(pos,strEnd),bytes.subarray(pos,strEnd);var end=pos+length;return end>strEnd&&(end=strEnd),this.ensureRange(pos,end),this.pos=end,bytes.subarray(pos,end)},peekByte:function(){var peekedByte=this.getByte();return this.pos--,peekedByte},peekBytes:function(length){var bytes=this.getBytes(length);return this.pos-=bytes.length,bytes},getByteRange:function(begin,end){return this.ensureRange(begin,end),this.bytes.subarray(begin,end)},skip:function(n){n||(n=1),this.pos+=n},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(start,length,dict){function ChunkedStreamSubstream(){}this.ensureRange(start,start+length),ChunkedStreamSubstream.prototype=Object.create(this),ChunkedStreamSubstream.prototype.getMissingChunks=function(){for(var chunkSize=this.chunkSize,beginChunk=Math.floor(this.start/chunkSize),endChunk=Math.floor((this.end-1)/chunkSize)+1,missingChunks=[],chunk=beginChunk;endChunk>chunk;++chunk)chunk in this.loadedChunks||missingChunks.push(chunk);return missingChunks};var subStream=new ChunkedStreamSubstream;return subStream.pos=subStream.start=start,subStream.end=start+length||this.end,subStream.dict=dict,subStream},isStream:!0},ChunkedStream}(),ChunkedStreamManager=function(){function ChunkedStreamManager(length,chunkSize,url,args){this.stream=new ChunkedStream(length,chunkSize,this),this.length=length,this.chunkSize=chunkSize,this.url=url,this.disableAutoFetch=args.disableAutoFetch;var msgHandler=this.msgHandler=args.msgHandler;if(args.chunkedViewerLoading)msgHandler.on("OnDataRange",this.onReceiveData.bind(this)),msgHandler.on("OnDataProgress",this.onProgress.bind(this)),this.sendRequest=function(begin,end){msgHandler.send("RequestDataRange",{begin:begin,end:end})};else{var getXhr=function(){return new XMLHttpRequest};this.networkManager=new NetworkManager(this.url,{getXhr:getXhr,httpHeaders:args.httpHeaders,withCredentials:args.withCredentials}),this.sendRequest=function(begin,end){this.networkManager.requestRange(begin,end,{onDone:this.onReceiveData.bind(this),onProgress:this.onProgress.bind(this)})}}this.currRequestId=0,this.chunksNeededByRequest={},this.requestsByChunk={},this.callbacksByRequest={},this._loadedStreamCapability=createPromiseCapability(),args.initialData&&this.setInitialData(args.initialData)}return ChunkedStreamManager.prototype={setInitialData:function(data){this.stream.onReceiveInitialData(data),this.stream.allChunksLoaded()?this._loadedStreamCapability.resolve(this.stream):this.msgHandler&&this.msgHandler.send("DocProgress",{loaded:data.length,total:this.length})},onLoadedStream:function(){return this._loadedStreamCapability.promise},requestAllChunks:function(){var missingChunks=this.stream.getMissingChunks();return this.requestChunks(missingChunks),this._loadedStreamCapability.promise},requestChunks:function(chunks,callback){var chunksNeeded,i,ii,requestId=this.currRequestId++;for(this.chunksNeededByRequest[requestId]=chunksNeeded={},i=0,ii=chunks.length;ii>i;i++)this.stream.hasChunk(chunks[i])||(chunksNeeded[chunks[i]]=!0);if(isEmptyObj(chunksNeeded))return void(callback&&callback());this.callbacksByRequest[requestId]=callback;var chunksToRequest=[];for(var chunk in chunksNeeded)chunk=0|chunk,chunk in this.requestsByChunk||(this.requestsByChunk[chunk]=[],chunksToRequest.push(chunk)),this.requestsByChunk[chunk].push(requestId);if(chunksToRequest.length){var groupedChunksToRequest=this.groupChunks(chunksToRequest);for(i=0;i<groupedChunksToRequest.length;++i){var groupedChunk=groupedChunksToRequest[i],begin=groupedChunk.beginChunk*this.chunkSize,end=Math.min(groupedChunk.endChunk*this.chunkSize,this.length);this.sendRequest(begin,end)}}},getStream:function(){return this.stream},requestRange:function(begin,end,callback){end=Math.min(end,this.length);for(var beginChunk=this.getBeginChunk(begin),endChunk=this.getEndChunk(end),chunks=[],chunk=beginChunk;endChunk>chunk;++chunk)chunks.push(chunk);this.requestChunks(chunks,callback)},requestRanges:function(ranges,callback){ranges=ranges||[];for(var chunksToRequest=[],i=0;i<ranges.length;i++)for(var beginChunk=this.getBeginChunk(ranges[i].begin),endChunk=this.getEndChunk(ranges[i].end),chunk=beginChunk;endChunk>chunk;++chunk)chunksToRequest.indexOf(chunk)<0&&chunksToRequest.push(chunk);chunksToRequest.sort(function(a,b){return a-b}),this.requestChunks(chunksToRequest,callback)},groupChunks:function(chunks){for(var groupedChunks=[],beginChunk=-1,prevChunk=-1,i=0;i<chunks.length;++i){var chunk=chunks[i];0>beginChunk&&(beginChunk=chunk),prevChunk>=0&&prevChunk+1!==chunk&&(groupedChunks.push({beginChunk:beginChunk,endChunk:prevChunk+1}),beginChunk=chunk),i+1===chunks.length&&groupedChunks.push({beginChunk:beginChunk,endChunk:chunk+1}),prevChunk=chunk}return groupedChunks},onProgress:function(args){var bytesLoaded=this.stream.numChunksLoaded*this.chunkSize+args.loaded;this.msgHandler.send("DocProgress",{loaded:bytesLoaded,total:this.length})},onReceiveData:function(args){var chunk=args.chunk,begin=args.begin,end=begin+chunk.byteLength,beginChunk=this.getBeginChunk(begin),endChunk=this.getEndChunk(end);this.stream.onReceiveData(begin,chunk),this.stream.allChunksLoaded()&&this._loadedStreamCapability.resolve(this.stream);var i,requestId,loadedRequests=[];for(chunk=beginChunk;endChunk>chunk;++chunk){var requestIds=this.requestsByChunk[chunk]||[];for(delete this.requestsByChunk[chunk],i=0;i<requestIds.length;++i){requestId=requestIds[i];var chunksNeeded=this.chunksNeededByRequest[requestId];chunk in chunksNeeded&&delete chunksNeeded[chunk],isEmptyObj(chunksNeeded)&&loadedRequests.push(requestId)}}if(!this.disableAutoFetch&&isEmptyObj(this.requestsByChunk)){var nextEmptyChunk;if(1===this.stream.numChunksLoaded){var lastChunk=this.stream.numChunks-1;this.stream.hasChunk(lastChunk)||(nextEmptyChunk=lastChunk)}else nextEmptyChunk=this.stream.nextEmptyChunk(endChunk);isInt(nextEmptyChunk)&&this.requestChunks([nextEmptyChunk])}for(i=0;i<loadedRequests.length;++i){requestId=loadedRequests[i];var callback=this.callbacksByRequest[requestId];delete this.callbacksByRequest[requestId],callback&&callback()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})},onError:function(err){this._loadedStreamCapability.reject(err)},getBeginChunk:function(begin){var chunk=Math.floor(begin/this.chunkSize);return chunk},getEndChunk:function(end){if(end%this.chunkSize===0)return end/this.chunkSize;var chunk=Math.floor((end-1)/this.chunkSize)+1;return chunk}},ChunkedStreamManager}(),RANGE_CHUNK_SIZE=65536,BasePdfManager=function(){function BasePdfManager(){throw new Error("Cannot initialize BaseManagerManager")}return BasePdfManager.prototype={onLoadedStream:function(){throw new NotImplementedException},ensureDoc:function(prop,args){return this.ensure(this.pdfDocument,prop,args)},ensureXRef:function(prop,args){return this.ensure(this.pdfDocument.xref,prop,args)},ensureCatalog:function(prop,args){return this.ensure(this.pdfDocument.catalog,prop,args)},getPage:function(pageIndex){return this.pdfDocument.getPage(pageIndex)},cleanup:function(){return this.pdfDocument.cleanup()},ensure:function(){return new NotImplementedException},requestRange:function(){return new NotImplementedException},requestLoadedStream:function(){return new NotImplementedException},updatePassword:function(password){this.pdfDocument.xref.password=this.password=password,this._passwordChangedCapability&&this._passwordChangedCapability.resolve()},passwordChanged:function(){return this._passwordChangedCapability=createPromiseCapability(),this._passwordChangedCapability.promise},terminate:function(){return new NotImplementedException}},BasePdfManager}(),LocalPdfManager=function(){function LocalPdfManager(data,password){var stream=new Stream(data);this.pdfDocument=new PDFDocument(this,stream,password),this._loadedStreamCapability=createPromiseCapability(),this._loadedStreamCapability.resolve(stream)}return LocalPdfManager.prototype=Object.create(BasePdfManager.prototype),LocalPdfManager.prototype.constructor=LocalPdfManager,LocalPdfManager.prototype.ensure=function(obj,prop,args){return new Promise(function(resolve,reject){try{var result,value=obj[prop];result="function"==typeof value?value.apply(obj,args):value,resolve(result)}catch(e){reject(e)}})},LocalPdfManager.prototype.requestRange=function(){return Promise.resolve()},LocalPdfManager.prototype.requestLoadedStream=function(){},LocalPdfManager.prototype.onLoadedStream=function(){return this._loadedStreamCapability.promise},LocalPdfManager.prototype.terminate=function(){},LocalPdfManager}(),NetworkPdfManager=function(){function NetworkPdfManager(args,msgHandler){this.msgHandler=msgHandler;var params={msgHandler:msgHandler,httpHeaders:args.httpHeaders,withCredentials:args.withCredentials,chunkedViewerLoading:args.chunkedViewerLoading,disableAutoFetch:args.disableAutoFetch,initialData:args.initialData};this.streamManager=new ChunkedStreamManager(args.length,RANGE_CHUNK_SIZE,args.url,params),this.pdfDocument=new PDFDocument(this,this.streamManager.getStream(),args.password)}return NetworkPdfManager.prototype=Object.create(BasePdfManager.prototype),NetworkPdfManager.prototype.constructor=NetworkPdfManager,NetworkPdfManager.prototype.ensure=function(obj,prop,args){var pdfManager=this;return new Promise(function(resolve,reject){function ensureHelper(){try{var result,value=obj[prop];result="function"==typeof value?value.apply(obj,args):value,resolve(result)}catch(e){if(!(e instanceof MissingDataException))return void reject(e);pdfManager.streamManager.requestRange(e.begin,e.end,ensureHelper)}}ensureHelper()})},NetworkPdfManager.prototype.requestRange=function(begin,end){return new Promise(function(resolve){this.streamManager.requestRange(begin,end,function(){resolve()})}.bind(this))},NetworkPdfManager.prototype.requestLoadedStream=function(){this.streamManager.requestAllChunks()},NetworkPdfManager.prototype.onLoadedStream=function(){return this.streamManager.onLoadedStream()},NetworkPdfManager.prototype.terminate=function(){this.streamManager.networkManager.abortAllRequests()},NetworkPdfManager}(),Page=function(){function Page(pdfManager,xref,pageIndex,pageDict,ref,fontCache){this.pdfManager=pdfManager,this.pageIndex=pageIndex,this.pageDict=pageDict,this.xref=xref,this.ref=ref,this.fontCache=fontCache,this.idCounters={obj:0},this.resourcesPromise=null}var LETTER_SIZE_MEDIABOX=[0,0,612,792];return Page.prototype={getPageProp:function(key){return this.pageDict.get(key)},getInheritedPageProp:function(key){for(var dict=this.pageDict,value=dict.get(key);void 0===value&&(dict=dict.get("Parent"));)value=dict.get(key);return value},get content(){return this.getPageProp("Contents")},get resources(){var value=this.getInheritedPageProp("Resources");return void 0===value&&(value=Dict.empty),shadow(this,"resources",value)},get mediaBox(){var obj=this.getInheritedPageProp("MediaBox");return isArray(obj)&&4===obj.length||(obj=LETTER_SIZE_MEDIABOX),shadow(this,"mediaBox",obj)},get view(){var mediaBox=this.mediaBox,cropBox=this.getInheritedPageProp("CropBox");return isArray(cropBox)&&4===cropBox.length?(cropBox=Util.intersect(cropBox,mediaBox),cropBox?shadow(this,"view",cropBox):shadow(this,"view",mediaBox)):shadow(this,"view",mediaBox)},get annotationRefs(){return shadow(this,"annotationRefs",this.getInheritedPageProp("Annots"))},get rotate(){var rotate=this.getInheritedPageProp("Rotate")||0;return rotate%90!==0?rotate=0:rotate>=360?rotate%=360:0>rotate&&(rotate=(rotate%360+360)%360),shadow(this,"rotate",rotate)},getContentStream:function(){var stream,content=this.content;if(isArray(content)){var i,xref=this.xref,n=content.length,streams=[];for(i=0;n>i;++i)streams.push(xref.fetchIfRef(content[i]));stream=new StreamsSequenceStream(streams)}else stream=isStream(content)?content:new NullStream;return stream},loadResources:function(keys){return this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources")),this.resourcesPromise.then(function(){var objectLoader=new ObjectLoader(this.resources.map,keys,this.xref);return objectLoader.load()}.bind(this))},getOperatorList:function(handler,intent){var self=this,pdfManager=this.pdfManager,contentStreamPromise=pdfManager.ensure(this,"getContentStream",[]),resourcesPromise=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),partialEvaluator=new PartialEvaluator(pdfManager,this.xref,handler,this.pageIndex,"p"+this.pageIndex+"_",this.idCounters,this.fontCache),dataPromises=Promise.all([contentStreamPromise,resourcesPromise]),pageListPromise=dataPromises.then(function(data){var contentStream=data[0],opList=new OperatorList(intent,handler,self.pageIndex);return handler.send("StartRenderPage",{transparency:partialEvaluator.hasBlendModes(self.resources),pageIndex:self.pageIndex,intent:intent}),partialEvaluator.getOperatorList(contentStream,self.resources,opList).then(function(){return opList})}),annotationsPromise=pdfManager.ensure(this,"annotations");return Promise.all([pageListPromise,annotationsPromise]).then(function(datas){var pageOpList=datas[0],annotations=datas[1];if(0===annotations.length)return pageOpList.flush(!0),pageOpList;var annotationsReadyPromise=Annotation.appendToOperatorList(annotations,pageOpList,pdfManager,partialEvaluator,intent);return annotationsReadyPromise.then(function(){return pageOpList.flush(!0),pageOpList})})},extractTextContent:function(){var handler={on:function(){},send:function(){}},self=this,pdfManager=this.pdfManager,contentStreamPromise=pdfManager.ensure(this,"getContentStream",[]),resourcesPromise=this.loadResources(["ExtGState","XObject","Font"]),dataPromises=Promise.all([contentStreamPromise,resourcesPromise]);return dataPromises.then(function(data){var contentStream=data[0],partialEvaluator=new PartialEvaluator(pdfManager,self.xref,handler,self.pageIndex,"p"+self.pageIndex+"_",self.idCounters,self.fontCache);return partialEvaluator.getTextContent(contentStream,self.resources)})},getAnnotationsData:function(){for(var annotations=this.annotations,annotationsData=[],i=0,n=annotations.length;n>i;++i)annotationsData.push(annotations[i].getData());return annotationsData},get annotations(){for(var annotations=[],annotationRefs=this.annotationRefs||[],i=0,n=annotationRefs.length;n>i;++i){var annotationRef=annotationRefs[i],annotation=Annotation.fromRef(this.xref,annotationRef);annotation&&annotations.push(annotation)}return shadow(this,"annotations",annotations)}},Page}(),PDFDocument=function(){function PDFDocument(pdfManager,arg,password){isStream(arg)?init.call(this,pdfManager,arg,password):isArrayBuffer(arg)?init.call(this,pdfManager,new Stream(arg),password):error("PDFDocument: Unknown argument type")}function init(pdfManager,stream,password){assert(stream.length>0,"stream must have data"),this.pdfManager=pdfManager,this.stream=stream;var xref=new XRef(this.stream,password,pdfManager);this.xref=xref}function find(stream,needle,limit,backwards){var pos=stream.pos,end=stream.end,strBuf=[];pos+limit>end&&(limit=end-pos);for(var n=0;limit>n;++n)strBuf.push(String.fromCharCode(stream.getByte()));var str=strBuf.join("");stream.pos=pos;var index=backwards?str.lastIndexOf(needle):str.indexOf(needle);return-1===index?!1:(stream.pos+=index,!0)}var DocumentInfoValidators={get entries(){return shadow(this,"entries",{Title:isString,Author:isString,Subject:isString,Keywords:isString,Creator:isString,Producer:isString,CreationDate:isString,ModDate:isString,Trapped:isName})}};return PDFDocument.prototype={parse:function(recoveryMode){this.setup(recoveryMode);try{if(this.acroForm=this.catalog.catDict.get("AcroForm"),this.acroForm){this.xfa=this.acroForm.get("XFA");var fields=this.acroForm.get("Fields");fields&&isArray(fields)&&0!==fields.length||this.xfa||(this.acroForm=null)}}catch(ex){info("Something wrong with AcroForm entry"),this.acroForm=null}},get linearization(){var linearization=null;if(this.stream.length)try{linearization=Linearization.create(this.stream)}catch(err){if(err instanceof MissingDataException)throw err;info(err)}return shadow(this,"linearization",linearization)},get startXRef(){var stream=this.stream,startXRef=0,linearization=this.linearization;if(linearization)stream.reset(),find(stream,"endobj",1024)&&(startXRef=stream.pos+6);else{for(var step=1024,found=!1,pos=stream.end;!found&&pos>0;)pos-=step-"startxref".length,0>pos&&(pos=0),stream.pos=pos,found=find(stream,"startxref",step,!0);if(found){stream.skip(9);var ch;do ch=stream.getByte();while(Lexer.isSpace(ch));for(var str="";ch>=32&&57>=ch;)str+=String.fromCharCode(ch),ch=stream.getByte();startXRef=parseInt(str,10),isNaN(startXRef)&&(startXRef=0)}}return shadow(this,"startXRef",startXRef)},get mainXRefEntriesOffset(){var mainXRefEntriesOffset=0,linearization=this.linearization;return linearization&&(mainXRefEntriesOffset=linearization.mainXRefEntriesOffset),shadow(this,"mainXRefEntriesOffset",mainXRefEntriesOffset)},checkHeader:function(){var stream=this.stream;if(stream.reset(),find(stream,"%PDF-",1024)){stream.moveStart();for(var ch,MAX_VERSION_LENGTH=12,version="";(ch=stream.getByte())>32&&!(version.length>=MAX_VERSION_LENGTH);)version+=String.fromCharCode(ch);return void(this.pdfFormatVersion=version.substring(5))}},parseStartXRef:function(){var startXRef=this.startXRef;this.xref.setStartXRef(startXRef)},setup:function(recoveryMode){this.xref.parse(recoveryMode),this.catalog=new Catalog(this.pdfManager,this.xref)},get numPages(){var linearization=this.linearization,num=linearization?linearization.numPages:this.catalog.numPages;return shadow(this,"numPages",num)},get documentInfo(){var infoDict,docInfo={PDFFormatVersion:this.pdfFormatVersion,IsAcroFormPresent:!!this.acroForm,IsXFAPresent:!!this.xfa};try{infoDict=this.xref.trailer.get("Info")}catch(err){info("The document information dictionary is invalid.")}if(infoDict){var validEntries=DocumentInfoValidators.entries;for(var key in validEntries)if(infoDict.has(key)){var value=infoDict.get(key);validEntries[key](value)?docInfo[key]="string"!=typeof value?value:stringToPDFString(value):info('Bad value in document info for "'+key+'"')}}return shadow(this,"documentInfo",docInfo)},get fingerprint(){var hash,xref=this.xref,fileID="";hash=xref.trailer.has("ID")?stringToBytes(xref.trailer.get("ID")[0]):calculateMD5(this.stream.bytes.subarray(0,100),0,100);for(var i=0,n=hash.length;n>i;i++)fileID+=hash[i].toString(16);return shadow(this,"fingerprint",fileID)},getPage:function(pageIndex){return this.catalog.getPage(pageIndex)},cleanup:function(){return this.catalog.cleanup()}},PDFDocument}(),Name=function(){function Name(name){this.name=name}Name.prototype={};var nameCache={};return Name.get=function(name){var nameValue=nameCache[name];return nameValue?nameValue:nameCache[name]=new Name(name)},Name}(),Cmd=function(){function Cmd(cmd){this.cmd=cmd}Cmd.prototype={};var cmdCache={};return Cmd.get=function(cmd){var cmdValue=cmdCache[cmd];return cmdValue?cmdValue:cmdCache[cmd]=new Cmd(cmd)},Cmd}(),Dict=function(){function isRecursionAllowedFor(dict){if(!isName(dict.Type))return!0;var dictType=dict.Type.name;return GETALL_DICTIONARY_TYPES_WHITELIST[dictType]===!0}function Dict(xref){this.map=Object.create(null),this.xref=xref,this.objId=null,this.__nonSerializable__=nonSerializable}var nonSerializable=function(){return nonSerializable},GETALL_DICTIONARY_TYPES_WHITELIST={Background:!0,ExtGState:!0,Halftone:!0,Layout:!0,Mask:!0,Pagination:!0,Printing:!0};return Dict.prototype={assignXref:function(newXref){this.xref=newXref},get:function(key1,key2,key3){var value,xref=this.xref;return"undefined"!=typeof(value=this.map[key1])||key1 in this.map||"undefined"==typeof key2?xref?xref.fetchIfRef(value):value:"undefined"!=typeof(value=this.map[key2])||key2 in this.map||"undefined"==typeof key3?xref?xref.fetchIfRef(value):value:(value=this.map[key3]||null,xref?xref.fetchIfRef(value):value)},getAsync:function(key1,key2,key3){var value,xref=this.xref;return"undefined"!=typeof(value=this.map[key1])||key1 in this.map||"undefined"==typeof key2?xref?xref.fetchIfRefAsync(value):Promise.resolve(value):"undefined"!=typeof(value=this.map[key2])||key2 in this.map||"undefined"==typeof key3?xref?xref.fetchIfRefAsync(value):Promise.resolve(value):(value=this.map[key3]||null,xref?xref.fetchIfRefAsync(value):Promise.resolve(value))},getRaw:function(key){return this.map[key]},getAll:function(){var key,obj,all=Object.create(null),queue=null;for(key in this.map)obj=this.get(key),obj instanceof Dict?isRecursionAllowedFor(obj)?(queue||(queue=[])).push({target:all,key:key,obj:obj}):all[key]=this.getRaw(key):all[key]=obj;if(!queue)return all;for(var processed=Object.create(null);queue.length>0;){var item=queue.shift(),itemObj=item.obj,objId=itemObj.objId;if(objId&&objId in processed)item.target[item.key]=processed[objId];else{var dereferenced=Object.create(null);for(key in itemObj.map)obj=itemObj.get(key),obj instanceof Dict?isRecursionAllowedFor(obj)?queue.push({target:dereferenced,key:key,obj:obj}):dereferenced[key]=itemObj.getRaw(key):dereferenced[key]=obj;objId&&(processed[objId]=dereferenced),item.target[item.key]=dereferenced}}return all},set:function(key,value){this.map[key]=value},has:function(key){return key in this.map},forEach:function(callback){for(var key in this.map)callback(key,this.get(key))}},Dict.empty=new Dict(null),Dict}(),Ref=function(){function Ref(num,gen){this.num=num,this.gen=gen}return Ref.prototype={toString:function(){var str=this.num+"R";return 0!==this.gen&&(str+=this.gen),str}},Ref}(),RefSet=function(){function RefSet(){this.dict={}}return RefSet.prototype={has:function(ref){return ref.toString()in this.dict},put:function(ref){this.dict[ref.toString()]=!0},remove:function(ref){delete this.dict[ref.toString()]}},RefSet}(),RefSetCache=function(){function RefSetCache(){this.dict=Object.create(null)}return RefSetCache.prototype={get:function(ref){return this.dict[ref.toString()]},has:function(ref){return ref.toString()in this.dict},put:function(ref,obj){this.dict[ref.toString()]=obj},putAlias:function(ref,aliasRef){this.dict[ref.toString()]=this.get(aliasRef)},forEach:function(fn,thisArg){for(var i in this.dict)fn.call(thisArg,this.dict[i])},clear:function(){this.dict=Object.create(null)}},RefSetCache}(),Catalog=function(){function Catalog(pdfManager,xref){this.pdfManager=pdfManager,this.xref=xref,this.catDict=xref.getCatalogObj(),this.fontCache=new RefSetCache,assert(isDict(this.catDict),"catalog object is not a dictionary"),this.pagePromises=[]}return Catalog.prototype={get metadata(){var streamRef=this.catDict.getRaw("Metadata");if(!isRef(streamRef))return shadow(this,"metadata",null);var metadata,encryptMetadata=this.xref.encrypt?this.xref.encrypt.encryptMetadata:!1,stream=this.xref.fetch(streamRef,!encryptMetadata);if(stream&&isDict(stream.dict)){var type=stream.dict.get("Type"),subtype=stream.dict.get("Subtype");if(isName(type)&&isName(subtype)&&"Metadata"===type.name&&"XML"===subtype.name)try{metadata=stringToUTF8String(bytesToString(stream.getBytes()))}catch(e){info("Skipping invalid metadata.")}}return shadow(this,"metadata",metadata)},get toplevelPagesDict(){var pagesObj=this.catDict.get("Pages");return assert(isDict(pagesObj),"invalid top-level pages dictionary"),shadow(this,"toplevelPagesDict",pagesObj)},get documentOutline(){var obj=null;try{obj=this.readDocumentOutline()}catch(ex){if(ex instanceof MissingDataException)throw ex;warn("Unable to read document outline")}return shadow(this,"documentOutline",obj)},readDocumentOutline:function(){var xref=this.xref,obj=this.catDict.get("Outlines"),root={items:[]};if(isDict(obj)){obj=obj.getRaw("First");var processed=new RefSet;if(isRef(obj)){var queue=[{obj:obj,parent:root}];for(processed.put(obj);queue.length>0;){var i=queue.shift(),outlineDict=xref.fetchIfRef(i.obj);if(null!==outlineDict){outlineDict.has("Title")||error("Invalid outline item");var dest=outlineDict.get("A");dest?dest=dest.get("D"):outlineDict.has("Dest")&&(dest=outlineDict.getRaw("Dest"),isName(dest)&&(dest=dest.name));var title=outlineDict.get("Title"),outlineItem={dest:dest,title:stringToPDFString(title),color:outlineDict.get("C")||[0,0,0],count:outlineDict.get("Count"),bold:!!(2&outlineDict.get("F")),italic:!!(1&outlineDict.get("F")),items:[]};i.parent.items.push(outlineItem),obj=outlineDict.getRaw("First"),isRef(obj)&&!processed.has(obj)&&(queue.push({obj:obj,parent:outlineItem}),processed.put(obj)),obj=outlineDict.getRaw("Next"),isRef(obj)&&!processed.has(obj)&&(queue.push({obj:obj,parent:i.parent}),processed.put(obj))}}}}return root.items.length>0?root.items:null},get numPages(){var obj=this.toplevelPagesDict.get("Count");return assert(isInt(obj),"page count in top level pages object is not an integer"),shadow(this,"num",obj)},get destinations(){function fetchDestination(dest){return isDict(dest)?dest.get("D"):dest}var nameTreeRef,nameDictionaryRef,xref=this.xref,dests={},obj=this.catDict.get("Names");if(obj&&obj.has("Dests")?nameTreeRef=obj.getRaw("Dests"):this.catDict.has("Dests")&&(nameDictionaryRef=this.catDict.get("Dests")),nameDictionaryRef&&(obj=nameDictionaryRef,obj.forEach(function(key,value){value&&(dests[key]=fetchDestination(value))})),nameTreeRef){var nameTree=new NameTree(nameTreeRef,xref),names=nameTree.getAll();for(var name in names)names.hasOwnProperty(name)&&(dests[name]=fetchDestination(names[name]))}return shadow(this,"destinations",dests)},get attachments(){var nameTreeRef,xref=this.xref,attachments=null,obj=this.catDict.get("Names");if(obj&&(nameTreeRef=obj.getRaw("EmbeddedFiles")),nameTreeRef){var nameTree=new NameTree(nameTreeRef,xref),names=nameTree.getAll();for(var name in names)if(names.hasOwnProperty(name)){var fs=new FileSpec(names[name],xref);attachments||(attachments={}),attachments[stringToPDFString(name)]=fs.serializable}}return shadow(this,"attachments",attachments)},get javaScript(){var xref=this.xref,obj=this.catDict.get("Names"),javaScript=[];if(obj&&obj.has("JavaScript")){var nameTree=new NameTree(obj.getRaw("JavaScript"),xref),names=nameTree.getAll();for(var name in names)if(names.hasOwnProperty(name)){var jsDict=names[name];if(isDict(jsDict)){var type=jsDict.get("S");if(isName(type)&&"JavaScript"===type.name){var js=jsDict.get("JS");(isString(js)||isStream(js))&&(isStream(js)&&(js=bytesToString(js.getBytes())),javaScript.push(stringToPDFString(js)))}}}}var openactionDict=this.catDict.get("OpenAction");if(isDict(openactionDict)){var objType=openactionDict.get("Type"),actionType=openactionDict.get("S"),action=openactionDict.get("N"),isPrintAction=isName(objType)&&"Action"===objType.name&&isName(actionType)&&"Named"===actionType.name&&isName(action)&&"Print"===action.name;isPrintAction&&javaScript.push("print(true);")}return shadow(this,"javaScript",javaScript)},cleanup:function(){var promises=[];return this.fontCache.forEach(function(promise){promises.push(promise)}),Promise.all(promises).then(function(translatedFonts){for(var i=0,ii=translatedFonts.length;ii>i;i++){var font=translatedFonts[i].dict;delete font.translated}this.fontCache.clear()}.bind(this))},getPage:function(pageIndex){return pageIndex in this.pagePromises||(this.pagePromises[pageIndex]=this.getPageDict(pageIndex).then(function(a){var dict=a[0],ref=a[1];return new Page(this.pdfManager,this.xref,pageIndex,dict,ref,this.fontCache)}.bind(this))),this.pagePromises[pageIndex]},getPageDict:function(pageIndex){function next(){for(;nodesToVisit.length;){var currentNode=nodesToVisit.pop();if(isRef(currentNode))return void xref.fetchAsync(currentNode).then(function(obj){return isDict(obj,"Page")||isDict(obj)&&!obj.has("Kids")?void(pageIndex===currentPageIndex?capability.resolve([obj,currentNode]):(currentPageIndex++,next())):(nodesToVisit.push(obj),void next())},capability.reject);assert(isDict(currentNode),"page dictionary kid reference points to wrong type of object");var count=currentNode.get("Count");if(pageIndex>=currentPageIndex+count)currentPageIndex+=count;else{var kids=currentNode.get("Kids");if(assert(isArray(kids),"page dictionary kids object is not an array"),count!==kids.length)for(var last=kids.length-1;last>=0;last--)nodesToVisit.push(kids[last]);else nodesToVisit=[kids[pageIndex-currentPageIndex]],currentPageIndex=pageIndex}}capability.reject("Page index "+pageIndex+" not found.")}var capability=createPromiseCapability(),nodesToVisit=[this.catDict.getRaw("Pages")],currentPageIndex=0,xref=this.xref;return next(),capability.promise},getPageIndex:function(ref){function pagesBeforeRef(kidRef){var parentRef,total=0;return xref.fetchAsync(kidRef).then(function(node){return node?(parentRef=node.getRaw("Parent"),node.getAsync("Parent")):null}).then(function(parent){return parent?parent.getAsync("Kids"):null}).then(function(kids){if(!kids)return null;for(var kidPromises=[],found=!1,i=0;i<kids.length;i++){var kid=kids[i];if(assert(isRef(kid),"kids must be a ref"),kid.num===kidRef.num){found=!0;break}kidPromises.push(xref.fetchAsync(kid).then(function(kid){if(kid.has("Count")){var count=kid.get("Count");total+=count}else total++}))}return found||error("kid ref not found in parents kids"),Promise.all(kidPromises).then(function(){return[total,parentRef]})})}function next(ref){return pagesBeforeRef(ref).then(function(args){if(!args)return total;var count=args[0],parentRef=args[1];return total+=count,next(parentRef)})}var xref=this.xref,total=0;return next(ref)}},Catalog}(),XRef=function(){function XRef(stream,password){this.stream=stream,this.entries=[],this.xrefstms={},this.cache=[],this.password=password,this.stats={streamTypes:[],fontTypes:[]}}return XRef.prototype={setStartXRef:function(startXRef){this.startXRefQueue=[startXRef]},parse:function(recoveryMode){var trailerDict;recoveryMode?(warn("Indexing all PDF objects"),trailerDict=this.indexObjects()):trailerDict=this.readXRef(),trailerDict.assignXref(this),this.trailer=trailerDict;var encrypt=trailerDict.get("Encrypt");if(encrypt){var ids=trailerDict.get("ID"),fileId=ids&&ids.length?ids[0]:"";this.encrypt=new CipherTransformFactory(encrypt,fileId,this.password)}(this.root=trailerDict.get("Root"))||error("Invalid root reference")},processXRefTable:function(parser){"tableState"in this||(this.tableState={entryNum:0,streamPos:parser.lexer.stream.pos,parserBuf1:parser.buf1,parserBuf2:parser.buf2});var obj=this.readXRefTable(parser);isCmd(obj,"trailer")||error("Invalid XRef table: could not find trailer dictionary");var dict=parser.getObj();return!isDict(dict)&&dict.dict&&(dict=dict.dict),isDict(dict)||error("Invalid XRef table: could not parse trailer dictionary"),delete this.tableState,dict
+},readXRefTable:function(parser){var stream=parser.lexer.stream,tableState=this.tableState;stream.pos=tableState.streamPos,parser.buf1=tableState.parserBuf1,parser.buf2=tableState.parserBuf2;for(var obj;;){if(!("firstEntryNum"in tableState&&"entryCount"in tableState)){if(isCmd(obj=parser.getObj(),"trailer"))break;tableState.firstEntryNum=obj,tableState.entryCount=parser.getObj()}var first=tableState.firstEntryNum,count=tableState.entryCount;isInt(first)&&isInt(count)||error("Invalid XRef table: wrong types in subsection header");for(var i=tableState.entryNum;count>i;i++){tableState.streamPos=stream.pos,tableState.entryNum=i,tableState.parserBuf1=parser.buf1,tableState.parserBuf2=parser.buf2;var entry={};entry.offset=parser.getObj(),entry.gen=parser.getObj();var type=parser.getObj();isCmd(type,"f")?entry.free=!0:isCmd(type,"n")&&(entry.uncompressed=!0),isInt(entry.offset)&&isInt(entry.gen)&&(entry.free||entry.uncompressed)||error("Invalid entry in XRef subsection: "+first+", "+count),this.entries[i+first]||(this.entries[i+first]=entry)}tableState.entryNum=0,tableState.streamPos=stream.pos,tableState.parserBuf1=parser.buf1,tableState.parserBuf2=parser.buf2,delete tableState.firstEntryNum,delete tableState.entryCount}return 1===first&&this.entries[1]&&this.entries[1].free&&this.entries.shift(),this.entries[0]&&!this.entries[0].free&&error("Invalid XRef table: unexpected first object"),obj},processXRefStream:function(stream){if(!("streamState"in this)){var streamParameters=stream.dict,byteWidths=streamParameters.get("W"),range=streamParameters.get("Index");range||(range=[0,streamParameters.get("Size")]),this.streamState={entryRanges:range,byteWidths:byteWidths,entryNum:0,streamPos:stream.pos}}return this.readXRefStream(stream),delete this.streamState,stream.dict},readXRefStream:function(stream){var i,j,streamState=this.streamState;stream.pos=streamState.streamPos;for(var byteWidths=streamState.byteWidths,typeFieldWidth=byteWidths[0],offsetFieldWidth=byteWidths[1],generationFieldWidth=byteWidths[2],entryRanges=streamState.entryRanges;entryRanges.length>0;){var first=entryRanges[0],n=entryRanges[1];for(isInt(first)&&isInt(n)||error("Invalid XRef range fields: "+first+", "+n),isInt(typeFieldWidth)&&isInt(offsetFieldWidth)&&isInt(generationFieldWidth)||error("Invalid XRef entry fields length: "+first+", "+n),i=streamState.entryNum;n>i;++i){streamState.entryNum=i,streamState.streamPos=stream.pos;var type=0,offset=0,generation=0;for(j=0;typeFieldWidth>j;++j)type=type<<8|stream.getByte();for(0===typeFieldWidth&&(type=1),j=0;offsetFieldWidth>j;++j)offset=offset<<8|stream.getByte();for(j=0;generationFieldWidth>j;++j)generation=generation<<8|stream.getByte();var entry={};switch(entry.offset=offset,entry.gen=generation,type){case 0:entry.free=!0;break;case 1:entry.uncompressed=!0;break;case 2:break;default:error("Invalid XRef entry type: "+type)}this.entries[first+i]||(this.entries[first+i]=entry)}streamState.entryNum=0,streamState.streamPos=stream.pos,entryRanges.splice(0,2)}},indexObjects:function(){function readToken(data,offset){for(var token="",ch=data[offset];13!==ch&&10!==ch&&!(++offset>=data.length);)token+=String.fromCharCode(ch),ch=data[offset];return token}function skipUntil(data,offset,what){for(var length=what.length,dataLength=data.length,skipped=0;dataLength>offset;){for(var i=0;length>i&&data[offset+i]===what[i];)++i;if(i>=length)break;offset++,skipped++}return skipped}var trailerBytes=new Uint8Array([116,114,97,105,108,101,114]),startxrefBytes=new Uint8Array([115,116,97,114,116,120,114,101,102]),endobjBytes=new Uint8Array([101,110,100,111,98,106]),xrefBytes=new Uint8Array([47,88,82,101,102]),stream=this.stream;stream.pos=0;for(var buffer=stream.getBytes(),position=stream.start,length=buffer.length,trailers=[],xrefStms=[];length>position;){var ch=buffer[position];if(32!==ch&&9!==ch&&13!==ch&&10!==ch)if(37!==ch){var m,token=readToken(buffer,position);if("xref"===token)position+=skipUntil(buffer,position,trailerBytes),trailers.push(position),position+=skipUntil(buffer,position,startxrefBytes);else if(m=/^(\d+)\s+(\d+)\s+obj\b/.exec(token)){this.entries[m[1]]={offset:position,gen:0|m[2],uncompressed:!0};var contentLength=skipUntil(buffer,position,endobjBytes)+7,content=buffer.subarray(position,position+contentLength),xrefTagOffset=skipUntil(content,0,xrefBytes);contentLength>xrefTagOffset&&content[xrefTagOffset+5]<64&&(xrefStms.push(position),this.xrefstms[position]=1),position+=contentLength}else position+=token.length+1}else do{if(++position,position>=length)break;ch=buffer[position]}while(13!==ch&&10!==ch);else++position}var i,ii;for(i=0,ii=xrefStms.length;ii>i;++i)this.startXRefQueue.push(xrefStms[i]),this.readXRef(!0);var dict;for(i=0,ii=trailers.length;ii>i;++i){stream.pos=trailers[i];var parser=new Parser(new Lexer(stream),!0,this),obj=parser.getObj();if(isCmd(obj,"trailer")&&isDict(dict=parser.getObj())&&dict.has("ID"))return dict}if(dict)return dict;throw new InvalidPDFException("Invalid PDF structure")},readXRef:function(recoveryMode){var stream=this.stream;try{for(;this.startXRefQueue.length;){var startXRef=this.startXRefQueue[0];stream.pos=startXRef+stream.start;var dict,parser=new Parser(new Lexer(stream),!0,this),obj=parser.getObj();if(isCmd(obj,"xref")){if(dict=this.processXRefTable(parser),this.topDict||(this.topDict=dict),obj=dict.get("XRefStm"),isInt(obj)){var pos=obj;pos in this.xrefstms||(this.xrefstms[pos]=1,this.startXRefQueue.push(pos))}}else isInt(obj)?(isInt(parser.getObj())&&isCmd(parser.getObj(),"obj")&&isStream(obj=parser.getObj())||error("Invalid XRef stream"),dict=this.processXRefStream(obj),this.topDict||(this.topDict=dict),dict||error("Failed to read XRef stream")):error("Invalid XRef stream header");obj=dict.get("Prev"),isInt(obj)?this.startXRefQueue.push(obj):isRef(obj)&&this.startXRefQueue.push(obj.num),this.startXRefQueue.shift()}return this.topDict}catch(e){if(e instanceof MissingDataException)throw e;info("(while reading XRef): "+e)}if(!recoveryMode)throw new XRefParseException},getEntry:function(i){var xrefEntry=this.entries[i];return xrefEntry&&!xrefEntry.free&&xrefEntry.offset?xrefEntry:null},fetchIfRef:function(obj){return isRef(obj)?this.fetch(obj):obj},fetch:function(ref,suppressEncryption){assert(isRef(ref),"ref object is not a reference");var num=ref.num;if(num in this.cache){var cacheEntry=this.cache[num];return cacheEntry}var xrefEntry=this.getEntry(num);return null===xrefEntry?this.cache[num]=null:(xrefEntry=xrefEntry.uncompressed?this.fetchUncompressed(ref,xrefEntry,suppressEncryption):this.fetchCompressed(xrefEntry,suppressEncryption),isDict(xrefEntry)?xrefEntry.objId=ref.toString():isStream(xrefEntry)&&(xrefEntry.dict.objId=ref.toString()),xrefEntry)},fetchUncompressed:function(ref,xrefEntry,suppressEncryption){var gen=ref.gen,num=ref.num;xrefEntry.gen!==gen&&error("inconsistent generation in XRef");var stream=this.stream.makeSubStream(xrefEntry.offset+this.stream.start),parser=new Parser(new Lexer(stream),!0,this),obj1=parser.getObj(),obj2=parser.getObj(),obj3=parser.getObj();if(isInt(obj1)&&parseInt(obj1,10)===num&&isInt(obj2)&&parseInt(obj2,10)===gen&&isCmd(obj3)||error("bad XRef entry"),!isCmd(obj3,"obj")){if(0===obj3.cmd.indexOf("obj")&&(num=parseInt(obj3.cmd.substring(3),10),!isNaN(num)))return num;error("bad XRef entry")}return xrefEntry=this.encrypt&&!suppressEncryption?parser.getObj(this.encrypt.createCipherTransform(num,gen)):parser.getObj(),isStream(xrefEntry)||(this.cache[num]=xrefEntry),xrefEntry},fetchCompressed:function(xrefEntry){var tableOffset=xrefEntry.offset,stream=this.fetch(new Ref(tableOffset,0));isStream(stream)||error("bad ObjStm stream");var first=stream.dict.get("First"),n=stream.dict.get("N");isInt(first)&&isInt(n)||error("invalid first and n parameters for ObjStm stream");var parser=new Parser(new Lexer(stream),!1,this);parser.allowStreams=!0;var i,num,entries=[],nums=[];for(i=0;n>i;++i){num=parser.getObj(),isInt(num)||error("invalid object number in the ObjStm stream: "+num),nums.push(num);var offset=parser.getObj();isInt(offset)||error("invalid object offset in the ObjStm stream: "+offset)}for(i=0;n>i;++i){entries.push(parser.getObj()),num=nums[i];var entry=this.entries[num];entry&&entry.offset===tableOffset&&entry.gen===i&&(this.cache[num]=entries[i])}return xrefEntry=entries[xrefEntry.gen],void 0===xrefEntry&&error("bad XRef entry for compressed object"),xrefEntry},fetchIfRefAsync:function(obj){return isRef(obj)?this.fetchAsync(obj):Promise.resolve(obj)},fetchAsync:function(ref,suppressEncryption){var streamManager=this.stream.manager,xref=this;return new Promise(function tryFetch(resolve,reject){try{resolve(xref.fetch(ref,suppressEncryption))}catch(e){if(e instanceof MissingDataException)return void streamManager.requestRange(e.begin,e.end,function(){tryFetch(resolve,reject)});reject(e)}})},getCatalogObj:function(){return this.root}},XRef}(),NameTree=function(){function NameTree(root,xref){this.root=root,this.xref=xref}return NameTree.prototype={getAll:function(){var dict={};if(!this.root)return dict;var xref=this.xref,processed=new RefSet;processed.put(this.root);for(var queue=[this.root];queue.length>0;){var i,n,obj=xref.fetchIfRef(queue.shift());if(isDict(obj))if(obj.has("Kids")){var kids=obj.get("Kids");for(i=0,n=kids.length;n>i;i++){var kid=kids[i];processed.has(kid)&&error("invalid destinations"),queue.push(kid),processed.put(kid)}}else{var names=obj.get("Names");if(names)for(i=0,n=names.length;n>i;i+=2)dict[names[i]]=xref.fetchIfRef(names[i+1])}}return dict}},NameTree}(),FileSpec=function(){function FileSpec(root,xref){root&&isDict(root)&&(this.xref=xref,this.root=root,root.has("FS")&&(this.fs=root.get("FS")),this.description=root.has("Desc")?stringToPDFString(root.get("Desc")):"",root.has("RF")&&warn("Related file specifications are not supported"),this.contentAvailable=!0,root.has("EF")||(this.contentAvailable=!1,warn("Non-embedded file specifications are not supported")))}function pickPlatformItem(dict){return dict.has("UF")?dict.get("UF"):dict.has("F")?dict.get("F"):dict.has("Unix")?dict.get("Unix"):dict.has("Mac")?dict.get("Mac"):dict.has("DOS")?dict.get("DOS"):null}return FileSpec.prototype={get filename(){if(!this._filename&&this.root){var filename=pickPlatformItem(this.root)||"unnamed";this._filename=stringToPDFString(filename).replace(/\\\\/g,"\\").replace(/\\\//g,"/").replace(/\\/g,"/")}return this._filename},get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=pickPlatformItem(this.root.get("EF")));var content=null;if(this.contentRef){var xref=this.xref,fileObj=xref.fetchIfRef(this.contentRef);fileObj&&isStream(fileObj)?content=fileObj.getBytes():warn("Embedded file specification points to non-existing/invalid content")}else warn("Embedded file specification does not have a content");return content},get serializable(){return{filename:this.filename,content:this.content}}},FileSpec}(),ObjectLoader=function(){function mayHaveChildren(value){return isRef(value)||isDict(value)||isArray(value)||isStream(value)}function addChildren(node,nodesToVisit){var value;if(isDict(node)||isStream(node)){var map;map=isDict(node)?node.map:node.dict.map;for(var key in map)value=map[key],mayHaveChildren(value)&&nodesToVisit.push(value)}else if(isArray(node))for(var i=0,ii=node.length;ii>i;i++)value=node[i],mayHaveChildren(value)&&nodesToVisit.push(value)}function ObjectLoader(obj,keys,xref){this.obj=obj,this.keys=keys,this.xref=xref,this.refSet=null}return ObjectLoader.prototype={load:function(){var keys=this.keys;if(this.capability=createPromiseCapability(),!(this.xref.stream instanceof ChunkedStream)||0===this.xref.stream.getMissingChunks().length)return this.capability.resolve(),this.capability.promise;this.refSet=new RefSet;for(var nodesToVisit=[],i=0;i<keys.length;i++)nodesToVisit.push(this.obj[keys[i]]);return this.walk(nodesToVisit),this.capability.promise},walk:function(nodesToVisit){for(var nodesToRevisit=[],pendingRequests=[];nodesToVisit.length;){var currentNode=nodesToVisit.pop();if(isRef(currentNode)){if(this.refSet.has(currentNode))continue;try{var ref=currentNode;this.refSet.put(ref),currentNode=this.xref.fetch(currentNode)}catch(e){if(!(e instanceof MissingDataException))throw e;nodesToRevisit.push(currentNode),pendingRequests.push({begin:e.begin,end:e.end})}}if(currentNode&&currentNode.getBaseStreams){for(var baseStreams=currentNode.getBaseStreams(),foundMissingData=!1,i=0;i<baseStreams.length;i++){var stream=baseStreams[i];stream.getMissingChunks&&stream.getMissingChunks().length&&(foundMissingData=!0,pendingRequests.push({begin:stream.start,end:stream.end}))}foundMissingData&&nodesToRevisit.push(currentNode)}addChildren(currentNode,nodesToVisit)}return pendingRequests.length?void this.xref.stream.manager.requestRanges(pendingRequests,function(){nodesToVisit=nodesToRevisit;for(var i=0;i<nodesToRevisit.length;i++){var node=nodesToRevisit[i];isRef(node)&&this.refSet.remove(node)}this.walk(nodesToVisit)}.bind(this)):(this.refSet=null,void this.capability.resolve())}},ObjectLoader}(),ISOAdobeCharset=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],ExpertCharset=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],ExpertSubsetCharset=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],DEFAULT_ICON_SIZE=22,SUPPORTED_TYPES=["Link","Text","Widget"],Annotation=function(){function getTransformMatrix(rect,bbox,matrix){var bounds=Util.getAxialAlignedBoundingBox(bbox,matrix),minX=bounds[0],minY=bounds[1],maxX=bounds[2],maxY=bounds[3];if(minX===maxX||minY===maxY)return[1,0,0,1,rect[0],rect[1]];var xRatio=(rect[2]-rect[0])/(maxX-minX),yRatio=(rect[3]-rect[1])/(maxY-minY);return[xRatio,0,0,yRatio,rect[0]-minX*xRatio,rect[1]-minY*yRatio]}function getDefaultAppearance(dict){var appearanceState=dict.get("AP");if(isDict(appearanceState)){var appearance,appearances=appearanceState.get("N");if(isDict(appearances)){var as=dict.get("AS");as&&appearances.has(as.name)&&(appearance=appearances.get(as.name))}else appearance=appearances;return appearance}}function Annotation(params){var dict=params.dict,data=this.data={};data.subtype=dict.get("Subtype").name;var rect=dict.get("Rect")||[0,0,0,0];data.rect=Util.normalizeRect(rect),data.annotationFlags=dict.get("F");var color=dict.get("C");if(data.color=isArray(color)&&3===color.length?color:[0,0,0],dict.has("BS")){var borderStyle=dict.get("BS");data.borderWidth=borderStyle.has("W")?borderStyle.get("W"):1}else{var borderArray=dict.get("Border")||[0,0,1];data.borderWidth=borderArray[2]||0;var dashArray=borderArray[3];if(data.borderWidth>0&&dashArray)if(isArray(dashArray)){var dashArrayLength=dashArray.length;if(dashArrayLength>0){for(var isInvalid=!1,numPositive=0,i=0;dashArrayLength>i;i++){var validNumber=+dashArray[i]>=0;if(!validNumber){isInvalid=!0;break}dashArray[i]>0&&numPositive++}(isInvalid||0===numPositive)&&(data.borderWidth=0)}}else data.borderWidth=0}this.appearance=getDefaultAppearance(dict),data.hasAppearance=!!this.appearance,data.id=params.ref.num}return Annotation.prototype={getData:function(){return this.data},isInvisible:function(){var data=this.data;return data&&-1!==SUPPORTED_TYPES.indexOf(data.subtype)?!1:!!(data&&data.annotationFlags&&1&data.annotationFlags)},isViewable:function(){var data=this.data;return!(this.isInvisible()||!data||data.annotationFlags&&34&data.annotationFlags||!data.rect)},isPrintable:function(){var data=this.data;return!(!(!this.isInvisible()&&data&&data.annotationFlags&&4&data.annotationFlags)||2&data.annotationFlags||!data.rect)},loadResources:function(keys){return new Promise(function(resolve,reject){this.appearance.dict.getAsync("Resources").then(function(resources){if(!resources)return void resolve();var objectLoader=new ObjectLoader(resources.map,keys,resources.xref);objectLoader.load().then(function(){resolve(resources)},reject)},reject)}.bind(this))},getOperatorList:function(evaluator){if(!this.appearance)return Promise.resolve(new OperatorList);var data=this.data,appearanceDict=this.appearance.dict,resourcesPromise=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),bbox=appearanceDict.get("BBox")||[0,0,1,1],matrix=appearanceDict.get("Matrix")||[1,0,0,1,0,0],transform=getTransformMatrix(data.rect,bbox,matrix),self=this;return resourcesPromise.then(function(resources){var opList=new OperatorList;return opList.addOp(OPS.beginAnnotation,[data.rect,transform,matrix]),evaluator.getOperatorList(self.appearance,resources,opList).then(function(){return opList.addOp(OPS.endAnnotation,[]),self.appearance.reset(),opList})})}},Annotation.getConstructor=function(subtype,fieldType){if(subtype){if("Link"===subtype)return LinkAnnotation;if("Text"===subtype)return TextAnnotation;if("Widget"===subtype){if(!fieldType)return;return"Tx"===fieldType?TextWidgetAnnotation:WidgetAnnotation}return Annotation}},Annotation.fromRef=function(xref,ref){var dict=xref.fetchIfRef(ref);if(isDict(dict)){var subtype=dict.get("Subtype");if(subtype=isName(subtype)?subtype.name:""){var fieldType=Util.getInheritableProperty(dict,"FT");fieldType=isName(fieldType)?fieldType.name:"";var Constructor=Annotation.getConstructor(subtype,fieldType);if(Constructor){var params={dict:dict,ref:ref},annotation=new Constructor(params);return annotation.isViewable()||annotation.isPrintable()?annotation:void(-1===SUPPORTED_TYPES.indexOf(subtype)&&warn("unimplemented annotation type: "+subtype))}}}},Annotation.appendToOperatorList=function(annotations,opList,pdfManager,partialEvaluator,intent){function reject(e){annotationsReadyCapability.reject(e)}for(var annotationsReadyCapability=createPromiseCapability(),annotationPromises=[],i=0,n=annotations.length;n>i;++i)("display"===intent&&annotations[i].isViewable()||"print"===intent&&annotations[i].isPrintable())&&annotationPromises.push(annotations[i].getOperatorList(partialEvaluator));return Promise.all(annotationPromises).then(function(datas){opList.addOp(OPS.beginAnnotations,[]);for(var i=0,n=datas.length;n>i;++i){var annotOpList=datas[i];opList.addOpList(annotOpList)}opList.addOp(OPS.endAnnotations,[]),annotationsReadyCapability.resolve()},reject),annotationsReadyCapability.promise},Annotation}(),WidgetAnnotation=function(){function WidgetAnnotation(params){Annotation.call(this,params);var dict=params.dict,data=this.data;data.fieldValue=stringToPDFString(Util.getInheritableProperty(dict,"V")||""),data.alternativeText=stringToPDFString(dict.get("TU")||""),data.defaultAppearance=Util.getInheritableProperty(dict,"DA")||"";var fieldType=Util.getInheritableProperty(dict,"FT");data.fieldType=isName(fieldType)?fieldType.name:"",data.fieldFlags=Util.getInheritableProperty(dict,"Ff")||0,this.fieldResources=Util.getInheritableProperty(dict,"DR")||Dict.empty;for(var fieldName=[],namedItem=dict,ref=params.ref;namedItem;){var parent=namedItem.get("Parent"),parentRef=namedItem.getRaw("Parent"),name=namedItem.get("T");if(name)fieldName.unshift(stringToPDFString(name));else{var j,jj,kids=parent.get("Kids");for(j=0,jj=kids.length;jj>j;j++){var kidRef=kids[j];if(kidRef.num===ref.num&&kidRef.gen===ref.gen)break}fieldName.unshift("`"+j)}namedItem=parent,ref=parentRef}data.fullName=fieldName.join(".")}var parent=Annotation.prototype;return Util.inherit(WidgetAnnotation,Annotation,{isViewable:function(){return"Sig"===this.data.fieldType?(warn("unimplemented annotation type: Widget signature"),!1):parent.isViewable.call(this)}}),WidgetAnnotation}(),TextWidgetAnnotation=function(){function TextWidgetAnnotation(params){WidgetAnnotation.call(this,params),this.data.textAlignment=Util.getInheritableProperty(params.dict,"Q"),this.data.annotationType=AnnotationType.WIDGET,this.data.hasHtml=!this.data.hasAppearance&&!!this.data.fieldValue}return Util.inherit(TextWidgetAnnotation,WidgetAnnotation,{getOperatorList:function(evaluator){if(this.appearance)return Annotation.prototype.getOperatorList.call(this,evaluator);var opList=new OperatorList,data=this.data;if(!data.defaultAppearance)return Promise.resolve(opList);var stream=new Stream(stringToBytes(data.defaultAppearance));return evaluator.getOperatorList(stream,this.fieldResources,opList).then(function(){return opList})}}),TextWidgetAnnotation}(),InteractiveAnnotation=function(){function InteractiveAnnotation(params){Annotation.call(this,params),this.data.hasHtml=!0}return Util.inherit(InteractiveAnnotation,Annotation,{}),InteractiveAnnotation}(),TextAnnotation=function(){function TextAnnotation(params){InteractiveAnnotation.call(this,params);var dict=params.dict,data=this.data,content=dict.get("Contents"),title=dict.get("T");data.annotationType=AnnotationType.TEXT,data.content=stringToPDFString(content||""),data.title=stringToPDFString(title||""),data.hasAppearance?data.name="NoIcon":(data.rect[1]=data.rect[3]-DEFAULT_ICON_SIZE,data.rect[2]=data.rect[0]+DEFAULT_ICON_SIZE,data.name=dict.has("Name")?dict.get("Name").name:"Note"),dict.has("C")&&(data.hasBgColor=!0)}return Util.inherit(TextAnnotation,InteractiveAnnotation,{}),TextAnnotation}(),LinkAnnotation=function(){function LinkAnnotation(params){InteractiveAnnotation.call(this,params);var dict=params.dict,data=this.data;data.annotationType=AnnotationType.LINK;var action=dict.get("A");if(action){var linkType=action.get("S").name;if("URI"===linkType){var url=action.get("URI");isName(url)?url="/"+url.name:url&&(url=addDefaultProtocolToUrl(url)),isValidUrl(url,!1)||(url=""),data.url=url}else if("GoTo"===linkType)data.dest=action.get("D");else if("GoToR"===linkType){var urlDict=action.get("F");isDict(urlDict)&&(url=urlDict.get("F")||""),isValidUrl(url,!1)||(url=""),data.url=url,data.dest=action.get("D")}else"Named"===linkType?data.action=action.get("N").name:warn("unrecognized link type: "+linkType)}else if(dict.has("Dest")){var dest=dict.get("Dest");data.dest=isName(dest)?dest.name:dest}}function addDefaultProtocolToUrl(url){return url&&0===url.indexOf("www.")?"http://"+url:url}return Util.inherit(LinkAnnotation,InteractiveAnnotation,{hasOperatorList:function(){return!1}}),LinkAnnotation}(),PDFFunction=function(){var CONSTRUCT_SAMPLED=0,CONSTRUCT_INTERPOLATED=2,CONSTRUCT_STICHED=3,CONSTRUCT_POSTSCRIPT=4;return{getSampleArray:function(size,outputSize,bps,str){var i,ii,length=1;for(i=0,ii=size.length;ii>i;i++)length*=size[i];length*=outputSize;var array=new Array(length),codeSize=0,codeBuf=0,sampleMul=1/(Math.pow(2,bps)-1),strBytes=str.getBytes((length*bps+7)/8),strIdx=0;for(i=0;length>i;i++){for(;bps>codeSize;)codeBuf<<=8,codeBuf|=strBytes[strIdx++],codeSize+=8;codeSize-=bps,array[i]=(codeBuf>>codeSize)*sampleMul,codeBuf&=(1<<codeSize)-1}return array},getIR:function(xref,fn){var dict=fn.dict;dict||(dict=fn);var types=[this.constructSampled,null,this.constructInterpolated,this.constructStiched,this.constructPostScript],typeNum=dict.get("FunctionType"),typeFn=types[typeNum];return typeFn||error("Unknown type of function"),typeFn.call(this,fn,dict,xref)},fromIR:function(IR){var type=IR[0];switch(type){case CONSTRUCT_SAMPLED:return this.constructSampledFromIR(IR);case CONSTRUCT_INTERPOLATED:return this.constructInterpolatedFromIR(IR);case CONSTRUCT_STICHED:return this.constructStichedFromIR(IR);default:return this.constructPostScriptFromIR(IR)}},parse:function(xref,fn){var IR=this.getIR(xref,fn);return this.fromIR(IR)},parseArray:function(xref,fnObj){if(!isArray(fnObj))return this.parse(xref,fnObj);for(var fnArray=[],j=0,jj=fnObj.length;jj>j;j++){var obj=xref.fetchIfRef(fnObj[j]);fnArray.push(PDFFunction.parse(xref,obj))}return function(src,srcOffset,dest,destOffset){for(var i=0,ii=fnArray.length;ii>i;i++)fnArray[i](src,srcOffset,dest,destOffset+i)}},constructSampled:function(str,dict){function toMultiArray(arr){for(var inputLength=arr.length,out=[],index=0,i=0;inputLength>i;i+=2)out[index]=[arr[i],arr[i+1]],++index;return out}var domain=dict.get("Domain"),range=dict.get("Range");domain&&range||error("No domain or range");var inputSize=domain.length/2,outputSize=range.length/2;domain=toMultiArray(domain),range=toMultiArray(range);var size=dict.get("Size"),bps=dict.get("BitsPerSample"),order=dict.get("Order")||1;1!==order&&info("No support for cubic spline interpolation: "+order);var encode=dict.get("Encode");if(!encode){encode=[];for(var i=0;inputSize>i;++i)encode.push(0),encode.push(size[i]-1)}encode=toMultiArray(encode);var decode=dict.get("Decode");decode=decode?toMultiArray(decode):range;var samples=this.getSampleArray(size,outputSize,bps,str);return[CONSTRUCT_SAMPLED,inputSize,domain,encode,decode,samples,size,outputSize,Math.pow(2,bps)-1,range]},constructSampledFromIR:function(IR){function interpolate(x,xmin,xmax,ymin,ymax){return ymin+(x-xmin)*((ymax-ymin)/(xmax-xmin))}return function(src,srcOffset,dest,destOffset){var i,j,m=IR[1],domain=IR[2],encode=IR[3],decode=IR[4],samples=IR[5],size=IR[6],n=IR[7],range=IR[9],cubeVertices=1<<m,cubeN=new Float64Array(cubeVertices),cubeVertex=new Uint32Array(cubeVertices);for(j=0;cubeVertices>j;j++)cubeN[j]=1;var k=n,pos=1;for(i=0;m>i;++i){var domain_2i=domain[i][0],domain_2i_1=domain[i][1],xi=Math.min(Math.max(src[srcOffset+i],domain_2i),domain_2i_1),e=interpolate(xi,domain_2i,domain_2i_1,encode[i][0],encode[i][1]),size_i=size[i];e=Math.min(Math.max(e,0),size_i-1);var e0=size_i-1>e?Math.floor(e):e-1,n0=e0+1-e,n1=e-e0,offset0=e0*k,offset1=offset0+k;for(j=0;cubeVertices>j;j++)j&pos?(cubeN[j]*=n1,cubeVertex[j]+=offset1):(cubeN[j]*=n0,cubeVertex[j]+=offset0);k*=size_i,pos<<=1}for(j=0;n>j;++j){var rj=0;for(i=0;cubeVertices>i;i++)rj+=samples[cubeVertex[i]+j]*cubeN[i];rj=interpolate(rj,0,1,decode[j][0],decode[j][1]),dest[destOffset+j]=Math.min(Math.max(rj,range[j][0]),range[j][1])}}},constructInterpolated:function(str,dict){var c0=dict.get("C0")||[0],c1=dict.get("C1")||[1],n=dict.get("N");isArray(c0)&&isArray(c1)||error("Illegal dictionary for interpolated function");for(var length=c0.length,diff=[],i=0;length>i;++i)diff.push(c1[i]-c0[i]);return[CONSTRUCT_INTERPOLATED,c0,diff,n]},constructInterpolatedFromIR:function(IR){var c0=IR[1],diff=IR[2],n=IR[3],length=diff.length;return function(src,srcOffset,dest,destOffset){for(var x=1===n?src[srcOffset]:Math.pow(src[srcOffset],n),j=0;length>j;++j)dest[destOffset+j]=c0[j]+x*diff[j]}},constructStiched:function(fn,dict,xref){var domain=dict.get("Domain");domain||error("No domain");var inputSize=domain.length/2;1!==inputSize&&error("Bad domain for stiched function");for(var fnRefs=dict.get("Functions"),fns=[],i=0,ii=fnRefs.length;ii>i;++i)fns.push(PDFFunction.getIR(xref,xref.fetchIfRef(fnRefs[i])));var bounds=dict.get("Bounds"),encode=dict.get("Encode");return[CONSTRUCT_STICHED,domain,bounds,encode,fns]},constructStichedFromIR:function(IR){for(var domain=IR[1],bounds=IR[2],encode=IR[3],fnsIR=IR[4],fns=[],tmpBuf=new Float32Array(1),i=0,ii=fnsIR.length;ii>i;i++)fns.push(PDFFunction.fromIR(fnsIR[i]));
+return function(src,srcOffset,dest,destOffset){for(var clip=function(v,min,max){return v>max?v=max:min>v&&(v=min),v},v=clip(src[srcOffset],domain[0],domain[1]),i=0,ii=bounds.length;ii>i&&!(v<bounds[i]);++i);var dmin=domain[0];i>0&&(dmin=bounds[i-1]);var dmax=domain[1];i<bounds.length&&(dmax=bounds[i]);var rmin=encode[2*i],rmax=encode[2*i+1];tmpBuf[0]=rmin+(v-dmin)*(rmax-rmin)/(dmax-dmin),fns[i](tmpBuf,0,dest,destOffset)}},constructPostScript:function(fn,dict){var domain=dict.get("Domain"),range=dict.get("Range");domain||error("No domain."),range||error("No range.");var lexer=new PostScriptLexer(fn),parser=new PostScriptParser(lexer),code=parser.parse();return[CONSTRUCT_POSTSCRIPT,domain,range,code]},constructPostScriptFromIR:function(IR){var domain=IR[1],range=IR[2],code=IR[3],compiled=(new PostScriptCompiler).compile(code,domain,range);if(compiled)return new Function("src","srcOffset","dest","destOffset",compiled);info("Unable to compile PS function");var numOutputs=range.length>>1,numInputs=domain.length>>1,evaluator=new PostScriptEvaluator(code),cache={},MAX_CACHE_SIZE=8192,cache_available=MAX_CACHE_SIZE,tmpBuf=new Float32Array(numInputs);return function(src,srcOffset,dest,destOffset){var i,value,key="",input=tmpBuf;for(i=0;numInputs>i;i++)value=src[srcOffset+i],input[i]=value,key+=value+"_";var cachedValue=cache[key];if(void 0!==cachedValue)return void cachedValue.set(dest,destOffset);var output=new Float32Array(numOutputs),stack=evaluator.execute(input),stackIndex=stack.length-numOutputs;for(i=0;numOutputs>i;i++){value=stack[stackIndex+i];var bound=range[2*i];bound>value?value=bound:(bound=range[2*i+1],value>bound&&(value=bound)),output[i]=value}cache_available>0&&(cache_available--,cache[key]=output),output.set(dest,destOffset)}}}}(),PostScriptStack=function(){function PostScriptStack(initialStack){this.stack=initialStack?Array.prototype.slice.call(initialStack,0):[]}var MAX_STACK_SIZE=100;return PostScriptStack.prototype={push:function(value){this.stack.length>=MAX_STACK_SIZE&&error("PostScript function stack overflow."),this.stack.push(value)},pop:function(){return this.stack.length<=0&&error("PostScript function stack underflow."),this.stack.pop()},copy:function(n){this.stack.length+n>=MAX_STACK_SIZE&&error("PostScript function stack overflow.");for(var stack=this.stack,i=stack.length-n,j=n-1;j>=0;j--,i++)stack.push(stack[i])},index:function(n){this.push(this.stack[this.stack.length-n-1])},roll:function(n,p){var i,j,t,stack=this.stack,l=stack.length-n,r=stack.length-1,c=l+(p-Math.floor(p/n)*n);for(i=l,j=r;j>i;i++,j--)t=stack[i],stack[i]=stack[j],stack[j]=t;for(i=l,j=c-1;j>i;i++,j--)t=stack[i],stack[i]=stack[j],stack[j]=t;for(i=c,j=r;j>i;i++,j--)t=stack[i],stack[i]=stack[j],stack[j]=t}},PostScriptStack}(),PostScriptEvaluator=function(){function PostScriptEvaluator(operators){this.operators=operators}return PostScriptEvaluator.prototype={execute:function(initialStack){for(var operator,a,b,stack=new PostScriptStack(initialStack),counter=0,operators=this.operators,length=operators.length;length>counter;)if(operator=operators[counter++],"number"!=typeof operator)switch(operator){case"jz":b=stack.pop(),a=stack.pop(),a||(counter=b);break;case"j":a=stack.pop(),counter=a;break;case"abs":a=stack.pop(),stack.push(Math.abs(a));break;case"add":b=stack.pop(),a=stack.pop(),stack.push(a+b);break;case"and":b=stack.pop(),a=stack.pop(),stack.push(isBool(a)&&isBool(b)?a&&b:a&b);break;case"atan":a=stack.pop(),stack.push(Math.atan(a));break;case"bitshift":b=stack.pop(),a=stack.pop(),stack.push(a>0?a<<b:a>>b);break;case"ceiling":a=stack.pop(),stack.push(Math.ceil(a));break;case"copy":a=stack.pop(),stack.copy(a);break;case"cos":a=stack.pop(),stack.push(Math.cos(a));break;case"cvi":a=0|stack.pop(),stack.push(a);break;case"cvr":break;case"div":b=stack.pop(),a=stack.pop(),stack.push(a/b);break;case"dup":stack.copy(1);break;case"eq":b=stack.pop(),a=stack.pop(),stack.push(a===b);break;case"exch":stack.roll(2,1);break;case"exp":b=stack.pop(),a=stack.pop(),stack.push(Math.pow(a,b));break;case"false":stack.push(!1);break;case"floor":a=stack.pop(),stack.push(Math.floor(a));break;case"ge":b=stack.pop(),a=stack.pop(),stack.push(a>=b);break;case"gt":b=stack.pop(),a=stack.pop(),stack.push(a>b);break;case"idiv":b=stack.pop(),a=stack.pop(),stack.push(a/b|0);break;case"index":a=stack.pop(),stack.index(a);break;case"le":b=stack.pop(),a=stack.pop(),stack.push(b>=a);break;case"ln":a=stack.pop(),stack.push(Math.log(a));break;case"log":a=stack.pop(),stack.push(Math.log(a)/Math.LN10);break;case"lt":b=stack.pop(),a=stack.pop(),stack.push(b>a);break;case"mod":b=stack.pop(),a=stack.pop(),stack.push(a%b);break;case"mul":b=stack.pop(),a=stack.pop(),stack.push(a*b);break;case"ne":b=stack.pop(),a=stack.pop(),stack.push(a!==b);break;case"neg":a=stack.pop(),stack.push(-a);break;case"not":a=stack.pop(),stack.push(isBool(a)?!a:~a);break;case"or":b=stack.pop(),a=stack.pop(),stack.push(isBool(a)&&isBool(b)?a||b:a|b);break;case"pop":stack.pop();break;case"roll":b=stack.pop(),a=stack.pop(),stack.roll(a,b);break;case"round":a=stack.pop(),stack.push(Math.round(a));break;case"sin":a=stack.pop(),stack.push(Math.sin(a));break;case"sqrt":a=stack.pop(),stack.push(Math.sqrt(a));break;case"sub":b=stack.pop(),a=stack.pop(),stack.push(a-b);break;case"true":stack.push(!0);break;case"truncate":a=stack.pop(),a=0>a?Math.ceil(a):Math.floor(a),stack.push(a);break;case"xor":b=stack.pop(),a=stack.pop(),stack.push(isBool(a)&&isBool(b)?a!==b:a^b);break;default:error("Unknown operator "+operator)}else stack.push(operator);return stack.stack}},PostScriptEvaluator}(),PostScriptCompiler=function(){function AstNode(type){this.type=type}function AstArgument(index,min,max){AstNode.call(this,"args"),this.index=index,this.min=min,this.max=max}function AstLiteral(number){AstNode.call(this,"literal"),this.number=number,this.min=number,this.max=number}function AstBinaryOperation(op,arg1,arg2,min,max){AstNode.call(this,"binary"),this.op=op,this.arg1=arg1,this.arg2=arg2,this.min=min,this.max=max}function AstMin(arg,max){AstNode.call(this,"max"),this.arg=arg,this.min=arg.min,this.max=max}function AstVariable(index,min,max){AstNode.call(this,"var"),this.index=index,this.min=min,this.max=max}function AstVariableDefinition(variable,arg){AstNode.call(this,"definition"),this.variable=variable,this.arg=arg}function ExpressionBuilderVisitor(){this.parts=[]}function buildAddOperation(num1,num2){return"literal"===num2.type&&0===num2.number?num1:"literal"===num1.type&&0===num1.number?num2:"literal"===num2.type&&"literal"===num1.type?new AstLiteral(num1.number+num2.number):new AstBinaryOperation("+",num1,num2,num1.min+num2.min,num1.max+num2.max)}function buildMulOperation(num1,num2){if("literal"===num2.type){if(0===num2.number)return new AstLiteral(0);if(1===num2.number)return num1;if("literal"===num1.type)return new AstLiteral(num1.number*num2.number)}if("literal"===num1.type){if(0===num1.number)return new AstLiteral(0);if(1===num1.number)return num2}var min=Math.min(num1.min*num2.min,num1.min*num2.max,num1.max*num2.min,num1.max*num2.max),max=Math.max(num1.min*num2.min,num1.min*num2.max,num1.max*num2.min,num1.max*num2.max);return new AstBinaryOperation("*",num1,num2,min,max)}function buildSubOperation(num1,num2){if("literal"===num2.type){if(0===num2.number)return num1;if("literal"===num1.type)return new AstLiteral(num1.number-num2.number)}return"binary"===num2.type&&"-"===num2.op&&"literal"===num1.type&&1===num1.number&&"literal"===num2.arg1.type&&1===num2.arg1.number?num2.arg2:new AstBinaryOperation("-",num1,num2,num1.min-num2.max,num1.max-num2.min)}function buildMinOperation(num1,max){return num1.min>=max?new AstLiteral(max):num1.max<=max?num1:new AstMin(num1,max)}function PostScriptCompiler(){}return AstNode.prototype.visit=function(){throw new Error("abstract method")},AstArgument.prototype=Object.create(AstNode.prototype),AstArgument.prototype.visit=function(visitor){visitor.visitArgument(this)},AstLiteral.prototype=Object.create(AstNode.prototype),AstLiteral.prototype.visit=function(visitor){visitor.visitLiteral(this)},AstBinaryOperation.prototype=Object.create(AstNode.prototype),AstBinaryOperation.prototype.visit=function(visitor){visitor.visitBinaryOperation(this)},AstMin.prototype=Object.create(AstNode.prototype),AstMin.prototype.visit=function(visitor){visitor.visitMin(this)},AstVariable.prototype=Object.create(AstNode.prototype),AstVariable.prototype.visit=function(visitor){visitor.visitVariable(this)},AstVariableDefinition.prototype=Object.create(AstNode.prototype),AstVariableDefinition.prototype.visit=function(visitor){visitor.visitVariableDefinition(this)},ExpressionBuilderVisitor.prototype={visitArgument:function(arg){this.parts.push("Math.max(",arg.min,", Math.min(",arg.max,", src[srcOffset + ",arg.index,"]))")},visitVariable:function(variable){this.parts.push("v",variable.index)},visitLiteral:function(literal){this.parts.push(literal.number)},visitBinaryOperation:function(operation){this.parts.push("("),operation.arg1.visit(this),this.parts.push(" ",operation.op," "),operation.arg2.visit(this),this.parts.push(")")},visitVariableDefinition:function(definition){this.parts.push("var "),definition.variable.visit(this),this.parts.push(" = "),definition.arg.visit(this),this.parts.push(";")},visitMin:function(max){this.parts.push("Math.min("),max.arg.visit(this),this.parts.push(", ",max.max,")")},toString:function(){return this.parts.join("")}},PostScriptCompiler.prototype={compile:function(code,domain,range){var i,ii,n,j,num1,num2,ast1,ast2,tmpVar,item,stack=[],instructions=[],inputSize=domain.length>>1,outputSize=range.length>>1,lastRegister=0;for(i=0;inputSize>i;i++)stack.push(new AstArgument(i,domain[2*i],domain[2*i+1]));for(i=0,ii=code.length;ii>i;i++)if(item=code[i],"number"!=typeof item)switch(item){case"add":if(stack.length<2)return null;num2=stack.pop(),num1=stack.pop(),stack.push(buildAddOperation(num1,num2));break;case"cvr":if(stack.length<1)return null;break;case"mul":if(stack.length<2)return null;num2=stack.pop(),num1=stack.pop(),stack.push(buildMulOperation(num1,num2));break;case"sub":if(stack.length<2)return null;num2=stack.pop(),num1=stack.pop(),stack.push(buildSubOperation(num1,num2));break;case"exch":if(stack.length<2)return null;ast1=stack.pop(),ast2=stack.pop(),stack.push(ast1,ast2);break;case"pop":if(stack.length<1)return null;stack.pop();break;case"index":if(stack.length<1)return null;if(num1=stack.pop(),"literal"!==num1.type)return null;if(n=num1.number,0>n||(0|n)!==n||stack.length<n)return null;if(ast1=stack[stack.length-n-1],"literal"===ast1.type||"var"===ast1.type){stack.push(ast1);break}tmpVar=new AstVariable(lastRegister++,ast1.min,ast1.max),stack[stack.length-n-1]=tmpVar,stack.push(tmpVar),instructions.push(new AstVariableDefinition(tmpVar,ast1));break;case"dup":if(stack.length<1)return null;if("number"==typeof code[i+1]&&"gt"===code[i+2]&&code[i+3]===i+7&&"jz"===code[i+4]&&"pop"===code[i+5]&&code[i+6]===code[i+1]){num1=stack.pop(),stack.push(buildMinOperation(num1,code[i+1])),i+=6;break}if(ast1=stack[stack.length-1],"literal"===ast1.type||"var"===ast1.type){stack.push(ast1);break}tmpVar=new AstVariable(lastRegister++,ast1.min,ast1.max),stack[stack.length-1]=tmpVar,stack.push(tmpVar),instructions.push(new AstVariableDefinition(tmpVar,ast1));break;case"roll":if(stack.length<2)return null;if(num2=stack.pop(),num1=stack.pop(),"literal"!==num2.type||"literal"!==num1.type)return null;if(j=num2.number,n=num1.number,0>=n||(0|n)!==n||(0|j)!==j||stack.length<n)return null;if(j=(j%n+n)%n,0===j)break;Array.prototype.push.apply(stack,stack.splice(stack.length-n,n-j));break;default:return null}else stack.push(new AstLiteral(item));if(stack.length!==outputSize)return null;var result=[];return instructions.forEach(function(instruction){var statementBuilder=new ExpressionBuilderVisitor;instruction.visit(statementBuilder),result.push(statementBuilder.toString())}),stack.forEach(function(expr,i){var statementBuilder=new ExpressionBuilderVisitor;expr.visit(statementBuilder);var min=range[2*i],max=range[2*i+1],out=[statementBuilder.toString()];min>expr.min&&(out.unshift("Math.max(",min,", "),out.push(")")),max<expr.max&&(out.unshift("Math.min(",max,", "),out.push(")")),out.unshift("dest[destOffset + ",i,"] = "),out.push(";"),result.push(out.join(""))}),result.join("\n")}},PostScriptCompiler}(),ColorSpace=function(){function ColorSpace(){error("should not call ColorSpace constructor")}return ColorSpace.prototype={getRgb:function(src,srcOffset){var rgb=new Uint8Array(3);return this.getRgbItem(src,srcOffset,rgb,0),rgb},getRgbItem:function(){error("Should not call ColorSpace.getRgbItem")},getRgbBuffer:function(){error("Should not call ColorSpace.getRgbBuffer")},getOutputLength:function(){error("Should not call ColorSpace.getOutputLength")},isPassthrough:function(){return!1},fillRgb:function(dest,originalWidth,originalHeight,width,height,actualHeight,bpc,comps,alpha01){var i,ii,count=originalWidth*originalHeight,rgbBuf=null,numComponentColors=1<<bpc,needsResizing=originalHeight!==height||originalWidth!==width;if(this.isPassthrough(bpc))rgbBuf=comps;else if(1===this.numComps&&count>numComponentColors&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){var key,allColors=8>=bpc?new Uint8Array(numComponentColors):new Uint16Array(numComponentColors);for(i=0;numComponentColors>i;i++)allColors[i]=i;var colorMap=new Uint8Array(3*numComponentColors);this.getRgbBuffer(allColors,0,numComponentColors,colorMap,0,bpc,0);var destPos,rgbPos;if(needsResizing)for(rgbBuf=new Uint8Array(3*count),rgbPos=0,i=0;count>i;++i)key=3*comps[i],rgbBuf[rgbPos++]=colorMap[key],rgbBuf[rgbPos++]=colorMap[key+1],rgbBuf[rgbPos++]=colorMap[key+2];else for(destPos=0,i=0;count>i;++i)key=3*comps[i],dest[destPos++]=colorMap[key],dest[destPos++]=colorMap[key+1],dest[destPos++]=colorMap[key+2],destPos+=alpha01}else needsResizing?(rgbBuf=new Uint8Array(3*count),this.getRgbBuffer(comps,0,count,rgbBuf,0,bpc,0)):this.getRgbBuffer(comps,0,width*actualHeight,dest,0,bpc,alpha01);if(rgbBuf)if(needsResizing)PDFImage.resize(rgbBuf,bpc,3,originalWidth,originalHeight,width,height,dest,alpha01);else for(rgbPos=0,destPos=0,i=0,ii=width*actualHeight;ii>i;i++)dest[destPos++]=rgbBuf[rgbPos++],dest[destPos++]=rgbBuf[rgbPos++],dest[destPos++]=rgbBuf[rgbPos++],destPos+=alpha01},usesZeroToOneRange:!0},ColorSpace.parse=function(cs,xref,res){var IR=ColorSpace.parseToIR(cs,xref,res);return IR instanceof AlternateCS?IR:ColorSpace.fromIR(IR)},ColorSpace.fromIR=function(IR){var whitePoint,blackPoint,gamma,name=isArray(IR)?IR[0]:IR;switch(name){case"DeviceGrayCS":return this.singletons.gray;case"DeviceRgbCS":return this.singletons.rgb;case"DeviceCmykCS":return this.singletons.cmyk;case"CalGrayCS":return whitePoint=IR[1].WhitePoint,blackPoint=IR[1].BlackPoint,gamma=IR[1].Gamma,new CalGrayCS(whitePoint,blackPoint,gamma);case"CalRGBCS":whitePoint=IR[1].WhitePoint,blackPoint=IR[1].BlackPoint,gamma=IR[1].Gamma;var matrix=IR[1].Matrix;return new CalRGBCS(whitePoint,blackPoint,gamma,matrix);case"PatternCS":var basePatternCS=IR[1];return basePatternCS&&(basePatternCS=ColorSpace.fromIR(basePatternCS)),new PatternCS(basePatternCS);case"IndexedCS":var baseIndexedCS=IR[1],hiVal=IR[2],lookup=IR[3];return new IndexedCS(ColorSpace.fromIR(baseIndexedCS),hiVal,lookup);case"AlternateCS":var numComps=IR[1],alt=IR[2],tintFnIR=IR[3];return new AlternateCS(numComps,ColorSpace.fromIR(alt),PDFFunction.fromIR(tintFnIR));case"LabCS":whitePoint=IR[1].WhitePoint,blackPoint=IR[1].BlackPoint;var range=IR[1].Range;return new LabCS(whitePoint,blackPoint,range);default:error("Unknown name "+name)}return null},ColorSpace.parseToIR=function(cs,xref,res){if(isName(cs)){var colorSpaces=res.get("ColorSpace");if(isDict(colorSpaces)){var refcs=colorSpaces.get(cs.name);refcs&&(cs=refcs)}}cs=xref.fetchIfRef(cs);var mode;if(isName(cs))switch(mode=cs.name,this.mode=mode,mode){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"Pattern":return["PatternCS",null];default:error("unrecognized colorspace "+mode)}else if(isArray(cs)){mode=cs[0].name,this.mode=mode;var numComps,params;switch(mode){case"DeviceGray":case"G":return"DeviceGrayCS";case"DeviceRGB":case"RGB":return"DeviceRgbCS";case"DeviceCMYK":case"CMYK":return"DeviceCmykCS";case"CalGray":return params=cs[1].getAll(),["CalGrayCS",params];case"CalRGB":return params=cs[1].getAll(),["CalRGBCS",params];case"ICCBased":var stream=xref.fetchIfRef(cs[1]),dict=stream.dict;if(numComps=dict.get("N"),1===numComps)return"DeviceGrayCS";if(3===numComps)return"DeviceRgbCS";if(4===numComps)return"DeviceCmykCS";break;case"Pattern":var basePatternCS=cs[1];return basePatternCS&&(basePatternCS=ColorSpace.parseToIR(basePatternCS,xref,res)),["PatternCS",basePatternCS];case"Indexed":case"I":var baseIndexedCS=ColorSpace.parseToIR(cs[1],xref,res),hiVal=cs[2]+1,lookup=xref.fetchIfRef(cs[3]);return isStream(lookup)&&(lookup=lookup.getBytes()),["IndexedCS",baseIndexedCS,hiVal,lookup];case"Separation":case"DeviceN":var name=cs[1];numComps=1,isName(name)?numComps=1:isArray(name)&&(numComps=name.length);var alt=ColorSpace.parseToIR(cs[2],xref,res),tintFnIR=PDFFunction.getIR(xref,xref.fetchIfRef(cs[3]));return["AlternateCS",numComps,alt,tintFnIR];case"Lab":return params=cs[1].getAll(),["LabCS",params];default:error('unimplemented color space object "'+mode+'"')}}else error('unrecognized color space object: "'+cs+'"');return null},ColorSpace.isDefaultDecode=function(decode,n){if(!decode)return!0;if(2*n!==decode.length)return warn("The decode map is not the correct length"),!0;for(var i=0,ii=decode.length;ii>i;i+=2)if(0!==decode[i]||1!==decode[i+1])return!1;return!0},ColorSpace.singletons={get gray(){return shadow(this,"gray",new DeviceGrayCS)},get rgb(){return shadow(this,"rgb",new DeviceRgbCS)},get cmyk(){return shadow(this,"cmyk",new DeviceCmykCS)}},ColorSpace}(),AlternateCS=function(){function AlternateCS(numComps,base,tintFn){this.name="Alternate",this.numComps=numComps,this.defaultColor=new Float32Array(numComps);for(var i=0;numComps>i;++i)this.defaultColor[i]=1;this.base=base,this.tintFn=tintFn,this.tmpBuf=new Float32Array(base.numComps)}return AlternateCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){var tmpBuf=this.tmpBuf;this.tintFn(src,srcOffset,tmpBuf,0),this.base.getRgbItem(tmpBuf,0,dest,destOffset)},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){var i,j,tintFn=this.tintFn,base=this.base,scale=1/((1<<bits)-1),baseNumComps=base.numComps,usesZeroToOneRange=base.usesZeroToOneRange,isPassthrough=(base.isPassthrough(8)||!usesZeroToOneRange)&&0===alpha01,pos=isPassthrough?destOffset:0,baseBuf=isPassthrough?dest:new Uint8Array(baseNumComps*count),numComps=this.numComps,scaled=new Float32Array(numComps),tinted=new Float32Array(baseNumComps);if(usesZeroToOneRange)for(i=0;count>i;i++){for(j=0;numComps>j;j++)scaled[j]=src[srcOffset++]*scale;for(tintFn(scaled,0,tinted,0),j=0;baseNumComps>j;j++)baseBuf[pos++]=255*tinted[j]}else for(i=0;count>i;i++){for(j=0;numComps>j;j++)scaled[j]=src[srcOffset++]*scale;tintFn(scaled,0,tinted,0),base.getRgbItem(tinted,0,baseBuf,pos),pos+=baseNumComps}isPassthrough||base.getRgbBuffer(baseBuf,0,count,dest,destOffset,8,alpha01)},getOutputLength:function(inputLength,alpha01){return this.base.getOutputLength(inputLength*this.base.numComps/this.numComps,alpha01)},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(decodeMap){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)},usesZeroToOneRange:!0},AlternateCS}(),PatternCS=function(){function PatternCS(baseCS){this.name="Pattern",this.base=baseCS}return PatternCS.prototype={},PatternCS}(),IndexedCS=function(){function IndexedCS(base,highVal,lookup){this.name="Indexed",this.numComps=1,this.defaultColor=new Uint8Array([0]),this.base=base,this.highVal=highVal;var lookupArray,baseNumComps=base.numComps,length=baseNumComps*highVal;if(isStream(lookup)){lookupArray=new Uint8Array(length);var bytes=lookup.getBytes(length);lookupArray.set(bytes)}else if(isString(lookup)){lookupArray=new Uint8Array(length);for(var i=0;length>i;++i)lookupArray[i]=lookup.charCodeAt(i)}else lookup instanceof Uint8Array||lookup instanceof Array?lookupArray=lookup:error("Unrecognized lookup table: "+lookup);this.lookup=lookupArray}return IndexedCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){var numComps=this.base.numComps,start=src[srcOffset]*numComps;this.base.getRgbItem(this.lookup,start,dest,destOffset)},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){for(var base=this.base,numComps=base.numComps,outputDelta=base.getOutputLength(numComps,alpha01),lookup=this.lookup,i=0;count>i;++i){var lookupPos=src[srcOffset++]*numComps;base.getRgbBuffer(lookup,lookupPos,1,dest,destOffset,8,alpha01),destOffset+=outputDelta}},getOutputLength:function(inputLength,alpha01){return this.base.getOutputLength(inputLength*this.base.numComps,alpha01)},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(){return!0},usesZeroToOneRange:!0},IndexedCS}(),DeviceGrayCS=function(){function DeviceGrayCS(){this.name="DeviceGray",this.numComps=1,this.defaultColor=new Float32Array([0])}return DeviceGrayCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){var c=255*src[srcOffset]|0;c=0>c?0:c>255?255:c,dest[destOffset]=dest[destOffset+1]=dest[destOffset+2]=c},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){for(var scale=255/((1<<bits)-1),j=srcOffset,q=destOffset,i=0;count>i;++i){var c=scale*src[j++]|0;dest[q++]=c,dest[q++]=c,dest[q++]=c,q+=alpha01}},getOutputLength:function(inputLength,alpha01){return inputLength*(3+alpha01)},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(decodeMap){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)},usesZeroToOneRange:!0},DeviceGrayCS}(),DeviceRgbCS=function(){function DeviceRgbCS(){this.name="DeviceRGB",this.numComps=3,this.defaultColor=new Float32Array([0,0,0])}return DeviceRgbCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){var r=255*src[srcOffset]|0,g=255*src[srcOffset+1]|0,b=255*src[srcOffset+2]|0;dest[destOffset]=0>r?0:r>255?255:r,dest[destOffset+1]=0>g?0:g>255?255:g,dest[destOffset+2]=0>b?0:b>255?255:b},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){if(8===bits&&0===alpha01)return void dest.set(src.subarray(srcOffset,srcOffset+3*count),destOffset);for(var scale=255/((1<<bits)-1),j=srcOffset,q=destOffset,i=0;count>i;++i)dest[q++]=scale*src[j++]|0,dest[q++]=scale*src[j++]|0,dest[q++]=scale*src[j++]|0,q+=alpha01},getOutputLength:function(inputLength,alpha01){return inputLength*(3+alpha01)/3|0},isPassthrough:function(bits){return 8===bits},fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(decodeMap){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)},usesZeroToOneRange:!0},DeviceRgbCS}(),DeviceCmykCS=function(){function convertToRgb(src,srcOffset,srcScale,dest,destOffset){var c=src[srcOffset+0]*srcScale,m=src[srcOffset+1]*srcScale,y=src[srcOffset+2]*srcScale,k=src[srcOffset+3]*srcScale,r=c*(-4.387332384609988*c+54.48615194189176*m+18.82290502165302*y+212.25662451639585*k+-285.2331026137004)+m*(1.7149763477362134*m-5.6096736904047315*y+-17.873870861415444*k-5.497006427196366)+y*(-2.5217340131683033*y-21.248923337353073*k+17.5119270841813)+k*(-21.86122147463605*k-189.48180835922747)+255|0,g=c*(8.841041422036149*c+60.118027045597366*m+6.871425592049007*y+31.159100130055922*k+-79.2970844816548)+m*(-15.310361306967817*m+17.575251261109482*y+131.35250912493976*k-190.9453302588951)+y*(4.444339102852739*y+9.8632861493405*k-24.86741582555878)+k*(-20.737325471181034*k-187.80453709719578)+255|0,b=c*(.8842522430003296*c+8.078677503112928*m+30.89978309703729*y-.23883238689178934*k+-14.183576799673286)+m*(10.49593273432072*m+63.02378494754052*y+50.606957656360734*k-112.23884253719248)+y*(.03296041114873217*y+115.60384449646641*k+-193.58209356861505)+k*(-22.33816807309886*k-180.12613974708367)+255|0;dest[destOffset]=r>255?255:0>r?0:r,dest[destOffset+1]=g>255?255:0>g?0:g,dest[destOffset+2]=b>255?255:0>b?0:b}function DeviceCmykCS(){this.name="DeviceCMYK",this.numComps=4,this.defaultColor=new Float32Array([0,0,0,1])}return DeviceCmykCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){convertToRgb(src,srcOffset,1,dest,destOffset)},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){for(var scale=1/((1<<bits)-1),i=0;count>i;i++)convertToRgb(src,srcOffset,scale,dest,destOffset),srcOffset+=4,destOffset+=3+alpha01},getOutputLength:function(inputLength,alpha01){return inputLength/4*(3+alpha01)|0},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(decodeMap){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)},usesZeroToOneRange:!0},DeviceCmykCS}(),CalGrayCS=function(){function CalGrayCS(whitePoint,blackPoint,gamma){this.name="CalGray",this.numComps=1,this.defaultColor=new Float32Array([0]),whitePoint||error("WhitePoint missing - required for color space CalGray"),blackPoint=blackPoint||[0,0,0],gamma=gamma||1,this.XW=whitePoint[0],this.YW=whitePoint[1],this.ZW=whitePoint[2],this.XB=blackPoint[0],this.YB=blackPoint[1],this.ZB=blackPoint[2],this.G=gamma,(this.XW<0||this.ZW<0||1!==this.YW)&&error("Invalid WhitePoint components for "+this.name+", no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(info("Invalid BlackPoint for "+this.name+", falling back to default"),this.XB=this.YB=this.ZB=0),(0!==this.XB||0!==this.YB||0!==this.ZB)&&warn(this.name+", BlackPoint: XB: "+this.XB+", YB: "+this.YB+", ZB: "+this.ZB+", only default values are supported."),this.G<1&&(info("Invalid Gamma: "+this.G+" for "+this.name+", falling back to default"),this.G=1)}function convertToRgb(cs,src,srcOffset,dest,destOffset,scale){var A=src[srcOffset]*scale,AG=Math.pow(A,cs.G),L=cs.YW*AG,val=0|Math.max(295.8*Math.pow(L,.3333333333333333)-40.8,0);dest[destOffset]=val,dest[destOffset+1]=val,dest[destOffset+2]=val}return CalGrayCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){convertToRgb(this,src,srcOffset,dest,destOffset,1)},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){for(var scale=1/((1<<bits)-1),i=0;count>i;++i)convertToRgb(this,src,srcOffset,dest,destOffset,scale),srcOffset+=1,destOffset+=3+alpha01},getOutputLength:function(inputLength,alpha01){return inputLength*(3+alpha01)},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(decodeMap){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)},usesZeroToOneRange:!0},CalGrayCS}(),CalRGBCS=function(){function CalRGBCS(whitePoint,blackPoint,gamma,matrix){this.name="CalRGB",this.numComps=3,this.defaultColor=new Float32Array(3),whitePoint||error("WhitePoint missing - required for color space CalRGB"),blackPoint=blackPoint||new Float32Array(3),gamma=gamma||new Float32Array([1,1,1]),matrix=matrix||new Float32Array([1,0,0,0,1,0,0,0,1]);var XW=whitePoint[0],YW=whitePoint[1],ZW=whitePoint[2];this.whitePoint=whitePoint;var XB=blackPoint[0],YB=blackPoint[1],ZB=blackPoint[2];this.blackPoint=blackPoint,this.GR=gamma[0],this.GG=gamma[1],this.GB=gamma[2],this.MXA=matrix[0],this.MYA=matrix[1],this.MZA=matrix[2],this.MXB=matrix[3],this.MYB=matrix[4],this.MZB=matrix[5],this.MXC=matrix[6],this.MYC=matrix[7],this.MZC=matrix[8],(0>XW||0>ZW||1!==YW)&&error("Invalid WhitePoint components for "+this.name+", no fallback available"),(0>XB||0>YB||0>ZB)&&(info("Invalid BlackPoint for "+this.name+" ["+XB+", "+YB+", "+ZB+"], falling back to default"),this.blackPoint=new Float32Array(3)),(this.GR<0||this.GG<0||this.GB<0)&&(info("Invalid Gamma ["+this.GR+", "+this.GG+", "+this.GB+"] for "+this.name+", falling back to default"),this.GR=this.GG=this.GB=1),(this.MXA<0||this.MYA<0||this.MZA<0||this.MXB<0||this.MYB<0||this.MZB<0||this.MXC<0||this.MYC<0||this.MZC<0)&&(info("Invalid Matrix for "+this.name+" ["+this.MXA+", "+this.MYA+", "+this.MZA+this.MXB+", "+this.MYB+", "+this.MZB+this.MXC+", "+this.MYC+", "+this.MZC+"], falling back to default"),this.MXA=this.MYB=this.MZC=1,this.MXB=this.MYA=this.MZA=this.MXC=this.MYC=this.MZB=0)}function matrixProduct(a,b,result){result[0]=a[0]*b[0]+a[1]*b[1]+a[2]*b[2],result[1]=a[3]*b[0]+a[4]*b[1]+a[5]*b[2],result[2]=a[6]*b[0]+a[7]*b[1]+a[8]*b[2]}function convertToFlat(sourceWhitePoint,LMS,result){result[0]=1*LMS[0]/sourceWhitePoint[0],result[1]=1*LMS[1]/sourceWhitePoint[1],result[2]=1*LMS[2]/sourceWhitePoint[2]}function convertToD65(sourceWhitePoint,LMS,result){var D65X=.95047,D65Y=1,D65Z=1.08883;result[0]=LMS[0]*D65X/sourceWhitePoint[0],result[1]=LMS[1]*D65Y/sourceWhitePoint[1],result[2]=LMS[2]*D65Z/sourceWhitePoint[2]}function sRGBTransferFunction(color){return.0031308>=color?adjustToRange(0,1,12.92*color):adjustToRange(0,1,1.055*Math.pow(color,1/2.4)-.055)}function adjustToRange(min,max,value){return Math.max(min,Math.min(max,value))}function decodeL(L){return 0>L?-decodeL(-L):L>8?Math.pow((L+16)/116,3):L*DECODE_L_CONSTANT}function compensateBlackPoint(sourceBlackPoint,XYZ_Flat,result){if(0===sourceBlackPoint[0]&&0===sourceBlackPoint[1]&&0===sourceBlackPoint[2])return result[0]=XYZ_Flat[0],result[1]=XYZ_Flat[1],void(result[2]=XYZ_Flat[2]);var zeroDecodeL=decodeL(0),X_DST=zeroDecodeL,X_SRC=decodeL(sourceBlackPoint[0]),Y_DST=zeroDecodeL,Y_SRC=decodeL(sourceBlackPoint[1]),Z_DST=zeroDecodeL,Z_SRC=decodeL(sourceBlackPoint[2]),X_Scale=(1-X_DST)/(1-X_SRC),X_Offset=1-X_Scale,Y_Scale=(1-Y_DST)/(1-Y_SRC),Y_Offset=1-Y_Scale,Z_Scale=(1-Z_DST)/(1-Z_SRC),Z_Offset=1-Z_Scale;result[0]=XYZ_Flat[0]*X_Scale+X_Offset,result[1]=XYZ_Flat[1]*Y_Scale+Y_Offset,result[2]=XYZ_Flat[2]*Z_Scale+Z_Offset}function normalizeWhitePointToFlat(sourceWhitePoint,XYZ_In,result){if(1===sourceWhitePoint[0]&&1===sourceWhitePoint[2])return result[0]=XYZ_In[0],result[1]=XYZ_In[1],void(result[2]=XYZ_In[2]);var LMS=result;matrixProduct(BRADFORD_SCALE_MATRIX,XYZ_In,LMS);var LMS_Flat=tempNormalizeMatrix;convertToFlat(sourceWhitePoint,LMS,LMS_Flat),matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX,LMS_Flat,result)}function normalizeWhitePointToD65(sourceWhitePoint,XYZ_In,result){var LMS=result;matrixProduct(BRADFORD_SCALE_MATRIX,XYZ_In,LMS);var LMS_D65=tempNormalizeMatrix;convertToD65(sourceWhitePoint,LMS,LMS_D65),matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX,LMS_D65,result)}function convertToRgb(cs,src,srcOffset,dest,destOffset,scale){var A=adjustToRange(0,1,src[srcOffset]*scale),B=adjustToRange(0,1,src[srcOffset+1]*scale),C=adjustToRange(0,1,src[srcOffset+2]*scale),AGR=Math.pow(A,cs.GR),BGG=Math.pow(B,cs.GG),CGB=Math.pow(C,cs.GB),X=cs.MXA*AGR+cs.MXB*BGG+cs.MXC*CGB,Y=cs.MYA*AGR+cs.MYB*BGG+cs.MYC*CGB,Z=cs.MZA*AGR+cs.MZB*BGG+cs.MZC*CGB,XYZ=tempConvertMatrix1;XYZ[0]=X,XYZ[1]=Y,XYZ[2]=Z;var XYZ_Flat=tempConvertMatrix2;normalizeWhitePointToFlat(cs.whitePoint,XYZ,XYZ_Flat);var XYZ_Black=tempConvertMatrix1;compensateBlackPoint(cs.blackPoint,XYZ_Flat,XYZ_Black);var XYZ_D65=tempConvertMatrix2;normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX,XYZ_Black,XYZ_D65);var SRGB=tempConvertMatrix1;matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX,XYZ_D65,SRGB);var sR=sRGBTransferFunction(SRGB[0]),sG=sRGBTransferFunction(SRGB[1]),sB=sRGBTransferFunction(SRGB[2]);dest[destOffset]=Math.round(255*sR),dest[destOffset+1]=Math.round(255*sG),dest[destOffset+2]=Math.round(255*sB)}var BRADFORD_SCALE_MATRIX=new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296]),BRADFORD_SCALE_INVERSE_MATRIX=new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867]),SRGB_D65_XYZ_TO_RGB_MATRIX=new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252]),FLAT_WHITEPOINT_MATRIX=new Float32Array([1,1,1]),tempNormalizeMatrix=new Float32Array(3),tempConvertMatrix1=new Float32Array(3),tempConvertMatrix2=new Float32Array(3),DECODE_L_CONSTANT=Math.pow(24/116,3)/8;
+return CalRGBCS.prototype={getRgb:function(src,srcOffset){var rgb=new Uint8Array(3);return this.getRgbItem(src,srcOffset,rgb,0),rgb},getRgbItem:function(src,srcOffset,dest,destOffset){convertToRgb(this,src,srcOffset,dest,destOffset,1)},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){for(var scale=1/((1<<bits)-1),i=0;count>i;++i)convertToRgb(this,src,srcOffset,dest,destOffset,scale),srcOffset+=3,destOffset+=3+alpha01},getOutputLength:function(inputLength,alpha01){return inputLength*(3+alpha01)/3|0},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(decodeMap){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)},usesZeroToOneRange:!0},CalRGBCS}(),LabCS=function(){function LabCS(whitePoint,blackPoint,range){this.name="Lab",this.numComps=3,this.defaultColor=new Float32Array([0,0,0]),whitePoint||error("WhitePoint missing - required for color space Lab"),blackPoint=blackPoint||[0,0,0],range=range||[-100,100,-100,100],this.XW=whitePoint[0],this.YW=whitePoint[1],this.ZW=whitePoint[2],this.amin=range[0],this.amax=range[1],this.bmin=range[2],this.bmax=range[3],this.XB=blackPoint[0],this.YB=blackPoint[1],this.ZB=blackPoint[2],(this.XW<0||this.ZW<0||1!==this.YW)&&error("Invalid WhitePoint components, no fallback available"),(this.XB<0||this.YB<0||this.ZB<0)&&(info("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(info("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}function fn_g(x){return x>=6/29?x*x*x:108/841*(x-4/29)}function decode(value,high1,low2,high2){return low2+value*(high2-low2)/high1}function convertToRgb(cs,src,srcOffset,maxVal,dest,destOffset){var Ls=src[srcOffset],as=src[srcOffset+1],bs=src[srcOffset+2];maxVal!==!1&&(Ls=decode(Ls,maxVal,0,100),as=decode(as,maxVal,cs.amin,cs.amax),bs=decode(bs,maxVal,cs.bmin,cs.bmax)),as=as>cs.amax?cs.amax:as<cs.amin?cs.amin:as,bs=bs>cs.bmax?cs.bmax:bs<cs.bmin?cs.bmin:bs;var r,g,b,M=(Ls+16)/116,L=M+as/500,N=M-bs/200,X=cs.XW*fn_g(L),Y=cs.YW*fn_g(M),Z=cs.ZW*fn_g(N);cs.ZW<1?(r=3.1339*X+-1.617*Y+Z*-.4906,g=X*-.9785+1.916*Y+.0333*Z,b=.072*X+Y*-.229+1.4057*Z):(r=3.2406*X+-1.5372*Y+Z*-.4986,g=X*-.9689+1.8758*Y+.0415*Z,b=.0557*X+Y*-.204+1.057*Z),dest[destOffset]=0>=r?0:r>=1?255:255*Math.sqrt(r)|0,dest[destOffset+1]=0>=g?0:g>=1?255:255*Math.sqrt(g)|0,dest[destOffset+2]=0>=b?0:b>=1?255:255*Math.sqrt(b)|0}return LabCS.prototype={getRgb:ColorSpace.prototype.getRgb,getRgbItem:function(src,srcOffset,dest,destOffset){convertToRgb(this,src,srcOffset,!1,dest,destOffset)},getRgbBuffer:function(src,srcOffset,count,dest,destOffset,bits,alpha01){for(var maxVal=(1<<bits)-1,i=0;count>i;i++)convertToRgb(this,src,srcOffset,maxVal,dest,destOffset),srcOffset+=3,destOffset+=3+alpha01},getOutputLength:function(inputLength,alpha01){return inputLength*(3+alpha01)/3|0},isPassthrough:ColorSpace.prototype.isPassthrough,fillRgb:ColorSpace.prototype.fillRgb,isDefaultDecode:function(){return!0},usesZeroToOneRange:!1},LabCS}(),ARCFourCipher=function(){function ARCFourCipher(key){this.a=0,this.b=0;var i,tmp,s=new Uint8Array(256),j=0,keyLength=key.length;for(i=0;256>i;++i)s[i]=i;for(i=0;256>i;++i)tmp=s[i],j=j+tmp+key[i%keyLength]&255,s[i]=s[j],s[j]=tmp;this.s=s}return ARCFourCipher.prototype={encryptBlock:function(data){var i,tmp,tmp2,n=data.length,a=this.a,b=this.b,s=this.s,output=new Uint8Array(n);for(i=0;n>i;++i)a=a+1&255,tmp=s[a],b=b+tmp&255,tmp2=s[b],s[a]=tmp2,s[b]=tmp,output[i]=data[i]^s[tmp+tmp2&255];return this.a=a,this.b=b,output}},ARCFourCipher.prototype.decryptBlock=ARCFourCipher.prototype.encryptBlock,ARCFourCipher}(),calculateMD5=function(){function hash(data,offset,length){var i,j,n,h0=1732584193,h1=-271733879,h2=-1732584194,h3=271733878,paddedLength=length+72&-64,padded=new Uint8Array(paddedLength);for(i=0;length>i;++i)padded[i]=data[offset++];for(padded[i++]=128,n=paddedLength-8;n>i;)padded[i++]=0;padded[i++]=length<<3&255,padded[i++]=length>>5&255,padded[i++]=length>>13&255,padded[i++]=length>>21&255,padded[i++]=length>>>29&255,padded[i++]=0,padded[i++]=0,padded[i++]=0;var w=new Int32Array(16);for(i=0;paddedLength>i;){for(j=0;16>j;++j,i+=4)w[j]=padded[i]|padded[i+1]<<8|padded[i+2]<<16|padded[i+3]<<24;var f,g,a=h0,b=h1,c=h2,d=h3;for(j=0;64>j;++j){16>j?(f=b&c|~b&d,g=j):32>j?(f=d&b|~d&c,g=5*j+1&15):48>j?(f=b^c^d,g=3*j+5&15):(f=c^(b|~d),g=7*j&15);var tmp=d,rotateArg=a+f+k[j]+w[g]|0,rotate=r[j];d=c,c=b,b=b+(rotateArg<<rotate|rotateArg>>>32-rotate)|0,a=tmp}h0=h0+a|0,h1=h1+b|0,h2=h2+c|0,h3=h3+d|0}return new Uint8Array([255&h0,h0>>8&255,h0>>16&255,h0>>>24&255,255&h1,h1>>8&255,h1>>16&255,h1>>>24&255,255&h2,h2>>8&255,h2>>16&255,h2>>>24&255,255&h3,h3>>8&255,h3>>16&255,h3>>>24&255])}var r=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]),k=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);return hash}(),Word64=function(){function Word64(highInteger,lowInteger){this.high=0|highInteger,this.low=0|lowInteger}return Word64.prototype={and:function(word){this.high&=word.high,this.low&=word.low},xor:function(word){this.high^=word.high,this.low^=word.low},or:function(word){this.high|=word.high,this.low|=word.low},shiftRight:function(places){places>=32?(this.low=this.high>>>places-32|0,this.high=0):(this.low=this.low>>>places|this.high<<32-places,this.high=this.high>>>places|0)},shiftLeft:function(places){places>=32?(this.high=this.low<<places-32,this.low=0):(this.high=this.high<<places|this.low>>>32-places,this.low=this.low<<places)},rotateRight:function(places){var low,high;32&places?(high=this.low,low=this.high):(low=this.low,high=this.high),places&=31,this.low=low>>>places|high<<32-places,this.high=high>>>places|low<<32-places},not:function(){this.high=~this.high,this.low=~this.low},add:function(word){var lowAdd=(this.low>>>0)+(word.low>>>0),highAdd=(this.high>>>0)+(word.high>>>0);lowAdd>4294967295&&(highAdd+=1),this.low=0|lowAdd,this.high=0|highAdd},copyTo:function(bytes,offset){bytes[offset]=this.high>>>24&255,bytes[offset+1]=this.high>>16&255,bytes[offset+2]=this.high>>8&255,bytes[offset+3]=255&this.high,bytes[offset+4]=this.low>>>24&255,bytes[offset+5]=this.low>>16&255,bytes[offset+6]=this.low>>8&255,bytes[offset+7]=255&this.low},assign:function(word){this.high=word.high,this.low=word.low}},Word64}(),calculateSHA256=function(){function rotr(x,n){return x>>>n|x<<32-n}function ch(x,y,z){return x&y^~x&z}function maj(x,y,z){return x&y^x&z^y&z}function sigma(x){return rotr(x,2)^rotr(x,13)^rotr(x,22)}function sigmaPrime(x){return rotr(x,6)^rotr(x,11)^rotr(x,25)}function littleSigma(x){return rotr(x,7)^rotr(x,18)^x>>>3}function littleSigmaPrime(x){return rotr(x,17)^rotr(x,19)^x>>>10}function hash(data,offset,length){var i,j,n,h0=1779033703,h1=3144134277,h2=1013904242,h3=2773480762,h4=1359893119,h5=2600822924,h6=528734635,h7=1541459225,paddedLength=64*Math.ceil((length+9)/64),padded=new Uint8Array(paddedLength);for(i=0;length>i;++i)padded[i]=data[offset++];for(padded[i++]=128,n=paddedLength-8;n>i;)padded[i++]=0;padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=length>>>29&255,padded[i++]=length>>21&255,padded[i++]=length>>13&255,padded[i++]=length>>5&255,padded[i++]=length<<3&255;var w=new Uint32Array(64);for(i=0;paddedLength>i;){for(j=0;16>j;++j)w[j]=padded[i]<<24|padded[i+1]<<16|padded[i+2]<<8|padded[i+3],i+=4;for(j=16;64>j;++j)w[j]=littleSigmaPrime(w[j-2])+w[j-7]+littleSigma(w[j-15])+w[j-16]|0;var t1,t2,a=h0,b=h1,c=h2,d=h3,e=h4,f=h5,g=h6,h=h7;for(j=0;64>j;++j)t1=h+sigmaPrime(e)+ch(e,f,g)+k[j]+w[j],t2=sigma(a)+maj(a,b,c),h=g,g=f,f=e,e=d+t1|0,d=c,c=b,b=a,a=t1+t2|0;h0=h0+a|0,h1=h1+b|0,h2=h2+c|0,h3=h3+d|0,h4=h4+e|0,h5=h5+f|0,h6=h6+g|0,h7=h7+h|0}return new Uint8Array([h0>>24&255,h0>>16&255,h0>>8&255,255&h0,h1>>24&255,h1>>16&255,h1>>8&255,255&h1,h2>>24&255,h2>>16&255,h2>>8&255,255&h2,h3>>24&255,h3>>16&255,h3>>8&255,255&h3,h4>>24&255,h4>>16&255,h4>>8&255,255&h4,h5>>24&255,h5>>16&255,h5>>8&255,255&h5,h6>>24&255,h6>>16&255,h6>>8&255,255&h6,h7>>24&255,h7>>16&255,h7>>8&255,255&h7])}var k=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return hash}(),calculateSHA512=function(){function ch(result,x,y,z,tmp){result.assign(x),result.and(y),tmp.assign(x),tmp.not(),tmp.and(z),result.xor(tmp)}function maj(result,x,y,z,tmp){result.assign(x),result.and(y),tmp.assign(x),tmp.and(z),result.xor(tmp),tmp.assign(y),tmp.and(z),result.xor(tmp)}function sigma(result,x,tmp){result.assign(x),result.rotateRight(28),tmp.assign(x),tmp.rotateRight(34),result.xor(tmp),tmp.assign(x),tmp.rotateRight(39),result.xor(tmp)}function sigmaPrime(result,x,tmp){result.assign(x),result.rotateRight(14),tmp.assign(x),tmp.rotateRight(18),result.xor(tmp),tmp.assign(x),tmp.rotateRight(41),result.xor(tmp)}function littleSigma(result,x,tmp){result.assign(x),result.rotateRight(1),tmp.assign(x),tmp.rotateRight(8),result.xor(tmp),tmp.assign(x),tmp.shiftRight(7),result.xor(tmp)}function littleSigmaPrime(result,x,tmp){result.assign(x),result.rotateRight(19),tmp.assign(x),tmp.rotateRight(61),result.xor(tmp),tmp.assign(x),tmp.shiftRight(6),result.xor(tmp)}function hash(data,offset,length,mode384){mode384=!!mode384;var h0,h1,h2,h3,h4,h5,h6,h7;mode384?(h0=new Word64(3418070365,3238371032),h1=new Word64(1654270250,914150663),h2=new Word64(2438529370,812702999),h3=new Word64(355462360,4144912697),h4=new Word64(1731405415,4290775857),h5=new Word64(2394180231,1750603025),h6=new Word64(3675008525,1694076839),h7=new Word64(1203062813,3204075428)):(h0=new Word64(1779033703,4089235720),h1=new Word64(3144134277,2227873595),h2=new Word64(1013904242,4271175723),h3=new Word64(2773480762,1595750129),h4=new Word64(1359893119,2917565137),h5=new Word64(2600822924,725511199),h6=new Word64(528734635,4215389547),h7=new Word64(1541459225,327033209));var i,j,n,paddedLength=128*Math.ceil((length+17)/128),padded=new Uint8Array(paddedLength);for(i=0;length>i;++i)padded[i]=data[offset++];for(padded[i++]=128,n=paddedLength-16;n>i;)padded[i++]=0;padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=0,padded[i++]=length>>>29&255,padded[i++]=length>>21&255,padded[i++]=length>>13&255,padded[i++]=length>>5&255,padded[i++]=length<<3&255;var w=new Array(80);for(i=0;80>i;i++)w[i]=new Word64(0,0);var tmp3,a=new Word64(0,0),b=new Word64(0,0),c=new Word64(0,0),d=new Word64(0,0),e=new Word64(0,0),f=new Word64(0,0),g=new Word64(0,0),h=new Word64(0,0),t1=new Word64(0,0),t2=new Word64(0,0),tmp1=new Word64(0,0),tmp2=new Word64(0,0);for(i=0;paddedLength>i;){for(j=0;16>j;++j)w[j].high=padded[i]<<24|padded[i+1]<<16|padded[i+2]<<8|padded[i+3],w[j].low=padded[i+4]<<24|padded[i+5]<<16|padded[i+6]<<8|padded[i+7],i+=8;for(j=16;80>j;++j)tmp3=w[j],littleSigmaPrime(tmp3,w[j-2],tmp2),tmp3.add(w[j-7]),littleSigma(tmp1,w[j-15],tmp2),tmp3.add(tmp1),tmp3.add(w[j-16]);for(a.assign(h0),b.assign(h1),c.assign(h2),d.assign(h3),e.assign(h4),f.assign(h5),g.assign(h6),h.assign(h7),j=0;80>j;++j)t1.assign(h),sigmaPrime(tmp1,e,tmp2),t1.add(tmp1),ch(tmp1,e,f,g,tmp2),t1.add(tmp1),t1.add(k[j]),t1.add(w[j]),sigma(t2,a,tmp2),maj(tmp1,a,b,c,tmp2),t2.add(tmp1),tmp3=h,h=g,g=f,f=e,d.add(t1),e=d,d=c,c=b,b=a,tmp3.assign(t1),tmp3.add(t2),a=tmp3;h0.add(a),h1.add(b),h2.add(c),h3.add(d),h4.add(e),h5.add(f),h6.add(g),h7.add(h)}var result;return mode384?(result=new Uint8Array(48),h0.copyTo(result,0),h1.copyTo(result,8),h2.copyTo(result,16),h3.copyTo(result,24),h4.copyTo(result,32),h5.copyTo(result,40)):(result=new Uint8Array(64),h0.copyTo(result,0),h1.copyTo(result,8),h2.copyTo(result,16),h3.copyTo(result,24),h4.copyTo(result,32),h5.copyTo(result,40),h6.copyTo(result,48),h7.copyTo(result,56)),result}var k=[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)];return hash}(),calculateSHA384=function(){function hash(data,offset,length){return calculateSHA512(data,offset,length,!0)}return hash}(),NullCipher=function(){function NullCipher(){}return NullCipher.prototype={decryptBlock:function(data){return data}},NullCipher}(),AES128Cipher=function(){function expandKey128(cipherKey){var b=176,result=new Uint8Array(b);result.set(cipherKey);for(var j=16,i=1;b>j;++i){var t1=result[j-3],t2=result[j-2],t3=result[j-1],t4=result[j-4];t1=s[t1],t2=s[t2],t3=s[t3],t4=s[t4],t1^=rcon[i];for(var n=0;4>n;++n)result[j]=t1^=result[j-16],j++,result[j]=t2^=result[j-16],j++,result[j]=t3^=result[j-16],j++,result[j]=t4^=result[j-16],j++}return result}function decrypt128(input,key){var state=new Uint8Array(16);state.set(input);var i,j,k,t,u,v;for(j=0,k=160;16>j;++j,++k)state[j]^=key[k];for(i=9;i>=1;--i){for(t=state[13],state[13]=state[9],state[9]=state[5],state[5]=state[1],state[1]=t,t=state[14],u=state[10],state[14]=state[6],state[10]=state[2],state[6]=t,state[2]=u,t=state[15],u=state[11],v=state[7],state[15]=state[3],state[11]=t,state[7]=u,state[3]=v,j=0;16>j;++j)state[j]=inv_s[state[j]];for(j=0,k=16*i;16>j;++j,++k)state[j]^=key[k];for(j=0;16>j;j+=4){var s0=mix[state[j]],s1=mix[state[j+1]],s2=mix[state[j+2]],s3=mix[state[j+3]];t=s0^s1>>>8^s1<<24^s2>>>16^s2<<16^s3>>>24^s3<<8,state[j]=t>>>24&255,state[j+1]=t>>16&255,state[j+2]=t>>8&255,state[j+3]=255&t}}for(t=state[13],state[13]=state[9],state[9]=state[5],state[5]=state[1],state[1]=t,t=state[14],u=state[10],state[14]=state[6],state[10]=state[2],state[6]=t,state[2]=u,t=state[15],u=state[11],v=state[7],state[15]=state[3],state[11]=t,state[7]=u,state[3]=v,j=0;16>j;++j)state[j]=inv_s[state[j]],state[j]^=key[j];return state}function encrypt128(input,key){var t,u,v,k,state=new Uint8Array(16);for(state.set(input),j=0;16>j;++j)state[j]^=key[j];for(i=1;10>i;i++){for(j=0;16>j;++j)state[j]=s[state[j]];v=state[1],state[1]=state[5],state[5]=state[9],state[9]=state[13],state[13]=v,v=state[2],u=state[6],state[2]=state[10],state[6]=state[14],state[10]=v,state[14]=u,v=state[3],u=state[7],t=state[11],state[3]=state[15],state[7]=v,state[11]=u,state[15]=t;for(var j=0;16>j;j+=4){var s0=state[j+0],s1=state[j+1],s2=state[j+2],s3=state[j+3];t=s0^s1^s2^s3,state[j+0]^=t^mixCol[s0^s1],state[j+1]^=t^mixCol[s1^s2],state[j+2]^=t^mixCol[s2^s3],state[j+3]^=t^mixCol[s3^s0]}for(j=0,k=16*i;16>j;++j,++k)state[j]^=key[k]}for(j=0;16>j;++j)state[j]=s[state[j]];for(v=state[1],state[1]=state[5],state[5]=state[9],state[9]=state[13],state[13]=v,v=state[2],u=state[6],state[2]=state[10],state[6]=state[14],state[10]=v,state[14]=u,v=state[3],u=state[7],t=state[11],state[3]=state[15],state[7]=v,state[11]=u,state[15]=t,j=0,k=160;16>j;++j,++k)state[j]^=key[k];return state}function AES128Cipher(key){this.key=expandKey128(key),this.buffer=new Uint8Array(16),this.bufferPosition=0}function decryptBlock2(data,finalize){var i,j,ii,sourceLength=data.length,buffer=this.buffer,bufferLength=this.bufferPosition,result=[],iv=this.iv;for(i=0;sourceLength>i;++i)if(buffer[bufferLength]=data[i],++bufferLength,!(16>bufferLength)){var plain=decrypt128(buffer,this.key);for(j=0;16>j;++j)plain[j]^=iv[j];iv=buffer,result.push(plain),buffer=new Uint8Array(16),bufferLength=0}if(this.buffer=buffer,this.bufferLength=bufferLength,this.iv=iv,0===result.length)return new Uint8Array([]);var outputLength=16*result.length;if(finalize){var lastBlock=result[result.length-1],psLen=lastBlock[15];if(16>=psLen){for(i=15,ii=16-psLen;i>=ii;--i)if(lastBlock[i]!==psLen){psLen=0;break}outputLength-=psLen,result[result.length-1]=lastBlock.subarray(0,16-psLen)}}var output=new Uint8Array(outputLength);for(i=0,j=0,ii=result.length;ii>i;++i,j+=16)output.set(result[i],j);return output}for(var rcon=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),s=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),inv_s=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),mixCol=new Uint8Array(256),i=0;256>i;i++)mixCol[i]=128>i?i<<1:i<<1^27;var mix=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return AES128Cipher.prototype={decryptBlock:function(data,finalize){var i,sourceLength=data.length,buffer=this.buffer,bufferLength=this.bufferPosition;for(i=0;16>bufferLength&&sourceLength>i;++i,++bufferLength)buffer[bufferLength]=data[i];return 16>bufferLength?(this.bufferLength=bufferLength,new Uint8Array([])):(this.iv=buffer,this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=decryptBlock2,this.decryptBlock(data.subarray(16),finalize))},encrypt:function(data,iv){var i,j,ii,sourceLength=data.length,buffer=this.buffer,bufferLength=this.bufferPosition,result=[];for(iv||(iv=new Uint8Array(16)),i=0;sourceLength>i;++i)if(buffer[bufferLength]=data[i],++bufferLength,!(16>bufferLength)){for(j=0;16>j;++j)buffer[j]^=iv[j];var cipher=encrypt128(buffer,this.key);iv=cipher,result.push(cipher),buffer=new Uint8Array(16),bufferLength=0}if(this.buffer=buffer,this.bufferLength=bufferLength,this.iv=iv,0===result.length)return new Uint8Array([]);var outputLength=16*result.length,output=new Uint8Array(outputLength);for(i=0,j=0,ii=result.length;ii>i;++i,j+=16)output.set(result[i],j);return output}},AES128Cipher}(),AES256Cipher=function(){function expandKey256(cipherKey){var b=240,result=new Uint8Array(b),r=1;result.set(cipherKey);for(var j=32,i=1;b>j;++i){if(j%32===16)t1=s[t1],t2=s[t2],t3=s[t3],t4=s[t4];else if(j%32===0){var t1=result[j-3],t2=result[j-2],t3=result[j-1],t4=result[j-4];t1=s[t1],t2=s[t2],t3=s[t3],t4=s[t4],t1^=r,(r<<=1)>=256&&(r=255&(27^r))}for(var n=0;4>n;++n)result[j]=t1^=result[j-32],j++,result[j]=t2^=result[j-32],j++,result[j]=t3^=result[j-32],j++,result[j]=t4^=result[j-32],j++}return result}function decrypt256(input,key){var state=new Uint8Array(16);state.set(input);var i,j,k,t,u,v;for(j=0,k=224;16>j;++j,++k)state[j]^=key[k];for(i=13;i>=1;--i){for(t=state[13],state[13]=state[9],state[9]=state[5],state[5]=state[1],state[1]=t,t=state[14],u=state[10],state[14]=state[6],state[10]=state[2],state[6]=t,state[2]=u,t=state[15],u=state[11],v=state[7],state[15]=state[3],state[11]=t,state[7]=u,state[3]=v,j=0;16>j;++j)state[j]=inv_s[state[j]];for(j=0,k=16*i;16>j;++j,++k)state[j]^=key[k];for(j=0;16>j;j+=4){var s0=mix[state[j]],s1=mix[state[j+1]],s2=mix[state[j+2]],s3=mix[state[j+3]];t=s0^s1>>>8^s1<<24^s2>>>16^s2<<16^s3>>>24^s3<<8,state[j]=t>>>24&255,state[j+1]=t>>16&255,state[j+2]=t>>8&255,state[j+3]=255&t}}for(t=state[13],state[13]=state[9],state[9]=state[5],state[5]=state[1],state[1]=t,t=state[14],u=state[10],state[14]=state[6],state[10]=state[2],state[6]=t,state[2]=u,t=state[15],u=state[11],v=state[7],state[15]=state[3],state[11]=t,state[7]=u,state[3]=v,j=0;16>j;++j)state[j]=inv_s[state[j]],state[j]^=key[j];return state}function encrypt256(input,key){var t,u,v,k,state=new Uint8Array(16);for(state.set(input),j=0;16>j;++j)state[j]^=key[j];for(i=1;14>i;i++){for(j=0;16>j;++j)state[j]=s[state[j]];v=state[1],state[1]=state[5],state[5]=state[9],state[9]=state[13],state[13]=v,v=state[2],u=state[6],state[2]=state[10],state[6]=state[14],state[10]=v,state[14]=u,v=state[3],u=state[7],t=state[11],state[3]=state[15],state[7]=v,state[11]=u,state[15]=t;for(var j=0;16>j;j+=4){var s0=state[j+0],s1=state[j+1],s2=state[j+2],s3=state[j+3];t=s0^s1^s2^s3,state[j+0]^=t^mixCol[s0^s1],state[j+1]^=t^mixCol[s1^s2],state[j+2]^=t^mixCol[s2^s3],state[j+3]^=t^mixCol[s3^s0]}for(j=0,k=16*i;16>j;++j,++k)state[j]^=key[k]}for(j=0;16>j;++j)state[j]=s[state[j]];for(v=state[1],state[1]=state[5],state[5]=state[9],state[9]=state[13],state[13]=v,v=state[2],u=state[6],state[2]=state[10],state[6]=state[14],state[10]=v,state[14]=u,v=state[3],u=state[7],t=state[11],state[3]=state[15],state[7]=v,state[11]=u,state[15]=t,j=0,k=224;16>j;++j,++k)state[j]^=key[k];return state}function AES256Cipher(key){this.key=expandKey256(key),this.buffer=new Uint8Array(16),this.bufferPosition=0}function decryptBlock2(data,finalize){var i,j,ii,sourceLength=data.length,buffer=this.buffer,bufferLength=this.bufferPosition,result=[],iv=this.iv;for(i=0;sourceLength>i;++i)if(buffer[bufferLength]=data[i],++bufferLength,!(16>bufferLength)){var plain=decrypt256(buffer,this.key);for(j=0;16>j;++j)plain[j]^=iv[j];iv=buffer,result.push(plain),buffer=new Uint8Array(16),bufferLength=0}if(this.buffer=buffer,this.bufferLength=bufferLength,this.iv=iv,0===result.length)return new Uint8Array([]);var outputLength=16*result.length;if(finalize){var lastBlock=result[result.length-1],psLen=lastBlock[15];if(16>=psLen){for(i=15,ii=16-psLen;i>=ii;--i)if(lastBlock[i]!==psLen){psLen=0;break}outputLength-=psLen,result[result.length-1]=lastBlock.subarray(0,16-psLen)}}var output=new Uint8Array(outputLength);for(i=0,j=0,ii=result.length;ii>i;++i,j+=16)output.set(result[i],j);return output}for(var s=(new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]),new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22])),inv_s=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),mixCol=new Uint8Array(256),i=0;256>i;i++)mixCol[i]=128>i?i<<1:i<<1^27;
+var mix=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);return AES256Cipher.prototype={decryptBlock:function(data,finalize,iv){var i,sourceLength=data.length,buffer=this.buffer,bufferLength=this.bufferPosition;if(iv)this.iv=iv;else{for(i=0;16>bufferLength&&sourceLength>i;++i,++bufferLength)buffer[bufferLength]=data[i];if(16>bufferLength)return this.bufferLength=bufferLength,new Uint8Array([]);this.iv=buffer,data=data.subarray(16)}return this.buffer=new Uint8Array(16),this.bufferLength=0,this.decryptBlock=decryptBlock2,this.decryptBlock(data,finalize)},encrypt:function(data,iv){var i,j,ii,sourceLength=data.length,buffer=this.buffer,bufferLength=this.bufferPosition,result=[];for(iv||(iv=new Uint8Array(16)),i=0;sourceLength>i;++i)if(buffer[bufferLength]=data[i],++bufferLength,!(16>bufferLength)){for(j=0;16>j;++j)buffer[j]^=iv[j];var cipher=encrypt256(buffer,this.key);this.iv=cipher,result.push(cipher),buffer=new Uint8Array(16),bufferLength=0}if(this.buffer=buffer,this.bufferLength=bufferLength,this.iv=iv,0===result.length)return new Uint8Array([]);var outputLength=16*result.length,output=new Uint8Array(outputLength);for(i=0,j=0,ii=result.length;ii>i;++i,j+=16)output.set(result[i],j);return output}},AES256Cipher}(),PDF17=function(){function compareByteArrays(array1,array2){if(array1.length!==array2.length)return!1;for(var i=0;i<array1.length;i++)if(array1[i]!==array2[i])return!1;return!0}function PDF17(){}return PDF17.prototype={checkOwnerPassword:function(password,ownerValidationSalt,userBytes,ownerPassword){var hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerValidationSalt,password.length),hashData.set(userBytes,password.length+ownerValidationSalt.length);var result=calculateSHA256(hashData,0,hashData.length);return compareByteArrays(result,ownerPassword)},checkUserPassword:function(password,userValidationSalt,userPassword){var hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userValidationSalt,password.length);var result=calculateSHA256(hashData,0,hashData.length);return compareByteArrays(result,userPassword)},getOwnerKey:function(password,ownerKeySalt,userBytes,ownerEncryption){var hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerKeySalt,password.length),hashData.set(userBytes,password.length+ownerKeySalt.length);var key=calculateSHA256(hashData,0,hashData.length),cipher=new AES256Cipher(key);return cipher.decryptBlock(ownerEncryption,!1,new Uint8Array(16))},getUserKey:function(password,userKeySalt,userEncryption){var hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userKeySalt,password.length);var key=calculateSHA256(hashData,0,hashData.length),cipher=new AES256Cipher(key);return cipher.decryptBlock(userEncryption,!1,new Uint8Array(16))}},PDF17}(),PDF20=function(){function concatArrays(array1,array2){var t=new Uint8Array(array1.length+array2.length);return t.set(array1,0),t.set(array2,array1.length),t}function calculatePDF20Hash(password,input,userBytes){for(var k=calculateSHA256(input,0,input.length).subarray(0,32),e=[0],i=0;64>i||e[e.length-1]>i-32;){var arrayLength=password.length+k.length+userBytes.length,k1=new Uint8Array(64*arrayLength),array=concatArrays(password,k);array=concatArrays(array,userBytes);for(var j=0,pos=0;64>j;j++,pos+=arrayLength)k1.set(array,pos);var cipher=new AES128Cipher(k.subarray(0,16));e=cipher.encrypt(k1,k.subarray(16,32));for(var remainder=0,z=0;16>z;z++)remainder*=1,remainder%=3,remainder+=(e[z]>>>0)%3,remainder%=3;0===remainder?k=calculateSHA256(e,0,e.length):1===remainder?k=calculateSHA384(e,0,e.length):2===remainder&&(k=calculateSHA512(e,0,e.length)),i++}return k.subarray(0,32)}function PDF20(){}function compareByteArrays(array1,array2){if(array1.length!==array2.length)return!1;for(var i=0;i<array1.length;i++)if(array1[i]!==array2[i])return!1;return!0}return PDF20.prototype={hash:function(password,concatBytes,userBytes){return calculatePDF20Hash(password,concatBytes,userBytes)},checkOwnerPassword:function(password,ownerValidationSalt,userBytes,ownerPassword){var hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerValidationSalt,password.length),hashData.set(userBytes,password.length+ownerValidationSalt.length);var result=calculatePDF20Hash(password,hashData,userBytes);return compareByteArrays(result,ownerPassword)},checkUserPassword:function(password,userValidationSalt,userPassword){var hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userValidationSalt,password.length);var result=calculatePDF20Hash(password,hashData,[]);return compareByteArrays(result,userPassword)},getOwnerKey:function(password,ownerKeySalt,userBytes,ownerEncryption){var hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerKeySalt,password.length),hashData.set(userBytes,password.length+ownerKeySalt.length);var key=calculatePDF20Hash(password,hashData,userBytes),cipher=new AES256Cipher(key);return cipher.decryptBlock(ownerEncryption,!1,new Uint8Array(16))},getUserKey:function(password,userKeySalt,userEncryption){var hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userKeySalt,password.length);var key=calculatePDF20Hash(password,hashData,[]),cipher=new AES256Cipher(key);return cipher.decryptBlock(userEncryption,!1,new Uint8Array(16))}},PDF20}(),CipherTransform=function(){function CipherTransform(stringCipherConstructor,streamCipherConstructor){this.stringCipherConstructor=stringCipherConstructor,this.streamCipherConstructor=streamCipherConstructor}return CipherTransform.prototype={createStream:function(stream,length){var cipher=new this.streamCipherConstructor;return new DecryptStream(stream,length,function(data,finalize){return cipher.decryptBlock(data,finalize)})},decryptString:function(s){var cipher=new this.stringCipherConstructor,data=stringToBytes(s);return data=cipher.decryptBlock(data,!0),bytesToString(data)}},CipherTransform}(),CipherTransformFactory=function(){function createEncryptionKey20(revision,password,ownerPassword,ownerValidationSalt,ownerKeySalt,uBytes,userPassword,userValidationSalt,userKeySalt,ownerEncryption,userEncryption){if(password){var passwordLength=Math.min(127,password.length);password=password.subarray(0,passwordLength)}else password=[];var pdfAlgorithm;if(pdfAlgorithm=6===revision?new PDF20:new PDF17){if(pdfAlgorithm.checkUserPassword(password,userValidationSalt,userPassword))return pdfAlgorithm.getUserKey(password,userKeySalt,userEncryption);if(pdfAlgorithm.checkOwnerPassword(password,ownerValidationSalt,uBytes,ownerPassword))return pdfAlgorithm.getOwnerKey(password,ownerKeySalt,uBytes,ownerEncryption)}return null}function prepareKeyData(fileId,password,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata){var j,n,hashDataSize=40+ownerPassword.length+fileId.length,hashData=new Uint8Array(hashDataSize),i=0;if(password)for(n=Math.min(32,password.length);n>i;++i)hashData[i]=password[i];for(j=0;32>i;)hashData[i++]=defaultPasswordBytes[j++];for(j=0,n=ownerPassword.length;n>j;++j)hashData[i++]=ownerPassword[j];for(hashData[i++]=255&flags,hashData[i++]=flags>>8&255,hashData[i++]=flags>>16&255,hashData[i++]=flags>>>24&255,j=0,n=fileId.length;n>j;++j)hashData[i++]=fileId[j];revision>=4&&!encryptMetadata&&(hashData[i++]=255,hashData[i++]=255,hashData[i++]=255,hashData[i++]=255);var hash=calculateMD5(hashData,0,i),keyLengthInBytes=keyLength>>3;if(revision>=3)for(j=0;50>j;++j)hash=calculateMD5(hash,0,keyLengthInBytes);var cipher,checkData,encryptionKey=hash.subarray(0,keyLengthInBytes);if(revision>=3){for(i=0;32>i;++i)hashData[i]=defaultPasswordBytes[i];for(j=0,n=fileId.length;n>j;++j)hashData[i++]=fileId[j];cipher=new ARCFourCipher(encryptionKey),checkData=cipher.encryptBlock(calculateMD5(hashData,0,i)),n=encryptionKey.length;var k,derivedKey=new Uint8Array(n);for(j=1;19>=j;++j){for(k=0;n>k;++k)derivedKey[k]=encryptionKey[k]^j;cipher=new ARCFourCipher(derivedKey),checkData=cipher.encryptBlock(checkData)}for(j=0,n=checkData.length;n>j;++j)if(userPassword[j]!==checkData[j])return null}else for(cipher=new ARCFourCipher(encryptionKey),checkData=cipher.encryptBlock(defaultPasswordBytes),j=0,n=checkData.length;n>j;++j)if(userPassword[j]!==checkData[j])return null;return encryptionKey}function decodeUserPassword(password,ownerPassword,revision,keyLength){var j,n,hashData=new Uint8Array(32),i=0;for(n=Math.min(32,password.length);n>i;++i)hashData[i]=password[i];for(j=0;32>i;)hashData[i++]=defaultPasswordBytes[j++];var hash=calculateMD5(hashData,0,i),keyLengthInBytes=keyLength>>3;if(revision>=3)for(j=0;50>j;++j)hash=calculateMD5(hash,0,hash.length);var cipher,userPassword;if(revision>=3){userPassword=ownerPassword;var k,derivedKey=new Uint8Array(keyLengthInBytes);for(j=19;j>=0;j--){for(k=0;keyLengthInBytes>k;++k)derivedKey[k]=hash[k]^j;cipher=new ARCFourCipher(derivedKey),userPassword=cipher.encryptBlock(userPassword)}}else cipher=new ARCFourCipher(hash.subarray(0,keyLengthInBytes)),userPassword=cipher.encryptBlock(ownerPassword);return userPassword}function CipherTransformFactory(dict,fileId,password){var filter=dict.get("Filter");isName(filter)&&"Standard"===filter.name||error("unknown encryption method"),this.dict=dict;var algorithm=dict.get("V");(!isInt(algorithm)||1!==algorithm&&2!==algorithm&&4!==algorithm&&5!==algorithm)&&error("unsupported encryption algorithm"),this.algorithm=algorithm;var keyLength=dict.get("Length")||40;(!isInt(keyLength)||40>keyLength||keyLength%8!==0)&&error("invalid key length");var ownerPassword=stringToBytes(dict.get("O")).subarray(0,32),userPassword=stringToBytes(dict.get("U")).subarray(0,32),flags=dict.get("P"),revision=dict.get("R"),encryptMetadata=(4===algorithm||5===algorithm)&&dict.get("EncryptMetadata")!==!1;this.encryptMetadata=encryptMetadata;var passwordBytes,fileIdBytes=stringToBytes(fileId);password&&(passwordBytes=stringToBytes(password));var encryptionKey;if(5!==algorithm)encryptionKey=prepareKeyData(fileIdBytes,passwordBytes,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata);else{var ownerValidationSalt=stringToBytes(dict.get("O")).subarray(32,40),ownerKeySalt=stringToBytes(dict.get("O")).subarray(40,48),uBytes=stringToBytes(dict.get("U")).subarray(0,48),userValidationSalt=stringToBytes(dict.get("U")).subarray(32,40),userKeySalt=stringToBytes(dict.get("U")).subarray(40,48),ownerEncryption=stringToBytes(dict.get("OE")),userEncryption=stringToBytes(dict.get("UE")),perms=stringToBytes(dict.get("Perms"));encryptionKey=createEncryptionKey20(revision,passwordBytes,ownerPassword,ownerValidationSalt,ownerKeySalt,uBytes,userPassword,userValidationSalt,userKeySalt,ownerEncryption,userEncryption,perms)}if(!encryptionKey&&!password)throw new PasswordException("No password given",PasswordResponses.NEED_PASSWORD);if(!encryptionKey&&password){var decodedPassword=decodeUserPassword(passwordBytes,ownerPassword,revision,keyLength);encryptionKey=prepareKeyData(fileIdBytes,decodedPassword,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata)}if(!encryptionKey)throw new PasswordException("Incorrect Password",PasswordResponses.INCORRECT_PASSWORD);this.encryptionKey=encryptionKey,algorithm>=4&&(this.cf=dict.get("CF"),this.stmf=dict.get("StmF")||identityName,this.strf=dict.get("StrF")||identityName,this.eff=dict.get("EFF")||this.strf)}function buildObjectKey(num,gen,encryptionKey,isAes){var i,n,key=new Uint8Array(encryptionKey.length+9);for(i=0,n=encryptionKey.length;n>i;++i)key[i]=encryptionKey[i];key[i++]=255&num,key[i++]=num>>8&255,key[i++]=num>>16&255,key[i++]=255&gen,key[i++]=gen>>8&255,isAes&&(key[i++]=115,key[i++]=65,key[i++]=108,key[i++]=84);var hash=calculateMD5(key,0,i);return hash.subarray(0,Math.min(encryptionKey.length+5,16))}function buildCipherConstructor(cf,name,num,gen,key){var cfm,cryptFilter=cf.get(name.name);return null!==cryptFilter&&void 0!==cryptFilter&&(cfm=cryptFilter.get("CFM")),cfm&&"None"!==cfm.name?"V2"===cfm.name?function(){return new ARCFourCipher(buildObjectKey(num,gen,key,!1))}:"AESV2"===cfm.name?function(){return new AES128Cipher(buildObjectKey(num,gen,key,!0))}:"AESV3"===cfm.name?function(){return new AES256Cipher(key)}:void error("Unknown crypto method"):function(){return new NullCipher}}var defaultPasswordBytes=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]),identityName=Name.get("Identity");return CipherTransformFactory.prototype={createCipherTransform:function(num,gen){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(buildCipherConstructor(this.cf,this.stmf,num,gen,this.encryptionKey),buildCipherConstructor(this.cf,this.strf,num,gen,this.encryptionKey));var key=buildObjectKey(num,gen,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(key)};return new CipherTransform(cipherConstructor,cipherConstructor)}},CipherTransformFactory}(),PatternType={FUNCTION_BASED:1,AXIAL:2,RADIAL:3,FREE_FORM_MESH:4,LATTICE_FORM_MESH:5,COONS_PATCH_MESH:6,TENSOR_PATCH_MESH:7},Pattern=function(){function Pattern(){error("should not call Pattern constructor")}return Pattern.prototype={getPattern:function(ctx){error("Should not call Pattern.getStyle: "+ctx)}},Pattern.parseShading=function(shading,matrix,xref,res){var dict=isStream(shading)?shading.dict:shading,type=dict.get("ShadingType");switch(type){case PatternType.AXIAL:case PatternType.RADIAL:return new Shadings.RadialAxial(dict,matrix,xref,res);case PatternType.FREE_FORM_MESH:case PatternType.LATTICE_FORM_MESH:case PatternType.COONS_PATCH_MESH:case PatternType.TENSOR_PATCH_MESH:return new Shadings.Mesh(shading,matrix,xref,res);default:return UnsupportedManager.notify(UNSUPPORTED_FEATURES.shadingPattern),new Shadings.Dummy}},Pattern}(),Shadings={};Shadings.SMALL_NUMBER=.01,Shadings.RadialAxial=function(){function RadialAxial(dict,matrix,xref,res){this.matrix=matrix,this.coordsArr=dict.get("Coords"),this.shadingType=dict.get("ShadingType"),this.type="Pattern";var cs=dict.get("ColorSpace","CS");cs=ColorSpace.parse(cs,xref,res),this.cs=cs;var t0=0,t1=1;if(dict.has("Domain")){var domainArr=dict.get("Domain");t0=domainArr[0],t1=domainArr[1]}var extendStart=!1,extendEnd=!1;if(dict.has("Extend")){var extendArr=dict.get("Extend");extendStart=extendArr[0],extendEnd=extendArr[1]}if(!(this.shadingType!==PatternType.RADIAL||extendStart&&extendEnd)){var x1=this.coordsArr[0],y1=this.coordsArr[1],r1=this.coordsArr[2],x2=this.coordsArr[3],y2=this.coordsArr[4],r2=this.coordsArr[5],distance=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));r2+distance>=r1&&r1+distance>=r2&&warn("Unsupported radial gradient.")}this.extendStart=extendStart,this.extendEnd=extendEnd;var fnObj=dict.get("Function"),fn=PDFFunction.parseArray(xref,fnObj),diff=t1-t0,step=diff/10,colorStops=this.colorStops=[];if(t0>=t1||0>=step)return void info("Bad shading domain.");for(var rgbColor,color=new Float32Array(cs.numComps),ratio=new Float32Array(1),i=t0;t1>=i;i+=step){ratio[0]=i,fn(ratio,0,color,0),rgbColor=cs.getRgb(color,0);var cssColor=Util.makeCssRgb(rgbColor);colorStops.push([(i-t0)/diff,cssColor])}var background="transparent";dict.has("Background")&&(rgbColor=cs.getRgb(dict.get("Background"),0),background=Util.makeCssRgb(rgbColor)),extendStart||(colorStops.unshift([0,background]),colorStops[1][0]+=Shadings.SMALL_NUMBER),extendEnd||(colorStops[colorStops.length-1][0]-=Shadings.SMALL_NUMBER,colorStops.push([1,background])),this.colorStops=colorStops}return RadialAxial.prototype={getIR:function(){var type,p0,p1,r0,r1,coordsArr=this.coordsArr,shadingType=this.shadingType;shadingType===PatternType.AXIAL?(p0=[coordsArr[0],coordsArr[1]],p1=[coordsArr[2],coordsArr[3]],r0=null,r1=null,type="axial"):shadingType===PatternType.RADIAL?(p0=[coordsArr[0],coordsArr[1]],p1=[coordsArr[3],coordsArr[4]],r0=coordsArr[2],r1=coordsArr[5],type="radial"):error("getPattern type unknown: "+shadingType);var matrix=this.matrix;return matrix&&(p0=Util.applyTransform(p0,matrix),p1=Util.applyTransform(p1,matrix)),["RadialAxial",type,this.colorStops,p0,p1,r0,r1]}},RadialAxial}(),Shadings.Mesh=function(){function MeshStreamReader(stream,context){this.stream=stream,this.context=context,this.buffer=0,this.bufferLength=0;var numComps=context.numComps;this.tmpCompsBuf=new Float32Array(numComps);var csNumComps=context.colorSpace;this.tmpCsCompsBuf=context.colorFn?new Float32Array(csNumComps):this.tmpCompsBuf}function decodeType4Shading(mesh,reader){for(var coords=mesh.coords,colors=mesh.colors,operators=[],ps=[],verticesLeft=0;reader.hasData;){var f=reader.readFlag(),coord=reader.readCoordinate(),color=reader.readComponents();if(0===verticesLeft){switch(assert(f>=0&&2>=f,"Unknown type4 flag"),f){case 0:verticesLeft=3;break;case 1:ps.push(ps[ps.length-2],ps[ps.length-1]),verticesLeft=1;break;case 2:ps.push(ps[ps.length-3],ps[ps.length-1]),verticesLeft=1}operators.push(f)}ps.push(coords.length),coords.push(coord),colors.push(color),verticesLeft--,reader.align()}var psPacked=new Int32Array(ps);mesh.figures.push({type:"triangles",coords:psPacked,colors:psPacked})}function decodeType5Shading(mesh,reader,verticesPerRow){for(var coords=mesh.coords,colors=mesh.colors,ps=[];reader.hasData;){var coord=reader.readCoordinate(),color=reader.readComponents();ps.push(coords.length),coords.push(coord),colors.push(color)}var psPacked=new Int32Array(ps);mesh.figures.push({type:"lattice",coords:psPacked,colors:psPacked,verticesPerRow:verticesPerRow})}function buildFigureFromPatch(mesh,index){var figure=mesh.figures[index];assert("patch"===figure.type,"Unexpected patch mesh figure");var coords=mesh.coords,colors=mesh.colors,pi=figure.coords,ci=figure.colors,figureMinX=Math.min(coords[pi[0]][0],coords[pi[3]][0],coords[pi[12]][0],coords[pi[15]][0]),figureMinY=Math.min(coords[pi[0]][1],coords[pi[3]][1],coords[pi[12]][1],coords[pi[15]][1]),figureMaxX=Math.max(coords[pi[0]][0],coords[pi[3]][0],coords[pi[12]][0],coords[pi[15]][0]),figureMaxY=Math.max(coords[pi[0]][1],coords[pi[3]][1],coords[pi[12]][1],coords[pi[15]][1]),splitXBy=Math.ceil((figureMaxX-figureMinX)*TRIANGLE_DENSITY/(mesh.bounds[2]-mesh.bounds[0]));splitXBy=Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT,splitXBy));var splitYBy=Math.ceil((figureMaxY-figureMinY)*TRIANGLE_DENSITY/(mesh.bounds[3]-mesh.bounds[1]));splitYBy=Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT,splitYBy));for(var verticesPerRow=splitXBy+1,figureCoords=new Int32Array((splitYBy+1)*verticesPerRow),figureColors=new Int32Array((splitYBy+1)*verticesPerRow),k=0,cl=new Uint8Array(3),cr=new Uint8Array(3),c0=colors[ci[0]],c1=colors[ci[1]],c2=colors[ci[2]],c3=colors[ci[3]],bRow=getB(splitYBy),bCol=getB(splitXBy),row=0;splitYBy>=row;row++){cl[0]=(c0[0]*(splitYBy-row)+c2[0]*row)/splitYBy|0,cl[1]=(c0[1]*(splitYBy-row)+c2[1]*row)/splitYBy|0,cl[2]=(c0[2]*(splitYBy-row)+c2[2]*row)/splitYBy|0,cr[0]=(c1[0]*(splitYBy-row)+c3[0]*row)/splitYBy|0,cr[1]=(c1[1]*(splitYBy-row)+c3[1]*row)/splitYBy|0,cr[2]=(c1[2]*(splitYBy-row)+c3[2]*row)/splitYBy|0;for(var col=0;splitXBy>=col;col++,k++)if(0!==row&&row!==splitYBy||0!==col&&col!==splitXBy){for(var x=0,y=0,q=0,i=0;3>=i;i++)for(var j=0;3>=j;j++,q++){var m=bRow[row][i]*bCol[col][j];x+=coords[pi[q]][0]*m,y+=coords[pi[q]][1]*m}figureCoords[k]=coords.length,coords.push([x,y]),figureColors[k]=colors.length;var newColor=new Uint8Array(3);newColor[0]=(cl[0]*(splitXBy-col)+cr[0]*col)/splitXBy|0,newColor[1]=(cl[1]*(splitXBy-col)+cr[1]*col)/splitXBy|0,newColor[2]=(cl[2]*(splitXBy-col)+cr[2]*col)/splitXBy|0,colors.push(newColor)}}figureCoords[0]=pi[0],figureColors[0]=ci[0],figureCoords[splitXBy]=pi[3],figureColors[splitXBy]=ci[1],figureCoords[verticesPerRow*splitYBy]=pi[12],figureColors[verticesPerRow*splitYBy]=ci[2],figureCoords[verticesPerRow*splitYBy+splitXBy]=pi[15],figureColors[verticesPerRow*splitYBy+splitXBy]=ci[3],mesh.figures[index]={type:"lattice",coords:figureCoords,colors:figureColors,verticesPerRow:verticesPerRow}}function decodeType6Shading(mesh,reader){for(var coords=mesh.coords,colors=mesh.colors,ps=new Int32Array(16),cs=new Int32Array(4);reader.hasData;){var f=reader.readFlag();assert(f>=0&&3>=f,"Unknown type6 flag");var i,ii,pi=coords.length;for(i=0,ii=0!==f?8:12;ii>i;i++)coords.push(reader.readCoordinate());var ci=colors.length;for(i=0,ii=0!==f?2:4;ii>i;i++)colors.push(reader.readComponents());var tmp1,tmp2,tmp3,tmp4;switch(f){case 0:ps[12]=pi+3,ps[13]=pi+4,ps[14]=pi+5,ps[15]=pi+6,ps[8]=pi+2,ps[11]=pi+7,ps[4]=pi+1,ps[7]=pi+8,ps[0]=pi,ps[1]=pi+11,ps[2]=pi+10,ps[3]=pi+9,cs[2]=ci+1,cs[3]=ci+2,cs[0]=ci,cs[1]=ci+3;break;case 1:tmp1=ps[12],tmp2=ps[13],tmp3=ps[14],tmp4=ps[15],ps[12]=pi+5,ps[13]=pi+4,ps[14]=pi+3,ps[15]=pi+2,ps[8]=pi+6,ps[11]=pi+1,ps[4]=pi+7,ps[7]=pi,ps[0]=tmp1,ps[1]=tmp2,ps[2]=tmp3,ps[3]=tmp4,tmp1=cs[2],tmp2=cs[3],cs[2]=ci+1,cs[3]=ci,cs[0]=tmp1,cs[1]=tmp2;break;case 2:ps[12]=ps[15],ps[13]=pi+7,ps[14]=pi+6,ps[15]=pi+5,ps[8]=ps[11],ps[11]=pi+4,ps[4]=ps[7],ps[7]=pi+3,ps[0]=ps[3],ps[1]=pi,ps[2]=pi+1,ps[3]=pi+2,cs[2]=cs[3],cs[3]=ci+1,cs[0]=cs[1],cs[1]=ci;break;case 3:ps[12]=ps[0],ps[13]=ps[1],ps[14]=ps[2],ps[15]=ps[3],ps[8]=pi,ps[11]=pi+7,ps[4]=pi+1,ps[7]=pi+6,ps[0]=pi+2,ps[1]=pi+3,ps[2]=pi+4,ps[3]=pi+5,cs[2]=cs[0],cs[3]=cs[1],cs[0]=ci,cs[1]=ci+1}ps[5]=coords.length,coords.push([(-4*coords[ps[0]][0]-coords[ps[15]][0]+6*(coords[ps[4]][0]+coords[ps[1]][0])-2*(coords[ps[12]][0]+coords[ps[3]][0])+3*(coords[ps[13]][0]+coords[ps[7]][0]))/9,(-4*coords[ps[0]][1]-coords[ps[15]][1]+6*(coords[ps[4]][1]+coords[ps[1]][1])-2*(coords[ps[12]][1]+coords[ps[3]][1])+3*(coords[ps[13]][1]+coords[ps[7]][1]))/9]),ps[6]=coords.length,coords.push([(-4*coords[ps[3]][0]-coords[ps[12]][0]+6*(coords[ps[2]][0]+coords[ps[7]][0])-2*(coords[ps[0]][0]+coords[ps[15]][0])+3*(coords[ps[4]][0]+coords[ps[14]][0]))/9,(-4*coords[ps[3]][1]-coords[ps[12]][1]+6*(coords[ps[2]][1]+coords[ps[7]][1])-2*(coords[ps[0]][1]+coords[ps[15]][1])+3*(coords[ps[4]][1]+coords[ps[14]][1]))/9]),ps[9]=coords.length,coords.push([(-4*coords[ps[12]][0]-coords[ps[3]][0]+6*(coords[ps[8]][0]+coords[ps[13]][0])-2*(coords[ps[0]][0]+coords[ps[15]][0])+3*(coords[ps[11]][0]+coords[ps[1]][0]))/9,(-4*coords[ps[12]][1]-coords[ps[3]][1]+6*(coords[ps[8]][1]+coords[ps[13]][1])-2*(coords[ps[0]][1]+coords[ps[15]][1])+3*(coords[ps[11]][1]+coords[ps[1]][1]))/9]),ps[10]=coords.length,coords.push([(-4*coords[ps[15]][0]-coords[ps[0]][0]+6*(coords[ps[11]][0]+coords[ps[14]][0])-2*(coords[ps[12]][0]+coords[ps[3]][0])+3*(coords[ps[2]][0]+coords[ps[8]][0]))/9,(-4*coords[ps[15]][1]-coords[ps[0]][1]+6*(coords[ps[11]][1]+coords[ps[14]][1])-2*(coords[ps[12]][1]+coords[ps[3]][1])+3*(coords[ps[2]][1]+coords[ps[8]][1]))/9]),mesh.figures.push({type:"patch",coords:new Int32Array(ps),colors:new Int32Array(cs)})}}function decodeType7Shading(mesh,reader){for(var coords=mesh.coords,colors=mesh.colors,ps=new Int32Array(16),cs=new Int32Array(4);reader.hasData;){var f=reader.readFlag();assert(f>=0&&3>=f,"Unknown type7 flag");var i,ii,pi=coords.length;for(i=0,ii=0!==f?12:16;ii>i;i++)coords.push(reader.readCoordinate());var ci=colors.length;for(i=0,ii=0!==f?2:4;ii>i;i++)colors.push(reader.readComponents());var tmp1,tmp2,tmp3,tmp4;switch(f){case 0:ps[12]=pi+3,ps[13]=pi+4,ps[14]=pi+5,ps[15]=pi+6,ps[8]=pi+2,ps[9]=pi+13,ps[10]=pi+14,ps[11]=pi+7,ps[4]=pi+1,ps[5]=pi+12,ps[6]=pi+15,ps[7]=pi+8,ps[0]=pi,ps[1]=pi+11,ps[2]=pi+10,ps[3]=pi+9,cs[2]=ci+1,cs[3]=ci+2,cs[0]=ci,cs[1]=ci+3;break;case 1:tmp1=ps[12],tmp2=ps[13],tmp3=ps[14],tmp4=ps[15],ps[12]=pi+5,ps[13]=pi+4,ps[14]=pi+3,ps[15]=pi+2,ps[8]=pi+6,ps[9]=pi+11,ps[10]=pi+10,ps[11]=pi+1,ps[4]=pi+7,ps[5]=pi+8,ps[6]=pi+9,ps[7]=pi,ps[0]=tmp1,ps[1]=tmp2,ps[2]=tmp3,ps[3]=tmp4,tmp1=cs[2],tmp2=cs[3],cs[2]=ci+1,cs[3]=ci,cs[0]=tmp1,cs[1]=tmp2;break;case 2:ps[12]=ps[15],ps[13]=pi+7,ps[14]=pi+6,ps[15]=pi+5,ps[8]=ps[11],ps[9]=pi+8,ps[10]=pi+11,ps[11]=pi+4,ps[4]=ps[7],ps[5]=pi+9,ps[6]=pi+10,ps[7]=pi+3,ps[0]=ps[3],ps[1]=pi,ps[2]=pi+1,ps[3]=pi+2,cs[2]=cs[3],cs[3]=ci+1,cs[0]=cs[1],cs[1]=ci;break;case 3:ps[12]=ps[0],ps[13]=ps[1],ps[14]=ps[2],ps[15]=ps[3],ps[8]=pi,ps[9]=pi+9,ps[10]=pi+8,ps[11]=pi+7,ps[4]=pi+1,ps[5]=pi+10,ps[6]=pi+11,ps[7]=pi+6,ps[0]=pi+2,ps[1]=pi+3,ps[2]=pi+4,ps[3]=pi+5,cs[2]=cs[0],cs[3]=cs[1],cs[0]=ci,cs[1]=ci+1}mesh.figures.push({type:"patch",coords:new Int32Array(ps),colors:new Int32Array(cs)})}}function updateBounds(mesh){for(var minX=mesh.coords[0][0],minY=mesh.coords[0][1],maxX=minX,maxY=minY,i=1,ii=mesh.coords.length;ii>i;i++){var x=mesh.coords[i][0],y=mesh.coords[i][1];minX=minX>x?x:minX,minY=minY>y?y:minY,maxX=x>maxX?x:maxX,maxY=y>maxY?y:maxY}mesh.bounds=[minX,minY,maxX,maxY]}function packData(mesh){var i,ii,j,jj,coords=mesh.coords,coordsPacked=new Float32Array(2*coords.length);for(i=0,j=0,ii=coords.length;ii>i;i++){var xy=coords[i];coordsPacked[j++]=xy[0],coordsPacked[j++]=xy[1]}mesh.coords=coordsPacked;var colors=mesh.colors,colorsPacked=new Uint8Array(3*colors.length);for(i=0,j=0,ii=colors.length;ii>i;i++){var c=colors[i];colorsPacked[j++]=c[0],colorsPacked[j++]=c[1],colorsPacked[j++]=c[2]}mesh.colors=colorsPacked;var figures=mesh.figures;for(i=0,ii=figures.length;ii>i;i++){var figure=figures[i],ps=figure.coords,cs=figure.colors;for(j=0,jj=ps.length;jj>j;j++)ps[j]*=2,cs[j]*=3}}function Mesh(stream,matrix,xref,res){assert(isStream(stream),"Mesh data is not a stream");var dict=stream.dict;this.matrix=matrix,this.shadingType=dict.get("ShadingType"),this.type="Pattern",this.bbox=dict.get("BBox");var cs=dict.get("ColorSpace","CS");cs=ColorSpace.parse(cs,xref,res),this.cs=cs,this.background=dict.has("Background")?cs.getRgb(dict.get("Background"),0):null;var fnObj=dict.get("Function"),fn=fnObj?PDFFunction.parseArray(xref,fnObj):null;this.coords=[],this.colors=[],this.figures=[];var decodeContext={bitsPerCoordinate:dict.get("BitsPerCoordinate"),bitsPerComponent:dict.get("BitsPerComponent"),bitsPerFlag:dict.get("BitsPerFlag"),decode:dict.get("Decode"),colorFn:fn,colorSpace:cs,numComps:fn?1:cs.numComps},reader=new MeshStreamReader(stream,decodeContext),patchMesh=!1;switch(this.shadingType){case PatternType.FREE_FORM_MESH:decodeType4Shading(this,reader);break;case PatternType.LATTICE_FORM_MESH:var verticesPerRow=0|dict.get("VerticesPerRow");assert(verticesPerRow>=2,"Invalid VerticesPerRow"),decodeType5Shading(this,reader,verticesPerRow);break;case PatternType.COONS_PATCH_MESH:decodeType6Shading(this,reader),patchMesh=!0;break;case PatternType.TENSOR_PATCH_MESH:decodeType7Shading(this,reader),patchMesh=!0;break;default:error("Unsupported mesh type.")}if(patchMesh){updateBounds(this);for(var i=0,ii=this.figures.length;ii>i;i++)buildFigureFromPatch(this,i)}updateBounds(this),packData(this)}MeshStreamReader.prototype={get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;var nextByte=this.stream.getByte();return 0>nextByte?!1:(this.buffer=nextByte,this.bufferLength=8,!0)},readBits:function(n){var buffer=this.buffer,bufferLength=this.bufferLength;if(32===n){if(0===bufferLength)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;buffer=buffer<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();var nextByte=this.stream.getByte();return this.buffer=nextByte&(1<<bufferLength)-1,(buffer<<8-bufferLength|(255&nextByte)>>bufferLength)>>>0}if(8===n&&0===bufferLength)return this.stream.getByte();for(;n>bufferLength;)buffer=buffer<<8|this.stream.getByte(),bufferLength+=8;return bufferLength-=n,this.bufferLength=bufferLength,this.buffer=buffer&(1<<bufferLength)-1,buffer>>bufferLength},align:function(){this.buffer=0,this.bufferLength=0},readFlag:function(){return this.readBits(this.context.bitsPerFlag)},readCoordinate:function(){var bitsPerCoordinate=this.context.bitsPerCoordinate,xi=this.readBits(bitsPerCoordinate),yi=this.readBits(bitsPerCoordinate),decode=this.context.decode,scale=32>bitsPerCoordinate?1/((1<<bitsPerCoordinate)-1):2.3283064365386963e-10;return[xi*scale*(decode[1]-decode[0])+decode[0],yi*scale*(decode[3]-decode[2])+decode[2]]},readComponents:function(){for(var numComps=this.context.numComps,bitsPerComponent=this.context.bitsPerComponent,scale=32>bitsPerComponent?1/((1<<bitsPerComponent)-1):2.3283064365386963e-10,decode=this.context.decode,components=this.tmpCompsBuf,i=0,j=4;numComps>i;i++,j+=2){var ci=this.readBits(bitsPerComponent);components[i]=ci*scale*(decode[j+1]-decode[j])+decode[j]}var color=this.tmpCsCompsBuf;return this.context.colorFn&&this.context.colorFn(components,0,color,0),this.context.colorSpace.getRgb(color,0)}};var MIN_SPLIT_PATCH_CHUNKS_AMOUNT=3,MAX_SPLIT_PATCH_CHUNKS_AMOUNT=20,TRIANGLE_DENSITY=20,getB=function(){function buildB(count){for(var lut=[],i=0;count>=i;i++){var t=i/count,t_=1-t;lut.push(new Float32Array([t_*t_*t_,3*t*t_*t_,3*t*t*t_,t*t*t]))}return lut}var cache=[];return function(count){return cache[count]||(cache[count]=buildB(count)),cache[count]}}();return Mesh.prototype={getIR:function(){return["Mesh",this.shadingType,this.coords,this.colors,this.figures,this.bounds,this.matrix,this.bbox,this.background]}},Mesh}(),Shadings.Dummy=function(){function Dummy(){this.type="Pattern"}return Dummy.prototype={getIR:function(){return["Dummy"]}},Dummy}();var PartialEvaluator=function(){function PartialEvaluator(pdfManager,xref,handler,pageIndex,uniquePrefix,idCounters,fontCache){this.pdfManager=pdfManager,this.xref=xref,this.handler=handler,this.pageIndex=pageIndex,this.uniquePrefix=uniquePrefix,this.idCounters=idCounters,this.fontCache=fontCache
+}function TimeSlotManager(){this.reset()}var TIME_SLOT_DURATION_MS=20,CHECK_TIME_EVERY=100;TimeSlotManager.prototype={check:function(){return++this.checked<CHECK_TIME_EVERY?!1:(this.checked=0,this.endTime<=Date.now())},reset:function(){this.endTime=Date.now()+TIME_SLOT_DURATION_MS,this.checked=0}};var deferred=Promise.resolve(),TILING_PATTERN=1,SHADING_PATTERN=2;return PartialEvaluator.prototype={hasBlendModes:function(resources){if(!isDict(resources))return!1;var processed=Object.create(null);resources.objId&&(processed[resources.objId]=!0);for(var nodes=[resources];nodes.length;){var key,node=nodes.shift(),graphicStates=node.get("ExtGState");if(isDict(graphicStates)){graphicStates=graphicStates.getAll();for(key in graphicStates){var graphicState=graphicStates[key],bm=graphicState.BM;if(isName(bm)&&"Normal"!==bm.name)return!0}}var xObjects=node.get("XObject");if(isDict(xObjects)){xObjects=xObjects.getAll();for(key in xObjects){var xObject=xObjects[key];if(isStream(xObject)){if(xObject.dict.objId){if(processed[xObject.dict.objId])continue;processed[xObject.dict.objId]=!0}var xResources=xObject.dict.get("Resources");!isDict(xResources)||xResources.objId&&processed[xResources.objId]||(nodes.push(xResources),xResources.objId&&(processed[xResources.objId]=!0))}}}}return!1},buildFormXObject:function(resources,xobj,smask,operatorList,initialState){var matrix=xobj.dict.get("Matrix"),bbox=xobj.dict.get("BBox"),group=xobj.dict.get("Group");if(group){var colorSpace,groupOptions={matrix:matrix,bbox:bbox,smask:smask,isolated:!1,knockout:!1},groupSubtype=group.get("S");isName(groupSubtype)&&"Transparency"===groupSubtype.name&&(groupOptions.isolated=group.get("I")||!1,groupOptions.knockout=group.get("K")||!1,colorSpace=group.has("CS")?ColorSpace.parse(group.get("CS"),this.xref,resources):null),smask&&smask.backdrop&&(colorSpace=colorSpace||ColorSpace.singletons.rgb,smask.backdrop=colorSpace.getRgb(smask.backdrop,0)),operatorList.addOp(OPS.beginGroup,[groupOptions])}return operatorList.addOp(OPS.paintFormXObjectBegin,[matrix,bbox]),this.getOperatorList(xobj,xobj.dict.get("Resources")||resources,operatorList,initialState).then(function(){operatorList.addOp(OPS.paintFormXObjectEnd,[]),group&&operatorList.addOp(OPS.endGroup,[groupOptions])})},buildPaintImageXObject:function(resources,image,inline,operatorList,cacheKey,cache){var self=this,dict=image.dict,w=dict.get("Width","W"),h=dict.get("Height","H");if(!(w&&isNum(w)&&h&&isNum(h)))return void warn("Image dimensions are missing, or not numbers.");if(-1!==PDFJS.maxImageSize&&w*h>PDFJS.maxImageSize)return void warn("Image exceeded maximum allowed size and was removed.");var imgData,args,imageMask=dict.get("ImageMask","IM")||!1;if(imageMask){var width=dict.get("Width","W"),height=dict.get("Height","H"),bitStrideLength=width+7>>3,imgArray=image.getBytes(bitStrideLength*height),decode=dict.get("Decode","D"),inverseDecode=!!decode&&decode[0]>0;return imgData=PDFImage.createMask(imgArray,width,height,image instanceof DecodeStream,inverseDecode),imgData.cached=!0,args=[imgData],operatorList.addOp(OPS.paintImageMaskXObject,args),void(cacheKey&&(cache.key=cacheKey,cache.fn=OPS.paintImageMaskXObject,cache.args=args))}var softMask=dict.get("SMask","SM")||!1,mask=dict.get("Mask")||!1,SMALL_IMAGE_DIMENSIONS=200;if(inline&&!softMask&&!mask&&!(image instanceof JpegStream)&&SMALL_IMAGE_DIMENSIONS>w+h){var imageObj=new PDFImage(this.xref,resources,image,inline,null,null);return imgData=imageObj.createImageData(!0),void operatorList.addOp(OPS.paintInlineImageXObject,[imgData])}var uniquePrefix=this.uniquePrefix||"",objId="img_"+uniquePrefix+ ++this.idCounters.obj;return operatorList.addDependency(objId),args=[objId,w,h],!softMask&&!mask&&image instanceof JpegStream&&image.isNativelySupported(this.xref,resources)?(operatorList.addOp(OPS.paintJpegXObject,args),void this.handler.send("obj",[objId,this.pageIndex,"JpegStream",image.getIR()])):(PDFImage.buildImage(self.handler,self.xref,resources,image,inline).then(function(imageObj){var imgData=imageObj.createImageData(!1);self.handler.send("obj",[objId,self.pageIndex,"Image",imgData],[imgData.data.buffer])}).then(null,function(reason){warn("Unable to decode image: "+reason),self.handler.send("obj",[objId,self.pageIndex,"Image",null])}),operatorList.addOp(OPS.paintImageXObject,args),void(cacheKey&&(cache.key=cacheKey,cache.fn=OPS.paintImageXObject,cache.args=args)))},handleSMask:function(smask,resources,operatorList,stateManager){var smaskContent=smask.get("G"),smaskOptions={subtype:smask.get("S").name,backdrop:smask.get("BC")};return this.buildFormXObject(resources,smaskContent,smaskOptions,operatorList,stateManager.state.clone())},handleTilingType:function(fn,args,resources,pattern,patternDict,operatorList){var tilingOpList=new OperatorList;return this.getOperatorList(pattern,patternDict.get("Resources")||resources,tilingOpList).then(function(){operatorList.addDependencies(tilingOpList.dependencies),operatorList.addOp(fn,getTilingPatternIR({fnArray:tilingOpList.fnArray,argsArray:tilingOpList.argsArray},patternDict,args))})},handleSetFont:function(resources,fontArgs,fontRef,operatorList,state){var fontName;fontArgs&&(fontArgs=fontArgs.slice(),fontName=fontArgs[0].name);var self=this;return this.loadFont(fontName,fontRef,this.xref,resources).then(function(translated){return translated.font.isType3Font?translated.loadType3Data(self,resources,operatorList).then(function(){return translated}):translated}).then(function(translated){return state.font=translated.font,translated.send(self.handler),translated.loadedName})},handleText:function(chars,state){var font=state.font,glyphs=font.charsToGlyphs(chars),isAddToPathSet=!!(state.textRenderingMode&TextRenderingMode.ADD_TO_PATH_FLAG);if(font.data&&(isAddToPathSet||PDFJS.disableFontFace))for(var buildPath=function(fontChar){if(!font.renderer.hasBuiltPath(fontChar)){var path=font.renderer.getPathJs(fontChar);this.handler.send("commonobj",[font.loadedName+"_path_"+fontChar,"FontPath",path])}}.bind(this),i=0,ii=glyphs.length;ii>i;i++){var glyph=glyphs[i];if(null!==glyph){buildPath(glyph.fontChar);var accent=glyph.accent;accent&&accent.fontChar&&buildPath(accent.fontChar)}}return glyphs},setGState:function(resources,gState,operatorList,xref,stateManager){var gStateObj=[],gStateMap=gState.map,self=this,promise=Promise.resolve();for(var key in gStateMap){var value=gStateMap[key];switch(key){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":gStateObj.push([key,value]);break;case"Font":promise=promise.then(function(){return self.handleSetFont(resources,null,value[0],operatorList,stateManager.state).then(function(loadedName){operatorList.addDependency(loadedName),gStateObj.push([key,[loadedName,value[1]]])})});break;case"BM":gStateObj.push([key,value]);break;case"SMask":if(isName(value)&&"None"===value.name){gStateObj.push([key,!1]);break}var dict=xref.fetchIfRef(value);isDict(dict)?(promise=promise.then(function(){return self.handleSMask(dict,resources,operatorList,stateManager)}),gStateObj.push([key,!0])):warn("Unsupported SMask type");break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":info("graphic state operator "+key);break;default:info("Unknown graphic state operator "+key)}}return promise.then(function(){gStateObj.length>=0&&operatorList.addOp(OPS.setGState,[gStateObj])})},loadFont:function(fontName,font,xref,resources){function errorFont(){return Promise.resolve(new TranslatedFont("g_font_error",new ErrorFont("Font "+fontName+" is not available"),font))}var fontRef;if(font)assert(isRef(font)),fontRef=font;else{var fontRes=resources.get("Font");if(!fontRes)return warn("fontRes not available"),errorFont();fontRef=fontRes.getRaw(fontName)}if(!fontRef)return warn("fontRef not available"),errorFont();if(this.fontCache.has(fontRef))return this.fontCache.get(fontRef);if(font=xref.fetchIfRef(fontRef),!isDict(font))return errorFont();if(font.translated)return font.translated;var fontCapability=createPromiseCapability(),preEvaluatedFont=this.preEvaluateFont(font,xref),descriptor=preEvaluatedFont.descriptor,fontID=fontRef.num+"_"+fontRef.gen;if(isDict(descriptor)){descriptor.fontAliases||(descriptor.fontAliases=Object.create(null));var fontAliases=descriptor.fontAliases,hash=preEvaluatedFont.hash;if(fontAliases[hash]){var aliasFontRef=fontAliases[hash].aliasRef;if(aliasFontRef&&this.fontCache.has(aliasFontRef))return this.fontCache.putAlias(fontRef,aliasFontRef),this.fontCache.get(fontRef)}fontAliases[hash]||(fontAliases[hash]={fontID:Font.getFontID()}),fontAliases[hash].aliasRef=fontRef,fontID=fontAliases[hash].fontID}var fontRefIsDict=isDict(fontRef);fontRefIsDict||this.fontCache.put(fontRef,fontCapability.promise),font.loadedName="g_font_"+(fontRefIsDict?fontName.replace(/\W/g,""):fontID),font.translated=fontCapability.promise;var translatedPromise;try{translatedPromise=Promise.resolve(this.translateFont(preEvaluatedFont,xref))}catch(e){translatedPromise=Promise.reject(e)}return translatedPromise.then(function(translatedFont){if(void 0!==translatedFont.fontType){var xrefFontStats=xref.stats.fontTypes;xrefFontStats[translatedFont.fontType]=!0}fontCapability.resolve(new TranslatedFont(font.loadedName,translatedFont,font))},function(reason){UnsupportedManager.notify(UNSUPPORTED_FEATURES.font);try{var descriptor=preEvaluatedFont.descriptor,fontFile3=descriptor&&descriptor.get("FontFile3"),subtype=fontFile3&&fontFile3.get("Subtype"),fontType=getFontType(preEvaluatedFont.type,subtype&&subtype.name),xrefFontStats=xref.stats.fontTypes;xrefFontStats[fontType]=!0}catch(ex){}fontCapability.resolve(new TranslatedFont(font.loadedName,new ErrorFont(reason instanceof Error?reason.message:reason),font))}),fontCapability.promise},buildPath:function(operatorList,fn,args){var lastIndex=operatorList.length-1;if(args||(args=[]),0>lastIndex||operatorList.fnArray[lastIndex]!==OPS.constructPath)operatorList.addOp(OPS.constructPath,[[fn],args]);else{var opArgs=operatorList.argsArray[lastIndex];opArgs[0].push(fn),Array.prototype.push.apply(opArgs[1],args)}},handleColorN:function(operatorList,fn,args,cs,patterns,resources,xref){var pattern,patternName=args[args.length-1];if(isName(patternName)&&(pattern=patterns.get(patternName.name))){var dict=isStream(pattern)?pattern.dict:pattern,typeNum=dict.get("PatternType");if(typeNum===TILING_PATTERN){var color=cs.base?cs.base.getRgb(args,0):null;return this.handleTilingType(fn,color,resources,pattern,dict,operatorList)}if(typeNum===SHADING_PATTERN){var shading=dict.get("Shading"),matrix=dict.get("Matrix");return pattern=Pattern.parseShading(shading,matrix,xref,resources),operatorList.addOp(fn,pattern.getIR()),Promise.resolve()}return Promise.reject("Unknown PatternType: "+typeNum)}return operatorList.addOp(fn,args),Promise.resolve()},getOperatorList:function(stream,resources,operatorList,initialState){var self=this,xref=this.xref,imageCache={};assert(operatorList),resources=resources||Dict.empty;var xobjs=resources.get("XObject")||Dict.empty,patterns=resources.get("Pattern")||Dict.empty,stateManager=new StateManager(initialState||new EvalState),preprocessor=new EvaluatorPreprocessor(stream,xref,stateManager),timeSlotManager=new TimeSlotManager;return new Promise(function next(resolve,reject){timeSlotManager.reset();for(var stop,i,ii,cs,operation={};!(stop=timeSlotManager.check())&&(operation.args=null,preprocessor.read(operation));){var args=operation.args,fn=operation.fn;switch(0|fn){case OPS.paintXObject:if(args[0].code)break;var name=args[0].name;if(imageCache.key===name){operatorList.addOp(imageCache.fn,imageCache.args),args=null;continue}var xobj=xobjs.get(name);if(xobj){assert(isStream(xobj),"XObject should be a stream");var type=xobj.dict.get("Subtype");if(assert(isName(type),"XObject should have a Name subtype"),"Form"===type.name)return stateManager.save(),self.buildFormXObject(resources,xobj,null,operatorList,stateManager.state.clone()).then(function(){stateManager.restore(),next(resolve,reject)},reject);if("Image"===type.name){self.buildPaintImageXObject(resources,xobj,!1,operatorList,name,imageCache),args=null;continue}if("PS"===type.name){info("Ignored XObject subtype PS");continue}error("Unhandled XObject subtype "+type.name)}break;case OPS.setFont:var fontSize=args[1];return self.handleSetFont(resources,args,null,operatorList,stateManager.state).then(function(loadedName){operatorList.addDependency(loadedName),operatorList.addOp(OPS.setFont,[loadedName,fontSize]),next(resolve,reject)},reject);case OPS.endInlineImage:var cacheKey=args[0].cacheKey;if(cacheKey&&imageCache.key===cacheKey){operatorList.addOp(imageCache.fn,imageCache.args),args=null;continue}self.buildPaintImageXObject(resources,args[0],!0,operatorList,cacheKey,imageCache),args=null;continue;case OPS.showText:args[0]=self.handleText(args[0],stateManager.state);break;case OPS.showSpacedText:var arr=args[0],combinedGlyphs=[],arrLength=arr.length;for(i=0;arrLength>i;++i){var arrItem=arr[i];isString(arrItem)?Array.prototype.push.apply(combinedGlyphs,self.handleText(arrItem,stateManager.state)):isNum(arrItem)&&combinedGlyphs.push(arrItem)}args[0]=combinedGlyphs,fn=OPS.showText;break;case OPS.nextLineShowText:operatorList.addOp(OPS.nextLine),args[0]=self.handleText(args[0],stateManager.state),fn=OPS.showText;break;case OPS.nextLineSetSpacingShowText:operatorList.addOp(OPS.nextLine),operatorList.addOp(OPS.setWordSpacing,[args.shift()]),operatorList.addOp(OPS.setCharSpacing,[args.shift()]),args[0]=self.handleText(args[0],stateManager.state),fn=OPS.showText;break;case OPS.setTextRenderingMode:stateManager.state.textRenderingMode=args[0];break;case OPS.setFillColorSpace:stateManager.state.fillColorSpace=ColorSpace.parse(args[0],xref,resources);continue;case OPS.setStrokeColorSpace:stateManager.state.strokeColorSpace=ColorSpace.parse(args[0],xref,resources);continue;case OPS.setFillColor:cs=stateManager.state.fillColorSpace,args=cs.getRgb(args,0),fn=OPS.setFillRGBColor;break;case OPS.setStrokeColor:cs=stateManager.state.strokeColorSpace,args=cs.getRgb(args,0),fn=OPS.setStrokeRGBColor;break;case OPS.setFillGray:stateManager.state.fillColorSpace=ColorSpace.singletons.gray,args=ColorSpace.singletons.gray.getRgb(args,0),fn=OPS.setFillRGBColor;break;case OPS.setStrokeGray:stateManager.state.strokeColorSpace=ColorSpace.singletons.gray,args=ColorSpace.singletons.gray.getRgb(args,0),fn=OPS.setStrokeRGBColor;break;case OPS.setFillCMYKColor:stateManager.state.fillColorSpace=ColorSpace.singletons.cmyk,args=ColorSpace.singletons.cmyk.getRgb(args,0),fn=OPS.setFillRGBColor;break;case OPS.setStrokeCMYKColor:stateManager.state.strokeColorSpace=ColorSpace.singletons.cmyk,args=ColorSpace.singletons.cmyk.getRgb(args,0),fn=OPS.setStrokeRGBColor;break;case OPS.setFillRGBColor:stateManager.state.fillColorSpace=ColorSpace.singletons.rgb,args=ColorSpace.singletons.rgb.getRgb(args,0);break;case OPS.setStrokeRGBColor:stateManager.state.strokeColorSpace=ColorSpace.singletons.rgb,args=ColorSpace.singletons.rgb.getRgb(args,0);break;case OPS.setFillColorN:if(cs=stateManager.state.fillColorSpace,"Pattern"===cs.name)return self.handleColorN(operatorList,OPS.setFillColorN,args,cs,patterns,resources,xref).then(function(){next(resolve,reject)},reject);args=cs.getRgb(args,0),fn=OPS.setFillRGBColor;break;case OPS.setStrokeColorN:if(cs=stateManager.state.strokeColorSpace,"Pattern"===cs.name)return self.handleColorN(operatorList,OPS.setStrokeColorN,args,cs,patterns,resources,xref).then(function(){next(resolve,reject)},reject);args=cs.getRgb(args,0),fn=OPS.setStrokeRGBColor;break;case OPS.shadingFill:var shadingRes=resources.get("Shading");shadingRes||error("No shading resource found");var shading=shadingRes.get(args[0].name);shading||error("No shading object found");var shadingFill=Pattern.parseShading(shading,null,xref,resources),patternIR=shadingFill.getIR();args=[patternIR],fn=OPS.shadingFill;break;case OPS.setGState:var dictName=args[0],extGState=resources.get("ExtGState");if(!isDict(extGState)||!extGState.has(dictName.name))break;var gState=extGState.get(dictName.name);return self.setGState(resources,gState,operatorList,xref,stateManager).then(function(){next(resolve,reject)},reject);case OPS.moveTo:case OPS.lineTo:case OPS.curveTo:case OPS.curveTo2:case OPS.curveTo3:case OPS.closePath:self.buildPath(operatorList,fn,args);continue;case OPS.rectangle:self.buildPath(operatorList,fn,args);continue}operatorList.addOp(fn,args)}if(stop)return void deferred.then(function(){next(resolve,reject)});for(i=0,ii=preprocessor.savedStatesDepth;ii>i;i++)operatorList.addOp(OPS.restore,[]);resolve()})},getTextContent:function(stream,resources,stateManager){function newTextChunk(){var font=textState.font;return font.loadedName in textContent.styles||(textContent.styles[font.loadedName]={fontFamily:font.fallbackName,ascent:font.ascent,descent:font.descent,vertical:font.vertical}),{str:[],dir:null,width:0,height:0,transform:null,fontName:font.loadedName}}function runBidi(textChunk){var str=textChunk.str.join(""),bidiResult=PDFJS.bidi(str,-1,textState.font.vertical);return textChunk.str=bidiResult.str,textChunk.dir=bidiResult.dir,textChunk}function handleSetFont(fontName,fontRef){return self.loadFont(fontName,fontRef,xref,resources).then(function(translated){textState.font=translated.font,textState.fontMatrix=translated.font.fontMatrix||FONT_IDENTITY_MATRIX})}function buildTextGeometry(chars,textChunk){var font=textState.font;if(textChunk=textChunk||newTextChunk(),!textChunk.transform){var tsm=[textState.fontSize*textState.textHScale,0,0,textState.fontSize,0,textState.textRise],trm=textChunk.transform=Util.transform(textState.ctm,Util.transform(textState.textMatrix,tsm));font.vertical?textChunk.width=Math.sqrt(trm[0]*trm[0]+trm[1]*trm[1]):textChunk.height=Math.sqrt(trm[2]*trm[2]+trm[3]*trm[3])}for(var width=0,height=0,glyphs=font.charsToGlyphs(chars),defaultVMetrics=font.defaultVMetrics,i=0;i<glyphs.length;i++){var glyph=glyphs[i];if(glyph){var vMetricX=null,vMetricY=null,glyphWidth=null;font.vertical?glyph.vmetric?(glyphWidth=glyph.vmetric[0],vMetricX=glyph.vmetric[1],vMetricY=glyph.vmetric[2]):(glyphWidth=glyph.width,vMetricX=.5*glyph.width,vMetricY=defaultVMetrics[2]):glyphWidth=glyph.width;var glyphUnicode=glyph.unicode;void 0!==NormalizedUnicodes[glyphUnicode]&&(glyphUnicode=NormalizedUnicodes[glyphUnicode]),glyphUnicode=reverseIfRtl(glyphUnicode);var tx=0,ty=0;if(font.vertical){var w1=glyphWidth*textState.fontMatrix[0];ty=w1*textState.fontSize+textState.charSpacing,height+=ty}else{var w0=glyphWidth*textState.fontMatrix[0];tx=(w0*textState.fontSize+textState.charSpacing)*textState.textHScale,width+=tx}textState.translateTextMatrix(tx,ty),textChunk.str.push(glyphUnicode)}else width+=textState.wordSpacing*textState.textHScale}var a=textState.textLineMatrix[0],b=textState.textLineMatrix[1],scaleLineX=Math.sqrt(a*a+b*b);a=textState.ctm[0],b=textState.ctm[1];var scaleCtmX=Math.sqrt(a*a+b*b);return font.vertical?textChunk.height+=Math.abs(height*scaleCtmX*scaleLineX):textChunk.width+=width*scaleCtmX*scaleLineX,textChunk}stateManager=stateManager||new StateManager(new TextState);var textContent={items:[],styles:Object.create(null)},bidiTexts=textContent.items,SPACE_FACTOR=.35,MULTI_SPACE_FACTOR=1.5,self=this,xref=this.xref;resources=xref.fetchIfRef(resources)||Dict.empty;var textState,xobjs=null,xobjsCache={},preprocessor=new EvaluatorPreprocessor(stream,xref,stateManager),timeSlotManager=new TimeSlotManager;return new Promise(function next(resolve,reject){timeSlotManager.reset();for(var stop,operation={},args=[];!(stop=timeSlotManager.check())&&(args.length=0,operation.args=args,preprocessor.read(operation));){textState=stateManager.state;var fn=operation.fn;switch(args=operation.args,0|fn){case OPS.setFont:return textState.fontSize=args[1],handleSetFont(args[0].name).then(function(){next(resolve,reject)},reject);case OPS.setTextRise:textState.textRise=args[0];break;case OPS.setHScale:textState.textHScale=args[0]/100;break;case OPS.setLeading:textState.leading=args[0];break;case OPS.moveText:textState.translateTextLineMatrix(args[0],args[1]),textState.textMatrix=textState.textLineMatrix.slice();break;case OPS.setLeadingMoveText:textState.leading=-args[1],textState.translateTextLineMatrix(args[0],args[1]),textState.textMatrix=textState.textLineMatrix.slice();break;case OPS.nextLine:textState.carriageReturn();break;case OPS.setTextMatrix:textState.setTextMatrix(args[0],args[1],args[2],args[3],args[4],args[5]),textState.setTextLineMatrix(args[0],args[1],args[2],args[3],args[4],args[5]);break;case OPS.setCharSpacing:textState.charSpacing=args[0];break;case OPS.setWordSpacing:textState.wordSpacing=args[0];break;case OPS.beginText:textState.textMatrix=IDENTITY_MATRIX.slice(),textState.textLineMatrix=IDENTITY_MATRIX.slice();break;case OPS.showSpacedText:for(var offset,items=args[0],textChunk=newTextChunk(),j=0,jj=items.length;jj>j;j++)if("string"==typeof items[j])buildTextGeometry(items[j],textChunk);else{var val=items[j]/1e3;if(textState.font.vertical?(offset=-val*textState.fontSize*textState.textMatrix[3],textState.translateTextMatrix(0,offset),textChunk.height+=offset):(offset=-val*textState.fontSize*textState.textHScale*textState.textMatrix[0],textState.translateTextMatrix(offset,0),textChunk.width+=offset),items[j]<0&&textState.font.spaceWidth>0){var fakeSpaces=-items[j]/textState.font.spaceWidth;if(fakeSpaces>MULTI_SPACE_FACTOR)for(fakeSpaces=Math.round(fakeSpaces);fakeSpaces--;)textChunk.str.push(" ");else fakeSpaces>SPACE_FACTOR&&textChunk.str.push(" ")}}bidiTexts.push(runBidi(textChunk));break;case OPS.showText:bidiTexts.push(runBidi(buildTextGeometry(args[0])));break;case OPS.nextLineShowText:textState.carriageReturn(),bidiTexts.push(runBidi(buildTextGeometry(args[0])));break;case OPS.nextLineSetSpacingShowText:textState.wordSpacing=args[0],textState.charSpacing=args[1],textState.carriageReturn(),bidiTexts.push(runBidi(buildTextGeometry(args[2])));break;case OPS.paintXObject:if(args[0].code)break;xobjs||(xobjs=resources.get("XObject")||Dict.empty);var name=args[0].name;if(xobjsCache.key===name){xobjsCache.texts&&(Util.appendToArray(bidiTexts,xobjsCache.texts.items),Util.extendObj(textContent.styles,xobjsCache.texts.styles));break}var xobj=xobjs.get(name);if(!xobj)break;assert(isStream(xobj),"XObject should be a stream");var type=xobj.dict.get("Subtype");if(assert(isName(type),"XObject should have a Name subtype"),"Form"!==type.name){xobjsCache.key=name,xobjsCache.texts=null;break}stateManager.save();var matrix=xobj.dict.get("Matrix");return isArray(matrix)&&6===matrix.length&&stateManager.transform(matrix),self.getTextContent(xobj,xobj.dict.get("Resources")||resources,stateManager).then(function(formTextContent){Util.appendToArray(bidiTexts,formTextContent.items),Util.extendObj(textContent.styles,formTextContent.styles),stateManager.restore(),xobjsCache.key=name,xobjsCache.texts=formTextContent,next(resolve,reject)},reject);case OPS.setGState:var dictName=args[0],extGState=resources.get("ExtGState");if(!isDict(extGState)||!extGState.has(dictName.name))break;var gsStateMap=extGState.get(dictName.name),gsStateFont=null;for(var key in gsStateMap)"Font"===key&&(assert(!gsStateFont),gsStateFont=gsStateMap[key]);if(gsStateFont)return textState.fontSize=gsStateFont[1],handleSetFont(gsStateFont[0]).then(function(){next(resolve,reject)},reject)}}return stop?void deferred.then(function(){next(resolve,reject)}):void resolve(textContent)})},extractDataStructures:function(dict,baseDict,xref,properties){var toUnicode=dict.get("ToUnicode")||baseDict.get("ToUnicode");if(toUnicode&&(properties.toUnicode=this.readToUnicode(toUnicode)),properties.composite){var cidSystemInfo=dict.get("CIDSystemInfo");isDict(cidSystemInfo)&&(properties.cidSystemInfo={registry:cidSystemInfo.get("Registry"),ordering:cidSystemInfo.get("Ordering"),supplement:cidSystemInfo.get("Supplement")});var cidToGidMap=dict.get("CIDToGIDMap");isStream(cidToGidMap)&&(properties.cidToGidMap=this.readCidToGidMap(cidToGidMap))}var encoding,differences=[],baseEncodingName=null;if(dict.has("Encoding")){if(encoding=dict.get("Encoding"),isDict(encoding)){if(baseEncodingName=encoding.get("BaseEncoding"),baseEncodingName=isName(baseEncodingName)?baseEncodingName.name:null,encoding.has("Differences"))for(var diffEncoding=encoding.get("Differences"),index=0,j=0,jj=diffEncoding.length;jj>j;j++){var data=diffEncoding[j];isNum(data)?index=data:differences[index++]=data.name}}else isName(encoding)?baseEncodingName=encoding.name:error("Encoding is not a Name nor a Dict");"MacRomanEncoding"!==baseEncodingName&&"MacExpertEncoding"!==baseEncodingName&&"WinAnsiEncoding"!==baseEncodingName&&(baseEncodingName=null)}baseEncodingName?properties.defaultEncoding=Encodings[baseEncodingName].slice():(encoding="TrueType"===properties.type?Encodings.WinAnsiEncoding:Encodings.StandardEncoding,properties.flags&FontFlags.Symbolic&&(encoding=Encodings.MacRomanEncoding,properties.file||(/Symbol/i.test(properties.name)?encoding=Encodings.SymbolSetEncoding:/Dingbats/i.test(properties.name)&&(encoding=Encodings.ZapfDingbatsEncoding))),properties.defaultEncoding=encoding),properties.differences=differences,properties.baseEncodingName=baseEncodingName,properties.dict=dict},readToUnicode:function(toUnicode){var cmap,cmapObj=toUnicode;return isName(cmapObj)?(cmap=CMapFactory.create(cmapObj,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null).getMap(),new ToUnicodeMap(cmap)):isStream(cmapObj)?(cmap=CMapFactory.create(cmapObj,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null).getMap(),cmap.forEach(function(token,i){for(var str=[],k=0;k<token.length;k+=2){var w1=token.charCodeAt(k)<<8|token.charCodeAt(k+1);if(55296===(63488&w1)){k+=2;var w2=token.charCodeAt(k)<<8|token.charCodeAt(k+1);str.push(((1023&w1)<<10)+(1023&w2)+65536)}else str.push(w1)}cmap[i]=String.fromCharCode.apply(String,str)}),new ToUnicodeMap(cmap)):null},readCidToGidMap:function(cidToGidStream){for(var glyphsData=cidToGidStream.getBytes(),result=[],j=0,jj=glyphsData.length;jj>j;j++){var glyphID=glyphsData[j++]<<8|glyphsData[j];if(0!==glyphID){var code=j>>1;result[code]=glyphID}}return result},extractWidths:function(dict,xref,descriptor,properties){var defaultVMetrics,i,ii,j,jj,start,code,widths,glyphsWidths=[],defaultWidth=0,glyphsVMetrics=[];if(properties.composite){if(defaultWidth=dict.get("DW")||1e3,widths=dict.get("W"))for(i=0,ii=widths.length;ii>i;i++)if(start=widths[i++],code=xref.fetchIfRef(widths[i]),isArray(code))for(j=0,jj=code.length;jj>j;j++)glyphsWidths[start++]=code[j];else{var width=widths[++i];for(j=start;code>=j;j++)glyphsWidths[j]=width}if(properties.vertical){var vmetrics=dict.get("DW2")||[880,-1e3];if(defaultVMetrics=[vmetrics[1],.5*defaultWidth,vmetrics[0]],vmetrics=dict.get("W2"))for(i=0,ii=vmetrics.length;ii>i;i++)if(start=vmetrics[i++],code=xref.fetchIfRef(vmetrics[i]),isArray(code))for(j=0,jj=code.length;jj>j;j++)glyphsVMetrics[start++]=[code[j++],code[j++],code[j]];else{var vmetric=[vmetrics[++i],vmetrics[++i],vmetrics[++i]];for(j=start;code>=j;j++)glyphsVMetrics[j]=vmetric}}}else{var firstChar=properties.firstChar;if(widths=dict.get("Widths")){for(j=firstChar,i=0,ii=widths.length;ii>i;i++)glyphsWidths[j++]=widths[i];defaultWidth=parseFloat(descriptor.get("MissingWidth"))||0}else{var baseFontName=dict.get("BaseFont");if(isName(baseFontName)){var metrics=this.getBaseFontMetrics(baseFontName.name);glyphsWidths=this.buildCharCodeToWidth(metrics.widths,properties),defaultWidth=metrics.defaultWidth}}}var isMonospace=!0,firstWidth=defaultWidth;for(var glyph in glyphsWidths){var glyphWidth=glyphsWidths[glyph];if(glyphWidth)if(firstWidth){if(firstWidth!==glyphWidth){isMonospace=!1;break}}else firstWidth=glyphWidth}isMonospace&&(properties.flags|=FontFlags.FixedPitch),properties.defaultWidth=defaultWidth,properties.widths=glyphsWidths,properties.defaultVMetrics=defaultVMetrics,properties.vmetrics=glyphsVMetrics},isSerifFont:function(baseFontName){var fontNameWoStyle=baseFontName.split("-")[0];return fontNameWoStyle in serifFonts||-1!==fontNameWoStyle.search(/serif/gi)},getBaseFontMetrics:function(name){var defaultWidth=0,widths=[],monospace=!1,lookupName=stdFontMap[name]||name;lookupName in Metrics||(lookupName=this.isSerifFont(name)?"Times-Roman":"Helvetica");var glyphWidths=Metrics[lookupName];return isNum(glyphWidths)?(defaultWidth=glyphWidths,monospace=!0):widths=glyphWidths,{defaultWidth:defaultWidth,monospace:monospace,widths:widths}},buildCharCodeToWidth:function(widthsByGlyphName,properties){for(var widths=Object.create(null),differences=properties.differences,encoding=properties.defaultEncoding,charCode=0;256>charCode;charCode++)charCode in differences&&widthsByGlyphName[differences[charCode]]?widths[charCode]=widthsByGlyphName[differences[charCode]]:charCode in encoding&&widthsByGlyphName[encoding[charCode]]&&(widths[charCode]=widthsByGlyphName[encoding[charCode]]);return widths},preEvaluateFont:function(dict,xref){var baseDict=dict,type=dict.get("Subtype");assert(isName(type),"invalid font Subtype");var uint8array,composite=!1;if("Type0"===type.name){var df=dict.get("DescendantFonts");df||error("Descendant fonts are not specified"),dict=isArray(df)?xref.fetchIfRef(df[0]):df,type=dict.get("Subtype"),assert(isName(type),"invalid font Subtype"),composite=!0}var descriptor=dict.get("FontDescriptor");if(descriptor){var hash=new MurmurHash3_64,encoding=baseDict.getRaw("Encoding");isName(encoding)?hash.update(encoding.name):isRef(encoding)&&hash.update(encoding.num+"_"+encoding.gen);var toUnicode=dict.get("ToUnicode")||baseDict.get("ToUnicode");if(isStream(toUnicode)){var stream=toUnicode.str||toUnicode;uint8array=stream.buffer?new Uint8Array(stream.buffer.buffer,0,stream.bufferLength):new Uint8Array(stream.bytes.buffer,stream.start,stream.end-stream.start),hash.update(uint8array)}else isName(toUnicode)&&hash.update(toUnicode.name);var widths=dict.get("Widths")||baseDict.get("Widths");widths&&(uint8array=new Uint8Array(new Uint32Array(widths).buffer),hash.update(uint8array))}return{descriptor:descriptor,dict:dict,baseDict:baseDict,composite:composite,type:type.name,hash:hash?hash.hexdigest():""}},translateFont:function(preEvaluatedFont,xref){var properties,baseDict=preEvaluatedFont.baseDict,dict=preEvaluatedFont.dict,composite=preEvaluatedFont.composite,descriptor=preEvaluatedFont.descriptor,type=preEvaluatedFont.type,maxCharIndex=composite?65535:255;if(!descriptor){if("Type3"!==type){var baseFontName=dict.get("BaseFont");isName(baseFontName)||error("Base font is not specified"),baseFontName=baseFontName.name.replace(/[,_]/g,"-");var metrics=this.getBaseFontMetrics(baseFontName),fontNameWoStyle=baseFontName.split("-")[0],flags=(this.isSerifFont(fontNameWoStyle)?FontFlags.Serif:0)|(metrics.monospace?FontFlags.FixedPitch:0)|(symbolsFonts[fontNameWoStyle]?FontFlags.Symbolic:FontFlags.Nonsymbolic);return properties={type:type,name:baseFontName,widths:metrics.widths,defaultWidth:metrics.defaultWidth,flags:flags,firstChar:0,lastChar:maxCharIndex},this.extractDataStructures(dict,dict,xref,properties),properties.widths=this.buildCharCodeToWidth(metrics.widths,properties),new Font(baseFontName,null,properties)}descriptor=new Dict(null),descriptor.set("FontName",Name.get(type))}var firstChar=dict.get("FirstChar")||0,lastChar=dict.get("LastChar")||maxCharIndex,fontName=descriptor.get("FontName"),baseFont=dict.get("BaseFont");if(isString(fontName)&&(fontName=Name.get(fontName)),isString(baseFont)&&(baseFont=Name.get(baseFont)),"Type3"!==type){var fontNameStr=fontName&&fontName.name,baseFontStr=baseFont&&baseFont.name;fontNameStr!==baseFontStr&&(info("The FontDescriptor's FontName is \""+fontNameStr+'" but should be the same as the Font\'s BaseFont "'+baseFontStr+'"'),fontNameStr&&baseFontStr&&0===baseFontStr.indexOf(fontNameStr)&&(fontName=baseFont))}fontName=fontName||baseFont,assert(isName(fontName),"invalid font name");var fontFile=descriptor.get("FontFile","FontFile2","FontFile3");
+if(fontFile&&fontFile.dict){var subtype=fontFile.dict.get("Subtype");subtype&&(subtype=subtype.name);var length1=fontFile.dict.get("Length1"),length2=fontFile.dict.get("Length2")}if(properties={type:type,name:fontName.name,subtype:subtype,file:fontFile,length1:length1,length2:length2,loadedName:baseDict.loadedName,composite:composite,wideChars:composite,fixedPitch:!1,fontMatrix:dict.get("FontMatrix")||FONT_IDENTITY_MATRIX,firstChar:firstChar||0,lastChar:lastChar||maxCharIndex,bbox:descriptor.get("FontBBox"),ascent:descriptor.get("Ascent"),descent:descriptor.get("Descent"),xHeight:descriptor.get("XHeight"),capHeight:descriptor.get("CapHeight"),flags:descriptor.get("Flags"),italicAngle:descriptor.get("ItalicAngle"),coded:!1},composite){var cidEncoding=baseDict.get("Encoding");isName(cidEncoding)&&(properties.cidEncoding=cidEncoding.name),properties.cMap=CMapFactory.create(cidEncoding,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),properties.vertical=properties.cMap.vertical}return this.extractDataStructures(dict,baseDict,xref,properties),this.extractWidths(dict,xref,descriptor,properties),"Type3"===type&&(properties.isType3Font=!0),new Font(fontName.name,fontFile,properties)}},PartialEvaluator}(),TranslatedFont=function(){function TranslatedFont(loadedName,font,dict){this.loadedName=loadedName,this.font=font,this.dict=dict,this.type3Loaded=null,this.sent=!1}return TranslatedFont.prototype={send:function(handler){if(!this.sent){var fontData=this.font.exportData();handler.send("commonobj",[this.loadedName,"Font",fontData]),this.sent=!0}},loadType3Data:function(evaluator,resources,parentOperatorList){if(assert(this.font.isType3Font),this.type3Loaded)return this.type3Loaded;for(var translatedFont=this.font,loadCharProcsPromise=Promise.resolve(),charProcs=this.dict.get("CharProcs").getAll(),fontResources=this.dict.get("Resources")||resources,charProcKeys=Object.keys(charProcs),charProcOperatorList={},i=0,n=charProcKeys.length;n>i;++i)loadCharProcsPromise=loadCharProcsPromise.then(function(key){var glyphStream=charProcs[key],operatorList=new OperatorList;return evaluator.getOperatorList(glyphStream,fontResources,operatorList).then(function(){charProcOperatorList[key]=operatorList.getIR(),parentOperatorList.addDependencies(operatorList.dependencies)},function(){warn('Type3 font resource "'+key+'" is not available');var operatorList=new OperatorList;charProcOperatorList[key]=operatorList.getIR()})}.bind(this,charProcKeys[i]));return this.type3Loaded=loadCharProcsPromise.then(function(){translatedFont.charProcOperatorList=charProcOperatorList}),this.type3Loaded}},TranslatedFont}(),OperatorList=function(){function getTransfers(queue){for(var transfers=[],fnArray=queue.fnArray,argsArray=queue.argsArray,i=0,ii=queue.length;ii>i;i++)switch(fnArray[i]){case OPS.paintInlineImageXObject:case OPS.paintInlineImageXObjectGroup:case OPS.paintImageMaskXObject:var arg=argsArray[i][0];arg.cached||transfers.push(arg.data.buffer)}return transfers}function OperatorList(intent,messageHandler,pageIndex){this.messageHandler=messageHandler,this.fnArray=[],this.argsArray=[],this.dependencies={},this.pageIndex=pageIndex,this.intent=intent}var CHUNK_SIZE=1e3,CHUNK_SIZE_ABOUT=CHUNK_SIZE-5;return OperatorList.prototype={get length(){return this.argsArray.length},addOp:function(fn,args){this.fnArray.push(fn),this.argsArray.push(args),this.messageHandler&&(this.fnArray.length>=CHUNK_SIZE?this.flush():this.fnArray.length>=CHUNK_SIZE_ABOUT&&(fn===OPS.restore||fn===OPS.endText)&&this.flush())},addDependency:function(dependency){dependency in this.dependencies||(this.dependencies[dependency]=!0,this.addOp(OPS.dependency,[dependency]))},addDependencies:function(dependencies){for(var key in dependencies)this.addDependency(key)},addOpList:function(opList){Util.extendObj(this.dependencies,opList.dependencies);for(var i=0,ii=opList.length;ii>i;i++)this.addOp(opList.fnArray[i],opList.argsArray[i])},getIR:function(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}},flush:function(lastChunk){"oplist"!==this.intent&&(new QueueOptimizer).optimize(this);var transfers=getTransfers(this);this.messageHandler.send("RenderPageChunk",{operatorList:{fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:lastChunk,length:this.length},pageIndex:this.pageIndex,intent:this.intent},transfers),this.dependencies={},this.fnArray.length=0,this.argsArray.length=0}},OperatorList}(),StateManager=function(){function StateManager(initialState){this.state=initialState,this.stateStack=[]}return StateManager.prototype={save:function(){var old=this.state;this.stateStack.push(this.state),this.state=old.clone()},restore:function(){var prev=this.stateStack.pop();prev&&(this.state=prev)},transform:function(args){this.state.ctm=Util.transform(this.state.ctm,args)}},StateManager}(),TextState=function(){function TextState(){this.ctm=new Float32Array(IDENTITY_MATRIX),this.fontSize=0,this.font=null,this.fontMatrix=FONT_IDENTITY_MATRIX,this.textMatrix=IDENTITY_MATRIX.slice(),this.textLineMatrix=IDENTITY_MATRIX.slice(),this.charSpacing=0,this.wordSpacing=0,this.leading=0,this.textHScale=1,this.textRise=0}return TextState.prototype={setTextMatrix:function(a,b,c,d,e,f){var m=this.textMatrix;m[0]=a,m[1]=b,m[2]=c,m[3]=d,m[4]=e,m[5]=f},setTextLineMatrix:function(a,b,c,d,e,f){var m=this.textLineMatrix;m[0]=a,m[1]=b,m[2]=c,m[3]=d,m[4]=e,m[5]=f},translateTextMatrix:function(x,y){var m=this.textMatrix;m[4]=m[0]*x+m[2]*y+m[4],m[5]=m[1]*x+m[3]*y+m[5]},translateTextLineMatrix:function(x,y){var m=this.textLineMatrix;m[4]=m[0]*x+m[2]*y+m[4],m[5]=m[1]*x+m[3]*y+m[5]},calcRenderMatrix:function(ctm){var tsm=[this.fontSize*this.textHScale,0,0,this.fontSize,0,this.textRise];return Util.transform(ctm,Util.transform(this.textMatrix,tsm))},carriageReturn:function(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()},clone:function(){var clone=Object.create(this);return clone.textMatrix=this.textMatrix.slice(),clone.textLineMatrix=this.textLineMatrix.slice(),clone.fontMatrix=this.fontMatrix.slice(),clone}},TextState}(),EvalState=function(){function EvalState(){this.ctm=new Float32Array(IDENTITY_MATRIX),this.font=null,this.textRenderingMode=TextRenderingMode.FILL,this.fillColorSpace=ColorSpace.singletons.gray,this.strokeColorSpace=ColorSpace.singletons.gray}return EvalState.prototype={clone:function(){return Object.create(this)}},EvalState}(),EvaluatorPreprocessor=function(){function EvaluatorPreprocessor(stream,xref,stateManager){this.parser=new Parser(new Lexer(stream,OP_MAP),!1,xref),this.stateManager=stateManager,this.nonProcessedArgs=[]}var OP_MAP={w:{id:OPS.setLineWidth,numArgs:1,variableArgs:!1},J:{id:OPS.setLineCap,numArgs:1,variableArgs:!1},j:{id:OPS.setLineJoin,numArgs:1,variableArgs:!1},M:{id:OPS.setMiterLimit,numArgs:1,variableArgs:!1},d:{id:OPS.setDash,numArgs:2,variableArgs:!1},ri:{id:OPS.setRenderingIntent,numArgs:1,variableArgs:!1},i:{id:OPS.setFlatness,numArgs:1,variableArgs:!1},gs:{id:OPS.setGState,numArgs:1,variableArgs:!1},q:{id:OPS.save,numArgs:0,variableArgs:!1},Q:{id:OPS.restore,numArgs:0,variableArgs:!1},cm:{id:OPS.transform,numArgs:6,variableArgs:!1},m:{id:OPS.moveTo,numArgs:2,variableArgs:!1},l:{id:OPS.lineTo,numArgs:2,variableArgs:!1},c:{id:OPS.curveTo,numArgs:6,variableArgs:!1},v:{id:OPS.curveTo2,numArgs:4,variableArgs:!1},y:{id:OPS.curveTo3,numArgs:4,variableArgs:!1},h:{id:OPS.closePath,numArgs:0,variableArgs:!1},re:{id:OPS.rectangle,numArgs:4,variableArgs:!1},S:{id:OPS.stroke,numArgs:0,variableArgs:!1},s:{id:OPS.closeStroke,numArgs:0,variableArgs:!1},f:{id:OPS.fill,numArgs:0,variableArgs:!1},F:{id:OPS.fill,numArgs:0,variableArgs:!1},"f*":{id:OPS.eoFill,numArgs:0,variableArgs:!1},B:{id:OPS.fillStroke,numArgs:0,variableArgs:!1},"B*":{id:OPS.eoFillStroke,numArgs:0,variableArgs:!1},b:{id:OPS.closeFillStroke,numArgs:0,variableArgs:!1},"b*":{id:OPS.closeEOFillStroke,numArgs:0,variableArgs:!1},n:{id:OPS.endPath,numArgs:0,variableArgs:!1},W:{id:OPS.clip,numArgs:0,variableArgs:!1},"W*":{id:OPS.eoClip,numArgs:0,variableArgs:!1},BT:{id:OPS.beginText,numArgs:0,variableArgs:!1},ET:{id:OPS.endText,numArgs:0,variableArgs:!1},Tc:{id:OPS.setCharSpacing,numArgs:1,variableArgs:!1},Tw:{id:OPS.setWordSpacing,numArgs:1,variableArgs:!1},Tz:{id:OPS.setHScale,numArgs:1,variableArgs:!1},TL:{id:OPS.setLeading,numArgs:1,variableArgs:!1},Tf:{id:OPS.setFont,numArgs:2,variableArgs:!1},Tr:{id:OPS.setTextRenderingMode,numArgs:1,variableArgs:!1},Ts:{id:OPS.setTextRise,numArgs:1,variableArgs:!1},Td:{id:OPS.moveText,numArgs:2,variableArgs:!1},TD:{id:OPS.setLeadingMoveText,numArgs:2,variableArgs:!1},Tm:{id:OPS.setTextMatrix,numArgs:6,variableArgs:!1},"T*":{id:OPS.nextLine,numArgs:0,variableArgs:!1},Tj:{id:OPS.showText,numArgs:1,variableArgs:!1},TJ:{id:OPS.showSpacedText,numArgs:1,variableArgs:!1},"'":{id:OPS.nextLineShowText,numArgs:1,variableArgs:!1},'"':{id:OPS.nextLineSetSpacingShowText,numArgs:3,variableArgs:!1},d0:{id:OPS.setCharWidth,numArgs:2,variableArgs:!1},d1:{id:OPS.setCharWidthAndBounds,numArgs:6,variableArgs:!1},CS:{id:OPS.setStrokeColorSpace,numArgs:1,variableArgs:!1},cs:{id:OPS.setFillColorSpace,numArgs:1,variableArgs:!1},SC:{id:OPS.setStrokeColor,numArgs:4,variableArgs:!0},SCN:{id:OPS.setStrokeColorN,numArgs:33,variableArgs:!0},sc:{id:OPS.setFillColor,numArgs:4,variableArgs:!0},scn:{id:OPS.setFillColorN,numArgs:33,variableArgs:!0},G:{id:OPS.setStrokeGray,numArgs:1,variableArgs:!1},g:{id:OPS.setFillGray,numArgs:1,variableArgs:!1},RG:{id:OPS.setStrokeRGBColor,numArgs:3,variableArgs:!1},rg:{id:OPS.setFillRGBColor,numArgs:3,variableArgs:!1},K:{id:OPS.setStrokeCMYKColor,numArgs:4,variableArgs:!1},k:{id:OPS.setFillCMYKColor,numArgs:4,variableArgs:!1},sh:{id:OPS.shadingFill,numArgs:1,variableArgs:!1},BI:{id:OPS.beginInlineImage,numArgs:0,variableArgs:!1},ID:{id:OPS.beginImageData,numArgs:0,variableArgs:!1},EI:{id:OPS.endInlineImage,numArgs:1,variableArgs:!1},Do:{id:OPS.paintXObject,numArgs:1,variableArgs:!1},MP:{id:OPS.markPoint,numArgs:1,variableArgs:!1},DP:{id:OPS.markPointProps,numArgs:2,variableArgs:!1},BMC:{id:OPS.beginMarkedContent,numArgs:1,variableArgs:!1},BDC:{id:OPS.beginMarkedContentProps,numArgs:2,variableArgs:!1},EMC:{id:OPS.endMarkedContent,numArgs:0,variableArgs:!1},BX:{id:OPS.beginCompat,numArgs:0,variableArgs:!1},EX:{id:OPS.endCompat,numArgs:0,variableArgs:!1},BM:null,BD:null,"true":null,fa:null,fal:null,fals:null,"false":null,nu:null,nul:null,"null":null};return EvaluatorPreprocessor.prototype={get savedStatesDepth(){return this.stateManager.stateStack.length},read:function(operation){for(var args=operation.args;;){var obj=this.parser.getObj();if(isCmd(obj)){var cmd=obj.cmd,opSpec=OP_MAP[cmd];if(!opSpec){warn('Unknown command "'+cmd+'"');continue}var fn=opSpec.id,numArgs=opSpec.numArgs,argsLength=null!==args?args.length:0;if(opSpec.variableArgs)argsLength>numArgs&&info("Command "+fn+": expected [0,"+numArgs+"] args, but received "+argsLength+" args");else{if(argsLength!==numArgs){for(var nonProcessedArgs=this.nonProcessedArgs;argsLength>numArgs;)nonProcessedArgs.push(args.shift()),argsLength--;for(;numArgs>argsLength&&0!==nonProcessedArgs.length;)args||(args=[]),args.unshift(nonProcessedArgs.pop()),argsLength++}if(numArgs>argsLength){info("Command "+fn+": because expected "+numArgs+" args, but received "+argsLength+" args; skipping"),args=null;continue}}return this.preprocessCommand(fn,args),operation.fn=fn,operation.args=args,!0}if(isEOF(obj))return!1;null!==obj&&(args||(args=[]),args.push(obj instanceof Dict?obj.getAll():obj),assert(args.length<=33,"Too many arguments"))}},preprocessCommand:function(fn,args){switch(0|fn){case OPS.save:this.stateManager.save();break;case OPS.restore:this.stateManager.restore();break;case OPS.transform:this.stateManager.transform(args)}}},EvaluatorPreprocessor}(),QueueOptimizer=function(){function addState(parentState,pattern,fn){for(var state=parentState,i=0,ii=pattern.length-1;ii>i;i++){var item=pattern[i];state=state[item]||(state[item]=[])}state[pattern[pattern.length-1]]=fn}function handlePaintSolidColorImageMask(iFirstSave,count,fnArray,argsArray){for(var iFirstPIMXO=iFirstSave+2,i=0;count>i;i++){var arg=argsArray[iFirstPIMXO+4*i],imageMask=1===arg.length&&arg[0];if(!imageMask||1!==imageMask.width||1!==imageMask.height||imageMask.data.length&&(1!==imageMask.data.length||0!==imageMask.data[0]))break;fnArray[iFirstPIMXO+4*i]=OPS.paintSolidColorImageMask}return count-i}function QueueOptimizer(){}var InitialState=[];return addState(InitialState,[OPS.save,OPS.transform,OPS.paintInlineImageXObject,OPS.restore],function(context){for(var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK=10,MAX_IMAGES_IN_INLINE_IMAGES_BLOCK=200,MAX_WIDTH=1e3,IMAGE_PADDING=1,fnArray=context.fnArray,argsArray=context.argsArray,curr=context.iCurr,iFirstSave=curr-3,iFirstTransform=curr-2,iFirstPIIXO=curr-1,i=iFirstSave+4,ii=fnArray.length;ii>i+3&&fnArray[i]===OPS.save&&fnArray[i+1]===OPS.transform&&fnArray[i+2]===OPS.paintInlineImageXObject&&fnArray[i+3]===OPS.restore;)i+=4;var count=Math.min((i-iFirstSave)/4,MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);if(MIN_IMAGES_IN_INLINE_IMAGES_BLOCK>count)return i;var q,maxX=0,map=[],maxLineHeight=0,currentX=IMAGE_PADDING,currentY=IMAGE_PADDING;for(q=0;count>q;q++){var transform=argsArray[iFirstTransform+(q<<2)],img=argsArray[iFirstPIIXO+(q<<2)][0];currentX+img.width>MAX_WIDTH&&(maxX=Math.max(maxX,currentX),currentY+=maxLineHeight+2*IMAGE_PADDING,currentX=0,maxLineHeight=0),map.push({transform:transform,x:currentX,y:currentY,w:img.width,h:img.height}),currentX+=img.width+2*IMAGE_PADDING,maxLineHeight=Math.max(maxLineHeight,img.height)}var imgWidth=Math.max(maxX,currentX)+IMAGE_PADDING,imgHeight=currentY+maxLineHeight+IMAGE_PADDING,imgData=new Uint8Array(imgWidth*imgHeight*4),imgRowSize=imgWidth<<2;for(q=0;count>q;q++){var data=argsArray[iFirstPIIXO+(q<<2)][0].data,rowSize=map[q].w<<2,dataOffset=0,offset=map[q].x+map[q].y*imgWidth<<2;imgData.set(data.subarray(0,rowSize),offset-imgRowSize);for(var k=0,kk=map[q].h;kk>k;k++)imgData.set(data.subarray(dataOffset,dataOffset+rowSize),offset),dataOffset+=rowSize,offset+=imgRowSize;for(imgData.set(data.subarray(dataOffset-rowSize,dataOffset),offset);offset>=0;)data[offset-4]=data[offset],data[offset-3]=data[offset+1],data[offset-2]=data[offset+2],data[offset-1]=data[offset+3],data[offset+rowSize]=data[offset+rowSize-4],data[offset+rowSize+1]=data[offset+rowSize-3],data[offset+rowSize+2]=data[offset+rowSize-2],data[offset+rowSize+3]=data[offset+rowSize-1],offset-=imgRowSize}return fnArray.splice(iFirstSave,4*count,OPS.paintInlineImageXObjectGroup),argsArray.splice(iFirstSave,4*count,[{width:imgWidth,height:imgHeight,kind:ImageKind.RGBA_32BPP,data:imgData},map]),iFirstSave+1}),addState(InitialState,[OPS.save,OPS.transform,OPS.paintImageMaskXObject,OPS.restore],function(context){for(var MIN_IMAGES_IN_MASKS_BLOCK=10,MAX_IMAGES_IN_MASKS_BLOCK=100,MAX_SAME_IMAGES_IN_MASKS_BLOCK=1e3,fnArray=context.fnArray,argsArray=context.argsArray,curr=context.iCurr,iFirstSave=curr-3,iFirstTransform=curr-2,iFirstPIMXO=curr-1,i=iFirstSave+4,ii=fnArray.length;ii>i+3&&fnArray[i]===OPS.save&&fnArray[i+1]===OPS.transform&&fnArray[i+2]===OPS.paintImageMaskXObject&&fnArray[i+3]===OPS.restore;)i+=4;var count=(i-iFirstSave)/4;if(count=handlePaintSolidColorImageMask(iFirstSave,count,fnArray,argsArray),MIN_IMAGES_IN_MASKS_BLOCK>count)return i;var q,iTransform,transformArgs,isSameImage=!1,firstPIMXOArg0=argsArray[iFirstPIMXO][0];if(0===argsArray[iFirstTransform][1]&&0===argsArray[iFirstTransform][2]){isSameImage=!0;var firstTransformArg0=argsArray[iFirstTransform][0],firstTransformArg3=argsArray[iFirstTransform][3];iTransform=iFirstTransform+4;var iPIMXO=iFirstPIMXO+4;for(q=1;count>q;q++,iTransform+=4,iPIMXO+=4)if(transformArgs=argsArray[iTransform],argsArray[iPIMXO][0]!==firstPIMXOArg0||transformArgs[0]!==firstTransformArg0||0!==transformArgs[1]||0!==transformArgs[2]||transformArgs[3]!==firstTransformArg3){MIN_IMAGES_IN_MASKS_BLOCK>q?isSameImage=!1:count=q;break}}if(isSameImage){count=Math.min(count,MAX_SAME_IMAGES_IN_MASKS_BLOCK);var positions=new Float32Array(2*count);for(iTransform=iFirstTransform,q=0;count>q;q++,iTransform+=4)transformArgs=argsArray[iTransform],positions[q<<1]=transformArgs[4],positions[(q<<1)+1]=transformArgs[5];fnArray.splice(iFirstSave,4*count,OPS.paintImageMaskXObjectRepeat),argsArray.splice(iFirstSave,4*count,[firstPIMXOArg0,firstTransformArg0,firstTransformArg3,positions])}else{count=Math.min(count,MAX_IMAGES_IN_MASKS_BLOCK);var images=[];for(q=0;count>q;q++){transformArgs=argsArray[iFirstTransform+(q<<2)];var maskParams=argsArray[iFirstPIMXO+(q<<2)][0];images.push({data:maskParams.data,width:maskParams.width,height:maskParams.height,transform:transformArgs})}fnArray.splice(iFirstSave,4*count,OPS.paintImageMaskXObjectGroup),argsArray.splice(iFirstSave,4*count,[images])}return iFirstSave+1}),addState(InitialState,[OPS.save,OPS.transform,OPS.paintImageXObject,OPS.restore],function(context){var MIN_IMAGES_IN_BLOCK=3,MAX_IMAGES_IN_BLOCK=1e3,fnArray=context.fnArray,argsArray=context.argsArray,curr=context.iCurr,iFirstSave=curr-3,iFirstTransform=curr-2,iFirstPIXO=curr-1,iFirstRestore=curr;if(0!==argsArray[iFirstTransform][1]||0!==argsArray[iFirstTransform][2])return iFirstRestore+1;for(var firstPIXOArg0=argsArray[iFirstPIXO][0],firstTransformArg0=argsArray[iFirstTransform][0],firstTransformArg3=argsArray[iFirstTransform][3],i=iFirstSave+4,ii=fnArray.length;ii>i+3&&fnArray[i]===OPS.save&&fnArray[i+1]===OPS.transform&&fnArray[i+2]===OPS.paintImageXObject&&fnArray[i+3]===OPS.restore&&argsArray[i+1][0]===firstTransformArg0&&0===argsArray[i+1][1]&&0===argsArray[i+1][2]&&argsArray[i+1][3]===firstTransformArg3&&argsArray[i+2][0]===firstPIXOArg0;)i+=4;var count=Math.min((i-iFirstSave)/4,MAX_IMAGES_IN_BLOCK);if(MIN_IMAGES_IN_BLOCK>count)return i;for(var positions=new Float32Array(2*count),iTransform=iFirstTransform,q=0;count>q;q++,iTransform+=4){var transformArgs=argsArray[iTransform];positions[q<<1]=transformArgs[4],positions[(q<<1)+1]=transformArgs[5]}var args=[firstPIXOArg0,firstTransformArg0,firstTransformArg3,positions];return fnArray.splice(iFirstSave,4*count,OPS.paintImageXObjectRepeat),argsArray.splice(iFirstSave,4*count,args),iFirstSave+1}),addState(InitialState,[OPS.beginText,OPS.setFont,OPS.setTextMatrix,OPS.showText,OPS.endText],function(context){for(var MIN_CHARS_IN_BLOCK=3,MAX_CHARS_IN_BLOCK=1e3,fnArray=context.fnArray,argsArray=context.argsArray,curr=context.iCurr,iFirstBeginText=curr-4,iFirstSetFont=curr-3,iFirstSetTextMatrix=curr-2,iFirstShowText=curr-1,iFirstEndText=curr,firstSetFontArg0=argsArray[iFirstSetFont][0],firstSetFontArg1=argsArray[iFirstSetFont][1],i=iFirstBeginText+5,ii=fnArray.length;ii>i+4&&fnArray[i]===OPS.beginText&&fnArray[i+1]===OPS.setFont&&fnArray[i+2]===OPS.setTextMatrix&&fnArray[i+3]===OPS.showText&&fnArray[i+4]===OPS.endText&&argsArray[i+1][0]===firstSetFontArg0&&argsArray[i+1][1]===firstSetFontArg1;)i+=5;var count=Math.min((i-iFirstBeginText)/5,MAX_CHARS_IN_BLOCK);if(MIN_CHARS_IN_BLOCK>count)return i;var iFirst=iFirstBeginText;iFirstBeginText>=4&&fnArray[iFirstBeginText-4]===fnArray[iFirstSetFont]&&fnArray[iFirstBeginText-3]===fnArray[iFirstSetTextMatrix]&&fnArray[iFirstBeginText-2]===fnArray[iFirstShowText]&&fnArray[iFirstBeginText-1]===fnArray[iFirstEndText]&&argsArray[iFirstBeginText-4][0]===firstSetFontArg0&&argsArray[iFirstBeginText-4][1]===firstSetFontArg1&&(count++,iFirst-=5);for(var iEndText=iFirst+4,q=1;count>q;q++)fnArray.splice(iEndText,3),argsArray.splice(iEndText,3),iEndText+=2;return iEndText+1}),QueueOptimizer.prototype={optimize:function(queue){for(var state,fnArray=queue.fnArray,argsArray=queue.argsArray,context={iCurr:0,fnArray:fnArray,argsArray:argsArray},i=0,ii=fnArray.length;ii>i;)state=(state||InitialState)[fnArray[i]],"function"==typeof state?(context.iCurr=i,i=state(context),state=void 0,ii=context.fnArray.length):i++}},QueueOptimizer}(),BUILT_IN_CMAPS=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],CMap=function(){function CMap(builtInCMap){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.vertical=!1,this.useCMap=null,this.builtInCMap=builtInCMap}return CMap.prototype={addCodespaceRange:function(n,low,high){this.codespaceRanges[n-1].push(low,high),this.numCodespaceRanges++},mapCidRange:function(low,high,dstLow){for(;high>=low;)this._map[low++]=dstLow++},mapBfRange:function(low,high,dstLow){for(var lastByte=dstLow.length-1;high>=low;)this._map[low++]=dstLow,dstLow=dstLow.substr(0,lastByte)+String.fromCharCode(dstLow.charCodeAt(lastByte)+1)},mapBfRangeToArray:function(low,high,array){for(var i=0,ii=array.length;high>=low&&ii>i;)this._map[low]=array[i++],++low},mapOne:function(src,dst){this._map[src]=dst},lookup:function(code){return this._map[code]},contains:function(code){return void 0!==this._map[code]},forEach:function(callback){var i,map=this._map,length=map.length;if(65536>=length)for(i=0;length>i;i++)void 0!==map[i]&&callback(i,map[i]);else for(i in this._map)callback(i,map[i])},charCodeOf:function(value){return this._map.indexOf(value)},getMap:function(){return this._map},readCharCode:function(str,offset,out){for(var c=0,codespaceRanges=this.codespaceRanges,codespaceRangesLen=this.codespaceRanges.length,n=0;codespaceRangesLen>n;n++){c=(c<<8|str.charCodeAt(offset+n))>>>0;for(var codespaceRange=codespaceRanges[n],k=0,kk=codespaceRange.length;kk>k;){var low=codespaceRange[k++],high=codespaceRange[k++];if(c>=low&&high>=c)return out.charcode=c,void(out.length=n+1)}}out.charcode=0,out.length=1}},CMap}(),IdentityCMap=function(){function IdentityCMap(vertical,n){CMap.call(this),this.vertical=vertical,this.addCodespaceRange(n,0,65535)}return Util.inherit(IdentityCMap,CMap,{}),IdentityCMap.prototype={addCodespaceRange:CMap.prototype.addCodespaceRange,mapCidRange:function(){error("should not call mapCidRange")},mapBfRange:function(){error("should not call mapBfRange")},mapBfRangeToArray:function(){error("should not call mapBfRangeToArray")},mapOne:function(){error("should not call mapCidOne")},lookup:function(code){return isInt(code)&&65535>=code?code:void 0},contains:function(code){return isInt(code)&&65535>=code},forEach:function(callback){for(var i=0;65535>=i;i++)callback(i,i)},charCodeOf:function(value){return isInt(value)&&65535>=value?value:-1},getMap:function(){for(var map=new Array(65536),i=0;65535>=i;i++)map[i]=i;return map},readCharCode:CMap.prototype.readCharCode},IdentityCMap}(),BinaryCMapReader=function(){function fetchBinaryData(url){var nonBinaryRequest=PDFJS.disableWorker,request=new XMLHttpRequest;if(request.open("GET",url,!1),!nonBinaryRequest)try{request.responseType="arraybuffer",nonBinaryRequest="arraybuffer"!==request.responseType}catch(e){nonBinaryRequest=!0}if(nonBinaryRequest&&request.overrideMimeType&&request.overrideMimeType("text/plain; charset=x-user-defined"),request.send(null),(nonBinaryRequest?request.responseText:request.response)||error("Unable to get binary cMap at: "+url),nonBinaryRequest){var data=Array.prototype.map.call(request.responseText,function(ch){return 255&ch.charCodeAt(0)});return new Uint8Array(data)}return new Uint8Array(request.response)}function hexToInt(a,size){for(var n=0,i=0;size>=i;i++)n=n<<8|a[i];return n>>>0}function hexToStr(a,size){return 1===size?String.fromCharCode(a[0],a[1]):3===size?String.fromCharCode(a[0],a[1],a[2],a[3]):String.fromCharCode.apply(null,a.subarray(0,size+1))}function addHex(a,b,size){for(var c=0,i=size;i>=0;i--)c+=a[i]+b[i],a[i]=255&c,c>>=8}function incHex(a,size){for(var c=1,i=size;i>=0&&c>0;i--)c+=a[i],a[i]=255&c,c>>=8}function BinaryCMapStream(data){this.buffer=data,this.pos=0,this.end=data.length,this.tmpBuf=new Uint8Array(MAX_ENCODED_NUM_SIZE)}function processBinaryCMap(url,cMap,extend){var data=fetchBinaryData(url),stream=new BinaryCMapStream(data),header=stream.readByte();cMap.vertical=!!(1&header);for(var code,b,useCMap=null,start=new Uint8Array(MAX_NUM_SIZE),end=new Uint8Array(MAX_NUM_SIZE),char=new Uint8Array(MAX_NUM_SIZE),charCode=new Uint8Array(MAX_NUM_SIZE),tmp=new Uint8Array(MAX_NUM_SIZE);(b=stream.readByte())>=0;){var type=b>>5;if(7!==type){var sequence=!!(16&b),dataSize=15&b;assert(MAX_NUM_SIZE>=dataSize+1);var i,ucs2DataSize=1,subitemsCount=stream.readNumber();switch(type){case 0:for(stream.readHex(start,dataSize),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),cMap.addCodespaceRange(dataSize+1,hexToInt(start,dataSize),hexToInt(end,dataSize)),i=1;subitemsCount>i;i++)incHex(end,dataSize),stream.readHexNumber(start,dataSize),addHex(start,end,dataSize),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),cMap.addCodespaceRange(dataSize+1,hexToInt(start,dataSize),hexToInt(end,dataSize));break;case 1:for(stream.readHex(start,dataSize),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),code=stream.readNumber(),i=1;subitemsCount>i;i++)incHex(end,dataSize),stream.readHexNumber(start,dataSize),addHex(start,end,dataSize),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),code=stream.readNumber();break;case 2:for(stream.readHex(char,dataSize),code=stream.readNumber(),cMap.mapOne(hexToInt(char,dataSize),code),i=1;subitemsCount>i;i++)incHex(char,dataSize),sequence||(stream.readHexNumber(tmp,dataSize),addHex(char,tmp,dataSize)),code=stream.readSigned()+(code+1),cMap.mapOne(hexToInt(char,dataSize),code);break;case 3:for(stream.readHex(start,dataSize),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),code=stream.readNumber(),cMap.mapCidRange(hexToInt(start,dataSize),hexToInt(end,dataSize),code),i=1;subitemsCount>i;i++)incHex(end,dataSize),sequence?start.set(end):(stream.readHexNumber(start,dataSize),addHex(start,end,dataSize)),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),code=stream.readNumber(),cMap.mapCidRange(hexToInt(start,dataSize),hexToInt(end,dataSize),code);break;case 4:for(stream.readHex(char,ucs2DataSize),stream.readHex(charCode,dataSize),cMap.mapOne(hexToInt(char,ucs2DataSize),hexToStr(charCode,dataSize)),i=1;subitemsCount>i;i++)incHex(char,ucs2DataSize),sequence||(stream.readHexNumber(tmp,ucs2DataSize),addHex(char,tmp,ucs2DataSize)),incHex(charCode,dataSize),stream.readHexSigned(tmp,dataSize),addHex(charCode,tmp,dataSize),cMap.mapOne(hexToInt(char,ucs2DataSize),hexToStr(charCode,dataSize));break;case 5:for(stream.readHex(start,ucs2DataSize),stream.readHexNumber(end,ucs2DataSize),addHex(end,start,ucs2DataSize),stream.readHex(charCode,dataSize),cMap.mapBfRange(hexToInt(start,ucs2DataSize),hexToInt(end,ucs2DataSize),hexToStr(charCode,dataSize)),i=1;subitemsCount>i;i++)incHex(end,ucs2DataSize),sequence?start.set(end):(stream.readHexNumber(start,ucs2DataSize),addHex(start,end,ucs2DataSize)),stream.readHexNumber(end,ucs2DataSize),addHex(end,start,ucs2DataSize),stream.readHex(charCode,dataSize),cMap.mapBfRange(hexToInt(start,ucs2DataSize),hexToInt(end,ucs2DataSize),hexToStr(charCode,dataSize));break;default:error("Unknown type: "+type)}}else switch(31&b){case 0:stream.readString();break;case 1:useCMap=stream.readString()}}return useCMap&&extend(useCMap),cMap}function BinaryCMapReader(){}var MAX_NUM_SIZE=16,MAX_ENCODED_NUM_SIZE=19;return BinaryCMapStream.prototype={readByte:function(){return this.pos>=this.end?-1:this.buffer[this.pos++]},readNumber:function(){var last,n=0;do{var b=this.readByte();0>b&&error("unexpected EOF in bcmap"),last=!(128&b),n=n<<7|127&b}while(!last);return n},readSigned:function(){var n=this.readNumber();return 1&n?~(n>>>1):n>>>1},readHex:function(num,size){num.set(this.buffer.subarray(this.pos,this.pos+size+1)),this.pos+=size+1},readHexNumber:function(num,size){var last,stack=this.tmpBuf,sp=0;do{var b=this.readByte();0>b&&error("unexpected EOF in bcmap"),last=!(128&b),stack[sp++]=127&b}while(!last);for(var i=size,buffer=0,bufferSize=0;i>=0;){for(;8>bufferSize&&stack.length>0;)buffer=stack[--sp]<<bufferSize|buffer,bufferSize+=7;num[i]=255&buffer,i--,buffer>>=8,bufferSize-=8}},readHexSigned:function(num,size){this.readHexNumber(num,size);for(var sign=1&num[size]?255:0,c=0,i=0;size>=i;i++)c=(1&c)<<8|num[i],num[i]=c>>1^sign},readString:function(){for(var len=this.readNumber(),s="",i=0;len>i;i++)s+=String.fromCharCode(this.readNumber());return s}},BinaryCMapReader.prototype={read:processBinaryCMap},BinaryCMapReader}(),CMapFactory=function(){function strToInt(str){for(var a=0,i=0;i<str.length;i++)a=a<<8|str.charCodeAt(i);return a>>>0}function expectString(obj){isString(obj)||error("Malformed CMap: expected string.")}function expectInt(obj){isInt(obj)||error("Malformed CMap: expected int.")}function parseBfChar(cMap,lexer){for(;;){var obj=lexer.getObj();if(isEOF(obj))break;if(isCmd(obj,"endbfchar"))return;expectString(obj);var src=strToInt(obj);obj=lexer.getObj(),expectString(obj);var dst=obj;cMap.mapOne(src,dst)}}function parseBfRange(cMap,lexer){for(;;){var obj=lexer.getObj();if(isEOF(obj))break;if(isCmd(obj,"endbfrange"))return;expectString(obj);var low=strToInt(obj);obj=lexer.getObj(),expectString(obj);var high=strToInt(obj);if(obj=lexer.getObj(),isInt(obj)||isString(obj)){var dstLow=isInt(obj)?String.fromCharCode(obj):obj;cMap.mapBfRange(low,high,dstLow)}else{if(!isCmd(obj,"["))break;obj=lexer.getObj();for(var array=[];!isCmd(obj,"]")&&!isEOF(obj);)array.push(obj),obj=lexer.getObj();cMap.mapBfRangeToArray(low,high,array)}}error("Invalid bf range.")}function parseCidChar(cMap,lexer){for(;;){var obj=lexer.getObj();if(isEOF(obj))break;if(isCmd(obj,"endcidchar"))return;expectString(obj);var src=strToInt(obj);obj=lexer.getObj(),expectInt(obj);var dst=obj;cMap.mapOne(src,dst)}}function parseCidRange(cMap,lexer){for(;;){var obj=lexer.getObj();if(isEOF(obj))break;if(isCmd(obj,"endcidrange"))return;expectString(obj);var low=strToInt(obj);obj=lexer.getObj(),expectString(obj);
+var high=strToInt(obj);obj=lexer.getObj(),expectInt(obj);var dstLow=obj;cMap.mapCidRange(low,high,dstLow)}}function parseCodespaceRange(cMap,lexer){for(;;){var obj=lexer.getObj();if(isEOF(obj))break;if(isCmd(obj,"endcodespacerange"))return;if(!isString(obj))break;var low=strToInt(obj);if(obj=lexer.getObj(),!isString(obj))break;var high=strToInt(obj);cMap.addCodespaceRange(obj.length,low,high)}error("Invalid codespace range.")}function parseWMode(cMap,lexer){var obj=lexer.getObj();isInt(obj)&&(cMap.vertical=!!obj)}function parseCMap(cMap,lexer,builtInCMapParams,useCMap){var previous,embededUseCMap;objLoop:for(;;){var obj=lexer.getObj();if(isEOF(obj))break;if(isName(obj))"WMode"===obj.name&&parseWMode(cMap,lexer),previous=obj;else if(isCmd(obj))switch(obj.cmd){case"endcmap":break objLoop;case"usecmap":isName(previous)&&(embededUseCMap=previous.name);break;case"begincodespacerange":parseCodespaceRange(cMap,lexer);break;case"beginbfchar":parseBfChar(cMap,lexer);break;case"begincidchar":parseCidChar(cMap,lexer);break;case"beginbfrange":parseBfRange(cMap,lexer);break;case"begincidrange":parseCidRange(cMap,lexer)}}!useCMap&&embededUseCMap&&(useCMap=embededUseCMap),useCMap&&extendCMap(cMap,builtInCMapParams,useCMap)}function extendCMap(cMap,builtInCMapParams,useCMap){if(cMap.useCMap=createBuiltInCMap(useCMap,builtInCMapParams),0===cMap.numCodespaceRanges){for(var useCodespaceRanges=cMap.useCMap.codespaceRanges,i=0;i<useCodespaceRanges.length;i++)cMap.codespaceRanges[i]=useCodespaceRanges[i].slice();cMap.numCodespaceRanges=cMap.useCMap.numCodespaceRanges}cMap.useCMap.forEach(function(key){cMap.contains(key)||cMap.mapOne(key,cMap.useCMap.lookup(key))})}function parseBinaryCMap(name,builtInCMapParams){var url=builtInCMapParams.url+name+".bcmap",cMap=new CMap(!0);return(new BinaryCMapReader).read(url,cMap,function(useCMap){extendCMap(cMap,builtInCMapParams,useCMap)}),cMap}function createBuiltInCMap(name,builtInCMapParams){if("Identity-H"===name)return new IdentityCMap(!1,2);if("Identity-V"===name)return new IdentityCMap(!0,2);if(-1===BUILT_IN_CMAPS.indexOf(name)&&error("Unknown cMap name: "+name),assert(builtInCMapParams,"built-in cMap parameters are not provided"),builtInCMapParams.packed)return parseBinaryCMap(name,builtInCMapParams);var request=new XMLHttpRequest,url=builtInCMapParams.url+name;request.open("GET",url,!1),request.send(null),request.responseText||error("Unable to get cMap at: "+url);var cMap=new CMap(!0),lexer=new Lexer(new StringStream(request.responseText));return parseCMap(cMap,lexer,builtInCMapParams,null),cMap}return{create:function(encoding,builtInCMapParams,useCMap){if(isName(encoding))return createBuiltInCMap(encoding.name,builtInCMapParams);if(isStream(encoding)){var cMap=new CMap,lexer=new Lexer(encoding);try{parseCMap(cMap,lexer,builtInCMapParams,useCMap)}catch(e){warn("Invalid CMap data. "+e)}return cMap}error("Encoding required.")}}}(),PRIVATE_USE_OFFSET_START=57344,PRIVATE_USE_OFFSET_END=63743,SKIP_PRIVATE_USE_RANGE_F000_TO_F01F=!1,PDF_GLYPH_SPACE_UNITS=1e3,HINTING_ENABLED=!1,SEAC_ANALYSIS_ENABLED=!1,FontFlags={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144},Encodings={ExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],MacExpertEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall"],MacRomanEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],StandardEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],WinAnsiEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],SymbolSetEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt"],ZapfDingbatsEncoding:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191"]},stdFontMap={ArialNarrow:"Helvetica","ArialNarrow-Bold":"Helvetica-Bold","ArialNarrow-BoldItalic":"Helvetica-BoldOblique","ArialNarrow-Italic":"Helvetica-Oblique",ArialBlack:"Helvetica","ArialBlack-Bold":"Helvetica-Bold","ArialBlack-BoldItalic":"Helvetica-BoldOblique","ArialBlack-Italic":"Helvetica-Oblique",Arial:"Helvetica","Arial-Bold":"Helvetica-Bold","Arial-BoldItalic":"Helvetica-BoldOblique","Arial-Italic":"Helvetica-Oblique","Arial-BoldItalicMT":"Helvetica-BoldOblique","Arial-BoldMT":"Helvetica-Bold","Arial-ItalicMT":"Helvetica-Oblique",ArialMT:"Helvetica","Courier-Bold":"Courier-Bold","Courier-BoldItalic":"Courier-BoldOblique","Courier-Italic":"Courier-Oblique",CourierNew:"Courier","CourierNew-Bold":"Courier-Bold","CourierNew-BoldItalic":"Courier-BoldOblique","CourierNew-Italic":"Courier-Oblique","CourierNewPS-BoldItalicMT":"Courier-BoldOblique","CourierNewPS-BoldMT":"Courier-Bold","CourierNewPS-ItalicMT":"Courier-Oblique",CourierNewPSMT:"Courier","Helvetica-Bold":"Helvetica-Bold","Helvetica-BoldItalic":"Helvetica-BoldOblique","Helvetica-Italic":"Helvetica-Oblique","Symbol-Bold":"Symbol","Symbol-BoldItalic":"Symbol","Symbol-Italic":"Symbol",TimesNewRoman:"Times-Roman","TimesNewRoman-Bold":"Times-Bold","TimesNewRoman-BoldItalic":"Times-BoldItalic","TimesNewRoman-Italic":"Times-Italic",TimesNewRomanPS:"Times-Roman","TimesNewRomanPS-Bold":"Times-Bold","TimesNewRomanPS-BoldItalic":"Times-BoldItalic","TimesNewRomanPS-BoldItalicMT":"Times-BoldItalic","TimesNewRomanPS-BoldMT":"Times-Bold","TimesNewRomanPS-Italic":"Times-Italic","TimesNewRomanPS-ItalicMT":"Times-Italic",TimesNewRomanPSMT:"Times-Roman","TimesNewRomanPSMT-Bold":"Times-Bold","TimesNewRomanPSMT-BoldItalic":"Times-BoldItalic","TimesNewRomanPSMT-Italic":"Times-Italic"},nonStdFontMap={ComicSansMS:"Comic Sans MS","ComicSansMS-Bold":"Comic Sans MS-Bold","ComicSansMS-BoldItalic":"Comic Sans MS-BoldItalic","ComicSansMS-Italic":"Comic Sans MS-Italic",LucidaConsole:"Courier","LucidaConsole-Bold":"Courier-Bold","LucidaConsole-BoldItalic":"Courier-BoldOblique","LucidaConsole-Italic":"Courier-Oblique","MS-Gothic":"MS Gothic","MS-Gothic-Bold":"MS Gothic-Bold","MS-Gothic-BoldItalic":"MS Gothic-BoldItalic","MS-Gothic-Italic":"MS Gothic-Italic","MS-Mincho":"MS Mincho","MS-Mincho-Bold":"MS Mincho-Bold","MS-Mincho-BoldItalic":"MS Mincho-BoldItalic","MS-Mincho-Italic":"MS Mincho-Italic","MS-PGothic":"MS PGothic","MS-PGothic-Bold":"MS PGothic-Bold","MS-PGothic-BoldItalic":"MS PGothic-BoldItalic","MS-PGothic-Italic":"MS PGothic-Italic","MS-PMincho":"MS PMincho","MS-PMincho-Bold":"MS PMincho-Bold","MS-PMincho-BoldItalic":"MS PMincho-BoldItalic","MS-PMincho-Italic":"MS PMincho-Italic"},serifFonts={"Adobe Jenson":!0,"Adobe Text":!0,Albertus:!0,Aldus:!0,Alexandria:!0,Algerian:!0,"American Typewriter":!0,Antiqua:!0,Apex:!0,Arno:!0,Aster:!0,Aurora:!0,Baskerville:!0,Bell:!0,Bembo:!0,"Bembo Schoolbook":!0,Benguiat:!0,"Berkeley Old Style":!0,"Bernhard Modern":!0,"Berthold City":!0,Bodoni:!0,"Bauer Bodoni":!0,"Book Antiqua":!0,Bookman:!0,"Bordeaux Roman":!0,"Californian FB":!0,Calisto:!0,Calvert:!0,Capitals:!0,Cambria:!0,Cartier:!0,Caslon:!0,Catull:!0,Centaur:!0,"Century Old Style":!0,"Century Schoolbook":!0,Chaparral:!0,"Charis SIL":!0,Cheltenham:!0,"Cholla Slab":!0,Clarendon:!0,Clearface:!0,Cochin:!0,Colonna:!0,"Computer Modern":!0,"Concrete Roman":!0,Constantia:!0,"Cooper Black":!0,Corona:!0,Ecotype:!0,Egyptienne:!0,Elephant:!0,Excelsior:!0,Fairfield:!0,"FF Scala":!0,Folkard:!0,Footlight:!0,FreeSerif:!0,"Friz Quadrata":!0,Garamond:!0,Gentium:!0,Georgia:!0,Gloucester:!0,"Goudy Old Style":!0,"Goudy Schoolbook":!0,"Goudy Pro Font":!0,Granjon:!0,"Guardian Egyptian":!0,Heather:!0,Hercules:!0,"High Tower Text":!0,Hiroshige:!0,"Hoefler Text":!0,"Humana Serif":!0,Imprint:!0,"Ionic No. 5":!0,Janson:!0,Joanna:!0,Korinna:!0,Lexicon:!0,"Liberation Serif":!0,"Linux Libertine":!0,Literaturnaya:!0,Lucida:!0,"Lucida Bright":!0,Melior:!0,Memphis:!0,Miller:!0,Minion:!0,Modern:!0,"Mona Lisa":!0,"Mrs Eaves":!0,"MS Serif":!0,"Museo Slab":!0,"New York":!0,"Nimbus Roman":!0,"NPS Rawlinson Roadway":!0,Palatino:!0,Perpetua:!0,Plantin:!0,"Plantin Schoolbook":!0,Playbill:!0,"Poor Richard":!0,"Rawlinson Roadway":!0,Renault:!0,Requiem:!0,Rockwell:!0,Roman:!0,"Rotis Serif":!0,Sabon:!0,Scala:!0,Seagull:!0,Sistina:!0,Souvenir:!0,STIX:!0,"Stone Informal":!0,"Stone Serif":!0,Sylfaen:!0,Times:!0,Trajan:!0,"Trinité":!0,"Trump Mediaeval":!0,Utopia:!0,"Vale Type":!0,"Bitstream Vera":!0,"Vera Serif":!0,Versailles:!0,Wanted:!0,Weiss:!0,"Wide Latin":!0,Windsor:!0,XITS:!0},symbolsFonts={Dingbats:!0,Symbol:!0,ZapfDingbats:!0},GlyphMapForStandardFonts={2:10,3:32,4:33,5:34,6:35,7:36,8:37,9:38,10:39,11:40,12:41,13:42,14:43,15:44,16:45,17:46,18:47,19:48,20:49,21:50,22:51,23:52,24:53,25:54,26:55,27:56,28:57,29:58,30:894,31:60,32:61,33:62,34:63,35:64,36:65,37:66,38:67,39:68,40:69,41:70,42:71,43:72,44:73,45:74,46:75,47:76,48:77,49:78,50:79,51:80,52:81,53:82,54:83,55:84,56:85,57:86,58:87,59:88,60:89,61:90,62:91,63:92,64:93,65:94,66:95,67:96,68:97,69:98,70:99,71:100,72:101,73:102,74:103,75:104,76:105,77:106,78:107,79:108,80:109,81:110,82:111,83:112,84:113,85:114,86:115,87:116,88:117,89:118,90:119,91:120,92:121,93:122,94:123,95:124,96:125,97:126,98:196,99:197,100:199,101:201,102:209,103:214,104:220,105:225,106:224,107:226,108:228,109:227,110:229,111:231,112:233,113:232,114:234,115:235,116:237,117:236,118:238,119:239,120:241,121:243,122:242,123:244,124:246,125:245,126:250,127:249,128:251,129:252,130:8224,131:176,132:162,133:163,134:167,135:8226,136:182,137:223,138:174,139:169,140:8482,141:180,142:168,143:8800,144:198,145:216,146:8734,147:177,148:8804,149:8805,150:165,151:181,152:8706,153:8721,154:8719,156:8747,157:170,158:186,159:8486,160:230,161:248,162:191,163:161,164:172,165:8730,166:402,167:8776,168:8710,169:171,170:187,171:8230,210:218,223:711,224:321,225:322,227:353,229:382,234:253,252:263,253:268,254:269,258:258,260:260,261:261,265:280,266:281,268:283,269:313,275:323,276:324,278:328,284:345,285:346,286:347,292:367,295:377,296:378,298:380,305:963,306:964,307:966,308:8215,309:8252,310:8319,311:8359,312:8592,313:8593,337:9552,493:1039,494:1040,705:1524,706:8362,710:64288,711:64298,759:1617,761:1776,763:1778,775:1652,777:1764,778:1780,779:1781,780:1782,782:771,783:64726,786:8363,788:8532,790:768,791:769,792:768,795:803,797:64336,798:64337,799:64342,800:64343,801:64344,802:64345,803:64362,804:64363,805:64364,2424:7821,2425:7822,2426:7823,2427:7824,2428:7825,2429:7826,2430:7827,2433:7682,2678:8045,2679:8046,2830:1552,2838:686,2840:751,2842:753,2843:754,2844:755,2846:757,2856:767,2857:848,2858:849,2862:853,2863:854,2864:855,2865:861,2866:862,2906:7460,2908:7462,2909:7463,2910:7464,2912:7466,2913:7467,2914:7468,2916:7470,2917:7471,2918:7472,2920:7474,2921:7475,2922:7476,2924:7478,2925:7479,2926:7480,2928:7482,2929:7483,2930:7484,2932:7486,2933:7487,2934:7488,2936:7490,2937:7491,2938:7492,2940:7494,2941:7495,2942:7496,2944:7498,2946:7500,2948:7502,2950:7504,2951:7505,2952:7506,2954:7508,2955:7509,2956:7510,2958:7512,2959:7513,2960:7514,2962:7516,2963:7517,2964:7518,2966:7520,2967:7521,2968:7522,2970:7524,2971:7525,2972:7526,2974:7528,2975:7529,2976:7530,2978:1537,2979:1538,2980:1539,2982:1549,2983:1551,2984:1552,2986:1554,2987:1555,2988:1556,2990:1623,2991:1624,2995:1775,2999:1791,3002:64290,3003:64291,3004:64292,3006:64294,3007:64295,3008:64296,3011:1900,3014:8223,3015:8244,3017:7532,3018:7533,3019:7534,3075:7590,3076:7591,3079:7594,3080:7595,3083:7598,3084:7599,3087:7602,3088:7603,3091:7606,3092:7607,3095:7610,3096:7611,3099:7614,3100:7615,3103:7618,3104:7619,3107:8337,3108:8338,3116:1884,3119:1885,3120:1885,3123:1886,3124:1886,3127:1887,3128:1887,3131:1888,3132:1888,3135:1889,3136:1889,3139:1890,3140:1890,3143:1891,3144:1891,3147:1892,3148:1892,3153:580,3154:581,3157:584,3158:585,3161:588,3162:589,3165:891,3166:892,3169:1274,3170:1275,3173:1278,3174:1279,3181:7622,3182:7623,3282:11799,3316:578,3379:42785,3393:1159,3416:8377},SpecialPUASymbols={63721:169,63193:169,63720:174,63194:174,63722:8482,63195:8482,63729:9127,63730:9128,63731:9129,63740:9131,63741:9132,63742:9133,63726:9121,63727:9122,63728:9123,63737:9124,63738:9125,63739:9126,63723:9115,63724:9116,63725:9117,63734:9118,63735:9119,63736:9120},UnicodeRanges=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}],MacStandardGlyphOrdering=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"],NormalizedUnicodes={"¨":" ̈","¯":" ̄","´":" ́","µ":"μ","¸":" ̧","IJ":"IJ","ij":"ij","Ŀ":"L·","ŀ":"l·","ʼn":"ʼn","ſ":"s","DŽ":"DŽ","Dž":"Dž","dž":"dž","LJ":"LJ","Lj":"Lj","lj":"lj","NJ":"NJ","Nj":"Nj","nj":"nj","DZ":"DZ","Dz":"Dz","dz":"dz","˘":" ̆","˙":" ̇","˚":" ̊","˛":" ̨","˜":" ̃","˝":" ̋","ͺ":" ͅ","΄":" ́","ϐ":"β","ϑ":"θ","ϒ":"Υ","ϕ":"φ","ϖ":"π","ϰ":"κ","ϱ":"ρ","ϲ":"ς","ϴ":"Θ","ϵ":"ε","Ϲ":"Σ","և":"եւ","ٵ":"اٴ","ٶ":"وٴ","ٷ":"ۇٴ","ٸ":"يٴ","ำ":"ํา","ຳ":"ໍາ","ໜ":"ຫນ","ໝ":"ຫມ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ","ẚ":"aʾ","᾽":" ̓","᾿":" ̓","῀":" ͂","῾":" ̔"," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" ","‗":" ̳","․":".","‥":"..","…":"...","″":"′′","‴":"′′′","‶":"‵‵","‷":"‵‵‵","‼":"!!","‾":" ̅","⁇":"??","⁈":"?!","⁉":"!?","⁗":"′′′′"," ":" ","₨":"Rs","℀":"a/c","℁":"a/s","℃":"°C","℅":"c/o","℆":"c/u","ℇ":"Ɛ","℉":"°F","№":"No","℡":"TEL","ℵ":"א","ℶ":"ב","ℷ":"ג","ℸ":"ד","℻":"FAX","Ⅰ":"I","Ⅱ":"II","Ⅲ":"III","Ⅳ":"IV","Ⅴ":"V","Ⅵ":"VI","Ⅶ":"VII","Ⅷ":"VIII","Ⅸ":"IX","Ⅹ":"X","Ⅺ":"XI","Ⅻ":"XII","Ⅼ":"L","Ⅽ":"C","Ⅾ":"D","Ⅿ":"M","ⅰ":"i","ⅱ":"ii","ⅲ":"iii","ⅳ":"iv","ⅴ":"v","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","ⅸ":"ix","ⅹ":"x","ⅺ":"xi","ⅻ":"xii","ⅼ":"l","ⅽ":"c","ⅾ":"d","ⅿ":"m","∬":"∫∫","∭":"∫∫∫","∯":"∮∮","∰":"∮∮∮","⑴":"(1)","⑵":"(2)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⑽":"(10)","⑾":"(11)","⑿":"(12)","⒀":"(13)","⒁":"(14)","⒂":"(15)","⒃":"(16)","⒄":"(17)","⒅":"(18)","⒆":"(19)","⒇":"(20)","⒈":"1.","⒉":"2.","⒊":"3.","⒋":"4.","⒌":"5.","⒍":"6.","⒎":"7.","⒏":"8.","⒐":"9.","⒑":"10.","⒒":"11.","⒓":"12.","⒔":"13.","⒕":"14.","⒖":"15.","⒗":"16.","⒘":"17.","⒙":"18.","⒚":"19.","⒛":"20.","⒜":"(a)","⒝":"(b)","⒞":"(c)","⒟":"(d)","⒠":"(e)","⒡":"(f)","⒢":"(g)","⒣":"(h)","⒤":"(i)","⒥":"(j)","⒦":"(k)","⒧":"(l)","⒨":"(m)","⒩":"(n)","⒪":"(o)","⒫":"(p)","⒬":"(q)","⒭":"(r)","⒮":"(s)","⒯":"(t)","⒰":"(u)","⒱":"(v)","⒲":"(w)","⒳":"(x)","⒴":"(y)","⒵":"(z)","⨌":"∫∫∫∫","⩴":"::=","⩵":"==","⩶":"===","⺟":"母","⻳":"龟","⼀":"一","⼁":"丨","⼂":"丶","⼃":"丿","⼄":"乙","⼅":"亅","⼆":"二","⼇":"亠","⼈":"人","⼉":"儿","⼊":"入","⼋":"八","⼌":"冂","⼍":"冖","⼎":"冫","⼏":"几","⼐":"凵","⼑":"刀","⼒":"力","⼓":"勹","⼔":"匕","⼕":"匚","⼖":"匸","⼗":"十","⼘":"卜","⼙":"卩","⼚":"厂","⼛":"厶","⼜":"又","⼝":"口","⼞":"囗","⼟":"土","⼠":"士","⼡":"夂","⼢":"夊","⼣":"夕","⼤":"大","⼥":"女","⼦":"子","⼧":"宀","⼨":"寸","⼩":"小","⼪":"尢","⼫":"尸","⼬":"屮","⼭":"山","⼮":"巛","⼯":"工","⼰":"己","⼱":"巾","⼲":"干","⼳":"幺","⼴":"广","⼵":"廴","⼶":"廾","⼷":"弋","⼸":"弓","⼹":"彐","⼺":"彡","⼻":"彳","⼼":"心","⼽":"戈","⼾":"戶","⼿":"手","⽀":"支","⽁":"攴","⽂":"文","⽃":"斗","⽄":"斤","⽅":"方","⽆":"无","⽇":"日","⽈":"曰","⽉":"月","⽊":"木","⽋":"欠","⽌":"止","⽍":"歹","⽎":"殳","⽏":"毋","⽐":"比","⽑":"毛","⽒":"氏","⽓":"气","⽔":"水","⽕":"火","⽖":"爪","⽗":"父","⽘":"爻","⽙":"爿","⽚":"片","⽛":"牙","⽜":"牛","⽝":"犬","⽞":"玄","⽟":"玉","⽠":"瓜","⽡":"瓦","⽢":"甘","⽣":"生","⽤":"用","⽥":"田","⽦":"疋","⽧":"疒","⽨":"癶","⽩":"白","⽪":"皮","⽫":"皿","⽬":"目","⽭":"矛","⽮":"矢","⽯":"石","⽰":"示","⽱":"禸","⽲":"禾","⽳":"穴","⽴":"立","⽵":"竹","⽶":"米","⽷":"糸","⽸":"缶","⽹":"网","⽺":"羊","⽻":"羽","⽼":"老","⽽":"而","⽾":"耒","⽿":"耳","⾀":"聿","⾁":"肉","⾂":"臣","⾃":"自","⾄":"至","⾅":"臼","⾆":"舌","⾇":"舛","⾈":"舟","⾉":"艮","⾊":"色","⾋":"艸","⾌":"虍","⾍":"虫","⾎":"血","⾏":"行","⾐":"衣","⾑":"襾","⾒":"見","⾓":"角","⾔":"言","⾕":"谷","⾖":"豆","⾗":"豕","⾘":"豸","⾙":"貝","⾚":"赤","⾛":"走","⾜":"足","⾝":"身","⾞":"車","⾟":"辛","⾠":"辰","⾡":"辵","⾢":"邑","⾣":"酉","⾤":"釆","⾥":"里","⾦":"金","⾧":"長","⾨":"門","⾩":"阜","⾪":"隶","⾫":"隹","⾬":"雨","⾭":"靑","⾮":"非","⾯":"面","⾰":"革","⾱":"韋","⾲":"韭","⾳":"音","⾴":"頁","⾵":"風","⾶":"飛","⾷":"食","⾸":"首","⾹":"香","⾺":"馬","⾻":"骨","⾼":"高","⾽":"髟","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⿂":"魚","⿃":"鳥","⿄":"鹵","⿅":"鹿","⿆":"麥","⿇":"麻","⿈":"黃","⿉":"黍","⿊":"黑","⿋":"黹","⿌":"黽","⿍":"鼎","⿎":"鼓","⿏":"鼠","⿐":"鼻","⿑":"齊","⿒":"齒","⿓":"龍","⿔":"龜","⿕":"龠","〶":"〒","〸":"十","〹":"卄","〺":"卅","゛":" ゙","゜":" ゚","ㄱ":"ᄀ","ㄲ":"ᄁ","ㄳ":"ᆪ","ㄴ":"ᄂ","ㄵ":"ᆬ","ㄶ":"ᆭ","ㄷ":"ᄃ","ㄸ":"ᄄ","ㄹ":"ᄅ","ㄺ":"ᆰ","ㄻ":"ᆱ","ㄼ":"ᆲ","ㄽ":"ᆳ","ㄾ":"ᆴ","ㄿ":"ᆵ","ㅀ":"ᄚ","ㅁ":"ᄆ","ㅂ":"ᄇ","ㅃ":"ᄈ","ㅄ":"ᄡ","ㅅ":"ᄉ","ㅆ":"ᄊ","ㅇ":"ᄋ","ㅈ":"ᄌ","ㅉ":"ᄍ","ㅊ":"ᄎ","ㅋ":"ᄏ","ㅌ":"ᄐ","ㅍ":"ᄑ","ㅎ":"ᄒ","ㅏ":"ᅡ","ㅐ":"ᅢ","ㅑ":"ᅣ","ㅒ":"ᅤ","ㅓ":"ᅥ","ㅔ":"ᅦ","ㅕ":"ᅧ","ㅖ":"ᅨ","ㅗ":"ᅩ","ㅘ":"ᅪ","ㅙ":"ᅫ","ㅚ":"ᅬ","ㅛ":"ᅭ","ㅜ":"ᅮ","ㅝ":"ᅯ","ㅞ":"ᅰ","ㅟ":"ᅱ","ㅠ":"ᅲ","ㅡ":"ᅳ","ㅢ":"ᅴ","ㅣ":"ᅵ","ㅤ":"ᅠ","ㅥ":"ᄔ","ㅦ":"ᄕ","ㅧ":"ᇇ","ㅨ":"ᇈ","ㅩ":"ᇌ","ㅪ":"ᇎ","ㅫ":"ᇓ","ㅬ":"ᇗ","ㅭ":"ᇙ","ㅮ":"ᄜ","ㅯ":"ᇝ","ㅰ":"ᇟ","ㅱ":"ᄝ","ㅲ":"ᄞ","ㅳ":"ᄠ","ㅴ":"ᄢ","ㅵ":"ᄣ","ㅶ":"ᄧ","ㅷ":"ᄩ","ㅸ":"ᄫ","ㅹ":"ᄬ","ㅺ":"ᄭ","ㅻ":"ᄮ","ㅼ":"ᄯ","ㅽ":"ᄲ","ㅾ":"ᄶ","ㅿ":"ᅀ","ㆀ":"ᅇ","ㆁ":"ᅌ","ㆂ":"ᇱ","ㆃ":"ᇲ","ㆄ":"ᅗ","ㆅ":"ᅘ","ㆆ":"ᅙ","ㆇ":"ᆄ","ㆈ":"ᆅ","ㆉ":"ᆈ","ㆊ":"ᆑ","ㆋ":"ᆒ","ㆌ":"ᆔ","ㆍ":"ᆞ","ㆎ":"ᆡ","㈀":"(ᄀ)","㈁":"(ᄂ)","㈂":"(ᄃ)","㈃":"(ᄅ)","㈄":"(ᄆ)","㈅":"(ᄇ)","㈆":"(ᄉ)","㈇":"(ᄋ)","㈈":"(ᄌ)","㈉":"(ᄎ)","㈊":"(ᄏ)","㈋":"(ᄐ)","㈌":"(ᄑ)","㈍":"(ᄒ)","㈎":"(가)","㈏":"(나)","㈐":"(다)","㈑":"(라)","㈒":"(마)","㈓":"(바)","㈔":"(사)","㈕":"(아)","㈖":"(자)","㈗":"(차)","㈘":"(카)","㈙":"(타)","㈚":"(파)","㈛":"(하)","㈜":"(주)","㈝":"(오전)","㈞":"(오후)","㈠":"(一)","㈡":"(二)","㈢":"(三)","㈣":"(四)","㈤":"(五)","㈥":"(六)","㈦":"(七)","㈧":"(八)","㈨":"(九)","㈩":"(十)","㈪":"(月)","㈫":"(火)","㈬":"(水)","㈭":"(木)","㈮":"(金)","㈯":"(土)","㈰":"(日)","㈱":"(株)","㈲":"(有)","㈳":"(社)","㈴":"(名)","㈵":"(特)","㈶":"(財)","㈷":"(祝)","㈸":"(労)","㈹":"(代)","㈺":"(呼)","㈻":"(学)","㈼":"(監)","㈽":"(企)","㈾":"(資)","㈿":"(協)","㉀":"(祭)","㉁":"(休)","㉂":"(自)","㉃":"(至)","㋀":"1月","㋁":"2月","㋂":"3月","㋃":"4月","㋄":"5月","㋅":"6月","㋆":"7月","㋇":"8月","㋈":"9月","㋉":"10月","㋊":"11月","㋋":"12月","㍘":"0点","㍙":"1点","㍚":"2点","㍛":"3点","㍜":"4点","㍝":"5点","㍞":"6点","㍟":"7点","㍠":"8点","㍡":"9点","㍢":"10点","㍣":"11点","㍤":"12点","㍥":"13点","㍦":"14点","㍧":"15点","㍨":"16点","㍩":"17点","㍪":"18点","㍫":"19点","㍬":"20点","㍭":"21点","㍮":"22点","㍯":"23点","㍰":"24点","㏠":"1日","㏡":"2日","㏢":"3日","㏣":"4日","㏤":"5日","㏥":"6日","㏦":"7日","㏧":"8日","㏨":"9日","㏩":"10日","㏪":"11日","㏫":"12日","㏬":"13日","㏭":"14日","㏮":"15日","㏯":"16日","㏰":"17日","㏱":"18日","㏲":"19日","㏳":"20日","㏴":"21日","㏵":"22日","㏶":"23日","㏷":"24日","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏽":"30日","㏾":"31日","ff":"ff","fi":"fi","fl":"fl","ffi":"ffi","ffl":"ffl","ſt":"ſt","st":"st","ﬓ":"մն","ﬔ":"մե","ﬕ":"մի","ﬖ":"վն","ﬗ":"մխ","ﭏ":"אל","ﭐ":"ٱ","ﭑ":"ٱ","ﭒ":"ٻ","ﭓ":"ٻ","ﭔ":"ٻ","ﭕ":"ٻ","ﭖ":"پ","ﭗ":"پ","ﭘ":"پ","ﭙ":"پ","ﭚ":"ڀ","ﭛ":"ڀ","ﭜ":"ڀ","ﭝ":"ڀ","ﭞ":"ٺ","ﭟ":"ٺ","ﭠ":"ٺ","ﭡ":"ٺ","ﭢ":"ٿ","ﭣ":"ٿ","ﭤ":"ٿ","ﭥ":"ٿ","ﭦ":"ٹ","ﭧ":"ٹ","ﭨ":"ٹ","ﭩ":"ٹ","ﭪ":"ڤ","ﭫ":"ڤ","ﭬ":"ڤ","ﭭ":"ڤ","ﭮ":"ڦ","ﭯ":"ڦ","ﭰ":"ڦ","ﭱ":"ڦ","ﭲ":"ڄ","ﭳ":"ڄ","ﭴ":"ڄ","ﭵ":"ڄ","ﭶ":"ڃ","ﭷ":"ڃ","ﭸ":"ڃ","ﭹ":"ڃ","ﭺ":"چ","ﭻ":"چ","ﭼ":"چ","ﭽ":"چ","ﭾ":"ڇ","ﭿ":"ڇ","ﮀ":"ڇ","ﮁ":"ڇ","ﮂ":"ڍ","ﮃ":"ڍ","ﮄ":"ڌ","ﮅ":"ڌ","ﮆ":"ڎ","ﮇ":"ڎ","ﮈ":"ڈ","ﮉ":"ڈ","ﮊ":"ژ","ﮋ":"ژ","ﮌ":"ڑ","ﮍ":"ڑ","ﮎ":"ک","ﮏ":"ک","ﮐ":"ک","ﮑ":"ک","ﮒ":"گ","ﮓ":"گ","ﮔ":"گ","ﮕ":"گ","ﮖ":"ڳ","ﮗ":"ڳ","ﮘ":"ڳ","ﮙ":"ڳ","ﮚ":"ڱ","ﮛ":"ڱ","ﮜ":"ڱ","ﮝ":"ڱ","ﮞ":"ں","ﮟ":"ں","ﮠ":"ڻ","ﮡ":"ڻ","ﮢ":"ڻ","ﮣ":"ڻ","ﮤ":"ۀ","ﮥ":"ۀ","ﮦ":"ہ","ﮧ":"ہ","ﮨ":"ہ","ﮩ":"ہ","ﮪ":"ھ","ﮫ":"ھ","ﮬ":"ھ","ﮭ":"ھ","ﮮ":"ے","ﮯ":"ے","ﮰ":"ۓ","ﮱ":"ۓ","ﯓ":"ڭ","ﯔ":"ڭ","ﯕ":"ڭ","ﯖ":"ڭ","ﯗ":"ۇ","ﯘ":"ۇ","ﯙ":"ۆ","ﯚ":"ۆ","ﯛ":"ۈ","ﯜ":"ۈ","ﯝ":"ٷ","ﯞ":"ۋ","ﯟ":"ۋ","ﯠ":"ۅ","ﯡ":"ۅ","ﯢ":"ۉ","ﯣ":"ۉ","ﯤ":"ې","ﯥ":"ې","ﯦ":"ې","ﯧ":"ې","ﯨ":"ى","ﯩ":"ى","ﯪ":"ئا","ﯫ":"ئا","ﯬ":"ئە","ﯭ":"ئە","ﯮ":"ئو","ﯯ":"ئو","ﯰ":"ئۇ","ﯱ":"ئۇ","ﯲ":"ئۆ","ﯳ":"ئۆ","ﯴ":"ئۈ","ﯵ":"ئۈ","ﯶ":"ئې","ﯷ":"ئې","ﯸ":"ئې","ﯹ":"ئى","ﯺ":"ئى","ﯻ":"ئى","ﯼ":"ی","ﯽ":"ی","ﯾ":"ی","ﯿ":"ی","ﰀ":"ئج","ﰁ":"ئح","ﰂ":"ئم","ﰃ":"ئى","ﰄ":"ئي","ﰅ":"بج","ﰆ":"بح","ﰇ":"بخ","ﰈ":"بم","ﰉ":"بى","ﰊ":"بي","ﰋ":"تج","ﰌ":"تح","ﰍ":"تخ","ﰎ":"تم","ﰏ":"تى","ﰐ":"تي","ﰑ":"ثج","ﰒ":"ثم","ﰓ":"ثى","ﰔ":"ثي","ﰕ":"جح","ﰖ":"جم","ﰗ":"حج","ﰘ":"حم","ﰙ":"خج","ﰚ":"خح","ﰛ":"خم","ﰜ":"سج","ﰝ":"سح","ﰞ":"سخ","ﰟ":"سم","ﰠ":"صح","ﰡ":"صم","ﰢ":"ضج","ﰣ":"ضح","ﰤ":"ضخ","ﰥ":"ضم","ﰦ":"طح","ﰧ":"طم","ﰨ":"ظم","ﰩ":"عج","ﰪ":"عم","ﰫ":"غج","ﰬ":"غم","ﰭ":"فج","ﰮ":"فح","ﰯ":"فخ","ﰰ":"فم","ﰱ":"فى","ﰲ":"في","ﰳ":"قح","ﰴ":"قم","ﰵ":"قى","ﰶ":"قي","ﰷ":"كا","ﰸ":"كج","ﰹ":"كح","ﰺ":"كخ","ﰻ":"كل","ﰼ":"كم","ﰽ":"كى","ﰾ":"كي","ﰿ":"لج","ﱀ":"لح","ﱁ":"لخ","ﱂ":"لم","ﱃ":"لى","ﱄ":"لي","ﱅ":"مج","ﱆ":"مح","ﱇ":"مخ","ﱈ":"مم","ﱉ":"مى","ﱊ":"مي","ﱋ":"نج","ﱌ":"نح","ﱍ":"نخ","ﱎ":"نم","ﱏ":"نى","ﱐ":"ني","ﱑ":"هج","ﱒ":"هم","ﱓ":"هى","ﱔ":"هي","ﱕ":"يج","ﱖ":"يح","ﱗ":"يخ","ﱘ":"يم","ﱙ":"يى","ﱚ":"يي","ﱛ":"ذٰ","ﱜ":"رٰ","ﱝ":"ىٰ","ﱞ":" ٌّ","ﱟ":" ٍّ","ﱠ":" َّ","ﱡ":" ُّ","ﱢ":" ِّ","ﱣ":" ّٰ","ﱤ":"ئر","ﱥ":"ئز","ﱦ":"ئم","ﱧ":"ئن","ﱨ":"ئى","ﱩ":"ئي","ﱪ":"بر","ﱫ":"بز","ﱬ":"بم","ﱭ":"بن","ﱮ":"بى","ﱯ":"بي","ﱰ":"تر","ﱱ":"تز","ﱲ":"تم","ﱳ":"تن","ﱴ":"تى","ﱵ":"تي","ﱶ":"ثر","ﱷ":"ثز","ﱸ":"ثم","ﱹ":"ثن","ﱺ":"ثى","ﱻ":"ثي","ﱼ":"فى","ﱽ":"في","ﱾ":"قى","ﱿ":"قي","ﲀ":"كا","ﲁ":"كل","ﲂ":"كم","ﲃ":"كى","ﲄ":"كي","ﲅ":"لم","ﲆ":"لى","ﲇ":"لي","ﲈ":"ما","ﲉ":"مم","ﲊ":"نر","ﲋ":"نز","ﲌ":"نم","ﲍ":"نن","ﲎ":"نى","ﲏ":"ني","ﲐ":"ىٰ","ﲑ":"ير","ﲒ":"يز","ﲓ":"يم","ﲔ":"ين","ﲕ":"يى","ﲖ":"يي","ﲗ":"ئج","ﲘ":"ئح","ﲙ":"ئخ","ﲚ":"ئم","ﲛ":"ئه","ﲜ":"بج","ﲝ":"بح","ﲞ":"بخ","ﲟ":"بم","ﲠ":"به","ﲡ":"تج","ﲢ":"تح","ﲣ":"تخ","ﲤ":"تم","ﲥ":"ته","ﲦ":"ثم","ﲧ":"جح","ﲨ":"جم","ﲩ":"حج","ﲪ":"حم","ﲫ":"خج","ﲬ":"خم","ﲭ":"سج","ﲮ":"سح","ﲯ":"سخ","ﲰ":"سم","ﲱ":"صح","ﲲ":"صخ","ﲳ":"صم","ﲴ":"ضج","ﲵ":"ضح","ﲶ":"ضخ","ﲷ":"ضم","ﲸ":"طح","ﲹ":"ظم","ﲺ":"عج","ﲻ":"عم","ﲼ":"غج","ﲽ":"غم","ﲾ":"فج","ﲿ":"فح","ﳀ":"فخ","ﳁ":"فم","ﳂ":"قح","ﳃ":"قم","ﳄ":"كج","ﳅ":"كح","ﳆ":"كخ","ﳇ":"كل","ﳈ":"كم","ﳉ":"لج","ﳊ":"لح","ﳋ":"لخ","ﳌ":"لم","ﳍ":"له","ﳎ":"مج","ﳏ":"مح","ﳐ":"مخ","ﳑ":"مم","ﳒ":"نج","ﳓ":"نح","ﳔ":"نخ","ﳕ":"نم","ﳖ":"نه","ﳗ":"هج","ﳘ":"هم","ﳙ":"هٰ","ﳚ":"يج","ﳛ":"يح","ﳜ":"يخ","ﳝ":"يم","ﳞ":"يه","ﳟ":"ئم","ﳠ":"ئه","ﳡ":"بم","ﳢ":"به","ﳣ":"تم","ﳤ":"ته","ﳥ":"ثم","ﳦ":"ثه","ﳧ":"سم","ﳨ":"سه","ﳩ":"شم","ﳪ":"شه","ﳫ":"كل","ﳬ":"كم","ﳭ":"لم","ﳮ":"نم","ﳯ":"نه","ﳰ":"يم","ﳱ":"يه","ﳲ":"ـَّ","ﳳ":"ـُّ","ﳴ":"ـِّ","ﳵ":"طى","ﳶ":"طي","ﳷ":"عى","ﳸ":"عي","ﳹ":"غى","ﳺ":"غي","ﳻ":"سى","ﳼ":"سي","ﳽ":"شى","ﳾ":"شي","ﳿ":"حى","ﴀ":"حي","ﴁ":"جى","ﴂ":"جي","ﴃ":"خى","ﴄ":"خي","ﴅ":"صى","ﴆ":"صي","ﴇ":"ضى","ﴈ":"ضي","ﴉ":"شج","ﴊ":"شح","ﴋ":"شخ","ﴌ":"شم","ﴍ":"شر","ﴎ":"سر","ﴏ":"صر","ﴐ":"ضر","ﴑ":"طى","ﴒ":"طي","ﴓ":"عى","ﴔ":"عي","ﴕ":"غى","ﴖ":"غي","ﴗ":"سى","ﴘ":"سي","ﴙ":"شى","ﴚ":"شي","ﴛ":"حى","ﴜ":"حي","ﴝ":"جى","ﴞ":"جي","ﴟ":"خى","ﴠ":"خي","ﴡ":"صى","ﴢ":"صي","ﴣ":"ضى","ﴤ":"ضي","ﴥ":"شج","ﴦ":"شح","ﴧ":"شخ","ﴨ":"شم","ﴩ":"شر","ﴪ":"سر","ﴫ":"صر","ﴬ":"ضر","ﴭ":"شج","ﴮ":"شح","ﴯ":"شخ","ﴰ":"شم","ﴱ":"سه","ﴲ":"شه","ﴳ":"طم","ﴴ":"سج","ﴵ":"سح","ﴶ":"سخ","ﴷ":"شج","ﴸ":"شح","ﴹ":"شخ","ﴺ":"طم","ﴻ":"ظم","ﴼ":"اً","ﴽ":"اً","ﵐ":"تجم","ﵑ":"تحج","ﵒ":"تحج","ﵓ":"تحم","ﵔ":"تخم","ﵕ":"تمج","ﵖ":"تمح","ﵗ":"تمخ","ﵘ":"جمح","ﵙ":"جمح","ﵚ":"حمي","ﵛ":"حمى","ﵜ":"سحج","ﵝ":"سجح","ﵞ":"سجى","ﵟ":"سمح","ﵠ":"سمح","ﵡ":"سمج","ﵢ":"سمم","ﵣ":"سمم","ﵤ":"صحح","ﵥ":"صحح","ﵦ":"صمم","ﵧ":"شحم","ﵨ":"شحم","ﵩ":"شجي","ﵪ":"شمخ","ﵫ":"شمخ","ﵬ":"شمم","ﵭ":"شمم","ﵮ":"ضحى","ﵯ":"ضخم","ﵰ":"ضخم","ﵱ":"طمح","ﵲ":"طمح","ﵳ":"طمم","ﵴ":"طمي","ﵵ":"عجم","ﵶ":"عمم","ﵷ":"عمم","ﵸ":"عمى","ﵹ":"غمم","ﵺ":"غمي","ﵻ":"غمى","ﵼ":"فخم","ﵽ":"فخم","ﵾ":"قمح","ﵿ":"قمم","ﶀ":"لحم","ﶁ":"لحي","ﶂ":"لحى","ﶃ":"لجج","ﶄ":"لجج","ﶅ":"لخم","ﶆ":"لخم","ﶇ":"لمح","ﶈ":"لمح","ﶉ":"محج","ﶊ":"محم","ﶋ":"محي","ﶌ":"مجح","ﶍ":"مجم","ﶎ":"مخج","ﶏ":"مخم","ﶒ":"مجخ","ﶓ":"همج","ﶔ":"همم","ﶕ":"نحم","ﶖ":"نحى","ﶗ":"نجم","ﶘ":"نجم","ﶙ":"نجى","ﶚ":"نمي","ﶛ":"نمى","ﶜ":"يمم","ﶝ":"يمم","ﶞ":"بخي","ﶟ":"تجي","ﶠ":"تجى","ﶡ":"تخي","ﶢ":"تخى","ﶣ":"تمي","ﶤ":"تمى","ﶥ":"جمي","ﶦ":"جحى","ﶧ":"جمى","ﶨ":"سخى","ﶩ":"صحي","ﶪ":"شحي","ﶫ":"ضحي","ﶬ":"لجي","ﶭ":"لمي","ﶮ":"يحي","ﶯ":"يجي","ﶰ":"يمي","ﶱ":"ممي","ﶲ":"قمي","ﶳ":"نحي","ﶴ":"قمح","ﶵ":"لحم","ﶶ":"عمي","ﶷ":"كمي","ﶸ":"نجح","ﶹ":"مخي","ﶺ":"لجم","ﶻ":"كمم","ﶼ":"لجم","ﶽ":"نجح","ﶾ":"جحي","ﶿ":"حجي","ﷀ":"مجي","ﷁ":"فمي","ﷂ":"بحي","ﷃ":"كمم","ﷄ":"عجم","ﷅ":"صمم","ﷆ":"سخي","ﷇ":"نجي","﹉":"‾","﹊":"‾","﹋":"‾","﹌":"‾","﹍":"_","﹎":"_","﹏":"_","ﺀ":"ء","ﺁ":"آ","ﺂ":"آ","ﺃ":"أ","ﺄ":"أ","ﺅ":"ؤ","ﺆ":"ؤ","ﺇ":"إ","ﺈ":"إ","ﺉ":"ئ","ﺊ":"ئ","ﺋ":"ئ","ﺌ":"ئ","ﺍ":"ا","ﺎ":"ا","ﺏ":"ب","ﺐ":"ب","ﺑ":"ب","ﺒ":"ب","ﺓ":"ة","ﺔ":"ة","ﺕ":"ت","ﺖ":"ت","ﺗ":"ت","ﺘ":"ت","ﺙ":"ث","ﺚ":"ث","ﺛ":"ث","ﺜ":"ث","ﺝ":"ج","ﺞ":"ج","ﺟ":"ج","ﺠ":"ج","ﺡ":"ح","ﺢ":"ح","ﺣ":"ح","ﺤ":"ح","ﺥ":"خ","ﺦ":"خ","ﺧ":"خ","ﺨ":"خ","ﺩ":"د","ﺪ":"د","ﺫ":"ذ","ﺬ":"ذ","ﺭ":"ر","ﺮ":"ر","ﺯ":"ز","ﺰ":"ز","ﺱ":"س","ﺲ":"س","ﺳ":"س","ﺴ":"س","ﺵ":"ش","ﺶ":"ش","ﺷ":"ش","ﺸ":"ش","ﺹ":"ص","ﺺ":"ص","ﺻ":"ص","ﺼ":"ص","ﺽ":"ض","ﺾ":"ض","ﺿ":"ض","ﻀ":"ض","ﻁ":"ط","ﻂ":"ط","ﻃ":"ط","ﻄ":"ط","ﻅ":"ظ","ﻆ":"ظ","ﻇ":"ظ","ﻈ":"ظ","ﻉ":"ع","ﻊ":"ع","ﻋ":"ع","ﻌ":"ع","ﻍ":"غ","ﻎ":"غ","ﻏ":"غ","ﻐ":"غ","ﻑ":"ف","ﻒ":"ف","ﻓ":"ف","ﻔ":"ف","ﻕ":"ق","ﻖ":"ق","ﻗ":"ق","ﻘ":"ق","ﻙ":"ك","ﻚ":"ك","ﻛ":"ك","ﻜ":"ك","ﻝ":"ل","ﻞ":"ل","ﻟ":"ل","ﻠ":"ل","ﻡ":"م","ﻢ":"م","ﻣ":"م","ﻤ":"م","ﻥ":"ن","ﻦ":"ن","ﻧ":"ن","ﻨ":"ن","ﻩ":"ه","ﻪ":"ه","ﻫ":"ه","ﻬ":"ه","ﻭ":"و","ﻮ":"و","ﻯ":"ى","ﻰ":"ى","ﻱ":"ي","ﻲ":"ي","ﻳ":"ي","ﻴ":"ي","ﻵ":"لآ","ﻶ":"لآ","ﻷ":"لأ","ﻸ":"لأ","ﻹ":"لإ","ﻺ":"لإ","ﻻ":"لا","ﻼ":"لا"},Glyph=function(){function Glyph(fontChar,unicode,accent,width,vmetric,operatorListId){this.fontChar=fontChar,this.unicode=unicode,this.accent=accent,this.width=width,this.vmetric=vmetric,this.operatorListId=operatorListId
+}return Glyph.prototype.matchesForCache=function(fontChar,unicode,accent,width,vmetric,operatorListId){return this.fontChar===fontChar&&this.unicode===unicode&&this.accent===accent&&this.width===width&&this.vmetric===vmetric&&this.operatorListId===operatorListId},Glyph}(),ToUnicodeMap=function(){function ToUnicodeMap(cmap){this._map=cmap}return ToUnicodeMap.prototype={get length(){return this._map.length},forEach:function(callback){for(var charCode in this._map)callback(charCode,this._map[charCode].charCodeAt(0))},get:function(i){return this._map[i]},charCodeOf:function(v){return this._map.indexOf(v)}},ToUnicodeMap}(),IdentityToUnicodeMap=function(){function IdentityToUnicodeMap(firstChar,lastChar){this.firstChar=firstChar,this.lastChar=lastChar}return IdentityToUnicodeMap.prototype={get length(){error("should not access .length")},forEach:function(callback){for(var i=this.firstChar,ii=this.lastChar;ii>=i;i++)callback(i,i)},get:function(i){return this.firstChar<=i&&i<=this.lastChar?String.fromCharCode(i):void 0},charCodeOf:function(){error("should not call .charCodeOf")}},IdentityToUnicodeMap}(),OpenTypeFileBuilder=function(){function writeInt16(dest,offset,num){dest[offset]=num>>8&255,dest[offset+1]=255&num}function writeInt32(dest,offset,num){dest[offset]=num>>24&255,dest[offset+1]=num>>16&255,dest[offset+2]=num>>8&255,dest[offset+3]=255&num}function writeData(dest,offset,data){var i,ii;if(data instanceof Uint8Array)dest.set(data,offset);else if("string"==typeof data)for(i=0,ii=data.length;ii>i;i++)dest[offset++]=255&data.charCodeAt(i);else for(i=0,ii=data.length;ii>i;i++)dest[offset++]=255&data[i]}function OpenTypeFileBuilder(sfnt){this.sfnt=sfnt,this.tables=Object.create(null)}OpenTypeFileBuilder.getSearchParams=function(entriesCount,entrySize){for(var maxPower2=1,log2=0;(maxPower2^entriesCount)>maxPower2;)maxPower2<<=1,log2++;var searchRange=maxPower2*entrySize;return{range:searchRange,entry:log2,rangeShift:entrySize*entriesCount-searchRange}};var OTF_HEADER_SIZE=12,OTF_TABLE_ENTRY_SIZE=16;return OpenTypeFileBuilder.prototype={toArray:function(){var sfnt=this.sfnt,tables=this.tables,tablesNames=Object.keys(tables);tablesNames.sort();var i,j,jj,table,tableName,numTables=tablesNames.length,offset=OTF_HEADER_SIZE+numTables*OTF_TABLE_ENTRY_SIZE,tableOffsets=[offset];for(i=0;numTables>i;i++){table=tables[tablesNames[i]];var paddedLength=(table.length+3&-4)>>>0;offset+=paddedLength,tableOffsets.push(offset)}var file=new Uint8Array(offset);for(i=0;numTables>i;i++)table=tables[tablesNames[i]],writeData(file,tableOffsets[i],table);"true"===sfnt&&(sfnt=string32(65536)),file[0]=255&sfnt.charCodeAt(0),file[1]=255&sfnt.charCodeAt(1),file[2]=255&sfnt.charCodeAt(2),file[3]=255&sfnt.charCodeAt(3),writeInt16(file,4,numTables);var searchParams=OpenTypeFileBuilder.getSearchParams(numTables,16);for(writeInt16(file,6,searchParams.range),writeInt16(file,8,searchParams.entry),writeInt16(file,10,searchParams.rangeShift),offset=OTF_HEADER_SIZE,i=0;numTables>i;i++){tableName=tablesNames[i],file[offset]=255&tableName.charCodeAt(0),file[offset+1]=255&tableName.charCodeAt(1),file[offset+2]=255&tableName.charCodeAt(2),file[offset+3]=255&tableName.charCodeAt(3);var checksum=0;for(j=tableOffsets[i],jj=tableOffsets[i+1];jj>j;j+=4){var quad=(file[j]<<24)+(file[j+1]<<16)+(file[j+2]<<8)+file[j+3];checksum=checksum+quad|0}writeInt32(file,offset+4,checksum),writeInt32(file,offset+8,tableOffsets[i]),writeInt32(file,offset+12,tables[tableName].length),offset+=OTF_TABLE_ENTRY_SIZE}return file},addTable:function(tag,data){if(tag in this.tables)throw new Error("Table "+tag+" already exists");this.tables[tag]=data}},OpenTypeFileBuilder}(),Font=function(){function Font(name,file,properties){var charCode,glyphName,fontChar;this.name=name,this.loadedName=properties.loadedName,this.isType3Font=properties.isType3Font,this.sizes=[],this.glyphCache={};var names=name.split("+");names=names.length>1?names[1]:names[0],names=names.split(/[-,_]/g)[0],this.isSerifFont=!!(properties.flags&FontFlags.Serif),this.isSymbolicFont=!!(properties.flags&FontFlags.Symbolic),this.isMonospace=!!(properties.flags&FontFlags.FixedPitch);var type=properties.type,subtype=properties.subtype;if(this.type=type,this.fallbackName=this.isMonospace?"monospace":this.isSerifFont?"serif":"sans-serif",this.differences=properties.differences,this.widths=properties.widths,this.defaultWidth=properties.defaultWidth,this.composite=properties.composite,this.wideChars=properties.wideChars,this.cMap=properties.cMap,this.ascent=properties.ascent/PDF_GLYPH_SPACE_UNITS,this.descent=properties.descent/PDF_GLYPH_SPACE_UNITS,this.fontMatrix=properties.fontMatrix,this.toUnicode=properties.toUnicode=this.buildToUnicode(properties),this.toFontChar=[],"Type3"===properties.type){for(charCode=0;256>charCode;charCode++)this.toFontChar[charCode]=this.differences[charCode]||properties.defaultEncoding[charCode];return void(this.fontType=FontType.TYPE3)}if(this.cidEncoding=properties.cidEncoding,this.vertical=properties.vertical,this.vertical&&(this.vmetrics=properties.vmetrics,this.defaultVMetrics=properties.defaultVMetrics),!file||file.isEmpty){file&&warn('Font file is empty in "'+name+'" ('+this.loadedName+")"),this.missingFile=!0;var fontName=name.replace(/[,_]/g,"-"),isStandardFont=fontName in stdFontMap;if(fontName=stdFontMap[fontName]||nonStdFontMap[fontName]||fontName,this.bold=-1!==fontName.search(/bold/gi),this.italic=-1!==fontName.search(/oblique/gi)||-1!==fontName.search(/italic/gi),this.black=-1!==name.search(/Black/g),this.remeasure=Object.keys(this.widths).length>0,isStandardFont&&"CIDFontType2"===type&&0===properties.cidEncoding.indexOf("Identity-")){var map=[];for(var code in GlyphMapForStandardFonts)map[+code]=GlyphMapForStandardFonts[code];this.toFontChar=map,this.toUnicode=new ToUnicodeMap(map)}else if(/Symbol/i.test(fontName)){var symbols=Encodings.SymbolSetEncoding;for(charCode in symbols)fontChar=GlyphsUnicode[symbols[charCode]],fontChar&&(this.toFontChar[charCode]=fontChar)}else if(/Dingbats/i.test(fontName)){var dingbats=Encodings.ZapfDingbatsEncoding;for(charCode in dingbats)fontChar=DingbatsGlyphsUnicode[dingbats[charCode]],fontChar&&(this.toFontChar[charCode]=fontChar);for(charCode in properties.differences)fontChar=DingbatsGlyphsUnicode[properties.differences[charCode]],fontChar&&(this.toFontChar[charCode]=fontChar)}else if(isStandardFont){this.toFontChar=[];for(charCode in properties.defaultEncoding)glyphName=properties.differences[charCode]||properties.defaultEncoding[charCode],this.toFontChar[charCode]=GlyphsUnicode[glyphName]}else{var notCidFont=-1===type.indexOf("CIDFontType");this.toUnicode.forEach(function(charCode,unicodeCharCode){notCidFont&&(glyphName=properties.differences[charCode]||properties.defaultEncoding[charCode],unicodeCharCode=GlyphsUnicode[glyphName]||unicodeCharCode),this.toFontChar[charCode]=unicodeCharCode}.bind(this))}return this.loadedName=fontName.split("-")[0],this.loading=!1,void(this.fontType=getFontType(type,subtype))}"Type1C"===subtype&&"Type1"!==type&&"MMType1"!==type&&(isTrueTypeFile(file)?subtype="TrueType":type="Type1"),"CIDFontType0C"===subtype&&"CIDFontType0"!==type&&(type="CIDFontType0"),"OpenType"===subtype&&(type="OpenType");var data;switch(type){case"Type1":case"CIDFontType0":this.mimetype="font/opentype";var cff="Type1C"===subtype||"CIDFontType0C"===subtype?new CFFFont(file,properties):new Type1Font(name,file,properties);adjustWidths(properties),data=this.convert(name,cff,properties);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",data=this.checkAndRepair(name,file,properties),this.isOpenType&&(type="OpenType");break;default:error("Font "+type+" is not supported")}this.data=data,this.fontType=getFontType(type,subtype),this.fontMatrix=properties.fontMatrix,this.widths=properties.widths,this.defaultWidth=properties.defaultWidth,this.encoding=properties.baseEncoding,this.seacMap=properties.seacMap,this.loading=!0}function int16(b0,b1){return(b0<<8)+b1}function int32(b0,b1,b2,b3){return(b0<<24)+(b1<<16)+(b2<<8)+b3}function string16(value){return String.fromCharCode(value>>8&255,255&value)}function safeString16(value){return value=value>32767?32767:-32768>value?-32768:value,String.fromCharCode(value>>8&255,255&value)}function isTrueTypeFile(file){var header=file.peekBytes(4);return 65536===readUint32(header,0)}function adjustMapping(charCodeToGlyphId,properties){var toUnicode=properties.toUnicode,isSymbolic=!!(properties.flags&FontFlags.Symbolic),isIdentityUnicode=properties.toUnicode instanceof IdentityToUnicodeMap,isCidFontType2="CIDFontType2"===properties.type,newMap=Object.create(null),toFontChar=[],usedFontCharCodes=[],nextAvailableFontCharCode=PRIVATE_USE_OFFSET_START;for(var originalCharCode in charCodeToGlyphId){originalCharCode|=0;var glyphId=charCodeToGlyphId[originalCharCode],fontCharCode=originalCharCode;if(!isIdentityUnicode)if(void 0!==toUnicode.get(originalCharCode)){var unicode=toUnicode.get(fontCharCode);1===unicode.length&&(fontCharCode=unicode.charCodeAt(0))}else isCidFontType2&&(fontCharCode=nextAvailableFontCharCode);if((void 0!==usedFontCharCodes[fontCharCode]||31>=fontCharCode||127===fontCharCode||173===fontCharCode||fontCharCode>=128&&159>=fontCharCode||fontCharCode>=65520&&65535>=fontCharCode||isSymbolic&&isIdentityUnicode)&&PRIVATE_USE_OFFSET_END>=nextAvailableFontCharCode)do fontCharCode=nextAvailableFontCharCode++,SKIP_PRIVATE_USE_RANGE_F000_TO_F01F&&61440===fontCharCode&&(fontCharCode=61472,nextAvailableFontCharCode=fontCharCode+1);while(void 0!==usedFontCharCodes[fontCharCode]&&PRIVATE_USE_OFFSET_END>=nextAvailableFontCharCode);newMap[fontCharCode]=glyphId,toFontChar[originalCharCode]=fontCharCode,usedFontCharCodes[fontCharCode]=!0}return{toFontChar:toFontChar,charCodeToGlyphId:newMap,nextAvailableFontCharCode:nextAvailableFontCharCode}}function getRanges(glyphs){var codes=[];for(var charCode in glyphs)codes.push({fontCharCode:0|charCode,glyphId:glyphs[charCode]});codes.sort(function(a,b){return a.fontCharCode-b.fontCharCode});for(var ranges=[],length=codes.length,n=0;length>n;){var start=codes[n].fontCharCode,codeIndices=[codes[n].glyphId];++n;for(var end=start;length>n&&end+1===codes[n].fontCharCode&&(codeIndices.push(codes[n].glyphId),++end,++n,65535!==end););ranges.push([start,end,codeIndices])}return ranges}function createCmapTable(glyphs){var i,ii,j,jj,ranges=getRanges(glyphs),numTables=ranges[ranges.length-1][1]>65535?2:1,cmap="\x00\x00"+string16(numTables)+"\x00\x00"+string32(4+8*numTables);for(i=ranges.length-1;i>=0&&!(ranges[i][0]<=65535);--i);var bmpLength=i+1;ranges[i][0]<65535&&65535===ranges[i][1]&&(ranges[i][1]=65534);var range,start,end,codes,trailingRangesCount=ranges[i][1]<65535?1:0,segCount=bmpLength+trailingRangesCount,searchParams=OpenTypeFileBuilder.getSearchParams(segCount,2),startCount="",endCount="",idDeltas="",idRangeOffsets="",glyphsIds="",bias=0;for(i=0,ii=bmpLength;ii>i;i++){range=ranges[i],start=range[0],end=range[1],startCount+=string16(start),endCount+=string16(end),codes=range[2];var contiguous=!0;for(j=1,jj=codes.length;jj>j;++j)if(codes[j]!==codes[j-1]+1){contiguous=!1;break}if(contiguous){var startCode=codes[0];idDeltas+=string16(startCode-start&65535),idRangeOffsets+=string16(0)}else{var offset=2*(segCount-i)+2*bias;for(bias+=end-start+1,idDeltas+=string16(0),idRangeOffsets+=string16(offset),j=0,jj=codes.length;jj>j;++j)glyphsIds+=string16(codes[j])}}trailingRangesCount>0&&(endCount+="ÿÿ",startCount+="ÿÿ",idDeltas+="\x00",idRangeOffsets+="\x00\x00");var format314="\x00\x00"+string16(2*segCount)+string16(searchParams.range)+string16(searchParams.entry)+string16(searchParams.rangeShift)+endCount+"\x00\x00"+startCount+idDeltas+idRangeOffsets+glyphsIds,format31012="",header31012="";if(numTables>1){for(cmap+="\x00\x00\n"+string32(4+8*numTables+4+format314.length),format31012="",i=0,ii=ranges.length;ii>i;i++){range=ranges[i],start=range[0],codes=range[2];var code=codes[0];for(j=1,jj=codes.length;jj>j;++j)codes[j]!==codes[j-1]+1&&(end=range[0]+j-1,format31012+=string32(start)+string32(end)+string32(code),start=end+1,code=codes[j]);format31012+=string32(start)+string32(range[1])+string32(code)}header31012="\x00\f\x00\x00"+string32(format31012.length+16)+"\x00\x00\x00\x00"+string32(format31012.length/12)}return cmap+"\x00"+string16(format314.length+4)+format314+header31012+format31012}function validateOS2Table(os2){var stream=new Stream(os2.data),version=stream.getUint16();stream.getBytes(60);var selection=stream.getUint16();if(4>version&&768&selection)return!1;var firstChar=stream.getUint16(),lastChar=stream.getUint16();if(firstChar>lastChar)return!1;stream.getBytes(6);var usWinAscent=stream.getUint16();return 0===usWinAscent?!1:(os2.data[8]=os2.data[9]=0,!0)}function createOS2Table(properties,charstrings,override){override=override||{unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};var ulUnicodeRange1=0,ulUnicodeRange2=0,ulUnicodeRange3=0,ulUnicodeRange4=0,firstCharIndex=null,lastCharIndex=0;if(charstrings)for(var code in charstrings){code|=0,(firstCharIndex>code||!firstCharIndex)&&(firstCharIndex=code),code>lastCharIndex&&(lastCharIndex=code);var position=getUnicodeRangeFor(code);32>position?ulUnicodeRange1|=1<<position:64>position?ulUnicodeRange2|=1<<position-32:96>position?ulUnicodeRange3|=1<<position-64:123>position?ulUnicodeRange4|=1<<position-96:error("Unicode ranges Bits > 123 are reserved for internal usage")}else firstCharIndex=0,lastCharIndex=255;var bbox=properties.bbox||[0,0,0,0],unitsPerEm=override.unitsPerEm||1/(properties.fontMatrix||FONT_IDENTITY_MATRIX)[0],scale=properties.ascentScaled?1:unitsPerEm/PDF_GLYPH_SPACE_UNITS,typoAscent=override.ascent||Math.round(scale*(properties.ascent||bbox[3])),typoDescent=override.descent||Math.round(scale*(properties.descent||bbox[1]));typoDescent>0&&properties.descent>0&&bbox[1]<0&&(typoDescent=-typoDescent);var winAscent=override.yMax||typoAscent,winDescent=-override.yMin||-typoDescent;return"\x00$ô\x00\x00\x00Š»\x00\x00\x00ŒŠ»\x00\x00ß\x001\x00\x00\x00\x00"+String.fromCharCode(properties.fixedPitch?9:0)+"\x00\x00\x00\x00\x00\x00"+string32(ulUnicodeRange1)+string32(ulUnicodeRange2)+string32(ulUnicodeRange3)+string32(ulUnicodeRange4)+"*21*"+string16(properties.italicAngle?1:0)+string16(firstCharIndex||properties.firstChar)+string16(lastCharIndex||properties.lastChar)+string16(typoAscent)+string16(typoDescent)+"\x00d"+string16(winAscent)+string16(winDescent)+"\x00\x00\x00\x00\x00\x00\x00\x00"+string16(properties.xHeight)+string16(properties.capHeight)+string16(0)+string16(firstCharIndex||properties.firstChar)+"\x00"}function createPostTable(properties){var angle=Math.floor(properties.italicAngle*Math.pow(2,16));return"\x00\x00\x00"+string32(angle)+"\x00\x00\x00\x00"+string32(properties.fixedPitch)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}function createNameTable(name,proto){proto||(proto=[[],[]]);var i,ii,j,jj,str,strings=[proto[0][0]||"Original licence",proto[0][1]||name,proto[0][2]||"Unknown",proto[0][3]||"uniqueID",proto[0][4]||name,proto[0][5]||"Version 0.11",proto[0][6]||"",proto[0][7]||"Unknown",proto[0][8]||"Unknown",proto[0][9]||"Unknown"],stringsUnicode=[];for(i=0,ii=strings.length;ii>i;i++){str=proto[1][i]||strings[i];var strBufUnicode=[];for(j=0,jj=str.length;jj>j;j++)strBufUnicode.push(string16(str.charCodeAt(j)));stringsUnicode.push(strBufUnicode.join(""))}var names=[strings,stringsUnicode],platforms=["\x00","\x00"],encodings=["\x00\x00","\x00"],languages=["\x00\x00"," "],namesRecordCount=strings.length*platforms.length,nameTable="\x00\x00"+string16(namesRecordCount)+string16(12*namesRecordCount+6),strOffset=0;for(i=0,ii=platforms.length;ii>i;i++){var strs=names[i];for(j=0,jj=strs.length;jj>j;j++){str=strs[j];var nameRecord=platforms[i]+encodings[i]+languages[i]+string16(j)+string16(str.length)+string16(strOffset);nameTable+=nameRecord,strOffset+=str.length}}return nameTable+=strings.join("")+stringsUnicode.join("")}return Font.getFontID=function(){var ID=1;return function(){return String(ID++)}}(),Font.prototype={name:null,font:null,mimetype:null,encoding:null,get renderer(){var renderer=FontRendererFactory.create(this);return shadow(this,"renderer",renderer)},exportData:function(){var data={};for(var i in this)this.hasOwnProperty(i)&&(data[i]=this[i]);return data},checkAndRepair:function(name,font,properties){function readTableEntry(file){var tag=bytesToString(file.getBytes(4)),checksum=file.getInt32(),offset=file.getInt32()>>>0,length=file.getInt32()>>>0,previousPosition=file.pos;file.pos=file.start?file.start:0,file.skip(offset);var data=file.getBytes(length);return file.pos=previousPosition,"head"===tag&&(data[8]=data[9]=data[10]=data[11]=0,data[17]|=32),{tag:tag,checksum:checksum,length:length,offset:offset,data:data}}function readOpenTypeHeader(ttf){return{version:bytesToString(ttf.getBytes(4)),numTables:ttf.getUint16(),searchRange:ttf.getUint16(),entrySelector:ttf.getUint16(),rangeShift:ttf.getUint16()}}function readCmapTable(cmap,font,isSymbolicFont){var segment,start=(font.start?font.start:0)+cmap.offset;font.pos=start;for(var potentialTable,numTables=(font.getUint16(),font.getUint16()),canBreak=!1,i=0;numTables>i;i++){var platformId=font.getUint16(),encodingId=font.getUint16(),offset=font.getInt32()>>>0,useTable=!1;if(1===platformId&&0===encodingId?useTable=!0:isSymbolicFont||3!==platformId||1!==encodingId?isSymbolicFont&&3===platformId&&0===encodingId&&(useTable=!0,canBreak=!0):(useTable=!0,canBreak=!0),useTable&&(potentialTable={platformId:platformId,encodingId:encodingId,offset:offset}),canBreak)break}if(!potentialTable)return warn("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};font.pos=start+potentialTable.offset;var j,glyphId,format=font.getUint16(),hasShortCmap=(font.getUint16(),font.getUint16(),!1),mappings=[];if(0===format){for(j=0;256>j;j++){var index=font.getByte();index&&mappings.push({charCode:j,glyphId:index})}hasShortCmap=!0}else if(4===format){var segCount=font.getUint16()>>1;font.getBytes(6);var segIndex,segments=[];for(segIndex=0;segCount>segIndex;segIndex++)segments.push({end:font.getUint16()});for(font.getUint16(),segIndex=0;segCount>segIndex;segIndex++)segments[segIndex].start=font.getUint16();for(segIndex=0;segCount>segIndex;segIndex++)segments[segIndex].delta=font.getUint16();var offsetsCount=0;for(segIndex=0;segCount>segIndex;segIndex++){segment=segments[segIndex];var rangeOffset=font.getUint16();if(rangeOffset){var offsetIndex=(rangeOffset>>1)-(segCount-segIndex);segment.offsetIndex=offsetIndex,offsetsCount=Math.max(offsetsCount,offsetIndex+segment.end-segment.start+1)}else segment.offsetIndex=-1}var offsets=[];for(j=0;offsetsCount>j;j++)offsets.push(font.getUint16());for(segIndex=0;segCount>segIndex;segIndex++){segment=segments[segIndex],start=segment.start;var end=segment.end,delta=segment.delta;for(offsetIndex=segment.offsetIndex,j=start;end>=j;j++)65535!==j&&(glyphId=0>offsetIndex?j:offsets[offsetIndex+j-start],glyphId=glyphId+delta&65535,0!==glyphId&&mappings.push({charCode:j,glyphId:glyphId}))}}else if(6===format){var firstCode=font.getUint16(),entryCount=font.getUint16();for(j=0;entryCount>j;j++){glyphId=font.getUint16();var charCode=firstCode+j;mappings.push({charCode:charCode,glyphId:glyphId})}}else error("cmap table has unsupported format: "+format);for(mappings.sort(function(a,b){return a.charCode-b.charCode}),i=1;i<mappings.length;i++)mappings[i-1].charCode===mappings[i].charCode&&(mappings.splice(i,1),i--);return{platformId:potentialTable.platformId,encodingId:potentialTable.encodingId,mappings:mappings,hasShortCmap:hasShortCmap}}function sanitizeMetrics(font,header,metrics,numGlyphs){if(!header)return void(metrics&&(metrics.data=null));font.pos=(font.start?font.start:0)+header.offset,font.pos+=header.length-2;var numOfMetrics=font.getUint16();numOfMetrics>numGlyphs&&(info("The numOfMetrics ("+numOfMetrics+") should not be greater than the numGlyphs ("+numGlyphs+")"),numOfMetrics=numGlyphs,header.data[34]=(65280&numOfMetrics)>>8,header.data[35]=255&numOfMetrics);var numOfSidebearings=numGlyphs-numOfMetrics,numMissing=numOfSidebearings-(metrics.length-4*numOfMetrics>>1);if(numMissing>0){var entries=new Uint8Array(metrics.length+2*numMissing);entries.set(metrics.data),metrics.data=entries}}function sanitizeGlyph(source,sourceStart,sourceEnd,dest,destStart,hintsValid){if(12>=sourceEnd-sourceStart)return 0;var glyf=source.subarray(sourceStart,sourceEnd),contoursCount=glyf[0]<<8|glyf[1];if(32768&contoursCount)return dest.set(glyf,destStart),glyf.length;var i,j=10,flagsCount=0;for(i=0;contoursCount>i;i++){var endPoint=glyf[j]<<8|glyf[j+1];flagsCount=endPoint+1,j+=2}var instructionsStart=j,instructionsLength=glyf[j]<<8|glyf[j+1];j+=2+instructionsLength;var instructionsEnd=j,coordinatesLength=0;for(i=0;flagsCount>i;i++){var flag=glyf[j++];192&flag&&(glyf[j-1]=63&flag);var xyLength=(2&flag?1:16&flag?0:2)+(4&flag?1:32&flag?0:2);if(coordinatesLength+=xyLength,8&flag){var repeat=glyf[j++];i+=repeat,coordinatesLength+=repeat*xyLength}}if(0===coordinatesLength)return 0;var glyphDataLength=j+coordinatesLength;return glyphDataLength>glyf.length?0:!hintsValid&&instructionsLength>0?(dest.set(glyf.subarray(0,instructionsStart),destStart),dest.set([0,0],destStart+instructionsStart),dest.set(glyf.subarray(instructionsEnd,glyphDataLength),destStart+instructionsStart+2),glyphDataLength-=instructionsLength,glyf.length-glyphDataLength>3&&(glyphDataLength=glyphDataLength+3&-4),glyphDataLength):glyf.length-glyphDataLength>3?(glyphDataLength=glyphDataLength+3&-4,dest.set(glyf.subarray(0,glyphDataLength),destStart),glyphDataLength):(dest.set(glyf,destStart),glyf.length)}function sanitizeHead(head,numGlyphs,locaLength){var data=head.data,version=int32(data[0],data[1],data[2],data[3]);version>>16!==1&&(info("Attempting to fix invalid version in head table: "+version),data[0]=0,data[1]=1,data[2]=0,data[3]=0);var indexToLocFormat=int16(data[50],data[51]);if(0>indexToLocFormat||indexToLocFormat>1){info("Attempting to fix invalid indexToLocFormat in head table: "+indexToLocFormat);var numGlyphsPlusOne=numGlyphs+1;locaLength===numGlyphsPlusOne<<1?(data[50]=0,data[51]=0):locaLength===numGlyphsPlusOne<<2?(data[50]=0,data[51]=1):warn("Could not fix indexToLocFormat: "+indexToLocFormat)}}function sanitizeGlyphLocations(loca,glyf,numGlyphs,isGlyphLocationsLong,hintsValid,dupFirstEntry){var itemSize,itemDecode,itemEncode;isGlyphLocationsLong?(itemSize=4,itemDecode=function(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3]},itemEncode=function(data,offset,value){data[offset]=value>>>24&255,data[offset+1]=value>>16&255,data[offset+2]=value>>8&255,data[offset+3]=255&value}):(itemSize=2,itemDecode=function(data,offset){return data[offset]<<9|data[offset+1]<<1},itemEncode=function(data,offset,value){data[offset]=value>>9&255,data[offset+1]=value>>1&255});var locaData=loca.data,locaDataSize=itemSize*(1+numGlyphs);locaData.length!==locaDataSize&&(locaData=new Uint8Array(locaDataSize),locaData.set(loca.data.subarray(0,locaDataSize)),loca.data=locaData);var oldGlyfData=glyf.data,oldGlyfDataLength=oldGlyfData.length,newGlyfData=new Uint8Array(oldGlyfDataLength),startOffset=itemDecode(locaData,0),writeOffset=0;itemEncode(locaData,0,writeOffset);var i,j;for(i=0,j=itemSize;numGlyphs>i;i++,j+=itemSize){var endOffset=itemDecode(locaData,j);if(endOffset>oldGlyfDataLength&&(oldGlyfDataLength+3&-4)===endOffset&&(endOffset=oldGlyfDataLength),endOffset>oldGlyfDataLength)itemEncode(locaData,j,writeOffset),startOffset=endOffset;else{var newLength=sanitizeGlyph(oldGlyfData,startOffset,endOffset,newGlyfData,writeOffset,hintsValid);writeOffset+=newLength,itemEncode(locaData,j,writeOffset),startOffset=endOffset}}if(0===writeOffset){var simpleGlyph=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(i=0,j=itemSize;numGlyphs>i;i++,j+=itemSize)itemEncode(locaData,j,simpleGlyph.length);return void(glyf.data=simpleGlyph)}if(dupFirstEntry){var firstEntryLength=itemDecode(locaData,itemSize);newGlyfData.length>firstEntryLength+writeOffset?glyf.data=newGlyfData.subarray(0,firstEntryLength+writeOffset):(glyf.data=new Uint8Array(firstEntryLength+writeOffset),glyf.data.set(newGlyfData.subarray(0,writeOffset))),glyf.data.set(newGlyfData.subarray(0,firstEntryLength),writeOffset),itemEncode(loca.data,locaData.length-itemSize,writeOffset+firstEntryLength)}else glyf.data=newGlyfData.subarray(0,writeOffset)}function readPostScriptTable(post,properties,maxpNumGlyphs){var start=(font.start?font.start:0)+post.offset;font.pos=start;var length=post.length,end=start+length,version=font.getInt32();font.getBytes(28);var glyphNames,i,valid=!0;switch(version){case 65536:glyphNames=MacStandardGlyphOrdering;break;case 131072:var numGlyphs=font.getUint16();if(numGlyphs!==maxpNumGlyphs){valid=!1;break}var glyphNameIndexes=[];for(i=0;numGlyphs>i;++i){var index=font.getUint16();if(index>=32768){valid=!1;break}glyphNameIndexes.push(index)}if(!valid)break;for(var customNames=[],strBuf=[];font.pos<end;){var stringLength=font.getByte();for(strBuf.length=stringLength,i=0;stringLength>i;++i)strBuf[i]=String.fromCharCode(font.getByte());customNames.push(strBuf.join(""))}for(glyphNames=[],i=0;numGlyphs>i;++i){var j=glyphNameIndexes[i];glyphNames.push(258>j?MacStandardGlyphOrdering[j]:customNames[j-258])}break;case 196608:break;default:warn("Unknown/unsupported post table version "+version),valid=!1}return properties.glyphNames=glyphNames,valid}function readNameTable(nameTable){var start=(font.start?font.start:0)+nameTable.offset;font.pos=start;var names=[[],[]],length=nameTable.length,end=start+length,format=font.getUint16(),FORMAT_0_HEADER_LENGTH=6;if(0!==format||FORMAT_0_HEADER_LENGTH>length)return names;var i,ii,numRecords=font.getUint16(),stringsStart=font.getUint16(),records=[],NAME_RECORD_LENGTH=12;for(i=0;numRecords>i&&font.pos+NAME_RECORD_LENGTH<=end;i++){var r={platform:font.getUint16(),encoding:font.getUint16(),language:font.getUint16(),name:font.getUint16(),length:font.getUint16(),offset:font.getUint16()};(1===r.platform&&0===r.encoding&&0===r.language||3===r.platform&&1===r.encoding&&1033===r.language)&&records.push(r)}for(i=0,ii=records.length;ii>i;i++){var record=records[i],pos=start+stringsStart+record.offset;if(!(pos+record.length>end)){font.pos=pos;var nameIndex=record.name;if(record.encoding){for(var str="",j=0,jj=record.length;jj>j;j+=2)str+=String.fromCharCode(font.getUint16());names[1][nameIndex]=str}else names[0][nameIndex]=bytesToString(font.getBytes(record.length))}}return names}function sanitizeTTProgram(table,ttContext){for(var j,n,b,funcId,pc,data=table.data,i=0,lastEndf=0,lastDeff=0,stack=[],callstack=[],functionsCalled=[],tooComplexToFollowFunctions=ttContext.tooComplexToFollowFunctions,inFDEF=!1,ifLevel=0,inELSE=0,ii=data.length;ii>i;){var op=data[i++];if(64===op)if(n=data[i++],inFDEF||inELSE)i+=n;else for(j=0;n>j;j++)stack.push(data[i++]);else if(65===op)if(n=data[i++],inFDEF||inELSE)i+=2*n;else for(j=0;n>j;j++)b=data[i++],stack.push(b<<8|data[i++]);else if(176===(248&op))if(n=op-176+1,inFDEF||inELSE)i+=n;else for(j=0;n>j;j++)stack.push(data[i++]);else if(184===(248&op))if(n=op-184+1,inFDEF||inELSE)i+=2*n;else for(j=0;n>j;j++)b=data[i++],stack.push(b<<8|data[i++]);else if(43!==op||tooComplexToFollowFunctions)if(44!==op||tooComplexToFollowFunctions){if(45===op)if(inFDEF)inFDEF=!1,lastEndf=i;else{if(pc=callstack.pop(),!pc)return warn("TT: ENDF bad stack"),void(ttContext.hintsValid=!1);funcId=functionsCalled.pop(),data=pc.data,i=pc.i,ttContext.functionsStackDeltas[funcId]=stack.length-pc.stackTop}else if(137===op)(inFDEF||inELSE)&&(warn("TT: nested IDEFs not allowed"),tooComplexToFollowFunctions=!0),inFDEF=!0,lastDeff=i;else if(88===op)++ifLevel;else if(27===op)inELSE=ifLevel;else if(89===op)inELSE===ifLevel&&(inELSE=0),--ifLevel;else if(28===op&&!inFDEF&&!inELSE){var offset=stack[stack.length-1];offset>0&&(i+=offset-1)}}else(inFDEF||inELSE)&&(warn("TT: nested FDEFs not allowed"),tooComplexToFollowFunctions=!0),inFDEF=!0,lastDeff=i,funcId=stack.pop(),ttContext.functionsDefined[funcId]={data:data,i:i};else if(!inFDEF&&!inELSE)if(funcId=stack[stack.length-1],ttContext.functionsUsed[funcId]=!0,funcId in ttContext.functionsStackDeltas)stack.length+=ttContext.functionsStackDeltas[funcId];else if(funcId in ttContext.functionsDefined&&functionsCalled.indexOf(funcId)<0){if(callstack.push({data:data,i:i,stackTop:stack.length-1}),functionsCalled.push(funcId),pc=ttContext.functionsDefined[funcId],!pc)return warn("TT: CALL non-existent function"),void(ttContext.hintsValid=!1);data=pc.data,i=pc.i}if(!inFDEF&&!inELSE){var stackDelta=142>=op?TTOpsStackDeltas[op]:op>=192&&223>=op?-1:op>=224?-2:0;for(op>=113&&117>=op&&(n=stack.pop(),n===n&&(stackDelta=2*-n));0>stackDelta&&stack.length>0;)stack.pop(),stackDelta++;for(;stackDelta>0;)stack.push(0/0),stackDelta--}}ttContext.tooComplexToFollowFunctions=tooComplexToFollowFunctions;var content=[data];i>data.length&&content.push(new Uint8Array(i-data.length)),lastDeff>lastEndf&&(warn("TT: complementing a missing function tail"),content.push(new Uint8Array([34,45]))),foldTTTable(table,content)}function checkInvalidFunctions(ttContext,maxFunctionDefs){if(!ttContext.tooComplexToFollowFunctions){if(ttContext.functionsDefined.length>maxFunctionDefs)return warn("TT: more functions defined than expected"),void(ttContext.hintsValid=!1);for(var j=0,jj=ttContext.functionsUsed.length;jj>j;j++){if(j>maxFunctionDefs)return warn("TT: invalid function id: "+j),void(ttContext.hintsValid=!1);if(ttContext.functionsUsed[j]&&!ttContext.functionsDefined[j])return warn("TT: undefined function: "+j),void(ttContext.hintsValid=!1)}}}function foldTTTable(table,content){if(content.length>1){var j,jj,newLength=0;for(j=0,jj=content.length;jj>j;j++)newLength+=content[j].length;newLength=newLength+3&-4;var result=new Uint8Array(newLength),pos=0;for(j=0,jj=content.length;jj>j;j++)result.set(content[j],pos),pos+=content[j].length;table.data=result,table.length=newLength}}function sanitizeTTPrograms(fpgm,prep,cvt){var ttContext={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(fpgm&&sanitizeTTProgram(fpgm,ttContext),prep&&sanitizeTTProgram(prep,ttContext),fpgm&&checkInvalidFunctions(ttContext,maxFunctionDefs),cvt&&1&cvt.length){var cvtData=new Uint8Array(cvt.length+1);cvtData.set(cvt.data),cvt.data=cvtData}return ttContext.hintsValid}var TTOpsStackDeltas=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];font=new Stream(new Uint8Array(font.getBytes()));for(var cff,cffFile,table,VALID_TABLES=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "],header=readOpenTypeHeader(font),numTables=header.numTables,tables={"OS/2":null,cmap:null,head:null,hhea:null,hmtx:null,maxp:null,name:null,post:null},i=0;numTables>i;i++)table=readTableEntry(font),VALID_TABLES.indexOf(table.tag)<0||0!==table.length&&(tables[table.tag]=table);var isTrueType=!tables["CFF "];if(isTrueType)tables.glyf&&tables.loca||error('Required "glyf" or "loca" tables are not found'),this.isOpenType=!1;else{if(!(tables.head&&tables.hhea&&tables.maxp&&tables.post))return cffFile=new Stream(tables["CFF "].data),cff=new CFFFont(cffFile,properties),this.convert(name,cff,properties);delete tables.glyf,delete tables.loca,delete tables.fpgm,delete tables.prep,delete tables["cvt "],this.isOpenType=!0}tables.maxp||error('Required "maxp" table is not found'),font.pos=(font.start||0)+tables.maxp.offset;var version=font.getInt32(),numGlyphs=font.getUint16(),maxFunctionDefs=0;
+if(version>=65536&&tables.maxp.length>=22){font.pos+=8;var maxZones=font.getUint16();maxZones>2&&(tables.maxp.data[14]=0,tables.maxp.data[15]=2),font.pos+=4,maxFunctionDefs=font.getUint16()}var dupFirstEntry=!1;"CIDFontType2"===properties.type&&properties.toUnicode&&properties.toUnicode.get(0)>"\x00"&&(dupFirstEntry=!0,numGlyphs++,tables.maxp.data[4]=numGlyphs>>8,tables.maxp.data[5]=255&numGlyphs);var hintsValid=sanitizeTTPrograms(tables.fpgm,tables.prep,tables["cvt "],maxFunctionDefs);if(hintsValid||(delete tables.fpgm,delete tables.prep,delete tables["cvt "]),sanitizeMetrics(font,tables.hhea,tables.hmtx,numGlyphs),tables.head||error('Required "head" table is not found'),sanitizeHead(tables.head,numGlyphs,isTrueType?tables.loca.length:0),isTrueType){var isGlyphLocationsLong=int16(tables.head.data[50],tables.head.data[51]);sanitizeGlyphLocations(tables.loca,tables.glyf,numGlyphs,isGlyphLocationsLong,hintsValid,dupFirstEntry)}if(tables.hhea||error('Required "hhea" table is not found'),0===tables.hhea.data[10]&&0===tables.hhea.data[11]&&(tables.hhea.data[10]=255,tables.hhea.data[11]=255),tables.post){var valid=readPostScriptTable(tables.post,properties,numGlyphs);valid||(tables.post=null)}var charCode,charCodeToGlyphId=[];if("CIDFontType2"===properties.type){var cidToGidMap=properties.cidToGidMap||[],cidToGidMapLength=cidToGidMap.length;properties.cMap.forEach(function(charCode,cid){assert(65535>=cid,"Max size of CID is 65,535");var glyphId=-1;0===cidToGidMapLength?glyphId=charCode:void 0!==cidToGidMap[cid]&&(glyphId=cidToGidMap[cid]),glyphId>=0&&numGlyphs>glyphId&&(charCodeToGlyphId[charCode]=glyphId)}),dupFirstEntry&&(charCodeToGlyphId[0]=numGlyphs-1)}else{var cmapTable=readCmapTable(tables.cmap,font,this.isSymbolicFont),cmapPlatformId=cmapTable.platformId,cmapEncodingId=cmapTable.encodingId,cmapMappings=cmapTable.mappings,cmapMappingsLength=cmapMappings.length,hasEncoding=properties.differences.length||!!properties.baseEncodingName;if(hasEncoding&&(3===cmapPlatformId&&1===cmapEncodingId||1===cmapPlatformId&&0===cmapEncodingId)||-1===cmapPlatformId&&-1===cmapEncodingId&&Encodings[properties.baseEncodingName]){var baseEncoding=[];for(("MacRomanEncoding"===properties.baseEncodingName||"WinAnsiEncoding"===properties.baseEncodingName)&&(baseEncoding=Encodings[properties.baseEncodingName]),charCode=0;256>charCode;charCode++){var glyphName;if(glyphName=this.differences&&charCode in this.differences?this.differences[charCode]:charCode in baseEncoding&&""!==baseEncoding[charCode]?baseEncoding[charCode]:Encodings.StandardEncoding[charCode]){var unicodeOrCharCode;3===cmapPlatformId&&1===cmapEncodingId?unicodeOrCharCode=GlyphsUnicode[glyphName]:1===cmapPlatformId&&0===cmapEncodingId&&(unicodeOrCharCode=Encodings.MacRomanEncoding.indexOf(glyphName));var found=!1;for(i=0;cmapMappingsLength>i;++i)if(cmapMappings[i].charCode===unicodeOrCharCode){charCodeToGlyphId[charCode]=cmapMappings[i].glyphId,found=!0;break}if(!found&&properties.glyphNames){var glyphId=properties.glyphNames.indexOf(glyphName);glyphId>0&&(charCodeToGlyphId[charCode]=glyphId)}}}}else for(i=0;cmapMappingsLength>i;++i)charCode=255&cmapMappings[i].charCode,charCodeToGlyphId[charCode]=cmapMappings[i].glyphId}0===charCodeToGlyphId.length&&(charCodeToGlyphId[0]=0);var newMapping=adjustMapping(charCodeToGlyphId,properties);if(this.toFontChar=newMapping.toFontChar,tables.cmap={tag:"cmap",data:createCmapTable(newMapping.charCodeToGlyphId)},!tables["OS/2"]||!validateOS2Table(tables["OS/2"])){var override={unitsPerEm:int16(tables.head.data[18],tables.head.data[19]),yMax:int16(tables.head.data[42],tables.head.data[43]),yMin:int16(tables.head.data[38],tables.head.data[39])-65536,ascent:int16(tables.hhea.data[4],tables.hhea.data[5]),descent:int16(tables.hhea.data[6],tables.hhea.data[7])-65536};tables["OS/2"]={tag:"OS/2",data:createOS2Table(properties,newMapping.charCodeToGlyphId,override)}}if(tables.post||(tables.post={tag:"post",data:createPostTable(properties)}),!isTrueType)try{cffFile=new Stream(tables["CFF "].data);var parser=new CFFParser(cffFile,properties);cff=parser.parse();var compiler=new CFFCompiler(cff);tables["CFF "].data=compiler.compile()}catch(e){warn("Failed to compile font "+properties.loadedName)}if(tables.name){var namePrototype=readNameTable(tables.name);tables.name.data=createNameTable(name,namePrototype)}else tables.name={tag:"name",data:createNameTable(this.name)};var builder=new OpenTypeFileBuilder(header.version);for(var tableTag in tables)builder.addTable(tableTag,tables[tableTag].data);return builder.toArray()},convert:function(fontName,font,properties){function getCharCodes(charCodeToGlyphId,glyphId){var charCodes=null;for(var charCode in charCodeToGlyphId)glyphId===charCodeToGlyphId[charCode]&&(charCodes||(charCodes=[]),charCodes.push(0|charCode));return charCodes}function createCharCode(charCodeToGlyphId,glyphId){for(var charCode in charCodeToGlyphId)if(glyphId===charCodeToGlyphId[charCode])return 0|charCode;return newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode]=glyphId,newMapping.nextAvailableFontCharCode++}properties.fixedPitch=!1;var mapping=font.getGlyphMapping(properties),newMapping=adjustMapping(mapping,properties);this.toFontChar=newMapping.toFontChar;var numGlyphs=font.numGlyphs,seacs=font.seacs;if(SEAC_ANALYSIS_ENABLED&&seacs&&seacs.length){var matrix=properties.fontMatrix||FONT_IDENTITY_MATRIX,charset=font.getCharset(),seacMap=Object.create(null);for(var glyphId in seacs){glyphId|=0;var seac=seacs[glyphId],baseGlyphName=Encodings.StandardEncoding[seac[2]],accentGlyphName=Encodings.StandardEncoding[seac[3]],baseGlyphId=charset.indexOf(baseGlyphName),accentGlyphId=charset.indexOf(accentGlyphName);if(!(0>baseGlyphId||0>accentGlyphId)){var accentOffset={x:seac[0]*matrix[0]+seac[1]*matrix[2]+matrix[4],y:seac[0]*matrix[1]+seac[1]*matrix[3]+matrix[5]},charCodes=getCharCodes(mapping,glyphId);if(charCodes)for(var i=0,ii=charCodes.length;ii>i;i++){var charCode=charCodes[i],charCodeToGlyphId=newMapping.charCodeToGlyphId,baseFontCharCode=createCharCode(charCodeToGlyphId,baseGlyphId),accentFontCharCode=createCharCode(charCodeToGlyphId,accentGlyphId);seacMap[charCode]={baseFontCharCode:baseFontCharCode,accentFontCharCode:accentFontCharCode,accentOffset:accentOffset}}}}properties.seacMap=seacMap}var unitsPerEm=1/(properties.fontMatrix||FONT_IDENTITY_MATRIX)[0],builder=new OpenTypeFileBuilder("OTTO");return builder.addTable("CFF ",font.data),builder.addTable("OS/2",createOS2Table(properties,newMapping.charCodeToGlyphId)),builder.addTable("cmap",createCmapTable(newMapping.charCodeToGlyphId)),builder.addTable("head","\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00_<õ\x00\x00"+safeString16(unitsPerEm)+"\x00\x00\x00\x00ž ~'\x00\x00\x00\x00ž ~'\x00\x00"+safeString16(properties.descent)+"ÿ"+safeString16(properties.ascent)+string16(properties.italicAngle?2:0)+"\x00\x00\x00\x00\x00\x00\x00"),builder.addTable("hhea","\x00\x00\x00"+safeString16(properties.ascent)+safeString16(properties.descent)+"\x00\x00ÿÿ\x00\x00\x00\x00\x00\x00"+safeString16(properties.capHeight)+safeString16(Math.tan(properties.italicAngle)*properties.xHeight)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+string16(numGlyphs)),builder.addTable("hmtx",function(){for(var charstrings=font.charstrings,cffWidths=font.cff?font.cff.widths:null,hmtx="\x00\x00\x00\x00",i=1,ii=numGlyphs;ii>i;i++){var width=0;if(charstrings){var charstring=charstrings[i-1];width="width"in charstring?charstring.width:0}else cffWidths&&(width=Math.ceil(cffWidths[i]||0));hmtx+=string16(width)+string16(0)}return hmtx}()),builder.addTable("maxp","\x00\x00P\x00"+string16(numGlyphs)),builder.addTable("name",createNameTable(fontName)),builder.addTable("post",createPostTable(properties)),builder.toArray()},buildToUnicode:function(properties){if(properties.toUnicode&&0!==properties.toUnicode.length)return properties.toUnicode;var toUnicode,charcode;if(!properties.composite){toUnicode=[];var encoding=properties.defaultEncoding.slice(),baseEncodingName=properties.baseEncodingName,differences=properties.differences;for(charcode in differences)encoding[charcode]=differences[charcode];for(charcode in encoding){var glyphName=encoding[charcode];if(""!==glyphName)if(void 0!==GlyphsUnicode[glyphName])toUnicode[charcode]=String.fromCharCode(GlyphsUnicode[glyphName]);else{var code=0;switch(glyphName[0]){case"G":3===glyphName.length&&(code=parseInt(glyphName.substr(1),16));break;case"g":5===glyphName.length&&(code=parseInt(glyphName.substr(1),16));break;case"C":case"c":glyphName.length>=3&&(code=+glyphName.substr(1))}if(code){if(baseEncodingName&&code===+charcode){var baseEncoding=Encodings[baseEncodingName];if(baseEncoding&&(glyphName=baseEncoding[charcode])){toUnicode[charcode]=String.fromCharCode(GlyphsUnicode[glyphName]);continue}}toUnicode[charcode]=String.fromCharCode(code)}}}return new ToUnicodeMap(toUnicode)}if(properties.composite&&(properties.cMap.builtInCMap&&!(properties.cMap instanceof IdentityCMap)||"Adobe"===properties.cidSystemInfo.registry&&("GB1"===properties.cidSystemInfo.ordering||"CNS1"===properties.cidSystemInfo.ordering||"Japan1"===properties.cidSystemInfo.ordering||"Korea1"===properties.cidSystemInfo.ordering))){var registry=properties.cidSystemInfo.registry,ordering=properties.cidSystemInfo.ordering,ucs2CMapName=new Name(registry+"-"+ordering+"-UCS2"),ucs2CMap=CMapFactory.create(ucs2CMapName,{url:PDFJS.cMapUrl,packed:PDFJS.cMapPacked},null),cMap=properties.cMap;return toUnicode=[],cMap.forEach(function(charcode,cid){assert(65535>=cid,"Max size of CID is 65,535");var ucs2=ucs2CMap.lookup(cid);ucs2&&(toUnicode[charcode]=String.fromCharCode((ucs2.charCodeAt(0)<<8)+ucs2.charCodeAt(1)))}),new ToUnicodeMap(toUnicode)}return new IdentityToUnicodeMap(properties.firstChar,properties.lastChar)},get spaceWidth(){if("_shadowWidth"in this)return this._shadowWidth;for(var width,possibleSpaceReplacements=["space","minus","one","i"],i=0,ii=possibleSpaceReplacements.length;ii>i;i++){var glyphName=possibleSpaceReplacements[i];if(glyphName in this.widths){width=this.widths[glyphName];break}var glyphUnicode=GlyphsUnicode[glyphName],charcode=0;if(this.composite&&this.cMap.contains(glyphUnicode)&&(charcode=this.cMap.lookup(glyphUnicode)),!charcode&&"toUnicode"in this&&(charcode=this.toUnicode.charCodeOf(glyphUnicode)),0>=charcode&&(charcode=glyphUnicode),width=this.widths[charcode])break}return width=width||this.defaultWidth,this._shadowWidth=width,width},charToGlyph:function(charcode){var fontCharCode,width,operatorListId,widthCode=charcode;this.cMap&&this.cMap.contains(charcode)&&(widthCode=this.cMap.lookup(charcode)),width=this.widths[widthCode],width=isNum(width)?width:this.defaultWidth;var vmetric=this.vmetrics&&this.vmetrics[widthCode],unicode=this.toUnicode.get(charcode)||charcode;"number"==typeof unicode&&(unicode=String.fromCharCode(unicode)),fontCharCode=this.toFontChar[charcode]||charcode,this.missingFile&&(fontCharCode=mapSpecialUnicodeValues(fontCharCode)),this.isType3Font&&(operatorListId=fontCharCode);var accent=null;if(this.seacMap&&this.seacMap[charcode]){var seac=this.seacMap[charcode];fontCharCode=seac.baseFontCharCode,accent={fontChar:String.fromCharCode(seac.accentFontCharCode),offset:seac.accentOffset}}var fontChar=String.fromCharCode(fontCharCode),glyph=this.glyphCache[charcode];return glyph&&glyph.matchesForCache(fontChar,unicode,accent,width,vmetric,operatorListId)||(glyph=new Glyph(fontChar,unicode,accent,width,vmetric,operatorListId),this.glyphCache[charcode]=glyph),glyph},charsToGlyphs:function(chars){var glyphs,glyph,charcode,charsCache=this.charsCache;if(charsCache&&(glyphs=charsCache[chars]))return glyphs;charsCache||(charsCache=this.charsCache=Object.create(null)),glyphs=[];var ii,charsCacheKey=chars,i=0;if(this.cMap)for(var c={};i<chars.length;){this.cMap.readCharCode(chars,i,c),charcode=c.charcode;var length=c.length;i+=length,glyph=this.charToGlyph(charcode),glyphs.push(glyph),1===length&&32===chars.charCodeAt(i-1)&&glyphs.push(null)}else for(i=0,ii=chars.length;ii>i;++i)charcode=chars.charCodeAt(i),glyph=this.charToGlyph(charcode),glyphs.push(glyph),32===charcode&&glyphs.push(null);return charsCache[charsCacheKey]=glyphs}},Font}(),ErrorFont=function(){function ErrorFont(error){this.error=error,this.loadedName="g_font_error",this.loading=!1}return ErrorFont.prototype={charsToGlyphs:function(){return[]},exportData:function(){return{error:this.error}}},ErrorFont}(),Type1CharString=function(){function Type1CharString(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}var COMMAND_MAP={hstem:[1],vstem:[3],vmoveto:[4],rlineto:[5],hlineto:[6],vlineto:[7],rrcurveto:[8],callsubr:[10],flex:[12,35],drop:[12,18],endchar:[14],rmoveto:[21],hmoveto:[22],vhcurveto:[30],hvcurveto:[31]};return Type1CharString.prototype={convert:function(encoded,subrs){for(var wx,sbx,subrNumber,count=encoded.length,error=!1,i=0;count>i;i++){var value=encoded[i];if(32>value){switch(12===value&&(value=(value<<8)+encoded[++i]),value){case 1:if(!HINTING_ENABLED){this.stack=[];break}error=this.executeCommand(2,COMMAND_MAP.hstem);break;case 3:if(!HINTING_ENABLED){this.stack=[];break}error=this.executeCommand(2,COMMAND_MAP.vstem);break;case 4:if(this.flexing){if(this.stack.length<1){error=!0;break}var dy=this.stack.pop();this.stack.push(0,dy);break}error=this.executeCommand(1,COMMAND_MAP.vmoveto);break;case 5:error=this.executeCommand(2,COMMAND_MAP.rlineto);break;case 6:error=this.executeCommand(1,COMMAND_MAP.hlineto);break;case 7:error=this.executeCommand(1,COMMAND_MAP.vlineto);break;case 8:error=this.executeCommand(6,COMMAND_MAP.rrcurveto);break;case 9:this.stack=[];break;case 10:if(this.stack.length<1){error=!0;break}subrNumber=this.stack.pop(),error=this.convert(subrs[subrNumber],subrs);break;case 11:return error;case 13:if(this.stack.length<2){error=!0;break}wx=this.stack.pop(),sbx=this.stack.pop(),this.lsb=sbx,this.width=wx,this.stack.push(wx,sbx),error=this.executeCommand(2,COMMAND_MAP.hmoveto);break;case 14:this.output.push(COMMAND_MAP.endchar[0]);break;case 21:if(this.flexing)break;error=this.executeCommand(2,COMMAND_MAP.rmoveto);break;case 22:if(this.flexing){this.stack.push(0);break}error=this.executeCommand(1,COMMAND_MAP.hmoveto);break;case 30:error=this.executeCommand(4,COMMAND_MAP.vhcurveto);break;case 31:error=this.executeCommand(4,COMMAND_MAP.hvcurveto);break;case 3072:this.stack=[];break;case 3073:if(!HINTING_ENABLED){this.stack=[];break}error=this.executeCommand(2,COMMAND_MAP.vstem);break;case 3074:if(!HINTING_ENABLED){this.stack=[];break}error=this.executeCommand(2,COMMAND_MAP.hstem);break;case 3078:SEAC_ANALYSIS_ENABLED?(this.seac=this.stack.splice(-4,4),error=this.executeCommand(0,COMMAND_MAP.endchar)):error=this.executeCommand(4,COMMAND_MAP.endchar);break;case 3079:if(this.stack.length<4){error=!0;break}{this.stack.pop()}wx=this.stack.pop();var sby=this.stack.pop();sbx=this.stack.pop(),this.lsb=sbx,this.width=wx,this.stack.push(wx,sbx,sby),error=this.executeCommand(3,COMMAND_MAP.rmoveto);break;case 3084:if(this.stack.length<2){error=!0;break}var num2=this.stack.pop(),num1=this.stack.pop();this.stack.push(num1/num2);break;case 3088:if(this.stack.length<2){error=!0;break}subrNumber=this.stack.pop();var numArgs=this.stack.pop();if(0===subrNumber&&3===numArgs){var flexArgs=this.stack.splice(this.stack.length-17,17);this.stack.push(flexArgs[2]+flexArgs[0],flexArgs[3]+flexArgs[1],flexArgs[4],flexArgs[5],flexArgs[6],flexArgs[7],flexArgs[8],flexArgs[9],flexArgs[10],flexArgs[11],flexArgs[12],flexArgs[13],flexArgs[14]),error=this.executeCommand(13,COMMAND_MAP.flex,!0),this.flexing=!1,this.stack.push(flexArgs[15],flexArgs[16])}else 1===subrNumber&&0===numArgs&&(this.flexing=!0);break;case 3089:break;case 3105:this.stack=[];break;default:warn('Unknown type 1 charstring command of "'+value+'"')}if(error)break}else 246>=value?value-=139:value=250>=value?256*(value-247)+encoded[++i]+108:254>=value?-(256*(value-251))-encoded[++i]-108:(255&encoded[++i])<<24|(255&encoded[++i])<<16|(255&encoded[++i])<<8|(255&encoded[++i])<<0,this.stack.push(value)}return error},executeCommand:function(howManyArgs,command,keepStack){var stackLength=this.stack.length;if(howManyArgs>stackLength)return!0;for(var start=stackLength-howManyArgs,i=start;stackLength>i;i++){var value=this.stack[i];value===(0|value)?this.output.push(28,value>>8&255,255&value):(value=65536*value|0,this.output.push(255,value>>24&255,value>>16&255,value>>8&255,255&value))}return this.output.push.apply(this.output,command),keepStack?this.stack.splice(start,howManyArgs):this.stack.length=0,!1}},Type1CharString}(),Type1Parser=function(){function isHexDigit(code){return code>=48&&57>=code||code>=65&&70>=code||code>=97&&102>=code}function decrypt(data,key,discardNumber){for(var r=0|key,c1=52845,c2=22719,count=data.length,decrypted=new Uint8Array(count),i=0;count>i;i++){var value=data[i];decrypted[i]=value^r>>8,r=(value+r)*c1+c2&65535}return Array.prototype.slice.call(decrypted,discardNumber)}function decryptAscii(data,key,discardNumber){var i,j,r=0|key,c1=52845,c2=22719,count=data.length,maybeLength=count>>>1,decrypted=new Uint8Array(maybeLength);for(i=0,j=0;count>i;i++){var digit1=data[i];if(isHexDigit(digit1)){i++;for(var digit2;count>i&&!isHexDigit(digit2=data[i]);)i++;if(count>i){var value=parseInt(String.fromCharCode(digit1,digit2),16);decrypted[j++]=value^r>>8,r=(value+r)*c1+c2&65535}}}return Array.prototype.slice.call(decrypted,discardNumber,j)}function isSpecial(c){return 47===c||91===c||93===c||123===c||125===c||40===c||41===c}function Type1Parser(stream,encrypted){if(encrypted){var data=stream.getBytes(),isBinary=!(isHexDigit(data[0])&&isHexDigit(data[1])&&isHexDigit(data[2])&&isHexDigit(data[3]));stream=new Stream(isBinary?decrypt(data,EEXEC_ENCRYPT_KEY,4):decryptAscii(data,EEXEC_ENCRYPT_KEY,4))}this.stream=stream,this.nextChar()}var EEXEC_ENCRYPT_KEY=55665,CHAR_STRS_ENCRYPT_KEY=4330;return Type1Parser.prototype={readNumberArray:function(){this.getToken();for(var array=[];;){var token=this.getToken();if(null===token||"]"===token||"}"===token)break;array.push(parseFloat(token||0))}return array},readNumber:function(){var token=this.getToken();return parseFloat(token||0)},readInt:function(){var token=this.getToken();return 0|parseInt(token||0,10)},readBoolean:function(){var token=this.getToken();return"true"===token?1:0},nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var comment=!1,ch=this.currentChar;;){if(-1===ch)return null;if(comment)(10===ch||13===ch)&&(comment=!1);else if(37===ch)comment=!0;else if(!Lexer.isSpace(ch))break;ch=this.nextChar()}if(isSpecial(ch))return this.nextChar(),String.fromCharCode(ch);var token="";do token+=String.fromCharCode(ch),ch=this.nextChar();while(ch>=0&&!Lexer.isSpace(ch)&&!isSpecial(ch));return token},extractFontProgram:function(){for(var token,length,data,lenIV,encoded,stream=this.stream,subrs=[],charstrings=[],program={subrs:[],charstrings:[],properties:{privateData:{lenIV:4}}};null!==(token=this.getToken());)if("/"===token)switch(token=this.getToken()){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();;){if(token=this.getToken(),null===token||"end"===token)break;if("/"===token){var glyph=this.getToken();length=this.readInt(),this.getToken(),data=stream.makeSubStream(stream.pos,length),lenIV=program.properties.privateData.lenIV,encoded=decrypt(data.getBytes(),CHAR_STRS_ENCRYPT_KEY,lenIV),stream.skip(length),this.nextChar(),token=this.getToken(),"noaccess"===token&&this.getToken(),charstrings.push({glyph:glyph,encoded:encoded})}}break;case"Subrs":{this.readInt()}for(this.getToken();"dup"===(token=this.getToken());){var index=this.readInt();length=this.readInt(),this.getToken(),data=stream.makeSubStream(stream.pos,length),lenIV=program.properties.privateData.lenIV,encoded=decrypt(data.getBytes(),CHAR_STRS_ENCRYPT_KEY,lenIV),stream.skip(length),this.nextChar(),token=this.getToken(),"noaccess"===token&&this.getToken(),subrs[index]=encoded}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":var blueArray=this.readNumberArray();blueArray.length>0&&blueArray.length%2===0&&HINTING_ENABLED&&(program.properties.privateData[token]=blueArray);break;case"StemSnapH":case"StemSnapV":program.properties.privateData[token]=this.readNumberArray();break;case"StdHW":case"StdVW":program.properties.privateData[token]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":case"ExpansionFactor":program.properties.privateData[token]=this.readNumber();break;case"ForceBold":program.properties.privateData[token]=this.readBoolean()}for(var i=0;i<charstrings.length;i++){glyph=charstrings[i].glyph,encoded=charstrings[i].encoded;var charString=new Type1CharString,error=charString.convert(encoded,subrs),output=charString.output;error&&(output=[14]),program.charstrings.push({glyphName:glyph,charstring:output,width:charString.width,lsb:charString.lsb,seac:charString.seac})}return program},extractFontHeader:function(properties){for(var token;null!==(token=this.getToken());)if("/"===token)switch(token=this.getToken()){case"FontMatrix":var matrix=this.readNumberArray();properties.fontMatrix=matrix;break;case"Encoding":var encoding,encodingArg=this.getToken();if(/^\d+$/.test(encodingArg)){encoding=[];var size=0|parseInt(encodingArg,10);this.getToken();for(var j=0;size>j;j++){for(token=this.getToken();"dup"!==token&&"def"!==token;)if(token=this.getToken(),null===token)return;if("def"===token)break;var index=this.readInt();this.getToken();var glyph=this.getToken();encoding[index]=glyph,this.getToken()}}else encoding=Encodings[encodingArg];properties.builtInEncoding=encoding;break;case"FontBBox":var fontBBox=this.readNumberArray();properties.ascent=fontBBox[3],properties.descent=fontBBox[1],properties.ascentScaled=!0}}},Type1Parser}(),CFFStandardStrings=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Type1Font=function(name,file,properties){var PFB_HEADER_SIZE=6,headerBlockLength=properties.length1,eexecBlockLength=properties.length2,pfbHeader=file.peekBytes(PFB_HEADER_SIZE),pfbHeaderPresent=128===pfbHeader[0]&&1===pfbHeader[1];pfbHeaderPresent&&(file.skip(PFB_HEADER_SIZE),headerBlockLength=pfbHeader[5]<<24|pfbHeader[4]<<16|pfbHeader[3]<<8|pfbHeader[2]);var headerBlock=new Stream(file.getBytes(headerBlockLength)),headerBlockParser=new Type1Parser(headerBlock);headerBlockParser.extractFontHeader(properties),pfbHeaderPresent&&(pfbHeader=file.getBytes(PFB_HEADER_SIZE),eexecBlockLength=pfbHeader[5]<<24|pfbHeader[4]<<16|pfbHeader[3]<<8|pfbHeader[2]);var eexecBlock=new Stream(file.getBytes(eexecBlockLength)),eexecBlockParser=new Type1Parser(eexecBlock,!0),data=eexecBlockParser.extractFontProgram();for(var info in data.properties)properties[info]=data.properties[info];var charstrings=data.charstrings,type2Charstrings=this.getType2Charstrings(charstrings),subrs=this.getType2Subrs(data.subrs);this.charstrings=charstrings,this.data=this.wrap(name,type2Charstrings,this.charstrings,subrs,properties),this.seacs=this.getSeacs(data.charstrings)};Type1Font.prototype={get numGlyphs(){return this.charstrings.length+1},getCharset:function(){for(var charset=[".notdef"],charstrings=this.charstrings,glyphId=0;glyphId<charstrings.length;glyphId++)charset.push(charstrings[glyphId].glyphName);return charset},getGlyphMapping:function(properties){var glyphId,charstrings=this.charstrings,glyphNames=[".notdef"];for(glyphId=0;glyphId<charstrings.length;glyphId++)glyphNames.push(charstrings[glyphId].glyphName);var encoding=properties.builtInEncoding;if(encoding){var builtInEncoding={};for(var charCode in encoding)glyphId=glyphNames.indexOf(encoding[charCode]),glyphId>=0&&(builtInEncoding[charCode]=glyphId)}return type1FontGlyphMapping(properties,builtInEncoding,glyphNames)},getSeacs:function(charstrings){var i,ii,seacMap=[];for(i=0,ii=charstrings.length;ii>i;i++){var charstring=charstrings[i];charstring.seac&&(seacMap[i+1]=charstring.seac)}return seacMap},getType2Charstrings:function(type1Charstrings){for(var type2Charstrings=[],i=0,ii=type1Charstrings.length;ii>i;i++)type2Charstrings.push(type1Charstrings[i].charstring);return type2Charstrings},getType2Subrs:function(type1Subrs){var bias=0,count=type1Subrs.length;bias=1133>count?107:33769>count?1131:32768;var i,type2Subrs=[];for(i=0;bias>i;i++)type2Subrs.push([11]);for(i=0;count>i;i++)type2Subrs.push(type1Subrs[i]);return type2Subrs},wrap:function(name,glyphs,charstrings,subrs,properties){var cff=new CFF;cff.header=new CFFHeader(1,0,4,4),cff.names=[name];var topDict=new CFFTopDict;topDict.setByName("version",391),topDict.setByName("Notice",392),topDict.setByName("FullName",393),topDict.setByName("FamilyName",394),topDict.setByName("Weight",395),topDict.setByName("Encoding",null),topDict.setByName("FontMatrix",properties.fontMatrix),topDict.setByName("FontBBox",properties.bbox),topDict.setByName("charset",null),topDict.setByName("CharStrings",null),topDict.setByName("Private",null),cff.topDict=topDict;var strings=new CFFStrings;strings.add("Version 0.11"),strings.add("See original notice"),strings.add(name),strings.add(name),strings.add("Medium"),cff.strings=strings,cff.globalSubrIndex=new CFFIndex;var i,ii,count=glyphs.length,charsetArray=[0];for(i=0;count>i;i++){var index=CFFStandardStrings.indexOf(charstrings[i].glyphName);-1===index&&(index=0),charsetArray.push(index>>8&255,255&index)}cff.charset=new CFFCharset(!1,0,[],charsetArray);var charStringsIndex=new CFFIndex;for(charStringsIndex.add([139,14]),i=0;count>i;i++)charStringsIndex.add(glyphs[i]);cff.charStrings=charStringsIndex;var privateDict=new CFFPrivateDict;privateDict.setByName("Subrs",null);var fields=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(i=0,ii=fields.length;ii>i;i++){var field=fields[i];if(properties.privateData.hasOwnProperty(field)){var value=properties.privateData[field];if(isArray(value))for(var j=value.length-1;j>0;j--)value[j]-=value[j-1];privateDict.setByName(field,value)}}cff.topDict.privateDict=privateDict;var subrIndex=new CFFIndex;for(i=0,ii=subrs.length;ii>i;i++)subrIndex.add(subrs[i]);privateDict.subrsIndex=subrIndex;var compiler=new CFFCompiler(cff);return compiler.compile()}};var CFFFont=function(){function CFFFont(file,properties){this.properties=properties;var parser=new CFFParser(file,properties);this.cff=parser.parse();var compiler=new CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=compiler.compile()}catch(e){warn("Failed to compile font "+properties.loadedName),this.data=file}}return CFFFont.prototype={get numGlyphs(){return this.cff.charStrings.count},getCharset:function(){return this.cff.charset.charset},getGlyphMapping:function(){var charCodeToGlyphId,glyphId,cff=this.cff,properties=this.properties,charsets=cff.charset.charset;if(properties.composite){if(charCodeToGlyphId=Object.create(null),cff.isCIDFont)for(glyphId=0;glyphId<charsets.length;glyphId++){var cid=charsets[glyphId],charCode=properties.cMap.charCodeOf(cid);charCodeToGlyphId[charCode]=glyphId}else for(glyphId=0;glyphId<cff.charStrings.count;glyphId++)charCodeToGlyphId[glyphId]=glyphId;return charCodeToGlyphId}var encoding=cff.encoding?cff.encoding.encoding:null;return charCodeToGlyphId=type1FontGlyphMapping(properties,encoding,charsets)}},CFFFont}(),CFFParser=function(){function CFFParser(file,properties){this.bytes=file.getBytes(),this.properties=properties}var CharstringValidationData=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],CharstringValidationData12=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn:function(stack,index){stack[index-2]=stack[index-2]+stack[index-1]
+}},{id:"sub",min:2,stackDelta:-1,stackFn:function(stack,index){stack[index-2]=stack[index-2]-stack[index-1]}},{id:"div",min:2,stackDelta:-1,stackFn:function(stack,index){stack[index-2]=stack[index-2]/stack[index-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn:function(stack,index){stack[index-1]=-stack[index-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn:function(stack,index){stack[index-2]=stack[index-2]*stack[index-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];return CFFParser.prototype={parse:function(){var properties=this.properties,cff=new CFF;this.cff=cff;var header=this.parseHeader(),nameIndex=this.parseIndex(header.endPos),topDictIndex=this.parseIndex(nameIndex.endPos),stringIndex=this.parseIndex(topDictIndex.endPos),globalSubrIndex=this.parseIndex(stringIndex.endPos),topDictParsed=this.parseDict(topDictIndex.obj.get(0)),topDict=this.createDict(CFFTopDict,topDictParsed,cff.strings);cff.header=header.obj,cff.names=this.parseNameIndex(nameIndex.obj),cff.strings=this.parseStringIndex(stringIndex.obj),cff.topDict=topDict,cff.globalSubrIndex=globalSubrIndex.obj,this.parsePrivateDict(cff.topDict),cff.isCIDFont=topDict.hasName("ROS");var charStringOffset=topDict.getByName("CharStrings"),charStringsAndSeacs=this.parseCharStrings(charStringOffset);cff.charStrings=charStringsAndSeacs.charStrings,cff.seacs=charStringsAndSeacs.seacs,cff.widths=charStringsAndSeacs.widths;var fontMatrix=topDict.getByName("FontMatrix");fontMatrix&&(properties.fontMatrix=fontMatrix);var fontBBox=topDict.getByName("FontBBox");fontBBox&&(properties.ascent=fontBBox[3],properties.descent=fontBBox[1],properties.ascentScaled=!0);var charset,encoding;if(cff.isCIDFont){for(var fdArrayIndex=this.parseIndex(topDict.getByName("FDArray")).obj,i=0,ii=fdArrayIndex.count;ii>i;++i){var dictRaw=fdArrayIndex.get(i),fontDict=this.createDict(CFFTopDict,this.parseDict(dictRaw),cff.strings);this.parsePrivateDict(fontDict),cff.fdArray.push(fontDict)}encoding=null,charset=this.parseCharsets(topDict.getByName("charset"),cff.charStrings.count,cff.strings,!0),cff.fdSelect=this.parseFDSelect(topDict.getByName("FDSelect"),cff.charStrings.count)}else charset=this.parseCharsets(topDict.getByName("charset"),cff.charStrings.count,cff.strings,!1),encoding=this.parseEncoding(topDict.getByName("Encoding"),properties,cff.strings,charset.charset);return cff.charset=charset,cff.encoding=encoding,cff},parseHeader:function(){for(var bytes=this.bytes,bytesLength=bytes.length,offset=0;bytesLength>offset&&1!==bytes[offset];)++offset;offset>=bytesLength?error("Invalid CFF header"):0!==offset&&(info("cff data is shifted"),bytes=bytes.subarray(offset),this.bytes=bytes);var major=bytes[0],minor=bytes[1],hdrSize=bytes[2],offSize=bytes[3],header=new CFFHeader(major,minor,hdrSize,offSize);return{obj:header,endPos:hdrSize}},parseDict:function(dict){function parseOperand(){var value=dict[pos++];return 30===value?parseFloatOperand(pos):28===value?(value=dict[pos++],value=(value<<24|dict[pos++]<<16)>>16):29===value?(value=dict[pos++],value=value<<8|dict[pos++],value=value<<8|dict[pos++],value=value<<8|dict[pos++]):value>=32&&246>=value?value-139:value>=247&&250>=value?256*(value-247)+dict[pos++]+108:value>=251&&254>=value?-(256*(value-251))-dict[pos++]-108:(error("255 is not a valid DICT command"),-1)}function parseFloatOperand(){for(var str="",eof=15,lookup=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],length=dict.length;length>pos;){var b=dict[pos++],b1=b>>4,b2=15&b;if(b1===eof)break;if(str+=lookup[b1],b2===eof)break;str+=lookup[b2]}return parseFloat(str)}var pos=0,operands=[],entries=[];pos=0;for(var end=dict.length;end>pos;){var b=dict[pos];21>=b?(12===b&&(b=b<<8|dict[++pos]),entries.push([b,operands]),operands=[],++pos):operands.push(parseOperand())}return entries},parseIndex:function(pos){var i,ii,cffIndex=new CFFIndex,bytes=this.bytes,count=bytes[pos++]<<8|bytes[pos++],offsets=[],end=pos;if(0!==count){var offsetSize=bytes[pos++],startPos=pos+(count+1)*offsetSize-1;for(i=0,ii=count+1;ii>i;++i){for(var offset=0,j=0;offsetSize>j;++j)offset<<=8,offset+=bytes[pos++];offsets.push(startPos+offset)}end=offsets[count]}for(i=0,ii=offsets.length-1;ii>i;++i){var offsetStart=offsets[i],offsetEnd=offsets[i+1];cffIndex.add(bytes.subarray(offsetStart,offsetEnd))}return{obj:cffIndex,endPos:end}},parseNameIndex:function(index){for(var names=[],i=0,ii=index.count;ii>i;++i){for(var name=index.get(i),length=Math.min(name.length,127),data=[],j=0;length>j;++j){var c=name[j];data[j]=(0!==j||0!==c)&&(33>c||c>126||91===c||93===c||40===c||41===c||123===c||125===c||60===c||62===c||47===c||37===c||35===c)?95:c}names.push(bytesToString(data))}return names},parseStringIndex:function(index){for(var strings=new CFFStrings,i=0,ii=index.count;ii>i;++i){var data=index.get(i);strings.add(bytesToString(data))}return strings},createDict:function(Type,dict,strings){for(var cffDict=new Type(strings),i=0,ii=dict.length;ii>i;++i){var pair=dict[i],key=pair[0],value=pair[1];cffDict.setByKey(key,value)}return cffDict},parseCharStrings:function(charStringOffset){for(var charStrings=this.parseIndex(charStringOffset).obj,seacs=[],widths=[],count=charStrings.count,i=0;count>i;i++){for(var charstring=charStrings.get(i),stackSize=0,stack=[],undefStack=!0,hints=0,valid=!0,data=charstring,length=data.length,firstStackClearing=!0,j=0;length>j;){var value=data[j++],validationCommand=null;if(12===value){var q=data[j++];0===q?(data[j-2]=139,data[j-1]=22,stackSize=0):validationCommand=CharstringValidationData12[q]}else 28===value?(stack[stackSize]=(data[j]<<24|data[j+1]<<16)>>16,j+=2,stackSize++):14===value?(stackSize>=4&&(stackSize-=4,SEAC_ANALYSIS_ENABLED&&(seacs[i]=stack.slice(stackSize,stackSize+4),valid=!1)),validationCommand=CharstringValidationData[value]):value>=32&&246>=value?(stack[stackSize]=value-139,stackSize++):value>=247&&254>=value?(stack[stackSize]=251>value?(value-247<<8)+data[j]+108:-(value-251<<8)-data[j]-108,j++,stackSize++):255===value?(stack[stackSize]=(data[j]<<24|data[j+1]<<16|data[j+2]<<8|data[j+3])/65536,j+=4,stackSize++):19===value||20===value?(hints+=stackSize>>1,j+=hints+7>>3,stackSize%=2,validationCommand=CharstringValidationData[value]):validationCommand=CharstringValidationData[value];if(validationCommand){if(validationCommand.stem&&(hints+=stackSize>>1),"min"in validationCommand&&!undefStack&&stackSize<validationCommand.min){warn("Not enough parameters for "+validationCommand.id+"; actual: "+stackSize+", expected: "+validationCommand.min),valid=!1;break}firstStackClearing&&validationCommand.stackClearing&&(firstStackClearing=!1,stackSize-=validationCommand.min,stackSize>=2&&validationCommand.stem?stackSize%=2:stackSize>1&&warn("Found too many parameters for stack-clearing command"),stackSize>0&&stack[stackSize-1]>=0&&(widths[i]=stack[stackSize-1])),"stackDelta"in validationCommand?("stackFn"in validationCommand&&validationCommand.stackFn(stack,stackSize),stackSize+=validationCommand.stackDelta):validationCommand.stackClearing?stackSize=0:validationCommand.resetStack?(stackSize=0,undefStack=!1):validationCommand.undefStack&&(stackSize=0,undefStack=!0,firstStackClearing=!1)}}valid||charStrings.set(i,new Uint8Array([14]))}return{charStrings:charStrings,seacs:seacs,widths:widths}},emptyPrivateDictionary:function(parentDict){var privateDict=this.createDict(CFFPrivateDict,[],parentDict.strings);parentDict.setByKey(18,[0,0]),parentDict.privateDict=privateDict},parsePrivateDict:function(parentDict){if(!parentDict.hasName("Private"))return void this.emptyPrivateDictionary(parentDict);var privateOffset=parentDict.getByName("Private");if(!isArray(privateOffset)||2!==privateOffset.length)return void parentDict.removeByName("Private");var size=privateOffset[0],offset=privateOffset[1];if(0===size||offset>=this.bytes.length)return void this.emptyPrivateDictionary(parentDict);var privateDictEnd=offset+size,dictData=this.bytes.subarray(offset,privateDictEnd),dict=this.parseDict(dictData),privateDict=this.createDict(CFFPrivateDict,dict,parentDict.strings);if(parentDict.privateDict=privateDict,privateDict.getByName("Subrs")){var subrsOffset=privateDict.getByName("Subrs"),relativeOffset=offset+subrsOffset;if(0===subrsOffset||relativeOffset>=this.bytes.length)return void this.emptyPrivateDictionary(parentDict);var subrsIndex=this.parseIndex(relativeOffset);privateDict.subrsIndex=subrsIndex.obj}},parseCharsets:function(pos,length,strings,cid){if(0===pos)return new CFFCharset(!0,CFFCharsetPredefinedTypes.ISO_ADOBE,ISOAdobeCharset);if(1===pos)return new CFFCharset(!0,CFFCharsetPredefinedTypes.EXPERT,ExpertCharset);if(2===pos)return new CFFCharset(!0,CFFCharsetPredefinedTypes.EXPERT_SUBSET,ExpertSubsetCharset);var id,count,i,bytes=this.bytes,start=pos,format=bytes[pos++],charset=[".notdef"];switch(length-=1,format){case 0:for(i=0;length>i;i++)id=bytes[pos++]<<8|bytes[pos++],charset.push(cid?id:strings.get(id));break;case 1:for(;charset.length<=length;)for(id=bytes[pos++]<<8|bytes[pos++],count=bytes[pos++],i=0;count>=i;i++)charset.push(cid?id++:strings.get(id++));break;case 2:for(;charset.length<=length;)for(id=bytes[pos++]<<8|bytes[pos++],count=bytes[pos++]<<8|bytes[pos++],i=0;count>=i;i++)charset.push(cid?id++:strings.get(id++));break;default:error("Unknown charset format")}var end=pos,raw=bytes.subarray(start,end);return new CFFCharset(!1,format,charset,raw)},parseEncoding:function(pos,properties,strings,charset){function readSupplement(){var supplementsCount=bytes[pos++];for(i=0;supplementsCount>i;i++){var code=bytes[pos++],sid=(bytes[pos++]<<8)+(255&bytes[pos++]);encoding[code]=charset.indexOf(strings.get(sid))}}var format,i,ii,encoding={},bytes=this.bytes,predefined=!1,hasSupplement=!1,raw=null;if(0===pos||1===pos){predefined=!0,format=pos;var baseEncoding=pos?Encodings.ExpertEncoding:Encodings.StandardEncoding;for(i=0,ii=charset.length;ii>i;i++){var index=baseEncoding.indexOf(charset[i]);-1!==index&&(encoding[index]=i)}}else{var dataStart=pos;switch(format=bytes[pos++],127&format){case 0:var glyphsCount=bytes[pos++];for(i=1;glyphsCount>=i;i++)encoding[bytes[pos++]]=i;break;case 1:var rangesCount=bytes[pos++],gid=1;for(i=0;rangesCount>i;i++)for(var start=bytes[pos++],left=bytes[pos++],j=start;start+left>=j;j++)encoding[j]=gid++;break;default:error("Unknow encoding format: "+format+" in CFF")}var dataEnd=pos;128&format&&(bytes[dataStart]&=127,readSupplement(),hasSupplement=!0),raw=bytes.subarray(dataStart,dataEnd)}return format=127&format,new CFFEncoding(predefined,format,encoding,raw)},parseFDSelect:function(pos,length){var i,start=pos,bytes=this.bytes,format=bytes[pos++],fdSelect=[];switch(format){case 0:for(i=0;length>i;++i){var id=bytes[pos++];fdSelect.push(id)}break;case 3:var rangesCount=bytes[pos++]<<8|bytes[pos++];for(i=0;rangesCount>i;++i)for(var first=bytes[pos++]<<8|bytes[pos++],fdIndex=bytes[pos++],next=bytes[pos]<<8|bytes[pos+1],j=first;next>j;++j)fdSelect.push(fdIndex);pos+=2;break;default:error("Unknown fdselect format "+format)}var end=pos;return new CFFFDSelect(fdSelect,bytes.subarray(start,end))}},CFFParser}(),CFF=function(){function CFF(){this.header=null,this.names=[],this.topDict=null,this.strings=new CFFStrings,this.globalSubrIndex=null,this.encoding=null,this.charset=null,this.charStrings=null,this.fdArray=[],this.fdSelect=null,this.isCIDFont=!1}return CFF}(),CFFHeader=function(){function CFFHeader(major,minor,hdrSize,offSize){this.major=major,this.minor=minor,this.hdrSize=hdrSize,this.offSize=offSize}return CFFHeader}(),CFFStrings=function(){function CFFStrings(){this.strings=[]}return CFFStrings.prototype={get:function(index){return index>=0&&390>=index?CFFStandardStrings[index]:index-391<=this.strings.length?this.strings[index-391]:CFFStandardStrings[0]},add:function(value){this.strings.push(value)},get count(){return this.strings.length}},CFFStrings}(),CFFIndex=function(){function CFFIndex(){this.objects=[],this.length=0}return CFFIndex.prototype={add:function(data){this.length+=data.length,this.objects.push(data)},set:function(index,data){this.length+=data.length-this.objects[index].length,this.objects[index]=data},get:function(index){return this.objects[index]},get count(){return this.objects.length}},CFFIndex}(),CFFDict=function(){function CFFDict(tables,strings){this.keyToNameMap=tables.keyToNameMap,this.nameToKeyMap=tables.nameToKeyMap,this.defaults=tables.defaults,this.types=tables.types,this.opcodes=tables.opcodes,this.order=tables.order,this.strings=strings,this.values={}}return CFFDict.prototype={setByKey:function(key,value){if(!(key in this.keyToNameMap))return!1;if(0===value.length)return!0;var type=this.types[key];return("num"===type||"sid"===type||"offset"===type)&&(value=value[0]),this.values[key]=value,!0},setByName:function(name,value){name in this.nameToKeyMap||error('Invalid dictionary name "'+name+'"'),this.values[this.nameToKeyMap[name]]=value},hasName:function(name){return this.nameToKeyMap[name]in this.values},getByName:function(name){name in this.nameToKeyMap||error('Invalid dictionary name "'+name+'"');var key=this.nameToKeyMap[name];return key in this.values?this.values[key]:this.defaults[key]},removeByName:function(name){delete this.values[this.nameToKeyMap[name]]}},CFFDict.createTables=function(layout){for(var tables={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]},i=0,ii=layout.length;ii>i;++i){var entry=layout[i],key=isArray(entry[0])?(entry[0][0]<<8)+entry[0][1]:entry[0];tables.keyToNameMap[key]=entry[1],tables.nameToKeyMap[entry[1]]=key,tables.types[key]=entry[2],tables.defaults[key]=entry[3],tables.opcodes[key]=isArray(entry[0])?entry[0]:[entry[0]],tables.order.push(key)}return tables},CFFDict}(),CFFTopDict=function(){function CFFTopDict(strings){null===tables&&(tables=CFFDict.createTables(layout)),CFFDict.call(this,tables,strings),this.privateDict=null}var layout=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]],tables=null;return CFFTopDict.prototype=Object.create(CFFDict.prototype),CFFTopDict}(),CFFPrivateDict=function(){function CFFPrivateDict(strings){null===tables&&(tables=CFFDict.createTables(layout)),CFFDict.call(this,tables,strings),this.subrsIndex=null}var layout=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]],tables=null;return CFFPrivateDict.prototype=Object.create(CFFDict.prototype),CFFPrivateDict}(),CFFCharsetPredefinedTypes={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2},CFFCharset=function(){function CFFCharset(predefined,format,charset,raw){this.predefined=predefined,this.format=format,this.charset=charset,this.raw=raw}return CFFCharset}(),CFFEncoding=function(){function CFFEncoding(predefined,format,encoding,raw){this.predefined=predefined,this.format=format,this.encoding=encoding,this.raw=raw}return CFFEncoding}(),CFFFDSelect=function(){function CFFFDSelect(fdSelect,raw){this.fdSelect=fdSelect,this.raw=raw}return CFFFDSelect}(),CFFOffsetTracker=function(){function CFFOffsetTracker(){this.offsets={}}return CFFOffsetTracker.prototype={isTracking:function(key){return key in this.offsets},track:function(key,location){key in this.offsets&&error("Already tracking location of "+key),this.offsets[key]=location},offset:function(value){for(var key in this.offsets)this.offsets[key]+=value},setEntryLocation:function(key,values,output){key in this.offsets||error("Not tracking location of "+key);for(var data=output.data,dataOffset=this.offsets[key],size=5,i=0,ii=values.length;ii>i;++i){var offset0=i*size+dataOffset,offset1=offset0+1,offset2=offset0+2,offset3=offset0+3,offset4=offset0+4;(29!==data[offset0]||0!==data[offset1]||0!==data[offset2]||0!==data[offset3]||0!==data[offset4])&&error("writing to an offset that is not empty");var value=values[i];data[offset0]=29,data[offset1]=value>>24&255,data[offset2]=value>>16&255,data[offset3]=value>>8&255,data[offset4]=255&value}}},CFFOffsetTracker}(),CFFCompiler=function(){function CFFCompiler(cff){this.cff=cff}return CFFCompiler.prototype={compile:function(){var cff=this.cff,output={data:[],length:0,add:function(data){this.data=this.data.concat(data),this.length=this.data.length}},header=this.compileHeader(cff.header);output.add(header);var nameIndex=this.compileNameIndex(cff.names);if(output.add(nameIndex),cff.isCIDFont&&cff.topDict.hasName("FontMatrix")){var base=cff.topDict.getByName("FontMatrix");cff.topDict.removeByName("FontMatrix");for(var i=0,ii=cff.fdArray.length;ii>i;i++){var subDict=cff.fdArray[i],matrix=base.slice(0);subDict.hasName("FontMatrix")&&(matrix=Util.transform(matrix,subDict.getByName("FontMatrix"))),subDict.setByName("FontMatrix",matrix)}}var compiled=this.compileTopDicts([cff.topDict],output.length,cff.isCIDFont);output.add(compiled.output);var topDictTracker=compiled.trackers[0],stringIndex=this.compileStringIndex(cff.strings.strings);output.add(stringIndex);var globalSubrIndex=this.compileIndex(cff.globalSubrIndex);if(output.add(globalSubrIndex),cff.encoding&&cff.topDict.hasName("Encoding"))if(cff.encoding.predefined)topDictTracker.setEntryLocation("Encoding",[cff.encoding.format],output);else{var encoding=this.compileEncoding(cff.encoding);topDictTracker.setEntryLocation("Encoding",[output.length],output),output.add(encoding)}if(cff.charset&&cff.topDict.hasName("charset"))if(cff.charset.predefined)topDictTracker.setEntryLocation("charset",[cff.charset.format],output);else{var charset=this.compileCharset(cff.charset);topDictTracker.setEntryLocation("charset",[output.length],output),output.add(charset)}var charStrings=this.compileCharStrings(cff.charStrings);if(topDictTracker.setEntryLocation("CharStrings",[output.length],output),output.add(charStrings),cff.isCIDFont){topDictTracker.setEntryLocation("FDSelect",[output.length],output);var fdSelect=this.compileFDSelect(cff.fdSelect.raw);output.add(fdSelect),compiled=this.compileTopDicts(cff.fdArray,output.length,!0),topDictTracker.setEntryLocation("FDArray",[output.length],output),output.add(compiled.output);var fontDictTrackers=compiled.trackers;this.compilePrivateDicts(cff.fdArray,fontDictTrackers,output)}return this.compilePrivateDicts([cff.topDict],[topDictTracker],output),output.add([0]),output.data},encodeNumber:function(value){return parseFloat(value)!==parseInt(value,10)||isNaN(value)?this.encodeFloat(value):this.encodeInteger(value)},encodeFloat:function(num){var value=num.toString(),m=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(value);if(m){var epsilon=parseFloat("1e"+((m[2]?+m[2]:0)+m[1].length));value=(Math.round(num*epsilon)/epsilon).toString()}var i,ii,nibbles="";for(i=0,ii=value.length;ii>i;++i){var a=value[i];nibbles+="e"===a?"-"===value[++i]?"c":"b":"."===a?"a":"-"===a?"e":a}nibbles+=1&nibbles.length?"f":"ff";var out=[30];for(i=0,ii=nibbles.length;ii>i;i+=2)out.push(parseInt(nibbles.substr(i,2),16));return out},encodeInteger:function(value){var code;return value>=-107&&107>=value?code=[value+139]:value>=108&&1131>=value?(value=[value-108],code=[(value>>8)+247,255&value]):value>=-1131&&-108>=value?(value=-value-108,code=[(value>>8)+251,255&value]):code=value>=-32768&&32767>=value?[28,value>>8&255,255&value]:[29,value>>24&255,value>>16&255,value>>8&255,255&value],code},compileHeader:function(header){return[header.major,header.minor,header.hdrSize,header.offSize]},compileNameIndex:function(names){for(var nameIndex=new CFFIndex,i=0,ii=names.length;ii>i;++i)nameIndex.add(stringToBytes(names[i]));return this.compileIndex(nameIndex)},compileTopDicts:function(dicts,length,removeCidKeys){for(var fontDictTrackers=[],fdArrayIndex=new CFFIndex,i=0,ii=dicts.length;ii>i;++i){var fontDict=dicts[i];removeCidKeys&&(fontDict.removeByName("CIDFontVersion"),fontDict.removeByName("CIDFontRevision"),fontDict.removeByName("CIDFontType"),fontDict.removeByName("CIDCount"),fontDict.removeByName("UIDBase"));var fontDictTracker=new CFFOffsetTracker,fontDictData=this.compileDict(fontDict,fontDictTracker);fontDictTrackers.push(fontDictTracker),fdArrayIndex.add(fontDictData),fontDictTracker.offset(length)}return fdArrayIndex=this.compileIndex(fdArrayIndex,fontDictTrackers),{trackers:fontDictTrackers,output:fdArrayIndex}},compilePrivateDicts:function(dicts,trackers,output){for(var i=0,ii=dicts.length;ii>i;++i){var fontDict=dicts[i];assert(fontDict.privateDict&&fontDict.hasName("Private"),"There must be an private dictionary.");var privateDict=fontDict.privateDict,privateDictTracker=new CFFOffsetTracker,privateDictData=this.compileDict(privateDict,privateDictTracker),outputLength=output.length;if(privateDictTracker.offset(outputLength),privateDictData.length||(outputLength=0),trackers[i].setEntryLocation("Private",[privateDictData.length,outputLength],output),output.add(privateDictData),privateDict.subrsIndex&&privateDict.hasName("Subrs")){var subrs=this.compileIndex(privateDict.subrsIndex);privateDictTracker.setEntryLocation("Subrs",[privateDictData.length],output),output.add(subrs)}}},compileDict:function(dict,offsetTracker){for(var out=[],order=dict.order,i=0;i<order.length;++i){var key=order[i];if(key in dict.values){var values=dict.values[key],types=dict.types[key];if(isArray(types)||(types=[types]),isArray(values)||(values=[values]),0!==values.length){for(var j=0,jj=types.length;jj>j;++j){var type=types[j],value=values[j];switch(type){case"num":case"sid":out=out.concat(this.encodeNumber(value));break;case"offset":var name=dict.keyToNameMap[key];offsetTracker.isTracking(name)||offsetTracker.track(name,out.length),out=out.concat([29,0,0,0,0]);break;case"array":case"delta":out=out.concat(this.encodeNumber(value));for(var k=1,kk=values.length;kk>k;++k)out=out.concat(this.encodeNumber(values[k]));break;default:error("Unknown data type of "+type)}}out=out.concat(dict.opcodes[key])}}}return out},compileStringIndex:function(strings){for(var stringIndex=new CFFIndex,i=0,ii=strings.length;ii>i;++i)stringIndex.add(stringToBytes(strings[i]));return this.compileIndex(stringIndex)},compileGlobalSubrIndex:function(){var globalSubrIndex=this.cff.globalSubrIndex;this.out.writeByteArray(this.compileIndex(globalSubrIndex))},compileCharStrings:function(charStrings){return this.compileIndex(charStrings)},compileCharset:function(charset){return this.compileTypedArray(charset.raw)},compileEncoding:function(encoding){return this.compileTypedArray(encoding.raw)},compileFDSelect:function(fdSelect){return this.compileTypedArray(fdSelect)},compileTypedArray:function(data){for(var out=[],i=0,ii=data.length;ii>i;++i)out[i]=data[i];return out},compileIndex:function(index,trackers){trackers=trackers||[];var objects=index.objects,count=objects.length;if(0===count)return[0,0,0];var i,data=[count>>8&255,255&count],lastOffset=1;for(i=0;count>i;++i)lastOffset+=objects[i].length;var offsetSize;offsetSize=256>lastOffset?1:65536>lastOffset?2:16777216>lastOffset?3:4,data.push(offsetSize);var relativeOffset=1;for(i=0;count+1>i;i++)1===offsetSize?data.push(255&relativeOffset):2===offsetSize?data.push(relativeOffset>>8&255,255&relativeOffset):3===offsetSize?data.push(relativeOffset>>16&255,relativeOffset>>8&255,255&relativeOffset):data.push(relativeOffset>>>24&255,relativeOffset>>16&255,relativeOffset>>8&255,255&relativeOffset),objects[i]&&(relativeOffset+=objects[i].length);for(i=0;count>i;i++){trackers[i]&&trackers[i].offset(data.length);for(var j=0,jj=objects[i].length;jj>j;j++)data.push(objects[i][j])}return data}},CFFCompiler}();!function(){/Windows/.test(navigator.userAgent)&&(SEAC_ANALYSIS_ENABLED=!0)}(),function(){/Windows.*Chrome/.test(navigator.userAgent)&&(SKIP_PRIVATE_USE_RANGE_F000_TO_F01F=!0)}();var FontRendererFactory=function(){function getLong(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3]}function getUshort(data,offset){return data[offset]<<8|data[offset+1]}function parseCmap(data,start){var length,ranges,p,i,offset=1===getUshort(data,start+2)?getLong(data,start+8):getLong(data,start+16),format=getUshort(data,start+offset);if(4===format){length=getUshort(data,start+offset+2);var segCount=getUshort(data,start+offset+6)>>1;for(p=start+offset+14,ranges=[],i=0;segCount>i;i++,p+=2)ranges[i]={end:getUshort(data,p)};for(p+=2,i=0;segCount>i;i++,p+=2)ranges[i].start=getUshort(data,p);for(i=0;segCount>i;i++,p+=2)ranges[i].idDelta=getUshort(data,p);for(i=0;segCount>i;i++,p+=2){var idOffset=getUshort(data,p);if(0!==idOffset){ranges[i].ids=[];for(var j=0,jj=ranges[i].end-ranges[i].start+1;jj>j;j++)ranges[i].ids[j]=getUshort(data,p+idOffset),idOffset+=2}}return ranges}if(12===format){length=getLong(data,start+offset+4);var groups=getLong(data,start+offset+12);for(p=start+offset+16,ranges=[],i=0;groups>i;i++)ranges.push({start:getLong(data,p),end:getLong(data,p+4),idDelta:getLong(data,p+8)-getLong(data,p)}),p+=12;return ranges}error("not supported cmap: "+format)}function parseCff(data,start,end){var properties={},parser=new CFFParser(new Stream(data,start,end-start),properties),cff=parser.parse();return{glyphs:cff.charStrings.objects,subrs:cff.topDict.privateDict&&cff.topDict.privateDict.subrsIndex&&cff.topDict.privateDict.subrsIndex.objects,gsubrs:cff.globalSubrIndex&&cff.globalSubrIndex.objects}}function parseGlyfTable(glyf,loca,isGlyphLocationsLong){var itemSize,itemDecode;isGlyphLocationsLong?(itemSize=4,itemDecode=function(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3]}):(itemSize=2,itemDecode=function(data,offset){return data[offset]<<9|data[offset+1]<<1});for(var glyphs=[],startOffset=itemDecode(loca,0),j=itemSize;j<loca.length;j+=itemSize){var endOffset=itemDecode(loca,j);glyphs.push(glyf.subarray(startOffset,endOffset)),startOffset=endOffset}return glyphs}function lookupCmap(ranges,unicode){for(var code=unicode.charCodeAt(0),l=0,r=ranges.length-1;r>l;){var c=l+r+1>>1;code<ranges[c].start?r=c-1:l=c}return ranges[l].start<=code&&code<=ranges[l].end?ranges[l].idDelta+(ranges[l].ids?ranges[l].ids[code-ranges[l].start]:code)&65535:0}function compileGlyf(code,js,font){function moveTo(x,y){js.push("c.moveTo("+x+","+y+");")}function lineTo(x,y){js.push("c.lineTo("+x+","+y+");")}function quadraticCurveTo(xa,ya,x,y){js.push("c.quadraticCurveTo("+xa+","+ya+","+x+","+y+");")}var flags,i=0,numberOfContours=(code[i]<<24|code[i+1]<<16)>>16,x=0,y=0;if(i+=10,0>numberOfContours){do{flags=code[i]<<8|code[i+1];var glyphIndex=code[i+2]<<8|code[i+3];i+=4;var arg1,arg2;1&flags?(arg1=(code[i]<<24|code[i+1]<<16)>>16,arg2=(code[i+2]<<24|code[i+3]<<16)>>16,i+=4):(arg1=code[i++],arg2=code[i++]),2&flags?(x=arg1,y=arg2):(x=0,y=0);var scaleX=1,scaleY=1,scale01=0,scale10=0;8&flags?(scaleX=scaleY=(code[i]<<24|code[i+1]<<16)/1073741824,i+=2):64&flags?(scaleX=(code[i]<<24|code[i+1]<<16)/1073741824,scaleY=(code[i+2]<<24|code[i+3]<<16)/1073741824,i+=4):128&flags&&(scaleX=(code[i]<<24|code[i+1]<<16)/1073741824,scale01=(code[i+2]<<24|code[i+3]<<16)/1073741824,scale10=(code[i+4]<<24|code[i+5]<<16)/1073741824,scaleY=(code[i+6]<<24|code[i+7]<<16)/1073741824,i+=8);var subglyph=font.glyphs[glyphIndex];subglyph&&(js.push("c.save();"),js.push("c.transform("+scaleX+","+scale01+","+scale10+","+scaleY+","+x+","+y+");"),compileGlyf(subglyph,js,font),js.push("c.restore();"))}while(32&flags)}else{var j,jj,endPtsOfContours=[];for(j=0;numberOfContours>j;j++)endPtsOfContours.push(code[i]<<8|code[i+1]),i+=2;var instructionLength=code[i]<<8|code[i+1];i+=2+instructionLength;for(var numberOfPoints=endPtsOfContours[endPtsOfContours.length-1]+1,points=[];points.length<numberOfPoints;){flags=code[i++];var repeat=1;for(8&flags&&(repeat+=code[i++]);repeat-->0;)points.push({flags:flags})}for(j=0;numberOfPoints>j;j++){switch(18&points[j].flags){case 0:x+=(code[i]<<24|code[i+1]<<16)>>16,i+=2;break;case 2:x-=code[i++];break;case 18:x+=code[i++]}points[j].x=x}for(j=0;numberOfPoints>j;j++){switch(36&points[j].flags){case 0:y+=(code[i]<<24|code[i+1]<<16)>>16,i+=2;break;case 4:y-=code[i++];break;case 36:y+=code[i++]}points[j].y=y}var startPoint=0;for(i=0;numberOfContours>i;i++){var endPoint=endPtsOfContours[i],contour=points.slice(startPoint,endPoint+1);if(1&contour[0].flags)contour.push(contour[0]);else if(1&contour[contour.length-1].flags)contour.unshift(contour[contour.length-1]);else{var p={flags:1,x:(contour[0].x+contour[contour.length-1].x)/2,y:(contour[0].y+contour[contour.length-1].y)/2};contour.unshift(p),contour.push(p)}for(moveTo(contour[0].x,contour[0].y),j=1,jj=contour.length;jj>j;j++)1&contour[j].flags?lineTo(contour[j].x,contour[j].y):1&contour[j+1].flags?(quadraticCurveTo(contour[j].x,contour[j].y,contour[j+1].x,contour[j+1].y),j++):quadraticCurveTo(contour[j].x,contour[j].y,(contour[j].x+contour[j+1].x)/2,(contour[j].y+contour[j+1].y)/2);startPoint=endPoint+1}}}function compileCharString(code,js,font){function moveTo(x,y){js.push("c.moveTo("+x+","+y+");")}function lineTo(x,y){js.push("c.lineTo("+x+","+y+");")}function bezierCurveTo(x1,y1,x2,y2,x,y){js.push("c.bezierCurveTo("+x1+","+y1+","+x2+","+y2+","+x+","+y+");")}function parse(code){for(var i=0;i<code.length;){var xa,xb,ya,yb,y1,y2,y3,n,subrCode,stackClean=!1,v=code[i++];switch(v){case 1:stems+=stack.length>>1,stackClean=!0;break;case 3:stems+=stack.length>>1,stackClean=!0;break;case 4:y+=stack.pop(),moveTo(x,y),stackClean=!0;break;case 5:for(;stack.length>0;)x+=stack.shift(),y+=stack.shift(),lineTo(x,y);break;case 6:for(;stack.length>0&&(x+=stack.shift(),lineTo(x,y),0!==stack.length);)y+=stack.shift(),lineTo(x,y);break;case 7:for(;stack.length>0&&(y+=stack.shift(),lineTo(x,y),0!==stack.length);)x+=stack.shift(),lineTo(x,y);break;case 8:for(;stack.length>0;)xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 10:n=stack.pop()+font.subrsBias,subrCode=font.subrs[n],subrCode&&parse(subrCode);break;case 11:return;case 12:switch(v=code[i++]){case 34:xa=x+stack.shift(),xb=xa+stack.shift(),y1=y+stack.shift(),x=xb+stack.shift(),bezierCurveTo(xa,y,xb,y1,x,y1),xa=x+stack.shift(),xb=xa+stack.shift(),x=xb+stack.shift(),bezierCurveTo(xa,y1,xb,y,x,y);break;case 35:xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y),xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y),stack.pop();
+break;case 36:xa=x+stack.shift(),y1=y+stack.shift(),xb=xa+stack.shift(),y2=y1+stack.shift(),x=xb+stack.shift(),bezierCurveTo(xa,y1,xb,y2,x,y2),xa=x+stack.shift(),xb=xa+stack.shift(),y3=y2+stack.shift(),x=xb+stack.shift(),bezierCurveTo(xa,y2,xb,y3,x,y);break;case 37:var x0=x,y0=y;xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y),xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb,y=yb,Math.abs(x-x0)>Math.abs(y-y0)?x+=stack.shift():y+=stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;default:error("unknown operator: 12 "+v)}break;case 14:if(stack.length>=4){var achar=stack.pop(),bchar=stack.pop();y=stack.pop(),x=stack.pop(),js.push("c.save();"),js.push("c.translate("+x+","+y+");");var gid=lookupCmap(font.cmap,String.fromCharCode(font.glyphNameMap[Encodings.StandardEncoding[achar]]));compileCharString(font.glyphs[gid],js,font),js.push("c.restore();"),gid=lookupCmap(font.cmap,String.fromCharCode(font.glyphNameMap[Encodings.StandardEncoding[bchar]])),compileCharString(font.glyphs[gid],js,font)}return;case 18:stems+=stack.length>>1,stackClean=!0;break;case 19:stems+=stack.length>>1,i+=stems+7>>3,stackClean=!0;break;case 20:stems+=stack.length>>1,i+=stems+7>>3,stackClean=!0;break;case 21:y+=stack.pop(),x+=stack.pop(),moveTo(x,y),stackClean=!0;break;case 22:x+=stack.pop(),moveTo(x,y),stackClean=!0;break;case 23:stems+=stack.length>>1,stackClean=!0;break;case 24:for(;stack.length>2;)xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);x+=stack.shift(),y+=stack.shift(),lineTo(x,y);break;case 25:for(;stack.length>6;)x+=stack.shift(),y+=stack.shift(),lineTo(x,y);xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 26:for(stack.length%2&&(x+=stack.shift());stack.length>0;)xa=x,ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb,y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 27:for(stack.length%2&&(y+=stack.shift());stack.length>0;)xa=x+stack.shift(),ya=y,xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb,bezierCurveTo(xa,ya,xb,yb,x,y);break;case 28:stack.push((code[i]<<24|code[i+1]<<16)>>16),i+=2;break;case 29:n=stack.pop()+font.gsubrsBias,subrCode=font.gsubrs[n],subrCode&&parse(subrCode);break;case 30:for(;stack.length>0&&(xa=x,ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y),0!==stack.length);)xa=x+stack.shift(),ya=y,xb=xa+stack.shift(),yb=ya+stack.shift(),y=yb+stack.shift(),x=xb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 31:for(;stack.length>0&&(xa=x+stack.shift(),ya=y,xb=xa+stack.shift(),yb=ya+stack.shift(),y=yb+stack.shift(),x=xb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y),0!==stack.length);)xa=x,ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y);break;default:32>v&&error("unknown operator: "+v),247>v?stack.push(v-139):251>v?stack.push(256*(v-247)+code[i++]+108):255>v?stack.push(256*-(v-251)-code[i++]-108):(stack.push((code[i]<<24|code[i+1]<<16|code[i+2]<<8|code[i+3])/65536),i+=4)}stackClean&&(stack.length=0)}}var stack=[],x=0,y=0,stems=0;parse(code)}function CompiledFont(fontMatrix){this.compiledGlyphs={},this.fontMatrix=fontMatrix}function TrueTypeCompiled(glyphs,cmap,fontMatrix){fontMatrix=fontMatrix||[488e-6,0,0,488e-6,0,0],CompiledFont.call(this,fontMatrix),this.glyphs=glyphs,this.cmap=cmap,this.compiledGlyphs=[]}function Type2Compiled(cffInfo,cmap,fontMatrix,glyphNameMap){fontMatrix=fontMatrix||[.001,0,0,.001,0,0],CompiledFont.call(this,fontMatrix),this.glyphs=cffInfo.glyphs,this.gsubrs=cffInfo.gsubrs||[],this.subrs=cffInfo.subrs||[],this.cmap=cmap,this.glyphNameMap=glyphNameMap||GlyphsUnicode,this.compiledGlyphs=[],this.gsubrsBias=this.gsubrs.length<1240?107:this.gsubrs.length<33900?1131:32768,this.subrsBias=this.subrs.length<1240?107:this.subrs.length<33900?1131:32768}var noop="";return CompiledFont.prototype={getPathJs:function(unicode){var gid=lookupCmap(this.cmap,unicode),fn=this.compiledGlyphs[gid];return fn||(this.compiledGlyphs[gid]=fn=this.compileGlyph(this.glyphs[gid])),fn},compileGlyph:function(code){if(!code||0===code.length||14===code[0])return noop;var js=[];return js.push("c.save();"),js.push("c.transform("+this.fontMatrix.join(",")+");"),js.push("c.scale(size, -size);"),this.compileGlyphImpl(code,js),js.push("c.restore();"),js.join("\n")},compileGlyphImpl:function(){error("Children classes should implement this.")},hasBuiltPath:function(unicode){var gid=lookupCmap(this.cmap,unicode);return gid in this.compiledGlyphs}},Util.inherit(TrueTypeCompiled,CompiledFont,{compileGlyphImpl:function(code,js){compileGlyf(code,js,this)}}),Util.inherit(Type2Compiled,CompiledFont,{compileGlyphImpl:function(code,js){compileCharString(code,js,this)}}),{create:function(font){for(var cmap,glyf,loca,cff,indexToLocFormat,unitsPerEm,data=new Uint8Array(font.data),numTables=getUshort(data,4),i=0,p=12;numTables>i;i++,p+=16){var tag=bytesToString(data.subarray(p,p+4)),offset=getLong(data,p+8),length=getLong(data,p+12);switch(tag){case"cmap":cmap=parseCmap(data,offset,offset+length);break;case"glyf":glyf=data.subarray(offset,offset+length);break;case"loca":loca=data.subarray(offset,offset+length);break;case"head":unitsPerEm=getUshort(data,offset+18),indexToLocFormat=getUshort(data,offset+50);break;case"CFF ":cff=parseCff(data,offset,offset+length)}}if(glyf){var fontMatrix=unitsPerEm?[1/unitsPerEm,0,0,1/unitsPerEm,0,0]:font.fontMatrix;return new TrueTypeCompiled(parseGlyfTable(glyf,loca,indexToLocFormat),cmap,fontMatrix)}return new Type2Compiled(cff,cmap,font.fontMatrix,font.glyphNameMap)}}}(),GlyphsUnicode={A:65,AE:198,AEacute:508,AEmacron:482,AEsmall:63462,Aacute:193,Aacutesmall:63457,Abreve:258,Abreveacute:7854,Abrevecyrillic:1232,Abrevedotbelow:7862,Abrevegrave:7856,Abrevehookabove:7858,Abrevetilde:7860,Acaron:461,Acircle:9398,Acircumflex:194,Acircumflexacute:7844,Acircumflexdotbelow:7852,Acircumflexgrave:7846,Acircumflexhookabove:7848,Acircumflexsmall:63458,Acircumflextilde:7850,Acute:63177,Acutesmall:63412,Acyrillic:1040,Adblgrave:512,Adieresis:196,Adieresiscyrillic:1234,Adieresismacron:478,Adieresissmall:63460,Adotbelow:7840,Adotmacron:480,Agrave:192,Agravesmall:63456,Ahookabove:7842,Aiecyrillic:1236,Ainvertedbreve:514,Alpha:913,Alphatonos:902,Amacron:256,Amonospace:65313,Aogonek:260,Aring:197,Aringacute:506,Aringbelow:7680,Aringsmall:63461,Asmall:63329,Atilde:195,Atildesmall:63459,Aybarmenian:1329,B:66,Bcircle:9399,Bdotaccent:7682,Bdotbelow:7684,Becyrillic:1041,Benarmenian:1330,Beta:914,Bhook:385,Blinebelow:7686,Bmonospace:65314,Brevesmall:63220,Bsmall:63330,Btopbar:386,C:67,Caarmenian:1342,Cacute:262,Caron:63178,Caronsmall:63221,Ccaron:268,Ccedilla:199,Ccedillaacute:7688,Ccedillasmall:63463,Ccircle:9400,Ccircumflex:264,Cdot:266,Cdotaccent:266,Cedillasmall:63416,Chaarmenian:1353,Cheabkhasiancyrillic:1212,Checyrillic:1063,Chedescenderabkhasiancyrillic:1214,Chedescendercyrillic:1206,Chedieresiscyrillic:1268,Cheharmenian:1347,Chekhakassiancyrillic:1227,Cheverticalstrokecyrillic:1208,Chi:935,Chook:391,Circumflexsmall:63222,Cmonospace:65315,Coarmenian:1361,Csmall:63331,D:68,DZ:497,DZcaron:452,Daarmenian:1332,Dafrican:393,Dcaron:270,Dcedilla:7696,Dcircle:9401,Dcircumflexbelow:7698,Dcroat:272,Ddotaccent:7690,Ddotbelow:7692,Decyrillic:1044,Deicoptic:1006,Delta:8710,Deltagreek:916,Dhook:394,Dieresis:63179,DieresisAcute:63180,DieresisGrave:63181,Dieresissmall:63400,Digammagreek:988,Djecyrillic:1026,Dlinebelow:7694,Dmonospace:65316,Dotaccentsmall:63223,Dslash:272,Dsmall:63332,Dtopbar:395,Dz:498,Dzcaron:453,Dzeabkhasiancyrillic:1248,Dzecyrillic:1029,Dzhecyrillic:1039,E:69,Eacute:201,Eacutesmall:63465,Ebreve:276,Ecaron:282,Ecedillabreve:7708,Echarmenian:1333,Ecircle:9402,Ecircumflex:202,Ecircumflexacute:7870,Ecircumflexbelow:7704,Ecircumflexdotbelow:7878,Ecircumflexgrave:7872,Ecircumflexhookabove:7874,Ecircumflexsmall:63466,Ecircumflextilde:7876,Ecyrillic:1028,Edblgrave:516,Edieresis:203,Edieresissmall:63467,Edot:278,Edotaccent:278,Edotbelow:7864,Efcyrillic:1060,Egrave:200,Egravesmall:63464,Eharmenian:1335,Ehookabove:7866,Eightroman:8551,Einvertedbreve:518,Eiotifiedcyrillic:1124,Elcyrillic:1051,Elevenroman:8554,Emacron:274,Emacronacute:7702,Emacrongrave:7700,Emcyrillic:1052,Emonospace:65317,Encyrillic:1053,Endescendercyrillic:1186,Eng:330,Enghecyrillic:1188,Enhookcyrillic:1223,Eogonek:280,Eopen:400,Epsilon:917,Epsilontonos:904,Ercyrillic:1056,Ereversed:398,Ereversedcyrillic:1069,Escyrillic:1057,Esdescendercyrillic:1194,Esh:425,Esmall:63333,Eta:919,Etarmenian:1336,Etatonos:905,Eth:208,Ethsmall:63472,Etilde:7868,Etildebelow:7706,Euro:8364,Ezh:439,Ezhcaron:494,Ezhreversed:440,F:70,Fcircle:9403,Fdotaccent:7710,Feharmenian:1366,Feicoptic:996,Fhook:401,Fitacyrillic:1138,Fiveroman:8548,Fmonospace:65318,Fourroman:8547,Fsmall:63334,G:71,GBsquare:13191,Gacute:500,Gamma:915,Gammaafrican:404,Gangiacoptic:1002,Gbreve:286,Gcaron:486,Gcedilla:290,Gcircle:9404,Gcircumflex:284,Gcommaaccent:290,Gdot:288,Gdotaccent:288,Gecyrillic:1043,Ghadarmenian:1346,Ghemiddlehookcyrillic:1172,Ghestrokecyrillic:1170,Gheupturncyrillic:1168,Ghook:403,Gimarmenian:1331,Gjecyrillic:1027,Gmacron:7712,Gmonospace:65319,Grave:63182,Gravesmall:63328,Gsmall:63335,Gsmallhook:667,Gstroke:484,H:72,H18533:9679,H18543:9642,H18551:9643,H22073:9633,HPsquare:13259,Haabkhasiancyrillic:1192,Hadescendercyrillic:1202,Hardsigncyrillic:1066,Hbar:294,Hbrevebelow:7722,Hcedilla:7720,Hcircle:9405,Hcircumflex:292,Hdieresis:7718,Hdotaccent:7714,Hdotbelow:7716,Hmonospace:65320,Hoarmenian:1344,Horicoptic:1e3,Hsmall:63336,Hungarumlaut:63183,Hungarumlautsmall:63224,Hzsquare:13200,I:73,IAcyrillic:1071,IJ:306,IUcyrillic:1070,Iacute:205,Iacutesmall:63469,Ibreve:300,Icaron:463,Icircle:9406,Icircumflex:206,Icircumflexsmall:63470,Icyrillic:1030,Idblgrave:520,Idieresis:207,Idieresisacute:7726,Idieresiscyrillic:1252,Idieresissmall:63471,Idot:304,Idotaccent:304,Idotbelow:7882,Iebrevecyrillic:1238,Iecyrillic:1045,Ifraktur:8465,Igrave:204,Igravesmall:63468,Ihookabove:7880,Iicyrillic:1048,Iinvertedbreve:522,Iishortcyrillic:1049,Imacron:298,Imacroncyrillic:1250,Imonospace:65321,Iniarmenian:1339,Iocyrillic:1025,Iogonek:302,Iota:921,Iotaafrican:406,Iotadieresis:938,Iotatonos:906,Ismall:63337,Istroke:407,Itilde:296,Itildebelow:7724,Izhitsacyrillic:1140,Izhitsadblgravecyrillic:1142,J:74,Jaarmenian:1345,Jcircle:9407,Jcircumflex:308,Jecyrillic:1032,Jheharmenian:1355,Jmonospace:65322,Jsmall:63338,K:75,KBsquare:13189,KKsquare:13261,Kabashkircyrillic:1184,Kacute:7728,Kacyrillic:1050,Kadescendercyrillic:1178,Kahookcyrillic:1219,Kappa:922,Kastrokecyrillic:1182,Kaverticalstrokecyrillic:1180,Kcaron:488,Kcedilla:310,Kcircle:9408,Kcommaaccent:310,Kdotbelow:7730,Keharmenian:1364,Kenarmenian:1343,Khacyrillic:1061,Kheicoptic:998,Khook:408,Kjecyrillic:1036,Klinebelow:7732,Kmonospace:65323,Koppacyrillic:1152,Koppagreek:990,Ksicyrillic:1134,Ksmall:63339,L:76,LJ:455,LL:63167,Lacute:313,Lambda:923,Lcaron:317,Lcedilla:315,Lcircle:9409,Lcircumflexbelow:7740,Lcommaaccent:315,Ldot:319,Ldotaccent:319,Ldotbelow:7734,Ldotbelowmacron:7736,Liwnarmenian:1340,Lj:456,Ljecyrillic:1033,Llinebelow:7738,Lmonospace:65324,Lslash:321,Lslashsmall:63225,Lsmall:63340,M:77,MBsquare:13190,Macron:63184,Macronsmall:63407,Macute:7742,Mcircle:9410,Mdotaccent:7744,Mdotbelow:7746,Menarmenian:1348,Mmonospace:65325,Msmall:63341,Mturned:412,Mu:924,N:78,NJ:458,Nacute:323,Ncaron:327,Ncedilla:325,Ncircle:9411,Ncircumflexbelow:7754,Ncommaaccent:325,Ndotaccent:7748,Ndotbelow:7750,Nhookleft:413,Nineroman:8552,Nj:459,Njecyrillic:1034,Nlinebelow:7752,Nmonospace:65326,Nowarmenian:1350,Nsmall:63342,Ntilde:209,Ntildesmall:63473,Nu:925,O:79,OE:338,OEsmall:63226,Oacute:211,Oacutesmall:63475,Obarredcyrillic:1256,Obarreddieresiscyrillic:1258,Obreve:334,Ocaron:465,Ocenteredtilde:415,Ocircle:9412,Ocircumflex:212,Ocircumflexacute:7888,Ocircumflexdotbelow:7896,Ocircumflexgrave:7890,Ocircumflexhookabove:7892,Ocircumflexsmall:63476,Ocircumflextilde:7894,Ocyrillic:1054,Odblacute:336,Odblgrave:524,Odieresis:214,Odieresiscyrillic:1254,Odieresissmall:63478,Odotbelow:7884,Ogoneksmall:63227,Ograve:210,Ogravesmall:63474,Oharmenian:1365,Ohm:8486,Ohookabove:7886,Ohorn:416,Ohornacute:7898,Ohorndotbelow:7906,Ohorngrave:7900,Ohornhookabove:7902,Ohorntilde:7904,Ohungarumlaut:336,Oi:418,Oinvertedbreve:526,Omacron:332,Omacronacute:7762,Omacrongrave:7760,Omega:8486,Omegacyrillic:1120,Omegagreek:937,Omegaroundcyrillic:1146,Omegatitlocyrillic:1148,Omegatonos:911,Omicron:927,Omicrontonos:908,Omonospace:65327,Oneroman:8544,Oogonek:490,Oogonekmacron:492,Oopen:390,Oslash:216,Oslashacute:510,Oslashsmall:63480,Osmall:63343,Ostrokeacute:510,Otcyrillic:1150,Otilde:213,Otildeacute:7756,Otildedieresis:7758,Otildesmall:63477,P:80,Pacute:7764,Pcircle:9413,Pdotaccent:7766,Pecyrillic:1055,Peharmenian:1354,Pemiddlehookcyrillic:1190,Phi:934,Phook:420,Pi:928,Piwrarmenian:1363,Pmonospace:65328,Psi:936,Psicyrillic:1136,Psmall:63344,Q:81,Qcircle:9414,Qmonospace:65329,Qsmall:63345,R:82,Raarmenian:1356,Racute:340,Rcaron:344,Rcedilla:342,Rcircle:9415,Rcommaaccent:342,Rdblgrave:528,Rdotaccent:7768,Rdotbelow:7770,Rdotbelowmacron:7772,Reharmenian:1360,Rfraktur:8476,Rho:929,Ringsmall:63228,Rinvertedbreve:530,Rlinebelow:7774,Rmonospace:65330,Rsmall:63346,Rsmallinverted:641,Rsmallinvertedsuperior:694,S:83,SF010000:9484,SF020000:9492,SF030000:9488,SF040000:9496,SF050000:9532,SF060000:9516,SF070000:9524,SF080000:9500,SF090000:9508,SF100000:9472,SF110000:9474,SF190000:9569,SF200000:9570,SF210000:9558,SF220000:9557,SF230000:9571,SF240000:9553,SF250000:9559,SF260000:9565,SF270000:9564,SF280000:9563,SF360000:9566,SF370000:9567,SF380000:9562,SF390000:9556,SF400000:9577,SF410000:9574,SF420000:9568,SF430000:9552,SF440000:9580,SF450000:9575,SF460000:9576,SF470000:9572,SF480000:9573,SF490000:9561,SF500000:9560,SF510000:9554,SF520000:9555,SF530000:9579,SF540000:9578,Sacute:346,Sacutedotaccent:7780,Sampigreek:992,Scaron:352,Scarondotaccent:7782,Scaronsmall:63229,Scedilla:350,Schwa:399,Schwacyrillic:1240,Schwadieresiscyrillic:1242,Scircle:9416,Scircumflex:348,Scommaaccent:536,Sdotaccent:7776,Sdotbelow:7778,Sdotbelowdotaccent:7784,Seharmenian:1357,Sevenroman:8550,Shaarmenian:1351,Shacyrillic:1064,Shchacyrillic:1065,Sheicoptic:994,Shhacyrillic:1210,Shimacoptic:1004,Sigma:931,Sixroman:8549,Smonospace:65331,Softsigncyrillic:1068,Ssmall:63347,Stigmagreek:986,T:84,Tau:932,Tbar:358,Tcaron:356,Tcedilla:354,Tcircle:9417,Tcircumflexbelow:7792,Tcommaaccent:354,Tdotaccent:7786,Tdotbelow:7788,Tecyrillic:1058,Tedescendercyrillic:1196,Tenroman:8553,Tetsecyrillic:1204,Theta:920,Thook:428,Thorn:222,Thornsmall:63486,Threeroman:8546,Tildesmall:63230,Tiwnarmenian:1359,Tlinebelow:7790,Tmonospace:65332,Toarmenian:1337,Tonefive:444,Tonesix:388,Tonetwo:423,Tretroflexhook:430,Tsecyrillic:1062,Tshecyrillic:1035,Tsmall:63348,Twelveroman:8555,Tworoman:8545,U:85,Uacute:218,Uacutesmall:63482,Ubreve:364,Ucaron:467,Ucircle:9418,Ucircumflex:219,Ucircumflexbelow:7798,Ucircumflexsmall:63483,Ucyrillic:1059,Udblacute:368,Udblgrave:532,Udieresis:220,Udieresisacute:471,Udieresisbelow:7794,Udieresiscaron:473,Udieresiscyrillic:1264,Udieresisgrave:475,Udieresismacron:469,Udieresissmall:63484,Udotbelow:7908,Ugrave:217,Ugravesmall:63481,Uhookabove:7910,Uhorn:431,Uhornacute:7912,Uhorndotbelow:7920,Uhorngrave:7914,Uhornhookabove:7916,Uhorntilde:7918,Uhungarumlaut:368,Uhungarumlautcyrillic:1266,Uinvertedbreve:534,Ukcyrillic:1144,Umacron:362,Umacroncyrillic:1262,Umacrondieresis:7802,Umonospace:65333,Uogonek:370,Upsilon:933,Upsilon1:978,Upsilonacutehooksymbolgreek:979,Upsilonafrican:433,Upsilondieresis:939,Upsilondieresishooksymbolgreek:980,Upsilonhooksymbol:978,Upsilontonos:910,Uring:366,Ushortcyrillic:1038,Usmall:63349,Ustraightcyrillic:1198,Ustraightstrokecyrillic:1200,Utilde:360,Utildeacute:7800,Utildebelow:7796,V:86,Vcircle:9419,Vdotbelow:7806,Vecyrillic:1042,Vewarmenian:1358,Vhook:434,Vmonospace:65334,Voarmenian:1352,Vsmall:63350,Vtilde:7804,W:87,Wacute:7810,Wcircle:9420,Wcircumflex:372,Wdieresis:7812,Wdotaccent:7814,Wdotbelow:7816,Wgrave:7808,Wmonospace:65335,Wsmall:63351,X:88,Xcircle:9421,Xdieresis:7820,Xdotaccent:7818,Xeharmenian:1341,Xi:926,Xmonospace:65336,Xsmall:63352,Y:89,Yacute:221,Yacutesmall:63485,Yatcyrillic:1122,Ycircle:9422,Ycircumflex:374,Ydieresis:376,Ydieresissmall:63487,Ydotaccent:7822,Ydotbelow:7924,Yericyrillic:1067,Yerudieresiscyrillic:1272,Ygrave:7922,Yhook:435,Yhookabove:7926,Yiarmenian:1349,Yicyrillic:1031,Yiwnarmenian:1362,Ymonospace:65337,Ysmall:63353,Ytilde:7928,Yusbigcyrillic:1130,Yusbigiotifiedcyrillic:1132,Yuslittlecyrillic:1126,Yuslittleiotifiedcyrillic:1128,Z:90,Zaarmenian:1334,Zacute:377,Zcaron:381,Zcaronsmall:63231,Zcircle:9423,Zcircumflex:7824,Zdot:379,Zdotaccent:379,Zdotbelow:7826,Zecyrillic:1047,Zedescendercyrillic:1176,Zedieresiscyrillic:1246,Zeta:918,Zhearmenian:1338,Zhebrevecyrillic:1217,Zhecyrillic:1046,Zhedescendercyrillic:1174,Zhedieresiscyrillic:1244,Zlinebelow:7828,Zmonospace:65338,Zsmall:63354,Zstroke:437,a:97,aabengali:2438,aacute:225,aadeva:2310,aagujarati:2694,aagurmukhi:2566,aamatragurmukhi:2622,aarusquare:13059,aavowelsignbengali:2494,aavowelsigndeva:2366,aavowelsigngujarati:2750,abbreviationmarkarmenian:1375,abbreviationsigndeva:2416,abengali:2437,abopomofo:12570,abreve:259,abreveacute:7855,abrevecyrillic:1233,abrevedotbelow:7863,abrevegrave:7857,abrevehookabove:7859,abrevetilde:7861,acaron:462,acircle:9424,acircumflex:226,acircumflexacute:7845,acircumflexdotbelow:7853,acircumflexgrave:7847,acircumflexhookabove:7849,acircumflextilde:7851,acute:180,acutebelowcmb:791,acutecmb:769,acutecomb:769,acutedeva:2388,acutelowmod:719,acutetonecmb:833,acyrillic:1072,adblgrave:513,addakgurmukhi:2673,adeva:2309,adieresis:228,adieresiscyrillic:1235,adieresismacron:479,adotbelow:7841,adotmacron:481,ae:230,aeacute:509,aekorean:12624,aemacron:483,afii00208:8213,afii08941:8356,afii10017:1040,afii10018:1041,afii10019:1042,afii10020:1043,afii10021:1044,afii10022:1045,afii10023:1025,afii10024:1046,afii10025:1047,afii10026:1048,afii10027:1049,afii10028:1050,afii10029:1051,afii10030:1052,afii10031:1053,afii10032:1054,afii10033:1055,afii10034:1056,afii10035:1057,afii10036:1058,afii10037:1059,afii10038:1060,afii10039:1061,afii10040:1062,afii10041:1063,afii10042:1064,afii10043:1065,afii10044:1066,afii10045:1067,afii10046:1068,afii10047:1069,afii10048:1070,afii10049:1071,afii10050:1168,afii10051:1026,afii10052:1027,afii10053:1028,afii10054:1029,afii10055:1030,afii10056:1031,afii10057:1032,afii10058:1033,afii10059:1034,afii10060:1035,afii10061:1036,afii10062:1038,afii10063:63172,afii10064:63173,afii10065:1072,afii10066:1073,afii10067:1074,afii10068:1075,afii10069:1076,afii10070:1077,afii10071:1105,afii10072:1078,afii10073:1079,afii10074:1080,afii10075:1081,afii10076:1082,afii10077:1083,afii10078:1084,afii10079:1085,afii10080:1086,afii10081:1087,afii10082:1088,afii10083:1089,afii10084:1090,afii10085:1091,afii10086:1092,afii10087:1093,afii10088:1094,afii10089:1095,afii10090:1096,afii10091:1097,afii10092:1098,afii10093:1099,afii10094:1100,afii10095:1101,afii10096:1102,afii10097:1103,afii10098:1169,afii10099:1106,afii10100:1107,afii10101:1108,afii10102:1109,afii10103:1110,afii10104:1111,afii10105:1112,afii10106:1113,afii10107:1114,afii10108:1115,afii10109:1116,afii10110:1118,afii10145:1039,afii10146:1122,afii10147:1138,afii10148:1140,afii10192:63174,afii10193:1119,afii10194:1123,afii10195:1139,afii10196:1141,afii10831:63175,afii10832:63176,afii10846:1241,afii299:8206,afii300:8207,afii301:8205,afii57381:1642,afii57388:1548,afii57392:1632,afii57393:1633,afii57394:1634,afii57395:1635,afii57396:1636,afii57397:1637,afii57398:1638,afii57399:1639,afii57400:1640,afii57401:1641,afii57403:1563,afii57407:1567,afii57409:1569,afii57410:1570,afii57411:1571,afii57412:1572,afii57413:1573,afii57414:1574,afii57415:1575,afii57416:1576,afii57417:1577,afii57418:1578,afii57419:1579,afii57420:1580,afii57421:1581,afii57422:1582,afii57423:1583,afii57424:1584,afii57425:1585,afii57426:1586,afii57427:1587,afii57428:1588,afii57429:1589,afii57430:1590,afii57431:1591,afii57432:1592,afii57433:1593,afii57434:1594,afii57440:1600,afii57441:1601,afii57442:1602,afii57443:1603,afii57444:1604,afii57445:1605,afii57446:1606,afii57448:1608,afii57449:1609,afii57450:1610,afii57451:1611,afii57452:1612,afii57453:1613,afii57454:1614,afii57455:1615,afii57456:1616,afii57457:1617,afii57458:1618,afii57470:1607,afii57505:1700,afii57506:1662,afii57507:1670,afii57508:1688,afii57509:1711,afii57511:1657,afii57512:1672,afii57513:1681,afii57514:1722,afii57519:1746,afii57534:1749,afii57636:8362,afii57645:1470,afii57658:1475,afii57664:1488,afii57665:1489,afii57666:1490,afii57667:1491,afii57668:1492,afii57669:1493,afii57670:1494,afii57671:1495,afii57672:1496,afii57673:1497,afii57674:1498,afii57675:1499,afii57676:1500,afii57677:1501,afii57678:1502,afii57679:1503,afii57680:1504,afii57681:1505,afii57682:1506,afii57683:1507,afii57684:1508,afii57685:1509,afii57686:1510,afii57687:1511,afii57688:1512,afii57689:1513,afii57690:1514,afii57694:64298,afii57695:64299,afii57700:64331,afii57705:64287,afii57716:1520,afii57717:1521,afii57718:1522,afii57723:64309,afii57793:1460,afii57794:1461,afii57795:1462,afii57796:1467,afii57797:1464,afii57798:1463,afii57799:1456,afii57800:1458,afii57801:1457,afii57802:1459,afii57803:1474,afii57804:1473,afii57806:1465,afii57807:1468,afii57839:1469,afii57841:1471,afii57842:1472,afii57929:700,afii61248:8453,afii61289:8467,afii61352:8470,afii61573:8236,afii61574:8237,afii61575:8238,afii61664:8204,afii63167:1645,afii64937:701,agrave:224,agujarati:2693,agurmukhi:2565,ahiragana:12354,ahookabove:7843,aibengali:2448,aibopomofo:12574,aideva:2320,aiecyrillic:1237,aigujarati:2704,aigurmukhi:2576,aimatragurmukhi:2632,ainarabic:1593,ainfinalarabic:65226,aininitialarabic:65227,ainmedialarabic:65228,ainvertedbreve:515,aivowelsignbengali:2504,aivowelsigndeva:2376,aivowelsigngujarati:2760,akatakana:12450,akatakanahalfwidth:65393,akorean:12623,alef:1488,alefarabic:1575,alefdageshhebrew:64304,aleffinalarabic:65166,alefhamzaabovearabic:1571,alefhamzaabovefinalarabic:65156,alefhamzabelowarabic:1573,alefhamzabelowfinalarabic:65160,alefhebrew:1488,aleflamedhebrew:64335,alefmaddaabovearabic:1570,alefmaddaabovefinalarabic:65154,alefmaksuraarabic:1609,alefmaksurafinalarabic:65264,alefmaksurainitialarabic:65267,alefmaksuramedialarabic:65268,alefpatahhebrew:64302,alefqamatshebrew:64303,aleph:8501,allequal:8780,alpha:945,alphatonos:940,amacron:257,amonospace:65345,ampersand:38,ampersandmonospace:65286,ampersandsmall:63270,amsquare:13250,anbopomofo:12578,angbopomofo:12580,angbracketleft:12296,angbracketright:12297,angkhankhuthai:3674,angle:8736,anglebracketleft:12296,anglebracketleftvertical:65087,anglebracketright:12297,anglebracketrightvertical:65088,angleleft:9001,angleright:9002,angstrom:8491,anoteleia:903,anudattadeva:2386,anusvarabengali:2434,anusvaradeva:2306,anusvaragujarati:2690,aogonek:261,apaatosquare:13056,aparen:9372,apostrophearmenian:1370,apostrophemod:700,apple:63743,approaches:8784,approxequal:8776,approxequalorimage:8786,approximatelyequal:8773,araeaekorean:12686,araeakorean:12685,arc:8978,arighthalfring:7834,aring:229,aringacute:507,aringbelow:7681,arrowboth:8596,arrowdashdown:8675,arrowdashleft:8672,arrowdashright:8674,arrowdashup:8673,arrowdblboth:8660,arrowdbldown:8659,arrowdblleft:8656,arrowdblright:8658,arrowdblup:8657,arrowdown:8595,arrowdownleft:8601,arrowdownright:8600,arrowdownwhite:8681,arrowheaddownmod:709,arrowheadleftmod:706,arrowheadrightmod:707,arrowheadupmod:708,arrowhorizex:63719,arrowleft:8592,arrowleftdbl:8656,arrowleftdblstroke:8653,arrowleftoverright:8646,arrowleftwhite:8678,arrowright:8594,arrowrightdblstroke:8655,arrowrightheavy:10142,arrowrightoverleft:8644,arrowrightwhite:8680,arrowtableft:8676,arrowtabright:8677,arrowup:8593,arrowupdn:8597,arrowupdnbse:8616,arrowupdownbase:8616,arrowupleft:8598,arrowupleftofdown:8645,arrowupright:8599,arrowupwhite:8679,arrowvertex:63718,asciicircum:94,asciicircummonospace:65342,asciitilde:126,asciitildemonospace:65374,ascript:593,ascriptturned:594,asmallhiragana:12353,asmallkatakana:12449,asmallkatakanahalfwidth:65383,asterisk:42,asteriskaltonearabic:1645,asteriskarabic:1645,asteriskmath:8727,asteriskmonospace:65290,asterisksmall:65121,asterism:8258,asuperior:63209,asymptoticallyequal:8771,at:64,atilde:227,atmonospace:65312,atsmall:65131,aturned:592,aubengali:2452,aubopomofo:12576,audeva:2324,augujarati:2708,augurmukhi:2580,aulengthmarkbengali:2519,aumatragurmukhi:2636,auvowelsignbengali:2508,auvowelsigndeva:2380,auvowelsigngujarati:2764,avagrahadeva:2365,aybarmenian:1377,ayin:1506,ayinaltonehebrew:64288,ayinhebrew:1506,b:98,babengali:2476,backslash:92,backslashmonospace:65340,badeva:2348,bagujarati:2732,bagurmukhi:2604,bahiragana:12400,bahtthai:3647,bakatakana:12496,bar:124,barmonospace:65372,bbopomofo:12549,bcircle:9425,bdotaccent:7683,bdotbelow:7685,beamedsixteenthnotes:9836,because:8757,becyrillic:1073,beharabic:1576,behfinalarabic:65168,behinitialarabic:65169,behiragana:12409,behmedialarabic:65170,behmeeminitialarabic:64671,behmeemisolatedarabic:64520,behnoonfinalarabic:64621,bekatakana:12505,benarmenian:1378,bet:1489,beta:946,betasymbolgreek:976,betdagesh:64305,betdageshhebrew:64305,bethebrew:1489,betrafehebrew:64332,bhabengali:2477,bhadeva:2349,bhagujarati:2733,bhagurmukhi:2605,bhook:595,bihiragana:12403,bikatakana:12499,bilabialclick:664,bindigurmukhi:2562,birusquare:13105,blackcircle:9679,blackdiamond:9670,blackdownpointingtriangle:9660,blackleftpointingpointer:9668,blackleftpointingtriangle:9664,blacklenticularbracketleft:12304,blacklenticularbracketleftvertical:65083,blacklenticularbracketright:12305,blacklenticularbracketrightvertical:65084,blacklowerlefttriangle:9699,blacklowerrighttriangle:9698,blackrectangle:9644,blackrightpointingpointer:9658,blackrightpointingtriangle:9654,blacksmallsquare:9642,blacksmilingface:9787,blacksquare:9632,blackstar:9733,blackupperlefttriangle:9700,blackupperrighttriangle:9701,blackuppointingsmalltriangle:9652,blackuppointingtriangle:9650,blank:9251,blinebelow:7687,block:9608,bmonospace:65346,bobaimaithai:3610,bohiragana:12412,bokatakana:12508,bparen:9373,bqsquare:13251,braceex:63732,braceleft:123,braceleftbt:63731,braceleftmid:63730,braceleftmonospace:65371,braceleftsmall:65115,bracelefttp:63729,braceleftvertical:65079,braceright:125,bracerightbt:63742,bracerightmid:63741,bracerightmonospace:65373,bracerightsmall:65116,bracerighttp:63740,bracerightvertical:65080,bracketleft:91,bracketleftbt:63728,bracketleftex:63727,bracketleftmonospace:65339,bracketlefttp:63726,bracketright:93,bracketrightbt:63739,bracketrightex:63738,bracketrightmonospace:65341,bracketrighttp:63737,breve:728,brevebelowcmb:814,brevecmb:774,breveinvertedbelowcmb:815,breveinvertedcmb:785,breveinverteddoublecmb:865,bridgebelowcmb:810,bridgeinvertedbelowcmb:826,brokenbar:166,bstroke:384,bsuperior:63210,btopbar:387,buhiragana:12406,bukatakana:12502,bullet:8226,bulletinverse:9688,bulletoperator:8729,bullseye:9678,c:99,caarmenian:1390,cabengali:2458,cacute:263,cadeva:2330,cagujarati:2714,cagurmukhi:2586,calsquare:13192,candrabindubengali:2433,candrabinducmb:784,candrabindudeva:2305,candrabindugujarati:2689,capslock:8682,careof:8453,caron:711,caronbelowcmb:812,caroncmb:780,carriagereturn:8629,cbopomofo:12568,ccaron:269,ccedilla:231,ccedillaacute:7689,ccircle:9426,ccircumflex:265,ccurl:597,cdot:267,cdotaccent:267,cdsquare:13253,cedilla:184,cedillacmb:807,cent:162,centigrade:8451,centinferior:63199,centmonospace:65504,centoldstyle:63394,centsuperior:63200,chaarmenian:1401,chabengali:2459,chadeva:2331,chagujarati:2715,chagurmukhi:2587,chbopomofo:12564,cheabkhasiancyrillic:1213,checkmark:10003,checyrillic:1095,chedescenderabkhasiancyrillic:1215,chedescendercyrillic:1207,chedieresiscyrillic:1269,cheharmenian:1395,chekhakassiancyrillic:1228,cheverticalstrokecyrillic:1209,chi:967,chieuchacirclekorean:12919,chieuchaparenkorean:12823,chieuchcirclekorean:12905,chieuchkorean:12618,chieuchparenkorean:12809,chochangthai:3594,chochanthai:3592,chochingthai:3593,chochoethai:3596,chook:392,cieucacirclekorean:12918,cieucaparenkorean:12822,cieuccirclekorean:12904,cieuckorean:12616,cieucparenkorean:12808,cieucuparenkorean:12828,circle:9675,circlecopyrt:169,circlemultiply:8855,circleot:8857,circleplus:8853,circlepostalmark:12342,circlewithlefthalfblack:9680,circlewithrighthalfblack:9681,circumflex:710,circumflexbelowcmb:813,circumflexcmb:770,clear:8999,clickalveolar:450,clickdental:448,clicklateral:449,clickretroflex:451,club:9827,clubsuitblack:9827,clubsuitwhite:9831,cmcubedsquare:13220,cmonospace:65347,cmsquaredsquare:13216,coarmenian:1409,colon:58,colonmonetary:8353,colonmonospace:65306,colonsign:8353,colonsmall:65109,colontriangularhalfmod:721,colontriangularmod:720,comma:44,commaabovecmb:787,commaaboverightcmb:789,commaaccent:63171,commaarabic:1548,commaarmenian:1373,commainferior:63201,commamonospace:65292,commareversedabovecmb:788,commareversedmod:701,commasmall:65104,commasuperior:63202,commaturnedabovecmb:786,commaturnedmod:699,compass:9788,congruent:8773,contourintegral:8750,control:8963,controlACK:6,controlBEL:7,controlBS:8,controlCAN:24,controlCR:13,controlDC1:17,controlDC2:18,controlDC3:19,controlDC4:20,controlDEL:127,controlDLE:16,controlEM:25,controlENQ:5,controlEOT:4,controlESC:27,controlETB:23,controlETX:3,controlFF:12,controlFS:28,controlGS:29,controlHT:9,controlLF:10,controlNAK:21,controlRS:30,controlSI:15,controlSO:14,controlSOT:2,controlSTX:1,controlSUB:26,controlSYN:22,controlUS:31,controlVT:11,copyright:169,copyrightsans:63721,copyrightserif:63193,cornerbracketleft:12300,cornerbracketlefthalfwidth:65378,cornerbracketleftvertical:65089,cornerbracketright:12301,cornerbracketrighthalfwidth:65379,cornerbracketrightvertical:65090,corporationsquare:13183,cosquare:13255,coverkgsquare:13254,cparen:9374,cruzeiro:8354,cstretched:663,curlyand:8911,curlyor:8910,currency:164,cyrBreve:63185,cyrFlex:63186,cyrbreve:63188,cyrflex:63189,d:100,daarmenian:1380,dabengali:2470,dadarabic:1590,dadeva:2342,dadfinalarabic:65214,dadinitialarabic:65215,dadmedialarabic:65216,dagesh:1468,dageshhebrew:1468,dagger:8224,daggerdbl:8225,dagujarati:2726,dagurmukhi:2598,dahiragana:12384,dakatakana:12480,dalarabic:1583,dalet:1491,daletdagesh:64307,daletdageshhebrew:64307,dalethebrew:1491,dalfinalarabic:65194,dammaarabic:1615,dammalowarabic:1615,dammatanaltonearabic:1612,dammatanarabic:1612,danda:2404,dargahebrew:1447,dargalefthebrew:1447,dasiapneumatacyrilliccmb:1157,dblGrave:63187,dblanglebracketleft:12298,dblanglebracketleftvertical:65085,dblanglebracketright:12299,dblanglebracketrightvertical:65086,dblarchinvertedbelowcmb:811,dblarrowleft:8660,dblarrowright:8658,dbldanda:2405,dblgrave:63190,dblgravecmb:783,dblintegral:8748,dbllowline:8215,dbllowlinecmb:819,dbloverlinecmb:831,dblprimemod:698,dblverticalbar:8214,dblverticallineabovecmb:782,dbopomofo:12553,dbsquare:13256,dcaron:271,dcedilla:7697,dcircle:9427,dcircumflexbelow:7699,dcroat:273,ddabengali:2465,ddadeva:2337,ddagujarati:2721,ddagurmukhi:2593,ddalarabic:1672,ddalfinalarabic:64393,dddhadeva:2396,ddhabengali:2466,ddhadeva:2338,ddhagujarati:2722,ddhagurmukhi:2594,ddotaccent:7691,ddotbelow:7693,decimalseparatorarabic:1643,decimalseparatorpersian:1643,decyrillic:1076,degree:176,dehihebrew:1453,dehiragana:12391,deicoptic:1007,dekatakana:12487,deleteleft:9003,deleteright:8998,delta:948,deltaturned:397,denominatorminusonenumeratorbengali:2552,dezh:676,dhabengali:2471,dhadeva:2343,dhagujarati:2727,dhagurmukhi:2599,dhook:599,dialytikatonos:901,dialytikatonoscmb:836,diamond:9830,diamondsuitwhite:9826,dieresis:168,dieresisacute:63191,dieresisbelowcmb:804,dieresiscmb:776,dieresisgrave:63192,dieresistonos:901,dihiragana:12386,dikatakana:12482,dittomark:12291,divide:247,divides:8739,divisionslash:8725,djecyrillic:1106,dkshade:9619,dlinebelow:7695,dlsquare:13207,dmacron:273,dmonospace:65348,dnblock:9604,dochadathai:3598,dodekthai:3604,dohiragana:12393,dokatakana:12489,dollar:36,dollarinferior:63203,dollarmonospace:65284,dollaroldstyle:63268,dollarsmall:65129,dollarsuperior:63204,dong:8363,dorusquare:13094,dotaccent:729,dotaccentcmb:775,dotbelowcmb:803,dotbelowcomb:803,dotkatakana:12539,dotlessi:305,dotlessj:63166,dotlessjstrokehook:644,dotmath:8901,dottedcircle:9676,doubleyodpatah:64287,doubleyodpatahhebrew:64287,downtackbelowcmb:798,downtackmod:725,dparen:9375,dsuperior:63211,dtail:598,dtopbar:396,duhiragana:12389,dukatakana:12485,dz:499,dzaltone:675,dzcaron:454,dzcurl:677,dzeabkhasiancyrillic:1249,dzecyrillic:1109,dzhecyrillic:1119,e:101,eacute:233,earth:9793,ebengali:2447,ebopomofo:12572,ebreve:277,ecandradeva:2317,ecandragujarati:2701,ecandravowelsigndeva:2373,ecandravowelsigngujarati:2757,ecaron:283,ecedillabreve:7709,echarmenian:1381,echyiwnarmenian:1415,ecircle:9428,ecircumflex:234,ecircumflexacute:7871,ecircumflexbelow:7705,ecircumflexdotbelow:7879,ecircumflexgrave:7873,ecircumflexhookabove:7875,ecircumflextilde:7877,ecyrillic:1108,edblgrave:517,edeva:2319,edieresis:235,edot:279,edotaccent:279,edotbelow:7865,eegurmukhi:2575,eematragurmukhi:2631,efcyrillic:1092,egrave:232,egujarati:2703,eharmenian:1383,ehbopomofo:12573,ehiragana:12360,ehookabove:7867,eibopomofo:12575,eight:56,eightarabic:1640,eightbengali:2542,eightcircle:9319,eightcircleinversesansserif:10129,eightdeva:2414,eighteencircle:9329,eighteenparen:9349,eighteenperiod:9369,eightgujarati:2798,eightgurmukhi:2670,eighthackarabic:1640,eighthangzhou:12328,eighthnotebeamed:9835,eightideographicparen:12839,eightinferior:8328,eightmonospace:65304,eightoldstyle:63288,eightparen:9339,eightperiod:9359,eightpersian:1784,eightroman:8567,eightsuperior:8312,eightthai:3672,einvertedbreve:519,eiotifiedcyrillic:1125,ekatakana:12456,ekatakanahalfwidth:65396,ekonkargurmukhi:2676,ekorean:12628,elcyrillic:1083,element:8712,elevencircle:9322,elevenparen:9342,elevenperiod:9362,elevenroman:8570,ellipsis:8230,ellipsisvertical:8942,emacron:275,emacronacute:7703,emacrongrave:7701,emcyrillic:1084,emdash:8212,emdashvertical:65073,emonospace:65349,emphasismarkarmenian:1371,emptyset:8709,enbopomofo:12579,encyrillic:1085,endash:8211,endashvertical:65074,endescendercyrillic:1187,eng:331,engbopomofo:12581,enghecyrillic:1189,enhookcyrillic:1224,enspace:8194,eogonek:281,eokorean:12627,eopen:603,eopenclosed:666,eopenreversed:604,eopenreversedclosed:606,eopenreversedhook:605,eparen:9376,epsilon:949,epsilontonos:941,equal:61,equalmonospace:65309,equalsmall:65126,equalsuperior:8316,equivalence:8801,erbopomofo:12582,ercyrillic:1088,ereversed:600,ereversedcyrillic:1101,escyrillic:1089,esdescendercyrillic:1195,esh:643,eshcurl:646,eshortdeva:2318,eshortvowelsigndeva:2374,eshreversedloop:426,eshsquatreversed:645,esmallhiragana:12359,esmallkatakana:12455,esmallkatakanahalfwidth:65386,estimated:8494,esuperior:63212,eta:951,etarmenian:1384,etatonos:942,eth:240,etilde:7869,etildebelow:7707,etnahtafoukhhebrew:1425,etnahtafoukhlefthebrew:1425,etnahtahebrew:1425,etnahtalefthebrew:1425,eturned:477,eukorean:12641,euro:8364,evowelsignbengali:2503,evowelsigndeva:2375,evowelsigngujarati:2759,exclam:33,exclamarmenian:1372,exclamdbl:8252,exclamdown:161,exclamdownsmall:63393,exclammonospace:65281,exclamsmall:63265,existential:8707,ezh:658,ezhcaron:495,ezhcurl:659,ezhreversed:441,ezhtail:442,f:102,fadeva:2398,fagurmukhi:2654,fahrenheit:8457,fathaarabic:1614,fathalowarabic:1614,fathatanarabic:1611,fbopomofo:12552,fcircle:9429,fdotaccent:7711,feharabic:1601,feharmenian:1414,fehfinalarabic:65234,fehinitialarabic:65235,fehmedialarabic:65236,feicoptic:997,female:9792,ff:64256,ffi:64259,ffl:64260,fi:64257,fifteencircle:9326,fifteenparen:9346,fifteenperiod:9366,figuredash:8210,filledbox:9632,filledrect:9644,finalkaf:1498,finalkafdagesh:64314,finalkafdageshhebrew:64314,finalkafhebrew:1498,finalmem:1501,finalmemhebrew:1501,finalnun:1503,finalnunhebrew:1503,finalpe:1507,finalpehebrew:1507,finaltsadi:1509,finaltsadihebrew:1509,firsttonechinese:713,fisheye:9673,fitacyrillic:1139,five:53,fivearabic:1637,fivebengali:2539,fivecircle:9316,fivecircleinversesansserif:10126,fivedeva:2411,fiveeighths:8541,fivegujarati:2795,fivegurmukhi:2667,fivehackarabic:1637,fivehangzhou:12325,fiveideographicparen:12836,fiveinferior:8325,fivemonospace:65301,fiveoldstyle:63285,fiveparen:9336,fiveperiod:9356,fivepersian:1781,fiveroman:8564,fivesuperior:8309,fivethai:3669,fl:64258,florin:402,fmonospace:65350,fmsquare:13209,fofanthai:3615,fofathai:3613,fongmanthai:3663,forall:8704,four:52,fourarabic:1636,fourbengali:2538,fourcircle:9315,fourcircleinversesansserif:10125,fourdeva:2410,fourgujarati:2794,fourgurmukhi:2666,fourhackarabic:1636,fourhangzhou:12324,fourideographicparen:12835,fourinferior:8324,fourmonospace:65300,fournumeratorbengali:2551,fouroldstyle:63284,fourparen:9335,fourperiod:9355,fourpersian:1780,fourroman:8563,foursuperior:8308,fourteencircle:9325,fourteenparen:9345,fourteenperiod:9365,fourthai:3668,fourthtonechinese:715,fparen:9377,fraction:8260,franc:8355,g:103,gabengali:2455,gacute:501,gadeva:2327,gafarabic:1711,gaffinalarabic:64403,gafinitialarabic:64404,gafmedialarabic:64405,gagujarati:2711,gagurmukhi:2583,gahiragana:12364,gakatakana:12460,gamma:947,gammalatinsmall:611,gammasuperior:736,gangiacoptic:1003,gbopomofo:12557,gbreve:287,gcaron:487,gcedilla:291,gcircle:9430,gcircumflex:285,gcommaaccent:291,gdot:289,gdotaccent:289,gecyrillic:1075,gehiragana:12370,gekatakana:12466,geometricallyequal:8785,gereshaccenthebrew:1436,gereshhebrew:1523,gereshmuqdamhebrew:1437,germandbls:223,gershayimaccenthebrew:1438,gershayimhebrew:1524,getamark:12307,ghabengali:2456,ghadarmenian:1394,ghadeva:2328,ghagujarati:2712,ghagurmukhi:2584,ghainarabic:1594,ghainfinalarabic:65230,ghaininitialarabic:65231,ghainmedialarabic:65232,ghemiddlehookcyrillic:1173,ghestrokecyrillic:1171,gheupturncyrillic:1169,ghhadeva:2394,ghhagurmukhi:2650,ghook:608,ghzsquare:13203,gihiragana:12366,gikatakana:12462,gimarmenian:1379,gimel:1490,gimeldagesh:64306,gimeldageshhebrew:64306,gimelhebrew:1490,gjecyrillic:1107,glottalinvertedstroke:446,glottalstop:660,glottalstopinverted:662,glottalstopmod:704,glottalstopreversed:661,glottalstopreversedmod:705,glottalstopreversedsuperior:740,glottalstopstroke:673,glottalstopstrokereversed:674,gmacron:7713,gmonospace:65351,gohiragana:12372,gokatakana:12468,gparen:9378,gpasquare:13228,gradient:8711,grave:96,gravebelowcmb:790,gravecmb:768,gravecomb:768,gravedeva:2387,gravelowmod:718,gravemonospace:65344,gravetonecmb:832,greater:62,greaterequal:8805,greaterequalorless:8923,greatermonospace:65310,greaterorequivalent:8819,greaterorless:8823,greateroverequal:8807,greatersmall:65125,gscript:609,gstroke:485,guhiragana:12368,guillemotleft:171,guillemotright:187,guilsinglleft:8249,guilsinglright:8250,gukatakana:12464,guramusquare:13080,gysquare:13257,h:104,haabkhasiancyrillic:1193,haaltonearabic:1729,habengali:2489,hadescendercyrillic:1203,hadeva:2361,hagujarati:2745,hagurmukhi:2617,haharabic:1581,hahfinalarabic:65186,hahinitialarabic:65187,hahiragana:12399,hahmedialarabic:65188,haitusquare:13098,hakatakana:12495,hakatakanahalfwidth:65418,halantgurmukhi:2637,hamzaarabic:1569,hamzalowarabic:1569,hangulfiller:12644,hardsigncyrillic:1098,harpoonleftbarbup:8636,harpoonrightbarbup:8640,hasquare:13258,hatafpatah:1458,hatafpatah16:1458,hatafpatah23:1458,hatafpatah2f:1458,hatafpatahhebrew:1458,hatafpatahnarrowhebrew:1458,hatafpatahquarterhebrew:1458,hatafpatahwidehebrew:1458,hatafqamats:1459,hatafqamats1b:1459,hatafqamats28:1459,hatafqamats34:1459,hatafqamatshebrew:1459,hatafqamatsnarrowhebrew:1459,hatafqamatsquarterhebrew:1459,hatafqamatswidehebrew:1459,hatafsegol:1457,hatafsegol17:1457,hatafsegol24:1457,hatafsegol30:1457,hatafsegolhebrew:1457,hatafsegolnarrowhebrew:1457,hatafsegolquarterhebrew:1457,hatafsegolwidehebrew:1457,hbar:295,hbopomofo:12559,hbrevebelow:7723,hcedilla:7721,hcircle:9431,hcircumflex:293,hdieresis:7719,hdotaccent:7715,hdotbelow:7717,he:1492,heart:9829,heartsuitblack:9829,heartsuitwhite:9825,hedagesh:64308,hedageshhebrew:64308,hehaltonearabic:1729,heharabic:1607,hehebrew:1492,hehfinalaltonearabic:64423,hehfinalalttwoarabic:65258,hehfinalarabic:65258,hehhamzaabovefinalarabic:64421,hehhamzaaboveisolatedarabic:64420,hehinitialaltonearabic:64424,hehinitialarabic:65259,hehiragana:12408,hehmedialaltonearabic:64425,hehmedialarabic:65260,heiseierasquare:13179,hekatakana:12504,hekatakanahalfwidth:65421,hekutaarusquare:13110,henghook:615,herutusquare:13113,het:1495,hethebrew:1495,hhook:614,hhooksuperior:689,hieuhacirclekorean:12923,hieuhaparenkorean:12827,hieuhcirclekorean:12909,hieuhkorean:12622,hieuhparenkorean:12813,hihiragana:12402,hikatakana:12498,hikatakanahalfwidth:65419,hiriq:1460,hiriq14:1460,hiriq21:1460,hiriq2d:1460,hiriqhebrew:1460,hiriqnarrowhebrew:1460,hiriqquarterhebrew:1460,hiriqwidehebrew:1460,hlinebelow:7830,hmonospace:65352,hoarmenian:1392,hohipthai:3627,hohiragana:12411,hokatakana:12507,hokatakanahalfwidth:65422,holam:1465,holam19:1465,holam26:1465,holam32:1465,holamhebrew:1465,holamnarrowhebrew:1465,holamquarterhebrew:1465,holamwidehebrew:1465,honokhukthai:3630,hookabovecomb:777,hookcmb:777,hookpalatalizedbelowcmb:801,hookretroflexbelowcmb:802,hoonsquare:13122,horicoptic:1001,horizontalbar:8213,horncmb:795,hotsprings:9832,house:8962,hparen:9379,hsuperior:688,hturned:613,huhiragana:12405,huiitosquare:13107,hukatakana:12501,hukatakanahalfwidth:65420,hungarumlaut:733,hungarumlautcmb:779,hv:405,hyphen:45,hypheninferior:63205,hyphenmonospace:65293,hyphensmall:65123,hyphensuperior:63206,hyphentwo:8208,i:105,iacute:237,iacyrillic:1103,ibengali:2439,ibopomofo:12583,ibreve:301,icaron:464,icircle:9432,icircumflex:238,icyrillic:1110,idblgrave:521,ideographearthcircle:12943,ideographfirecircle:12939,ideographicallianceparen:12863,ideographiccallparen:12858,ideographiccentrecircle:12965,ideographicclose:12294,ideographiccomma:12289,ideographiccommaleft:65380,ideographiccongratulationparen:12855,ideographiccorrectcircle:12963,ideographicearthparen:12847,ideographicenterpriseparen:12861,ideographicexcellentcircle:12957,ideographicfestivalparen:12864,ideographicfinancialcircle:12950,ideographicfinancialparen:12854,ideographicfireparen:12843,ideographichaveparen:12850,ideographichighcircle:12964,ideographiciterationmark:12293,ideographiclaborcircle:12952,ideographiclaborparen:12856,ideographicleftcircle:12967,ideographiclowcircle:12966,ideographicmedicinecircle:12969,ideographicmetalparen:12846,ideographicmoonparen:12842,ideographicnameparen:12852,ideographicperiod:12290,ideographicprintcircle:12958,ideographicreachparen:12867,ideographicrepresentparen:12857,ideographicresourceparen:12862,ideographicrightcircle:12968,ideographicsecretcircle:12953,ideographicselfparen:12866,ideographicsocietyparen:12851,ideographicspace:12288,ideographicspecialparen:12853,ideographicstockparen:12849,ideographicstudyparen:12859,ideographicsunparen:12848,ideographicsuperviseparen:12860,ideographicwaterparen:12844,ideographicwoodparen:12845,ideographiczero:12295,ideographmetalcircle:12942,ideographmooncircle:12938,ideographnamecircle:12948,ideographsuncircle:12944,ideographwatercircle:12940,ideographwoodcircle:12941,ideva:2311,idieresis:239,idieresisacute:7727,idieresiscyrillic:1253,idotbelow:7883,iebrevecyrillic:1239,iecyrillic:1077,ieungacirclekorean:12917,ieungaparenkorean:12821,ieungcirclekorean:12903,ieungkorean:12615,ieungparenkorean:12807,igrave:236,igujarati:2695,igurmukhi:2567,ihiragana:12356,ihookabove:7881,iibengali:2440,iicyrillic:1080,iideva:2312,iigujarati:2696,iigurmukhi:2568,iimatragurmukhi:2624,iinvertedbreve:523,iishortcyrillic:1081,iivowelsignbengali:2496,iivowelsigndeva:2368,iivowelsigngujarati:2752,ij:307,ikatakana:12452,ikatakanahalfwidth:65394,ikorean:12643,ilde:732,iluyhebrew:1452,imacron:299,imacroncyrillic:1251,imageorapproximatelyequal:8787,imatragurmukhi:2623,imonospace:65353,increment:8710,infinity:8734,iniarmenian:1387,integral:8747,integralbottom:8993,integralbt:8993,integralex:63733,integraltop:8992,integraltp:8992,intersection:8745,intisquare:13061,invbullet:9688,invcircle:9689,invsmileface:9787,iocyrillic:1105,iogonek:303,iota:953,iotadieresis:970,iotadieresistonos:912,iotalatin:617,iotatonos:943,iparen:9380,irigurmukhi:2674,ismallhiragana:12355,ismallkatakana:12451,ismallkatakanahalfwidth:65384,issharbengali:2554,istroke:616,isuperior:63213,iterationhiragana:12445,iterationkatakana:12541,itilde:297,itildebelow:7725,iubopomofo:12585,iucyrillic:1102,ivowelsignbengali:2495,ivowelsigndeva:2367,ivowelsigngujarati:2751,izhitsacyrillic:1141,izhitsadblgravecyrillic:1143,j:106,jaarmenian:1393,jabengali:2460,jadeva:2332,jagujarati:2716,jagurmukhi:2588,jbopomofo:12560,jcaron:496,jcircle:9433,jcircumflex:309,jcrossedtail:669,jdotlessstroke:607,jecyrillic:1112,jeemarabic:1580,jeemfinalarabic:65182,jeeminitialarabic:65183,jeemmedialarabic:65184,jeharabic:1688,jehfinalarabic:64395,jhabengali:2461,jhadeva:2333,jhagujarati:2717,jhagurmukhi:2589,jheharmenian:1403,jis:12292,jmonospace:65354,jparen:9381,jsuperior:690,k:107,kabashkircyrillic:1185,kabengali:2453,kacute:7729,kacyrillic:1082,kadescendercyrillic:1179,kadeva:2325,kaf:1499,kafarabic:1603,kafdagesh:64315,kafdageshhebrew:64315,kaffinalarabic:65242,kafhebrew:1499,kafinitialarabic:65243,kafmedialarabic:65244,kafrafehebrew:64333,kagujarati:2709,kagurmukhi:2581,kahiragana:12363,kahookcyrillic:1220,kakatakana:12459,kakatakanahalfwidth:65398,kappa:954,kappasymbolgreek:1008,kapyeounmieumkorean:12657,kapyeounphieuphkorean:12676,kapyeounpieupkorean:12664,kapyeounssangpieupkorean:12665,karoriisquare:13069,kashidaautoarabic:1600,kashidaautonosidebearingarabic:1600,kasmallkatakana:12533,kasquare:13188,kasraarabic:1616,kasratanarabic:1613,kastrokecyrillic:1183,katahiraprolongmarkhalfwidth:65392,kaverticalstrokecyrillic:1181,kbopomofo:12558,kcalsquare:13193,kcaron:489,kcedilla:311,kcircle:9434,kcommaaccent:311,kdotbelow:7731,keharmenian:1412,kehiragana:12369,kekatakana:12465,kekatakanahalfwidth:65401,kenarmenian:1391,kesmallkatakana:12534,kgreenlandic:312,khabengali:2454,khacyrillic:1093,khadeva:2326,khagujarati:2710,khagurmukhi:2582,khaharabic:1582,khahfinalarabic:65190,khahinitialarabic:65191,khahmedialarabic:65192,kheicoptic:999,khhadeva:2393,khhagurmukhi:2649,khieukhacirclekorean:12920,khieukhaparenkorean:12824,khieukhcirclekorean:12906,khieukhkorean:12619,khieukhparenkorean:12810,khokhaithai:3586,khokhonthai:3589,khokhuatthai:3587,khokhwaithai:3588,khomutthai:3675,khook:409,khorakhangthai:3590,khzsquare:13201,kihiragana:12365,kikatakana:12461,kikatakanahalfwidth:65399,kiroguramusquare:13077,kiromeetorusquare:13078,kirosquare:13076,kiyeokacirclekorean:12910,kiyeokaparenkorean:12814,kiyeokcirclekorean:12896,kiyeokkorean:12593,kiyeokparenkorean:12800,kiyeoksioskorean:12595,kjecyrillic:1116,klinebelow:7733,klsquare:13208,kmcubedsquare:13222,kmonospace:65355,kmsquaredsquare:13218,kohiragana:12371,kohmsquare:13248,kokaithai:3585,kokatakana:12467,kokatakanahalfwidth:65402,kooposquare:13086,koppacyrillic:1153,koreanstandardsymbol:12927,koroniscmb:835,kparen:9382,kpasquare:13226,ksicyrillic:1135,ktsquare:13263,kturned:670,kuhiragana:12367,kukatakana:12463,kukatakanahalfwidth:65400,kvsquare:13240,kwsquare:13246,l:108,labengali:2482,lacute:314,ladeva:2354,lagujarati:2738,lagurmukhi:2610,lakkhangyaothai:3653,lamaleffinalarabic:65276,lamalefhamzaabovefinalarabic:65272,lamalefhamzaaboveisolatedarabic:65271,lamalefhamzabelowfinalarabic:65274,lamalefhamzabelowisolatedarabic:65273,lamalefisolatedarabic:65275,lamalefmaddaabovefinalarabic:65270,lamalefmaddaaboveisolatedarabic:65269,lamarabic:1604,lambda:955,lambdastroke:411,lamed:1500,lameddagesh:64316,lameddageshhebrew:64316,lamedhebrew:1500,lamfinalarabic:65246,lamhahinitialarabic:64714,laminitialarabic:65247,lamjeeminitialarabic:64713,lamkhahinitialarabic:64715,lamlamhehisolatedarabic:65010,lammedialarabic:65248,lammeemhahinitialarabic:64904,lammeeminitialarabic:64716,largecircle:9711,lbar:410,lbelt:620,lbopomofo:12556,lcaron:318,lcedilla:316,lcircle:9435,lcircumflexbelow:7741,lcommaaccent:316,ldot:320,ldotaccent:320,ldotbelow:7735,ldotbelowmacron:7737,leftangleabovecmb:794,lefttackbelowcmb:792,less:60,lessequal:8804,lessequalorgreater:8922,lessmonospace:65308,lessorequivalent:8818,lessorgreater:8822,lessoverequal:8806,lesssmall:65124,lezh:622,lfblock:9612,lhookretroflex:621,lira:8356,liwnarmenian:1388,lj:457,ljecyrillic:1113,ll:63168,lladeva:2355,llagujarati:2739,llinebelow:7739,llladeva:2356,llvocalicbengali:2529,llvocalicdeva:2401,llvocalicvowelsignbengali:2531,llvocalicvowelsigndeva:2403,lmiddletilde:619,lmonospace:65356,lmsquare:13264,lochulathai:3628,logicaland:8743,logicalnot:172,logicalnotreversed:8976,logicalor:8744,lolingthai:3621,longs:383,lowlinecenterline:65102,lowlinecmb:818,lowlinedashed:65101,lozenge:9674,lparen:9383,lslash:322,lsquare:8467,lsuperior:63214,ltshade:9617,luthai:3622,lvocalicbengali:2444,lvocalicdeva:2316,lvocalicvowelsignbengali:2530,lvocalicvowelsigndeva:2402,lxsquare:13267,m:109,mabengali:2478,macron:175,macronbelowcmb:817,macroncmb:772,macronlowmod:717,macronmonospace:65507,macute:7743,madeva:2350,magujarati:2734,magurmukhi:2606,mahapakhhebrew:1444,mahapakhlefthebrew:1444,mahiragana:12414,maichattawalowleftthai:63637,maichattawalowrightthai:63636,maichattawathai:3659,maichattawaupperleftthai:63635,maieklowleftthai:63628,maieklowrightthai:63627,maiekthai:3656,maiekupperleftthai:63626,maihanakatleftthai:63620,maihanakatthai:3633,maitaikhuleftthai:63625,maitaikhuthai:3655,maitholowleftthai:63631,maitholowrightthai:63630,maithothai:3657,maithoupperleftthai:63629,maitrilowleftthai:63634,maitrilowrightthai:63633,maitrithai:3658,maitriupperleftthai:63632,maiyamokthai:3654,makatakana:12510,makatakanahalfwidth:65423,male:9794,mansyonsquare:13127,maqafhebrew:1470,mars:9794,masoracirclehebrew:1455,masquare:13187,mbopomofo:12551,mbsquare:13268,mcircle:9436,mcubedsquare:13221,mdotaccent:7745,mdotbelow:7747,meemarabic:1605,meemfinalarabic:65250,meeminitialarabic:65251,meemmedialarabic:65252,meemmeeminitialarabic:64721,meemmeemisolatedarabic:64584,meetorusquare:13133,mehiragana:12417,meizierasquare:13182,mekatakana:12513,mekatakanahalfwidth:65426,mem:1502,memdagesh:64318,memdageshhebrew:64318,memhebrew:1502,menarmenian:1396,merkhahebrew:1445,merkhakefulahebrew:1446,merkhakefulalefthebrew:1446,merkhalefthebrew:1445,mhook:625,mhzsquare:13202,middledotkatakanahalfwidth:65381,middot:183,mieumacirclekorean:12914,mieumaparenkorean:12818,mieumcirclekorean:12900,mieumkorean:12609,mieumpansioskorean:12656,mieumparenkorean:12804,mieumpieupkorean:12654,mieumsioskorean:12655,mihiragana:12415,mikatakana:12511,mikatakanahalfwidth:65424,minus:8722,minusbelowcmb:800,minuscircle:8854,minusmod:727,minusplus:8723,minute:8242,miribaarusquare:13130,mirisquare:13129,mlonglegturned:624,mlsquare:13206,mmcubedsquare:13219,mmonospace:65357,mmsquaredsquare:13215,mohiragana:12418,mohmsquare:13249,mokatakana:12514,mokatakanahalfwidth:65427,molsquare:13270,momathai:3617,moverssquare:13223,moverssquaredsquare:13224,mparen:9384,mpasquare:13227,mssquare:13235,msuperior:63215,mturned:623,mu:181,mu1:181,muasquare:13186,muchgreater:8811,muchless:8810,mufsquare:13196,mugreek:956,mugsquare:13197,muhiragana:12416,mukatakana:12512,mukatakanahalfwidth:65425,mulsquare:13205,multiply:215,mumsquare:13211,munahhebrew:1443,munahlefthebrew:1443,musicalnote:9834,musicalnotedbl:9835,musicflatsign:9837,musicsharpsign:9839,mussquare:13234,muvsquare:13238,muwsquare:13244,mvmegasquare:13241,mvsquare:13239,mwmegasquare:13247,mwsquare:13245,n:110,nabengali:2472,nabla:8711,nacute:324,nadeva:2344,nagujarati:2728,nagurmukhi:2600,nahiragana:12394,nakatakana:12490,nakatakanahalfwidth:65413,napostrophe:329,nasquare:13185,nbopomofo:12555,nbspace:160,ncaron:328,ncedilla:326,ncircle:9437,ncircumflexbelow:7755,ncommaaccent:326,ndotaccent:7749,ndotbelow:7751,nehiragana:12397,nekatakana:12493,nekatakanahalfwidth:65416,newsheqelsign:8362,nfsquare:13195,ngabengali:2457,ngadeva:2329,ngagujarati:2713,ngagurmukhi:2585,ngonguthai:3591,nhiragana:12435,nhookleft:626,nhookretroflex:627,nieunacirclekorean:12911,nieunaparenkorean:12815,nieuncieuckorean:12597,nieuncirclekorean:12897,nieunhieuhkorean:12598,nieunkorean:12596,nieunpansioskorean:12648,nieunparenkorean:12801,nieunsioskorean:12647,nieuntikeutkorean:12646,nihiragana:12395,nikatakana:12491,nikatakanahalfwidth:65414,nikhahitleftthai:63641,nikhahitthai:3661,nine:57,ninearabic:1641,ninebengali:2543,ninecircle:9320,ninecircleinversesansserif:10130,ninedeva:2415,ninegujarati:2799,ninegurmukhi:2671,ninehackarabic:1641,ninehangzhou:12329,nineideographicparen:12840,nineinferior:8329,ninemonospace:65305,nineoldstyle:63289,nineparen:9340,nineperiod:9360,ninepersian:1785,nineroman:8568,ninesuperior:8313,nineteencircle:9330,nineteenparen:9350,nineteenperiod:9370,ninethai:3673,nj:460,njecyrillic:1114,nkatakana:12531,nkatakanahalfwidth:65437,nlegrightlong:414,nlinebelow:7753,nmonospace:65358,nmsquare:13210,nnabengali:2467,nnadeva:2339,nnagujarati:2723,nnagurmukhi:2595,nnnadeva:2345,nohiragana:12398,nokatakana:12494,nokatakanahalfwidth:65417,nonbreakingspace:160,nonenthai:3603,nonuthai:3609,noonarabic:1606,noonfinalarabic:65254,noonghunnaarabic:1722,noonghunnafinalarabic:64415,nooninitialarabic:65255,noonjeeminitialarabic:64722,noonjeemisolatedarabic:64587,noonmedialarabic:65256,noonmeeminitialarabic:64725,noonmeemisolatedarabic:64590,noonnoonfinalarabic:64653,notcontains:8716,notelement:8713,notelementof:8713,notequal:8800,notgreater:8815,notgreaternorequal:8817,notgreaternorless:8825,notidentical:8802,notless:8814,notlessnorequal:8816,notparallel:8742,notprecedes:8832,notsubset:8836,notsucceeds:8833,notsuperset:8837,nowarmenian:1398,nparen:9385,nssquare:13233,nsuperior:8319,ntilde:241,nu:957,nuhiragana:12396,nukatakana:12492,nukatakanahalfwidth:65415,nuktabengali:2492,nuktadeva:2364,nuktagujarati:2748,nuktagurmukhi:2620,numbersign:35,numbersignmonospace:65283,numbersignsmall:65119,numeralsigngreek:884,numeralsignlowergreek:885,numero:8470,nun:1504,nundagesh:64320,nundageshhebrew:64320,nunhebrew:1504,nvsquare:13237,nwsquare:13243,nyabengali:2462,nyadeva:2334,nyagujarati:2718,nyagurmukhi:2590,o:111,oacute:243,oangthai:3629,obarred:629,obarredcyrillic:1257,obarreddieresiscyrillic:1259,obengali:2451,obopomofo:12571,obreve:335,ocandradeva:2321,ocandragujarati:2705,ocandravowelsigndeva:2377,ocandravowelsigngujarati:2761,ocaron:466,ocircle:9438,ocircumflex:244,ocircumflexacute:7889,ocircumflexdotbelow:7897,ocircumflexgrave:7891,ocircumflexhookabove:7893,ocircumflextilde:7895,ocyrillic:1086,odblacute:337,odblgrave:525,odeva:2323,odieresis:246,odieresiscyrillic:1255,odotbelow:7885,oe:339,oekorean:12634,ogonek:731,ogonekcmb:808,ograve:242,ogujarati:2707,oharmenian:1413,ohiragana:12362,ohookabove:7887,ohorn:417,ohornacute:7899,ohorndotbelow:7907,ohorngrave:7901,ohornhookabove:7903,ohorntilde:7905,ohungarumlaut:337,oi:419,oinvertedbreve:527,okatakana:12458,okatakanahalfwidth:65397,okorean:12631,olehebrew:1451,omacron:333,omacronacute:7763,omacrongrave:7761,omdeva:2384,omega:969,omega1:982,omegacyrillic:1121,omegalatinclosed:631,omegaroundcyrillic:1147,omegatitlocyrillic:1149,omegatonos:974,omgujarati:2768,omicron:959,omicrontonos:972,omonospace:65359,one:49,onearabic:1633,onebengali:2535,onecircle:9312,onecircleinversesansserif:10122,onedeva:2407,onedotenleader:8228,oneeighth:8539,onefitted:63196,onegujarati:2791,onegurmukhi:2663,onehackarabic:1633,onehalf:189,onehangzhou:12321,oneideographicparen:12832,oneinferior:8321,onemonospace:65297,onenumeratorbengali:2548,oneoldstyle:63281,oneparen:9332,oneperiod:9352,onepersian:1777,onequarter:188,oneroman:8560,onesuperior:185,onethai:3665,onethird:8531,oogonek:491,oogonekmacron:493,oogurmukhi:2579,oomatragurmukhi:2635,oopen:596,oparen:9386,openbullet:9702,option:8997,ordfeminine:170,ordmasculine:186,orthogonal:8735,oshortdeva:2322,oshortvowelsigndeva:2378,oslash:248,oslashacute:511,osmallhiragana:12361,osmallkatakana:12457,osmallkatakanahalfwidth:65387,ostrokeacute:511,osuperior:63216,otcyrillic:1151,otilde:245,otildeacute:7757,otildedieresis:7759,oubopomofo:12577,overline:8254,overlinecenterline:65098,overlinecmb:773,overlinedashed:65097,overlinedblwavy:65100,overlinewavy:65099,overscore:175,ovowelsignbengali:2507,ovowelsigndeva:2379,ovowelsigngujarati:2763,p:112,paampssquare:13184,paasentosquare:13099,pabengali:2474,pacute:7765,padeva:2346,pagedown:8671,pageup:8670,pagujarati:2730,pagurmukhi:2602,pahiragana:12401,paiyannoithai:3631,pakatakana:12497,palatalizationcyrilliccmb:1156,palochkacyrillic:1216,pansioskorean:12671,paragraph:182,parallel:8741,parenleft:40,parenleftaltonearabic:64830,parenleftbt:63725,parenleftex:63724,parenleftinferior:8333,parenleftmonospace:65288,parenleftsmall:65113,parenleftsuperior:8317,parenlefttp:63723,parenleftvertical:65077,parenright:41,parenrightaltonearabic:64831,parenrightbt:63736,parenrightex:63735,parenrightinferior:8334,parenrightmonospace:65289,parenrightsmall:65114,parenrightsuperior:8318,parenrighttp:63734,parenrightvertical:65078,partialdiff:8706,paseqhebrew:1472,pashtahebrew:1433,pasquare:13225,patah:1463,patah11:1463,patah1d:1463,patah2a:1463,patahhebrew:1463,patahnarrowhebrew:1463,patahquarterhebrew:1463,patahwidehebrew:1463,pazerhebrew:1441,pbopomofo:12550,pcircle:9439,pdotaccent:7767,pe:1508,pecyrillic:1087,pedagesh:64324,pedageshhebrew:64324,peezisquare:13115,pefinaldageshhebrew:64323,peharabic:1662,peharmenian:1402,pehebrew:1508,pehfinalarabic:64343,pehinitialarabic:64344,pehiragana:12410,pehmedialarabic:64345,pekatakana:12506,pemiddlehookcyrillic:1191,perafehebrew:64334,percent:37,percentarabic:1642,percentmonospace:65285,percentsmall:65130,period:46,periodarmenian:1417,periodcentered:183,periodhalfwidth:65377,periodinferior:63207,periodmonospace:65294,periodsmall:65106,periodsuperior:63208,perispomenigreekcmb:834,perpendicular:8869,perthousand:8240,peseta:8359,pfsquare:13194,phabengali:2475,phadeva:2347,phagujarati:2731,phagurmukhi:2603,phi:966,phi1:981,phieuphacirclekorean:12922,phieuphaparenkorean:12826,phieuphcirclekorean:12908,phieuphkorean:12621,phieuphparenkorean:12812,philatin:632,phinthuthai:3642,phisymbolgreek:981,phook:421,phophanthai:3614,phophungthai:3612,phosamphaothai:3616,pi:960,pieupacirclekorean:12915,pieupaparenkorean:12819,pieupcieuckorean:12662,pieupcirclekorean:12901,pieupkiyeokkorean:12658,pieupkorean:12610,pieupparenkorean:12805,pieupsioskiyeokkorean:12660,pieupsioskorean:12612,pieupsiostikeutkorean:12661,pieupthieuthkorean:12663,pieuptikeutkorean:12659,pihiragana:12404,pikatakana:12500,pisymbolgreek:982,piwrarmenian:1411,plus:43,plusbelowcmb:799,pluscircle:8853,plusminus:177,plusmod:726,plusmonospace:65291,plussmall:65122,plussuperior:8314,pmonospace:65360,pmsquare:13272,pohiragana:12413,pointingindexdownwhite:9759,pointingindexleftwhite:9756,pointingindexrightwhite:9758,pointingindexupwhite:9757,pokatakana:12509,poplathai:3611,postalmark:12306,postalmarkface:12320,pparen:9387,precedes:8826,prescription:8478,primemod:697,primereversed:8245,product:8719,projective:8965,prolongedkana:12540,propellor:8984,propersubset:8834,propersuperset:8835,proportion:8759,proportional:8733,psi:968,psicyrillic:1137,psilipneumatacyrilliccmb:1158,pssquare:13232,puhiragana:12407,pukatakana:12503,pvsquare:13236,pwsquare:13242,q:113,qadeva:2392,qadmahebrew:1448,qafarabic:1602,qaffinalarabic:65238,qafinitialarabic:65239,qafmedialarabic:65240,qamats:1464,qamats10:1464,qamats1a:1464,qamats1c:1464,qamats27:1464,qamats29:1464,qamats33:1464,qamatsde:1464,qamatshebrew:1464,qamatsnarrowhebrew:1464,qamatsqatanhebrew:1464,qamatsqatannarrowhebrew:1464,qamatsqatanquarterhebrew:1464,qamatsqatanwidehebrew:1464,qamatsquarterhebrew:1464,qamatswidehebrew:1464,qarneyparahebrew:1439,qbopomofo:12561,qcircle:9440,qhook:672,qmonospace:65361,qof:1511,qofdagesh:64327,qofdageshhebrew:64327,qofhebrew:1511,qparen:9388,quarternote:9833,qubuts:1467,qubuts18:1467,qubuts25:1467,qubuts31:1467,qubutshebrew:1467,qubutsnarrowhebrew:1467,qubutsquarterhebrew:1467,qubutswidehebrew:1467,question:63,questionarabic:1567,questionarmenian:1374,questiondown:191,questiondownsmall:63423,questiongreek:894,questionmonospace:65311,questionsmall:63295,quotedbl:34,quotedblbase:8222,quotedblleft:8220,quotedblmonospace:65282,quotedblprime:12318,quotedblprimereversed:12317,quotedblright:8221,quoteleft:8216,quoteleftreversed:8219,quotereversed:8219,quoteright:8217,quoterightn:329,quotesinglbase:8218,quotesingle:39,quotesinglemonospace:65287,r:114,raarmenian:1404,rabengali:2480,racute:341,radeva:2352,radical:8730,radicalex:63717,radoverssquare:13230,radoverssquaredsquare:13231,radsquare:13229,rafe:1471,rafehebrew:1471,ragujarati:2736,ragurmukhi:2608,rahiragana:12425,rakatakana:12521,rakatakanahalfwidth:65431,ralowerdiagonalbengali:2545,ramiddlediagonalbengali:2544,ramshorn:612,ratio:8758,rbopomofo:12566,rcaron:345,rcedilla:343,rcircle:9441,rcommaaccent:343,rdblgrave:529,rdotaccent:7769,rdotbelow:7771,rdotbelowmacron:7773,referencemark:8251,reflexsubset:8838,reflexsuperset:8839,registered:174,registersans:63720,registerserif:63194,reharabic:1585,reharmenian:1408,rehfinalarabic:65198,rehiragana:12428,rekatakana:12524,rekatakanahalfwidth:65434,resh:1512,reshdageshhebrew:64328,reshhebrew:1512,reversedtilde:8765,reviahebrew:1431,reviamugrashhebrew:1431,revlogicalnot:8976,rfishhook:638,rfishhookreversed:639,rhabengali:2525,rhadeva:2397,rho:961,rhook:637,rhookturned:635,rhookturnedsuperior:693,rhosymbolgreek:1009,rhotichookmod:734,rieulacirclekorean:12913,rieulaparenkorean:12817,rieulcirclekorean:12899,rieulhieuhkorean:12608,rieulkiyeokkorean:12602,rieulkiyeoksioskorean:12649,rieulkorean:12601,rieulmieumkorean:12603,rieulpansioskorean:12652,rieulparenkorean:12803,rieulphieuphkorean:12607,rieulpieupkorean:12604,rieulpieupsioskorean:12651,rieulsioskorean:12605,rieulthieuthkorean:12606,rieultikeutkorean:12650,rieulyeorinhieuhkorean:12653,rightangle:8735,righttackbelowcmb:793,righttriangle:8895,rihiragana:12426,rikatakana:12522,rikatakanahalfwidth:65432,ring:730,ringbelowcmb:805,ringcmb:778,ringhalfleft:703,ringhalfleftarmenian:1369,ringhalfleftbelowcmb:796,ringhalfleftcentered:723,ringhalfright:702,ringhalfrightbelowcmb:825,ringhalfrightcentered:722,rinvertedbreve:531,rittorusquare:13137,rlinebelow:7775,rlongleg:636,rlonglegturned:634,rmonospace:65362,rohiragana:12429,rokatakana:12525,rokatakanahalfwidth:65435,roruathai:3619,rparen:9389,rrabengali:2524,rradeva:2353,rragurmukhi:2652,rreharabic:1681,rrehfinalarabic:64397,rrvocalicbengali:2528,rrvocalicdeva:2400,rrvocalicgujarati:2784,rrvocalicvowelsignbengali:2500,rrvocalicvowelsigndeva:2372,rrvocalicvowelsigngujarati:2756,rsuperior:63217,rtblock:9616,rturned:633,rturnedsuperior:692,ruhiragana:12427,rukatakana:12523,rukatakanahalfwidth:65433,rupeemarkbengali:2546,rupeesignbengali:2547,rupiah:63197,ruthai:3620,rvocalicbengali:2443,rvocalicdeva:2315,rvocalicgujarati:2699,rvocalicvowelsignbengali:2499,rvocalicvowelsigndeva:2371,rvocalicvowelsigngujarati:2755,s:115,sabengali:2488,sacute:347,sacutedotaccent:7781,sadarabic:1589,sadeva:2360,sadfinalarabic:65210,sadinitialarabic:65211,sadmedialarabic:65212,sagujarati:2744,sagurmukhi:2616,sahiragana:12373,sakatakana:12469,sakatakanahalfwidth:65403,sallallahoualayhewasallamarabic:65018,samekh:1505,samekhdagesh:64321,samekhdageshhebrew:64321,samekhhebrew:1505,saraaathai:3634,saraaethai:3649,saraaimaimalaithai:3652,saraaimaimuanthai:3651,saraamthai:3635,saraathai:3632,saraethai:3648,saraiileftthai:63622,saraiithai:3637,saraileftthai:63621,saraithai:3636,saraothai:3650,saraueeleftthai:63624,saraueethai:3639,saraueleftthai:63623,sarauethai:3638,sarauthai:3640,sarauuthai:3641,sbopomofo:12569,scaron:353,scarondotaccent:7783,scedilla:351,schwa:601,schwacyrillic:1241,schwadieresiscyrillic:1243,schwahook:602,scircle:9442,scircumflex:349,scommaaccent:537,sdotaccent:7777,sdotbelow:7779,sdotbelowdotaccent:7785,seagullbelowcmb:828,second:8243,secondtonechinese:714,section:167,seenarabic:1587,seenfinalarabic:65202,seeninitialarabic:65203,seenmedialarabic:65204,segol:1462,segol13:1462,segol1f:1462,segol2c:1462,segolhebrew:1462,segolnarrowhebrew:1462,segolquarterhebrew:1462,segoltahebrew:1426,segolwidehebrew:1462,seharmenian:1405,sehiragana:12379,sekatakana:12475,sekatakanahalfwidth:65406,semicolon:59,semicolonarabic:1563,semicolonmonospace:65307,semicolonsmall:65108,semivoicedmarkkana:12444,semivoicedmarkkanahalfwidth:65439,sentisquare:13090,sentosquare:13091,seven:55,sevenarabic:1639,sevenbengali:2541,sevencircle:9318,sevencircleinversesansserif:10128,sevendeva:2413,seveneighths:8542,sevengujarati:2797,sevengurmukhi:2669,sevenhackarabic:1639,sevenhangzhou:12327,sevenideographicparen:12838,seveninferior:8327,sevenmonospace:65303,sevenoldstyle:63287,sevenparen:9338,sevenperiod:9358,sevenpersian:1783,sevenroman:8566,sevensuperior:8311,seventeencircle:9328,seventeenparen:9348,seventeenperiod:9368,seventhai:3671,sfthyphen:173,shaarmenian:1399,shabengali:2486,shacyrillic:1096,shaddaarabic:1617,shaddadammaarabic:64609,shaddadammatanarabic:64606,shaddafathaarabic:64608,shaddakasraarabic:64610,shaddakasratanarabic:64607,shade:9618,shadedark:9619,shadelight:9617,shademedium:9618,shadeva:2358,shagujarati:2742,shagurmukhi:2614,shalshelethebrew:1427,shbopomofo:12565,shchacyrillic:1097,sheenarabic:1588,sheenfinalarabic:65206,sheeninitialarabic:65207,sheenmedialarabic:65208,sheicoptic:995,sheqel:8362,sheqelhebrew:8362,sheva:1456,sheva115:1456,sheva15:1456,sheva22:1456,sheva2e:1456,shevahebrew:1456,shevanarrowhebrew:1456,shevaquarterhebrew:1456,shevawidehebrew:1456,shhacyrillic:1211,shimacoptic:1005,shin:1513,shindagesh:64329,shindageshhebrew:64329,shindageshshindot:64300,shindageshshindothebrew:64300,shindageshsindot:64301,shindageshsindothebrew:64301,shindothebrew:1473,shinhebrew:1513,shinshindot:64298,shinshindothebrew:64298,shinsindot:64299,shinsindothebrew:64299,shook:642,sigma:963,sigma1:962,sigmafinal:962,sigmalunatesymbolgreek:1010,sihiragana:12375,sikatakana:12471,sikatakanahalfwidth:65404,siluqhebrew:1469,siluqlefthebrew:1469,similar:8764,sindothebrew:1474,siosacirclekorean:12916,siosaparenkorean:12820,sioscieuckorean:12670,sioscirclekorean:12902,sioskiyeokkorean:12666,sioskorean:12613,siosnieunkorean:12667,siosparenkorean:12806,siospieupkorean:12669,siostikeutkorean:12668,six:54,sixarabic:1638,sixbengali:2540,sixcircle:9317,sixcircleinversesansserif:10127,sixdeva:2412,sixgujarati:2796,sixgurmukhi:2668,sixhackarabic:1638,sixhangzhou:12326,sixideographicparen:12837,sixinferior:8326,sixmonospace:65302,sixoldstyle:63286,sixparen:9337,sixperiod:9357,sixpersian:1782,sixroman:8565,sixsuperior:8310,sixteencircle:9327,sixteencurrencydenominatorbengali:2553,sixteenparen:9347,sixteenperiod:9367,sixthai:3670,slash:47,slashmonospace:65295,slong:383,slongdotaccent:7835,smileface:9786,smonospace:65363,sofpasuqhebrew:1475,softhyphen:173,softsigncyrillic:1100,sohiragana:12381,sokatakana:12477,sokatakanahalfwidth:65407,soliduslongoverlaycmb:824,solidusshortoverlaycmb:823,sorusithai:3625,sosalathai:3624,sosothai:3595,sosuathai:3626,space:32,spacehackarabic:32,spade:9824,spadesuitblack:9824,spadesuitwhite:9828,sparen:9390,squarebelowcmb:827,squarecc:13252,squarecm:13213,squarediagonalcrosshatchfill:9641,squarehorizontalfill:9636,squarekg:13199,squarekm:13214,squarekmcapital:13262,squareln:13265,squarelog:13266,squaremg:13198,squaremil:13269,squaremm:13212,squaremsquared:13217,squareorthogonalcrosshatchfill:9638,squareupperlefttolowerrightfill:9639,squareupperrighttolowerleftfill:9640,squareverticalfill:9637,squarewhitewithsmallblack:9635,srsquare:13275,ssabengali:2487,ssadeva:2359,ssagujarati:2743,ssangcieuckorean:12617,ssanghieuhkorean:12677,ssangieungkorean:12672,ssangkiyeokkorean:12594,ssangnieunkorean:12645,ssangpieupkorean:12611,ssangsioskorean:12614,ssangtikeutkorean:12600,ssuperior:63218,sterling:163,sterlingmonospace:65505,strokelongoverlaycmb:822,strokeshortoverlaycmb:821,subset:8834,subsetnotequal:8842,subsetorequal:8838,succeeds:8827,suchthat:8715,suhiragana:12377,sukatakana:12473,sukatakanahalfwidth:65405,sukunarabic:1618,summation:8721,sun:9788,superset:8835,supersetnotequal:8843,supersetorequal:8839,svsquare:13276,syouwaerasquare:13180,t:116,tabengali:2468,tackdown:8868,tackleft:8867,tadeva:2340,tagujarati:2724,tagurmukhi:2596,taharabic:1591,tahfinalarabic:65218,tahinitialarabic:65219,tahiragana:12383,tahmedialarabic:65220,taisyouerasquare:13181,takatakana:12479,takatakanahalfwidth:65408,tatweelarabic:1600,tau:964,tav:1514,tavdages:64330,tavdagesh:64330,tavdageshhebrew:64330,tavhebrew:1514,tbar:359,tbopomofo:12554,tcaron:357,tccurl:680,tcedilla:355,tcheharabic:1670,tchehfinalarabic:64379,tchehinitialarabic:64380,tchehmedialarabic:64381,tcircle:9443,tcircumflexbelow:7793,tcommaaccent:355,tdieresis:7831,tdotaccent:7787,tdotbelow:7789,tecyrillic:1090,tedescendercyrillic:1197,teharabic:1578,tehfinalarabic:65174,tehhahinitialarabic:64674,tehhahisolatedarabic:64524,tehinitialarabic:65175,tehiragana:12390,tehjeeminitialarabic:64673,tehjeemisolatedarabic:64523,tehmarbutaarabic:1577,tehmarbutafinalarabic:65172,tehmedialarabic:65176,tehmeeminitialarabic:64676,tehmeemisolatedarabic:64526,tehnoonfinalarabic:64627,tekatakana:12486,tekatakanahalfwidth:65411,telephone:8481,telephoneblack:9742,telishagedolahebrew:1440,telishaqetanahebrew:1449,tencircle:9321,tenideographicparen:12841,tenparen:9341,tenperiod:9361,tenroman:8569,tesh:679,tet:1496,tetdagesh:64312,tetdageshhebrew:64312,tethebrew:1496,tetsecyrillic:1205,tevirhebrew:1435,tevirlefthebrew:1435,thabengali:2469,thadeva:2341,thagujarati:2725,thagurmukhi:2597,thalarabic:1584,thalfinalarabic:65196,thanthakhatlowleftthai:63640,thanthakhatlowrightthai:63639,thanthakhatthai:3660,thanthakhatupperleftthai:63638,theharabic:1579,thehfinalarabic:65178,thehinitialarabic:65179,thehmedialarabic:65180,thereexists:8707,therefore:8756,theta:952,theta1:977,thetasymbolgreek:977,thieuthacirclekorean:12921,thieuthaparenkorean:12825,thieuthcirclekorean:12907,thieuthkorean:12620,thieuthparenkorean:12811,thirteencircle:9324,thirteenparen:9344,thirteenperiod:9364,thonangmonthothai:3601,thook:429,thophuthaothai:3602,thorn:254,thothahanthai:3607,thothanthai:3600,thothongthai:3608,thothungthai:3606,thousandcyrillic:1154,thousandsseparatorarabic:1644,thousandsseparatorpersian:1644,three:51,threearabic:1635,threebengali:2537,threecircle:9314,threecircleinversesansserif:10124,threedeva:2409,threeeighths:8540,threegujarati:2793,threegurmukhi:2665,threehackarabic:1635,threehangzhou:12323,threeideographicparen:12834,threeinferior:8323,threemonospace:65299,threenumeratorbengali:2550,threeoldstyle:63283,threeparen:9334,threeperiod:9354,threepersian:1779,threequarters:190,threequartersemdash:63198,threeroman:8562,threesuperior:179,threethai:3667,thzsquare:13204,tihiragana:12385,tikatakana:12481,tikatakanahalfwidth:65409,tikeutacirclekorean:12912,tikeutaparenkorean:12816,tikeutcirclekorean:12898,tikeutkorean:12599,tikeutparenkorean:12802,tilde:732,tildebelowcmb:816,tildecmb:771,tildecomb:771,tildedoublecmb:864,tildeoperator:8764,tildeoverlaycmb:820,tildeverticalcmb:830,timescircle:8855,tipehahebrew:1430,tipehalefthebrew:1430,tippigurmukhi:2672,titlocyrilliccmb:1155,tiwnarmenian:1407,tlinebelow:7791,tmonospace:65364,toarmenian:1385,tohiragana:12392,tokatakana:12488,tokatakanahalfwidth:65412,tonebarextrahighmod:741,tonebarextralowmod:745,tonebarhighmod:742,tonebarlowmod:744,tonebarmidmod:743,tonefive:445,tonesix:389,tonetwo:424,tonos:900,tonsquare:13095,topatakthai:3599,tortoiseshellbracketleft:12308,tortoiseshellbracketleftsmall:65117,tortoiseshellbracketleftvertical:65081,tortoiseshellbracketright:12309,tortoiseshellbracketrightsmall:65118,tortoiseshellbracketrightvertical:65082,totaothai:3605,tpalatalhook:427,tparen:9391,trademark:8482,trademarksans:63722,trademarkserif:63195,tretroflexhook:648,triagdn:9660,triaglf:9668,triagrt:9658,triagup:9650,ts:678,tsadi:1510,tsadidagesh:64326,tsadidageshhebrew:64326,tsadihebrew:1510,tsecyrillic:1094,tsere:1461,tsere12:1461,tsere1e:1461,tsere2b:1461,tserehebrew:1461,tserenarrowhebrew:1461,tserequarterhebrew:1461,tserewidehebrew:1461,tshecyrillic:1115,tsuperior:63219,ttabengali:2463,ttadeva:2335,ttagujarati:2719,ttagurmukhi:2591,tteharabic:1657,ttehfinalarabic:64359,ttehinitialarabic:64360,ttehmedialarabic:64361,tthabengali:2464,tthadeva:2336,tthagujarati:2720,tthagurmukhi:2592,tturned:647,tuhiragana:12388,tukatakana:12484,tukatakanahalfwidth:65410,tusmallhiragana:12387,tusmallkatakana:12483,tusmallkatakanahalfwidth:65391,twelvecircle:9323,twelveparen:9343,twelveperiod:9363,twelveroman:8571,twentycircle:9331,twentyhangzhou:21316,twentyparen:9351,twentyperiod:9371,two:50,twoarabic:1634,twobengali:2536,twocircle:9313,twocircleinversesansserif:10123,twodeva:2408,twodotenleader:8229,twodotleader:8229,twodotleadervertical:65072,twogujarati:2792,twogurmukhi:2664,twohackarabic:1634,twohangzhou:12322,twoideographicparen:12833,twoinferior:8322,twomonospace:65298,twonumeratorbengali:2549,twooldstyle:63282,twoparen:9333,twoperiod:9353,twopersian:1778,tworoman:8561,twostroke:443,twosuperior:178,twothai:3666,twothirds:8532,u:117,uacute:250,ubar:649,ubengali:2441,ubopomofo:12584,ubreve:365,ucaron:468,ucircle:9444,ucircumflex:251,ucircumflexbelow:7799,ucyrillic:1091,udattadeva:2385,udblacute:369,udblgrave:533,udeva:2313,udieresis:252,udieresisacute:472,udieresisbelow:7795,udieresiscaron:474,udieresiscyrillic:1265,udieresisgrave:476,udieresismacron:470,udotbelow:7909,ugrave:249,ugujarati:2697,ugurmukhi:2569,uhiragana:12358,uhookabove:7911,uhorn:432,uhornacute:7913,uhorndotbelow:7921,uhorngrave:7915,uhornhookabove:7917,uhorntilde:7919,uhungarumlaut:369,uhungarumlautcyrillic:1267,uinvertedbreve:535,ukatakana:12454,ukatakanahalfwidth:65395,ukcyrillic:1145,ukorean:12636,umacron:363,umacroncyrillic:1263,umacrondieresis:7803,umatragurmukhi:2625,umonospace:65365,underscore:95,underscoredbl:8215,underscoremonospace:65343,underscorevertical:65075,underscorewavy:65103,union:8746,universal:8704,uogonek:371,uparen:9392,upblock:9600,upperdothebrew:1476,upsilon:965,upsilondieresis:971,upsilondieresistonos:944,upsilonlatin:650,upsilontonos:973,uptackbelowcmb:797,uptackmod:724,uragurmukhi:2675,uring:367,ushortcyrillic:1118,usmallhiragana:12357,usmallkatakana:12453,usmallkatakanahalfwidth:65385,ustraightcyrillic:1199,ustraightstrokecyrillic:1201,utilde:361,utildeacute:7801,utildebelow:7797,uubengali:2442,uudeva:2314,uugujarati:2698,uugurmukhi:2570,uumatragurmukhi:2626,uuvowelsignbengali:2498,uuvowelsigndeva:2370,uuvowelsigngujarati:2754,uvowelsignbengali:2497,uvowelsigndeva:2369,uvowelsigngujarati:2753,v:118,vadeva:2357,vagujarati:2741,vagurmukhi:2613,vakatakana:12535,vav:1493,vavdagesh:64309,vavdagesh65:64309,vavdageshhebrew:64309,vavhebrew:1493,vavholam:64331,vavholamhebrew:64331,vavvavhebrew:1520,vavyodhebrew:1521,vcircle:9445,vdotbelow:7807,vecyrillic:1074,veharabic:1700,vehfinalarabic:64363,vehinitialarabic:64364,vehmedialarabic:64365,vekatakana:12537,venus:9792,verticalbar:124,verticallineabovecmb:781,verticallinebelowcmb:809,verticallinelowmod:716,verticallinemod:712,vewarmenian:1406,vhook:651,vikatakana:12536,viramabengali:2509,viramadeva:2381,viramagujarati:2765,visargabengali:2435,visargadeva:2307,visargagujarati:2691,vmonospace:65366,voarmenian:1400,voicediterationhiragana:12446,voicediterationkatakana:12542,voicedmarkkana:12443,voicedmarkkanahalfwidth:65438,vokatakana:12538,vparen:9393,vtilde:7805,vturned:652,vuhiragana:12436,vukatakana:12532,w:119,wacute:7811,waekorean:12633,wahiragana:12431,wakatakana:12527,wakatakanahalfwidth:65436,wakorean:12632,wasmallhiragana:12430,wasmallkatakana:12526,wattosquare:13143,wavedash:12316,wavyunderscorevertical:65076,wawarabic:1608,wawfinalarabic:65262,wawhamzaabovearabic:1572,wawhamzaabovefinalarabic:65158,wbsquare:13277,wcircle:9446,wcircumflex:373,wdieresis:7813,wdotaccent:7815,wdotbelow:7817,wehiragana:12433,weierstrass:8472,wekatakana:12529,wekorean:12638,weokorean:12637,wgrave:7809,whitebullet:9702,whitecircle:9675,whitecircleinverse:9689,whitecornerbracketleft:12302,whitecornerbracketleftvertical:65091,whitecornerbracketright:12303,whitecornerbracketrightvertical:65092,whitediamond:9671,whitediamondcontainingblacksmalldiamond:9672,whitedownpointingsmalltriangle:9663,whitedownpointingtriangle:9661,whiteleftpointingsmalltriangle:9667,whiteleftpointingtriangle:9665,whitelenticularbracketleft:12310,whitelenticularbracketright:12311,whiterightpointingsmalltriangle:9657,whiterightpointingtriangle:9655,whitesmallsquare:9643,whitesmilingface:9786,whitesquare:9633,whitestar:9734,whitetelephone:9743,whitetortoiseshellbracketleft:12312,whitetortoiseshellbracketright:12313,whiteuppointingsmalltriangle:9653,whiteuppointingtriangle:9651,wihiragana:12432,wikatakana:12528,wikorean:12639,wmonospace:65367,wohiragana:12434,wokatakana:12530,wokatakanahalfwidth:65382,won:8361,wonmonospace:65510,wowaenthai:3623,wparen:9394,wring:7832,wsuperior:695,wturned:653,wynn:447,x:120,xabovecmb:829,xbopomofo:12562,xcircle:9447,xdieresis:7821,xdotaccent:7819,xeharmenian:1389,xi:958,xmonospace:65368,xparen:9395,xsuperior:739,y:121,yaadosquare:13134,yabengali:2479,yacute:253,yadeva:2351,yaekorean:12626,yagujarati:2735,yagurmukhi:2607,yahiragana:12420,yakatakana:12516,yakatakanahalfwidth:65428,yakorean:12625,yamakkanthai:3662,yasmallhiragana:12419,yasmallkatakana:12515,yasmallkatakanahalfwidth:65388,yatcyrillic:1123,ycircle:9448,ycircumflex:375,ydieresis:255,ydotaccent:7823,ydotbelow:7925,yeharabic:1610,yehbarreearabic:1746,yehbarreefinalarabic:64431,yehfinalarabic:65266,yehhamzaabovearabic:1574,yehhamzaabovefinalarabic:65162,yehhamzaaboveinitialarabic:65163,yehhamzaabovemedialarabic:65164,yehinitialarabic:65267,yehmedialarabic:65268,yehmeeminitialarabic:64733,yehmeemisolatedarabic:64600,yehnoonfinalarabic:64660,yehthreedotsbelowarabic:1745,yekorean:12630,yen:165,yenmonospace:65509,yeokorean:12629,yeorinhieuhkorean:12678,yerahbenyomohebrew:1450,yerahbenyomolefthebrew:1450,yericyrillic:1099,yerudieresiscyrillic:1273,yesieungkorean:12673,yesieungpansioskorean:12675,yesieungsioskorean:12674,yetivhebrew:1434,ygrave:7923,yhook:436,yhookabove:7927,yiarmenian:1397,yicyrillic:1111,yikorean:12642,yinyang:9775,yiwnarmenian:1410,ymonospace:65369,yod:1497,yoddagesh:64313,yoddageshhebrew:64313,yodhebrew:1497,yodyodhebrew:1522,yodyodpatahhebrew:64287,yohiragana:12424,yoikorean:12681,yokatakana:12520,yokatakanahalfwidth:65430,yokorean:12635,yosmallhiragana:12423,yosmallkatakana:12519,yosmallkatakanahalfwidth:65390,yotgreek:1011,yoyaekorean:12680,yoyakorean:12679,yoyakthai:3618,yoyingthai:3597,yparen:9396,ypogegrammeni:890,ypogegrammenigreekcmb:837,yr:422,yring:7833,ysuperior:696,ytilde:7929,yturned:654,yuhiragana:12422,yuikorean:12684,yukatakana:12518,yukatakanahalfwidth:65429,yukorean:12640,yusbigcyrillic:1131,yusbigiotifiedcyrillic:1133,yuslittlecyrillic:1127,yuslittleiotifiedcyrillic:1129,yusmallhiragana:12421,yusmallkatakana:12517,yusmallkatakanahalfwidth:65389,yuyekorean:12683,yuyeokorean:12682,yyabengali:2527,yyadeva:2399,z:122,zaarmenian:1382,zacute:378,zadeva:2395,zagurmukhi:2651,zaharabic:1592,zahfinalarabic:65222,zahinitialarabic:65223,zahiragana:12374,zahmedialarabic:65224,zainarabic:1586,zainfinalarabic:65200,zakatakana:12470,zaqefgadolhebrew:1429,zaqefqatanhebrew:1428,zarqahebrew:1432,zayin:1494,zayindagesh:64310,zayindageshhebrew:64310,zayinhebrew:1494,zbopomofo:12567,zcaron:382,zcircle:9449,zcircumflex:7825,zcurl:657,zdot:380,zdotaccent:380,zdotbelow:7827,zecyrillic:1079,zedescendercyrillic:1177,zedieresiscyrillic:1247,zehiragana:12380,zekatakana:12476,zero:48,zeroarabic:1632,zerobengali:2534,zerodeva:2406,zerogujarati:2790,zerogurmukhi:2662,zerohackarabic:1632,zeroinferior:8320,zeromonospace:65296,zerooldstyle:63280,zeropersian:1776,zerosuperior:8304,zerothai:3664,zerowidthjoiner:65279,zerowidthnonjoiner:8204,zerowidthspace:8203,zeta:950,zhbopomofo:12563,zhearmenian:1386,zhebrevecyrillic:1218,zhecyrillic:1078,zhedescendercyrillic:1175,zhedieresiscyrillic:1245,zihiragana:12376,zikatakana:12472,zinorhebrew:1454,zlinebelow:7829,zmonospace:65370,zohiragana:12382,zokatakana:12478,zparen:9397,zretroflexhook:656,zstroke:438,zuhiragana:12378,zukatakana:12474,".notdef":0},DingbatsGlyphsUnicode={space:32,a1:9985,a2:9986,a202:9987,a3:9988,a4:9742,a5:9990,a119:9991,a118:9992,a117:9993,a11:9755,a12:9758,a13:9996,a14:9997,a15:9998,a16:9999,a105:1e4,a17:10001,a18:10002,a19:10003,a20:10004,a21:10005,a22:10006,a23:10007,a24:10008,a25:10009,a26:10010,a27:10011,a28:10012,a6:10013,a7:10014,a8:10015,a9:10016,a10:10017,a29:10018,a30:10019,a31:10020,a32:10021,a33:10022,a34:10023,a35:9733,a36:10025,a37:10026,a38:10027,a39:10028,a40:10029,a41:10030,a42:10031,a43:10032,a44:10033,a45:10034,a46:10035,a47:10036,a48:10037,a49:10038,a50:10039,a51:10040,a52:10041,a53:10042,a54:10043,a55:10044,a56:10045,a57:10046,a58:10047,a59:10048,a60:10049,a61:10050,a62:10051,a63:10052,a64:10053,a65:10054,a66:10055,a67:10056,a68:10057,a69:10058,a70:10059,a71:9679,a72:10061,a73:9632,a74:10063,a203:10064,a75:10065,a204:10066,a76:9650,a77:9660,a78:9670,a79:10070,a81:9687,a82:10072,a83:10073,a84:10074,a97:10075,a98:10076,a99:10077,a100:10078,a101:10081,a102:10082,a103:10083,a104:10084,a106:10085,a107:10086,a108:10087,a112:9827,a111:9830,a110:9829,a109:9824,a120:9312,a121:9313,a122:9314,a123:9315,a124:9316,a125:9317,a126:9318,a127:9319,a128:9320,a129:9321,a130:10102,a131:10103,a132:10104,a133:10105,a134:10106,a135:10107,a136:10108,a137:10109,a138:10110,a139:10111,a140:10112,a141:10113,a142:10114,a143:10115,a144:10116,a145:10117,a146:10118,a147:10119,a148:10120,a149:10121,a150:10122,a151:10123,a152:10124,a153:10125,a154:10126,a155:10127,a156:10128,a157:10129,a158:10130,a159:10131,a160:10132,a161:8594,a163:8596,a164:8597,a196:10136,a165:10137,a192:10138,a166:10139,a167:10140,a168:10141,a169:10142,a170:10143,a171:10144,a172:10145,a173:10146,a162:10147,a174:10148,a175:10149,a176:10150,a177:10151,a178:10152,a179:10153,a193:10154,a180:10155,a199:10156,a181:10157,a200:10158,a182:10159,a201:10161,a183:10162,a184:10163,a197:10164,a185:10165,a194:10166,a198:10167,a186:10168,a195:10169,a187:10170,a188:10171,a189:10172,a190:10173,a191:10174,a89:10088,a90:10089,a93:10090,a94:10091,a91:10092,a92:10093,a205:10094,a85:10095,a206:10096,a86:10097,a87:10098,a88:10099,a95:10100,a96:10101,".notdef":0},PDFImage=function(){function handleImageData(handler,xref,res,image){if(image instanceof JpegStream&&image.isNativelyDecodable(xref,res)){var dict=image.dict,colorSpace=dict.get("ColorSpace","CS");
+colorSpace=ColorSpace.parse(colorSpace,xref,res);var numComps=colorSpace.numComps,decodePromise=handler.sendWithPromise("JpegDecode",[image.getIR(),numComps]);return decodePromise.then(function(message){var data=message.data;return new Stream(data,0,data.length,image.dict)})}return Promise.resolve(image)}function decodeAndClamp(value,addend,coefficient,max){return value=addend+value*coefficient,0>value?0:value>max?max:value}function PDFImage(xref,res,image,inline,smask,mask,isMask){this.image=image;var dict=image.dict;if(dict.has("Filter")){var filter=dict.get("Filter").name;if("JPXDecode"===filter){var jpxImage=new JpxImage;jpxImage.parseImageProperties(image.stream),image.stream.reset(),image.bitsPerComponent=jpxImage.bitsPerComponent,image.numComps=jpxImage.componentsCount}else"JBIG2Decode"===filter&&(image.bitsPerComponent=1,image.numComps=1)}this.width=dict.get("Width","W"),this.height=dict.get("Height","H"),(this.width<1||this.height<1)&&error("Invalid image width: "+this.width+" or height: "+this.height),this.interpolate=dict.get("Interpolate","I")||!1,this.imageMask=dict.get("ImageMask","IM")||!1,this.matte=dict.get("Matte")||!1;var bitsPerComponent=image.bitsPerComponent;if(bitsPerComponent||(bitsPerComponent=dict.get("BitsPerComponent","BPC"),bitsPerComponent||(this.imageMask?bitsPerComponent=1:error("Bits per component missing in image: "+this.imageMask))),this.bpc=bitsPerComponent,!this.imageMask){var colorSpace=dict.get("ColorSpace","CS");if(!colorSpace)switch(info("JPX images (which do not require color spaces)"),image.numComps){case 1:colorSpace=Name.get("DeviceGray");break;case 3:colorSpace=Name.get("DeviceRGB");break;case 4:colorSpace=Name.get("DeviceCMYK");break;default:error("JPX images with "+this.numComps+" color components not supported.")}this.colorSpace=ColorSpace.parse(colorSpace,xref,res),this.numComps=this.colorSpace.numComps}if(this.decode=dict.get("Decode","D"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode)||isMask&&!ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;var max=(1<<bitsPerComponent)-1;this.decodeCoefficients=[],this.decodeAddends=[];for(var i=0,j=0;i<this.decode.length;i+=2,++j){var dmin=this.decode[i],dmax=this.decode[i+1];this.decodeCoefficients[j]=dmax-dmin,this.decodeAddends[j]=max*dmin}}smask?this.smask=new PDFImage(xref,res,smask,!1):mask&&(this.mask=isStream(mask)?new PDFImage(xref,res,mask,!1,null,null,!0):mask)}return PDFImage.buildImage=function(handler,xref,res,image,inline){var smaskPromise,maskPromise,imagePromise=handleImageData(handler,xref,res,image),smask=image.dict.get("SMask"),mask=image.dict.get("Mask");return smask?(smaskPromise=handleImageData(handler,xref,res,smask),maskPromise=Promise.resolve(null)):(smaskPromise=Promise.resolve(null),mask?isStream(mask)?maskPromise=handleImageData(handler,xref,res,mask):isArray(mask)?maskPromise=Promise.resolve(mask):(warn("Unsupported mask format."),maskPromise=Promise.resolve(null)):maskPromise=Promise.resolve(null)),Promise.all([imagePromise,smaskPromise,maskPromise]).then(function(results){var imageData=results[0],smaskData=results[1],maskData=results[2];return new PDFImage(xref,res,imageData,inline,smaskData,maskData)})},PDFImage.resize=function(pixels,bpc,components,w1,h1,w2,h2,dest,alpha01){1!==components&&3!==components&&error("Unsupported component count for resizing.");var i,j,py,oldIndex,length=w2*h2*components,temp=dest?dest:8>=bpc?new Uint8Array(length):16>=bpc?new Uint16Array(length):new Uint32Array(length),xRatio=w1/w2,yRatio=h1/h2,newIndex=0,xScaled=new Uint16Array(w2),w1Scanline=w1*components;for(1!==alpha01&&(alpha01=0),j=0;w2>j;j++)xScaled[j]=Math.floor(j*xRatio)*components;if(1===components)for(i=0;h2>i;i++)for(py=Math.floor(i*yRatio)*w1Scanline,j=0;w2>j;j++)oldIndex=py+xScaled[j],temp[newIndex++]=pixels[oldIndex];else if(3===components)for(i=0;h2>i;i++)for(py=Math.floor(i*yRatio)*w1Scanline,j=0;w2>j;j++)oldIndex=py+xScaled[j],temp[newIndex++]=pixels[oldIndex++],temp[newIndex++]=pixels[oldIndex++],temp[newIndex++]=pixels[oldIndex++],newIndex+=alpha01;return temp},PDFImage.createMask=function(imgArray,width,height,imageIsFromDecodeStream,inverseDecode){var data,i,computedLength=(width+7>>3)*height,actualLength=imgArray.byteLength,haveFullData=computedLength===actualLength;if(!imageIsFromDecodeStream||inverseDecode&&!haveFullData)if(inverseDecode)for(data=new Uint8Array(computedLength),data.set(imgArray),i=actualLength;computedLength>i;i++)data[i]=255;else data=new Uint8Array(actualLength),data.set(imgArray);else data=imgArray;if(inverseDecode)for(i=0;actualLength>i;i++)data[i]=~data[i];return{data:data,width:width,height:height}},PDFImage.prototype={get drawWidth(){return Math.max(this.width,this.smask&&this.smask.width||0,this.mask&&this.mask.width||0)},get drawHeight(){return Math.max(this.height,this.smask&&this.smask.height||0,this.mask&&this.mask.height||0)},decodeBuffer:function(buffer){var i,ii,bpc=this.bpc,numComps=this.numComps,decodeAddends=this.decodeAddends,decodeCoefficients=this.decodeCoefficients,max=(1<<bpc)-1;if(1!==bpc){var index=0;for(i=0,ii=this.width*this.height;ii>i;i++)for(var j=0;numComps>j;j++)buffer[index]=decodeAndClamp(buffer[index],decodeAddends[j],decodeCoefficients[j],max),index++}else for(i=0,ii=buffer.length;ii>i;i++)buffer[i]=+!buffer[i]},getComponents:function(buffer){var bpc=this.bpc;if(8===bpc)return buffer;var ii,buf,width=this.width,height=this.height,numComps=this.numComps,length=width*height*numComps,bufferPos=0,output=8>=bpc?new Uint8Array(length):16>=bpc?new Uint16Array(length):new Uint32Array(length),rowComps=width*numComps,max=(1<<bpc)-1,i=0;if(1===bpc)for(var mask,loop1End,loop2End,j=0;height>j;j++){for(loop1End=i+(-8&rowComps),loop2End=i+rowComps;loop1End>i;)buf=buffer[bufferPos++],output[i]=buf>>7&1,output[i+1]=buf>>6&1,output[i+2]=buf>>5&1,output[i+3]=buf>>4&1,output[i+4]=buf>>3&1,output[i+5]=buf>>2&1,output[i+6]=buf>>1&1,output[i+7]=1&buf,i+=8;if(loop2End>i)for(buf=buffer[bufferPos++],mask=128;loop2End>i;)output[i++]=+!!(buf&mask),mask>>=1}else{var bits=0;for(buf=0,i=0,ii=length;ii>i;++i){for(i%rowComps===0&&(buf=0,bits=0);bpc>bits;)buf=buf<<8|buffer[bufferPos++],bits+=8;var remainingBits=bits-bpc,value=buf>>remainingBits;output[i]=0>value?0:value>max?max:value,buf&=(1<<remainingBits)-1,bits=remainingBits}}return output},fillOpacity:function(rgbaBuf,width,height,actualHeight,image){var alphaBuf,sw,sh,i,ii,j,smask=this.smask,mask=this.mask;if(smask)sw=smask.width,sh=smask.height,alphaBuf=new Uint8Array(sw*sh),smask.fillGrayBuffer(alphaBuf),(sw!==width||sh!==height)&&(alphaBuf=PDFImage.resize(alphaBuf,smask.bpc,1,sw,sh,width,height));else if(mask)if(mask instanceof PDFImage){for(sw=mask.width,sh=mask.height,alphaBuf=new Uint8Array(sw*sh),mask.numComps=1,mask.fillGrayBuffer(alphaBuf),i=0,ii=sw*sh;ii>i;++i)alphaBuf[i]=255-alphaBuf[i];(sw!==width||sh!==height)&&(alphaBuf=PDFImage.resize(alphaBuf,mask.bpc,1,sw,sh,width,height))}else if(isArray(mask)){alphaBuf=new Uint8Array(width*height);var numComps=this.numComps;for(i=0,ii=width*height;ii>i;++i){var opacity=0,imageOffset=i*numComps;for(j=0;numComps>j;++j){var color=image[imageOffset+j],maskOffset=2*j;if(color<mask[maskOffset]||color>mask[maskOffset+1]){opacity=255;break}}alphaBuf[i]=opacity}}else error("Unknown mask format.");if(alphaBuf)for(i=0,j=3,ii=width*actualHeight;ii>i;++i,j+=4)rgbaBuf[j]=alphaBuf[i];else for(i=0,j=3,ii=width*actualHeight;ii>i;++i,j+=4)rgbaBuf[j]=255},undoPreblend:function(buffer,width,height){var matte=this.smask&&this.smask.matte;if(matte)for(var r,g,b,matteRgb=this.colorSpace.getRgb(matte,0),matteR=matteRgb[0],matteG=matteRgb[1],matteB=matteRgb[2],length=width*height*4,i=0;length>i;i+=4){var alpha=buffer[i+3];if(0!==alpha){var k=255/alpha;r=(buffer[i]-matteR)*k+matteR,g=(buffer[i+1]-matteG)*k+matteG,b=(buffer[i+2]-matteB)*k+matteB,buffer[i]=0>=r?0:r>=255?255:0|r,buffer[i+1]=0>=g?0:g>=255?255:0|g,buffer[i+2]=0>=b?0:b>=255?255:0|b}else buffer[i]=255,buffer[i+1]=255,buffer[i+2]=255}},createImageData:function(forceRGBA){var imgArray,drawWidth=this.drawWidth,drawHeight=this.drawHeight,imgData={width:drawWidth,height:drawHeight},numComps=this.numComps,originalWidth=this.width,originalHeight=this.height,bpc=this.bpc,rowBytes=originalWidth*numComps*bpc+7>>3;if(!forceRGBA){var kind;if("DeviceGray"===this.colorSpace.name&&1===bpc?kind=ImageKind.GRAYSCALE_1BPP:"DeviceRGB"!==this.colorSpace.name||8!==bpc||this.needsDecode||(kind=ImageKind.RGB_24BPP),kind&&!this.smask&&!this.mask&&drawWidth===originalWidth&&drawHeight===originalHeight){if(imgData.kind=kind,imgArray=this.getImageBytes(originalHeight*rowBytes),this.image instanceof DecodeStream)imgData.data=imgArray;else{var newArray=new Uint8Array(imgArray.length);newArray.set(imgArray),imgData.data=newArray}if(this.needsDecode){assert(kind===ImageKind.GRAYSCALE_1BPP);for(var buffer=imgData.data,i=0,ii=buffer.length;ii>i;i++)buffer[i]^=255}return imgData}if(this.image instanceof JpegStream&&!this.smask&&!this.mask)return imgData.kind=ImageKind.RGB_24BPP,imgData.data=this.getImageBytes(originalHeight*rowBytes,drawWidth,drawHeight,!0),imgData}imgArray=this.getImageBytes(originalHeight*rowBytes);var alpha01,maybeUndoPreblend,actualHeight=0|imgArray.length/rowBytes*drawHeight/originalHeight,comps=this.getComponents(imgArray);return forceRGBA||this.smask||this.mask?(imgData.kind=ImageKind.RGBA_32BPP,imgData.data=new Uint8Array(drawWidth*drawHeight*4),alpha01=1,maybeUndoPreblend=!0,this.fillOpacity(imgData.data,drawWidth,drawHeight,actualHeight,comps)):(imgData.kind=ImageKind.RGB_24BPP,imgData.data=new Uint8Array(drawWidth*drawHeight*3),alpha01=0,maybeUndoPreblend=!1),this.needsDecode&&this.decodeBuffer(comps),this.colorSpace.fillRgb(imgData.data,originalWidth,originalHeight,drawWidth,drawHeight,actualHeight,bpc,comps,alpha01),maybeUndoPreblend&&this.undoPreblend(imgData.data,drawWidth,actualHeight),imgData},fillGrayBuffer:function(buffer){var numComps=this.numComps;1!==numComps&&error("Reading gray scale from a color image: "+numComps);var i,length,width=this.width,height=this.height,bpc=this.bpc,rowBytes=width*numComps*bpc+7>>3,imgArray=this.getImageBytes(height*rowBytes),comps=this.getComponents(imgArray);if(1!==bpc){this.needsDecode&&this.decodeBuffer(comps),length=width*height;var scale=255/((1<<bpc)-1);for(i=0;length>i;++i)buffer[i]=scale*comps[i]|0}else if(length=width*height,this.needsDecode)for(i=0;length>i;++i)buffer[i]=comps[i]-1&255;else for(i=0;length>i;++i)buffer[i]=255&-comps[i]},getImageBytes:function(length,drawWidth,drawHeight,forceRGB){return this.image.reset(),this.image.drawWidth=drawWidth||this.width,this.image.drawHeight=drawHeight||this.height,this.image.forceRGB=!!forceRGB,this.image.getBytes(length)}},PDFImage}(),Metrics={Courier:600,"Courier-Bold":600,"Courier-BoldOblique":600,"Courier-Oblique":600,Helvetica:{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},"Helvetica-Bold":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-BoldOblique":{space:278,exclam:333,quotedbl:474,numbersign:556,dollar:556,percent:889,ampersand:722,quoteright:278,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:333,semicolon:333,less:584,equal:584,greater:584,question:611,at:975,A:722,B:722,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:556,K:722,L:611,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:584,underscore:556,quoteleft:278,a:556,b:611,c:556,d:611,e:556,f:333,g:611,h:611,i:278,j:278,k:556,l:278,m:889,n:611,o:611,p:611,q:611,r:389,s:556,t:333,u:611,v:556,w:778,x:556,y:556,z:500,braceleft:389,bar:280,braceright:389,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:238,quotedblleft:500,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:611,fl:611,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:556,bullet:350,quotesinglbase:278,quotedblbase:500,quotedblright:500,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:611,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:278,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:611,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:722,aacute:556,Ucircumflex:722,yacute:556,scommaaccent:556,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:611,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:556,aring:556,Ncommaaccent:722,lacute:278,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:556,scedilla:556,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:611,acircumflex:556,Amacron:722,rcaron:389,ccedilla:556,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:743,Umacron:722,uring:611,threesuperior:333,Ograve:778,Agrave:722,Abreve:722,multiply:584,uacute:611,Tcaron:611,partialdiff:494,ydieresis:556,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:556,nacute:611,umacron:611,Ncaron:722,Iacute:278,plusminus:584,brokenbar:280,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:389,omacron:611,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:389,eogonek:556,Uogonek:722,Aacute:722,Adieresis:722,egrave:556,zacute:500,iogonek:278,Oacute:778,oacute:611,amacron:556,sacute:556,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:611,twosuperior:333,Odieresis:778,mu:611,igrave:278,ohungarumlaut:611,Eogonek:667,dcroat:611,threequarters:834,Scedilla:667,lcaron:400,Kcommaaccent:722,Lacute:611,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:611,onehalf:834,lessequal:549,ocircumflex:611,ntilde:611,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:611,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:611,Ccaron:722,ugrave:611,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:611,Rcommaaccent:722,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:556,minus:584,Icircumflex:278,ncaron:611,tcommaaccent:333,logicalnot:584,odieresis:611,udieresis:611,notequal:549,gcommaaccent:611,eth:611,zcaron:500,ncommaaccent:611,onesuperior:333,imacron:278,Euro:556},"Helvetica-Oblique":{space:278,exclam:278,quotedbl:355,numbersign:556,dollar:556,percent:889,ampersand:667,quoteright:222,parenleft:333,parenright:333,asterisk:389,plus:584,comma:278,hyphen:333,period:278,slash:278,zero:556,one:556,two:556,three:556,four:556,five:556,six:556,seven:556,eight:556,nine:556,colon:278,semicolon:278,less:584,equal:584,greater:584,question:556,at:1015,A:667,B:667,C:722,D:722,E:667,F:611,G:778,H:722,I:278,J:500,K:667,L:556,M:833,N:722,O:778,P:667,Q:778,R:722,S:667,T:611,U:722,V:667,W:944,X:667,Y:667,Z:611,bracketleft:278,backslash:278,bracketright:278,asciicircum:469,underscore:556,quoteleft:222,a:556,b:556,c:500,d:556,e:556,f:278,g:556,h:556,i:222,j:222,k:500,l:222,m:833,n:556,o:556,p:556,q:556,r:333,s:500,t:278,u:556,v:500,w:722,x:500,y:500,z:500,braceleft:334,bar:260,braceright:334,asciitilde:584,exclamdown:333,cent:556,sterling:556,fraction:167,yen:556,florin:556,section:556,currency:556,quotesingle:191,quotedblleft:333,guillemotleft:556,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:556,dagger:556,daggerdbl:556,periodcentered:278,paragraph:537,bullet:350,quotesinglbase:222,quotedblbase:333,quotedblright:333,guillemotright:556,ellipsis:1e3,perthousand:1e3,questiondown:611,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:370,Lslash:556,Oslash:778,OE:1e3,ordmasculine:365,ae:889,dotlessi:278,lslash:222,oslash:611,oe:944,germandbls:611,Idieresis:278,eacute:556,abreve:556,uhungarumlaut:556,ecaron:556,Ydieresis:667,divide:584,Yacute:667,Acircumflex:667,aacute:556,Ucircumflex:722,yacute:500,scommaaccent:500,ecircumflex:556,Uring:722,Udieresis:722,aogonek:556,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:737,Emacron:667,ccaron:500,aring:556,Ncommaaccent:722,lacute:222,agrave:556,Tcommaaccent:611,Cacute:722,atilde:556,Edotaccent:667,scaron:500,scedilla:500,iacute:278,lozenge:471,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:556,Amacron:667,rcaron:333,ccedilla:500,Zdotaccent:611,Thorn:667,Omacron:778,Racute:722,Sacute:667,dcaron:643,Umacron:722,uring:556,threesuperior:333,Ograve:778,Agrave:667,Abreve:667,multiply:584,uacute:556,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:556,edieresis:556,cacute:500,nacute:556,umacron:556,Ncaron:722,Iacute:278,plusminus:584,brokenbar:260,registered:737,Gbreve:778,Idotaccent:278,summation:600,Egrave:667,racute:333,omacron:556,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:222,tcaron:317,eogonek:556,Uogonek:722,Aacute:667,Adieresis:667,egrave:556,zacute:500,iogonek:222,Oacute:778,oacute:556,amacron:556,sacute:500,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:333,Odieresis:778,mu:556,igrave:278,ohungarumlaut:556,Eogonek:667,dcroat:556,threequarters:834,Scedilla:667,lcaron:299,Kcommaaccent:667,Lacute:556,trademark:1e3,edotaccent:556,Igrave:278,Imacron:278,Lcaron:556,onehalf:834,lessequal:549,ocircumflex:556,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:556,gbreve:556,onequarter:834,Scaron:667,Scommaaccent:667,Ohungarumlaut:778,degree:400,ograve:556,Ccaron:722,ugrave:556,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:556,Rcommaaccent:722,Lcommaaccent:556,Atilde:667,Aogonek:667,Aring:667,Otilde:778,zdotaccent:500,Ecaron:667,Iogonek:278,kcommaaccent:500,minus:584,Icircumflex:278,ncaron:556,tcommaaccent:278,logicalnot:584,odieresis:556,udieresis:556,notequal:549,gcommaaccent:556,eth:556,zcaron:500,ncommaaccent:556,onesuperior:333,imacron:278,Euro:556},Symbol:{space:250,exclam:333,universal:713,numbersign:500,existential:549,percent:833,ampersand:778,suchthat:439,parenleft:333,parenright:333,asteriskmath:500,plus:549,comma:250,minus:549,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:549,equal:549,greater:549,question:444,congruent:549,Alpha:722,Beta:667,Chi:722,Delta:612,Epsilon:611,Phi:763,Gamma:603,Eta:722,Iota:333,theta1:631,Kappa:722,Lambda:686,Mu:889,Nu:722,Omicron:722,Pi:768,Theta:741,Rho:556,Sigma:592,Tau:611,Upsilon:690,sigma1:439,Omega:768,Xi:645,Psi:795,Zeta:611,bracketleft:333,therefore:863,bracketright:333,perpendicular:658,underscore:500,radicalex:500,alpha:631,beta:549,chi:549,delta:494,epsilon:439,phi:521,gamma:411,eta:603,iota:329,phi1:603,kappa:549,lambda:549,mu:576,nu:521,omicron:549,pi:549,theta:521,rho:549,sigma:603,tau:439,upsilon:576,omega1:713,omega:686,xi:493,psi:686,zeta:494,braceleft:480,bar:200,braceright:480,similar:549,Euro:750,Upsilon1:620,minute:247,lessequal:549,fraction:167,infinity:713,florin:500,club:753,diamond:753,heart:753,spade:753,arrowboth:1042,arrowleft:987,arrowup:603,arrowright:987,arrowdown:603,degree:400,plusminus:549,second:411,greaterequal:549,multiply:549,proportional:713,partialdiff:494,bullet:460,divide:549,notequal:549,equivalence:549,approxequal:549,ellipsis:1e3,arrowvertex:603,arrowhorizex:1e3,carriagereturn:658,aleph:823,Ifraktur:686,Rfraktur:795,weierstrass:987,circlemultiply:768,circleplus:768,emptyset:823,intersection:768,union:768,propersuperset:713,reflexsuperset:713,notsubset:713,propersubset:713,reflexsubset:713,element:713,notelement:713,angle:768,gradient:713,registerserif:790,copyrightserif:790,trademarkserif:890,product:823,radical:549,dotmath:250,logicalnot:713,logicaland:603,logicalor:603,arrowdblboth:1042,arrowdblleft:987,arrowdblup:603,arrowdblright:987,arrowdbldown:603,lozenge:494,angleleft:329,registersans:790,copyrightsans:790,trademarksans:786,summation:713,parenlefttp:384,parenleftex:384,parenleftbt:384,bracketlefttp:384,bracketleftex:384,bracketleftbt:384,bracelefttp:494,braceleftmid:494,braceleftbt:494,braceex:494,angleright:329,integral:274,integraltp:686,integralex:686,integralbt:686,parenrighttp:384,parenrightex:384,parenrightbt:384,bracketrighttp:384,bracketrightex:384,bracketrightbt:384,bracerighttp:494,bracerightmid:494,bracerightbt:494,apple:790},"Times-Roman":{space:250,exclam:333,quotedbl:408,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:564,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:278,semicolon:278,less:564,equal:564,greater:564,question:444,at:921,A:722,B:667,C:667,D:722,E:611,F:556,G:722,H:722,I:333,J:389,K:722,L:611,M:889,N:722,O:722,P:556,Q:722,R:667,S:556,T:611,U:722,V:722,W:944,X:722,Y:722,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:469,underscore:500,quoteleft:333,a:444,b:500,c:444,d:500,e:444,f:333,g:500,h:500,i:278,j:278,k:500,l:278,m:778,n:500,o:500,p:500,q:500,r:333,s:389,t:278,u:500,v:500,w:722,x:500,y:500,z:444,braceleft:480,bar:200,braceright:480,asciitilde:541,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:180,quotedblleft:444,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:453,bullet:350,quotesinglbase:333,quotedblbase:444,quotedblright:444,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:444,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:889,ordfeminine:276,Lslash:611,Oslash:722,OE:889,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:333,eacute:444,abreve:444,uhungarumlaut:500,ecaron:444,Ydieresis:722,divide:564,Yacute:722,Acircumflex:722,aacute:444,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:444,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:444,Ncommaaccent:722,lacute:278,agrave:444,Tcommaaccent:611,Cacute:667,atilde:444,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:667,Gcommaaccent:722,ucircumflex:500,acircumflex:444,Amacron:722,rcaron:333,ccedilla:444,Zdotaccent:611,Thorn:556,Omacron:722,Racute:667,Sacute:556,dcaron:588,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:722,Abreve:722,multiply:564,uacute:500,Tcaron:611,partialdiff:476,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:611,adieresis:444,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:722,Iacute:333,plusminus:564,brokenbar:200,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:333,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:326,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:722,oacute:500,amacron:444,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:556,lcaron:344,Kcommaaccent:722,Lacute:611,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:333,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:722,Aogonek:722,Aring:722,Otilde:722,zdotaccent:444,Ecaron:611,Iogonek:333,kcommaaccent:500,minus:564,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:564,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},"Times-Bold":{space:250,exclam:333,quotedbl:555,numbersign:500,dollar:500,percent:1e3,ampersand:833,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:930,A:722,B:667,C:722,D:722,E:667,F:611,G:778,H:778,I:389,J:500,K:778,L:667,M:944,N:722,O:778,P:611,Q:778,R:722,S:556,T:667,U:722,V:722,W:1e3,X:722,Y:722,Z:667,bracketleft:333,backslash:278,bracketright:333,asciicircum:581,underscore:500,quoteleft:333,a:500,b:556,c:444,d:556,e:444,f:333,g:500,h:556,i:278,j:333,k:556,l:278,m:833,n:556,o:500,p:556,q:556,r:444,s:389,t:333,u:556,v:500,w:722,x:500,y:500,z:444,braceleft:394,bar:220,braceright:394,asciitilde:520,exclamdown:333,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:540,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:1e3,ordfeminine:300,Lslash:667,Oslash:778,OE:1e3,ordmasculine:330,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:556,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:722,divide:570,Yacute:722,Acircumflex:722,aacute:500,Ucircumflex:722,yacute:500,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:667,Cacute:722,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:722,Gcommaaccent:778,ucircumflex:556,acircumflex:500,Amacron:722,rcaron:444,ccedilla:444,Zdotaccent:667,Thorn:611,Omacron:778,Racute:722,Sacute:556,dcaron:672,Umacron:722,uring:556,threesuperior:300,Ograve:778,Agrave:722,Abreve:722,multiply:570,uacute:556,Tcaron:667,partialdiff:494,ydieresis:500,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:778,Idotaccent:389,summation:600,Egrave:667,racute:444,omacron:500,Zacute:667,Zcaron:667,greaterequal:549,Eth:722,Ccedilla:722,lcommaaccent:278,tcaron:416,eogonek:444,Uogonek:722,Aacute:722,Adieresis:722,egrave:444,zacute:444,iogonek:278,Oacute:778,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:778,Ugrave:722,Delta:612,thorn:556,twosuperior:300,Odieresis:778,mu:556,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:556,threequarters:750,Scedilla:556,lcaron:394,Kcommaaccent:778,Lacute:667,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:667,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:778,degree:400,ograve:500,Ccaron:722,ugrave:556,radical:549,Dcaron:722,rcommaaccent:444,Ntilde:722,otilde:500,Rcommaaccent:722,Lcommaaccent:667,Atilde:722,Aogonek:722,Aring:722,Otilde:778,zdotaccent:444,Ecaron:667,Iogonek:389,kcommaaccent:556,minus:570,Icircumflex:389,ncaron:556,tcommaaccent:333,logicalnot:570,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:444,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-BoldItalic":{space:250,exclam:389,quotedbl:555,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:570,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:570,equal:570,greater:570,question:500,at:832,A:667,B:667,C:667,D:722,E:667,F:667,G:722,H:778,I:389,J:500,K:667,L:611,M:889,N:722,O:722,P:611,Q:722,R:667,S:556,T:611,U:722,V:667,W:889,X:667,Y:611,Z:611,bracketleft:333,backslash:278,bracketright:333,asciicircum:570,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:333,g:500,h:556,i:278,j:278,k:500,l:278,m:778,n:556,o:500,p:500,q:500,r:389,s:389,t:278,u:556,v:444,w:667,x:500,y:444,z:389,braceleft:348,bar:220,braceright:348,asciitilde:570,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:278,quotedblleft:500,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:556,fl:556,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:500,bullet:350,quotesinglbase:333,quotedblbase:500,quotedblright:500,guillemotright:500,ellipsis:1e3,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:1e3,AE:944,ordfeminine:266,Lslash:611,Oslash:722,OE:944,ordmasculine:300,ae:722,dotlessi:278,lslash:278,oslash:500,oe:722,germandbls:500,Idieresis:389,eacute:444,abreve:500,uhungarumlaut:556,ecaron:444,Ydieresis:611,divide:570,Yacute:611,Acircumflex:667,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:556,Edieresis:667,Dcroat:722,commaaccent:250,copyright:747,Emacron:667,ccaron:444,aring:500,Ncommaaccent:722,lacute:278,agrave:500,Tcommaaccent:611,Cacute:667,atilde:500,Edotaccent:667,scaron:389,scedilla:389,iacute:278,lozenge:494,Rcaron:667,Gcommaaccent:722,ucircumflex:556,acircumflex:500,Amacron:667,rcaron:389,ccedilla:444,Zdotaccent:611,Thorn:611,Omacron:722,Racute:667,Sacute:556,dcaron:608,Umacron:722,uring:556,threesuperior:300,Ograve:722,Agrave:667,Abreve:667,multiply:570,uacute:556,Tcaron:611,partialdiff:494,ydieresis:444,Nacute:722,icircumflex:278,Ecircumflex:667,adieresis:500,edieresis:444,cacute:444,nacute:556,umacron:556,Ncaron:722,Iacute:389,plusminus:570,brokenbar:220,registered:747,Gbreve:722,Idotaccent:389,summation:600,Egrave:667,racute:389,omacron:500,Zacute:611,Zcaron:611,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:366,eogonek:444,Uogonek:722,Aacute:667,Adieresis:667,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:576,igrave:278,ohungarumlaut:500,Eogonek:667,dcroat:500,threequarters:750,Scedilla:556,lcaron:382,Kcommaaccent:667,Lacute:611,trademark:1e3,edotaccent:444,Igrave:389,Imacron:389,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:556,Uhungarumlaut:722,Eacute:667,emacron:444,gbreve:500,onequarter:750,Scaron:556,Scommaaccent:556,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:556,radical:549,Dcaron:722,rcommaaccent:389,Ntilde:722,otilde:500,Rcommaaccent:667,Lcommaaccent:611,Atilde:667,Aogonek:667,Aring:667,Otilde:722,zdotaccent:389,Ecaron:667,Iogonek:389,kcommaaccent:500,minus:606,Icircumflex:389,ncaron:556,tcommaaccent:278,logicalnot:606,odieresis:500,udieresis:556,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:556,onesuperior:300,imacron:278,Euro:500},"Times-Italic":{space:250,exclam:333,quotedbl:420,numbersign:500,dollar:500,percent:833,ampersand:778,quoteright:333,parenleft:333,parenright:333,asterisk:500,plus:675,comma:250,hyphen:333,period:250,slash:278,zero:500,one:500,two:500,three:500,four:500,five:500,six:500,seven:500,eight:500,nine:500,colon:333,semicolon:333,less:675,equal:675,greater:675,question:500,at:920,A:611,B:611,C:667,D:722,E:611,F:611,G:722,H:722,I:333,J:444,K:667,L:556,M:833,N:667,O:722,P:611,Q:722,R:611,S:500,T:556,U:722,V:611,W:833,X:611,Y:556,Z:556,bracketleft:389,backslash:278,bracketright:389,asciicircum:422,underscore:500,quoteleft:333,a:500,b:500,c:444,d:500,e:444,f:278,g:500,h:500,i:278,j:278,k:444,l:278,m:722,n:500,o:500,p:500,q:500,r:389,s:389,t:278,u:500,v:444,w:667,x:444,y:444,z:389,braceleft:400,bar:275,braceright:400,asciitilde:541,exclamdown:389,cent:500,sterling:500,fraction:167,yen:500,florin:500,section:500,currency:500,quotesingle:214,quotedblleft:556,guillemotleft:500,guilsinglleft:333,guilsinglright:333,fi:500,fl:500,endash:500,dagger:500,daggerdbl:500,periodcentered:250,paragraph:523,bullet:350,quotesinglbase:333,quotedblbase:556,quotedblright:556,guillemotright:500,ellipsis:889,perthousand:1e3,questiondown:500,grave:333,acute:333,circumflex:333,tilde:333,macron:333,breve:333,dotaccent:333,dieresis:333,ring:333,cedilla:333,hungarumlaut:333,ogonek:333,caron:333,emdash:889,AE:889,ordfeminine:276,Lslash:556,Oslash:722,OE:944,ordmasculine:310,ae:667,dotlessi:278,lslash:278,oslash:500,oe:667,germandbls:500,Idieresis:333,eacute:444,abreve:500,uhungarumlaut:500,ecaron:444,Ydieresis:556,divide:675,Yacute:556,Acircumflex:611,aacute:500,Ucircumflex:722,yacute:444,scommaaccent:389,ecircumflex:444,Uring:722,Udieresis:722,aogonek:500,Uacute:722,uogonek:500,Edieresis:611,Dcroat:722,commaaccent:250,copyright:760,Emacron:611,ccaron:444,aring:500,Ncommaaccent:667,lacute:278,agrave:500,Tcommaaccent:556,Cacute:667,atilde:500,Edotaccent:611,scaron:389,scedilla:389,iacute:278,lozenge:471,Rcaron:611,Gcommaaccent:722,ucircumflex:500,acircumflex:500,Amacron:611,rcaron:389,ccedilla:444,Zdotaccent:556,Thorn:611,Omacron:722,Racute:611,Sacute:500,dcaron:544,Umacron:722,uring:500,threesuperior:300,Ograve:722,Agrave:611,Abreve:611,multiply:675,uacute:500,Tcaron:556,partialdiff:476,ydieresis:444,Nacute:667,icircumflex:278,Ecircumflex:611,adieresis:500,edieresis:444,cacute:444,nacute:500,umacron:500,Ncaron:667,Iacute:333,plusminus:675,brokenbar:275,registered:760,Gbreve:722,Idotaccent:333,summation:600,Egrave:611,racute:389,omacron:500,Zacute:556,Zcaron:556,greaterequal:549,Eth:722,Ccedilla:667,lcommaaccent:278,tcaron:300,eogonek:444,Uogonek:722,Aacute:611,Adieresis:611,egrave:444,zacute:389,iogonek:278,Oacute:722,oacute:500,amacron:500,sacute:389,idieresis:278,Ocircumflex:722,Ugrave:722,Delta:612,thorn:500,twosuperior:300,Odieresis:722,mu:500,igrave:278,ohungarumlaut:500,Eogonek:611,dcroat:500,threequarters:750,Scedilla:500,lcaron:300,Kcommaaccent:667,Lacute:556,trademark:980,edotaccent:444,Igrave:333,Imacron:333,Lcaron:611,onehalf:750,lessequal:549,ocircumflex:500,ntilde:500,Uhungarumlaut:722,Eacute:611,emacron:444,gbreve:500,onequarter:750,Scaron:500,Scommaaccent:500,Ohungarumlaut:722,degree:400,ograve:500,Ccaron:667,ugrave:500,radical:453,Dcaron:722,rcommaaccent:389,Ntilde:667,otilde:500,Rcommaaccent:611,Lcommaaccent:556,Atilde:611,Aogonek:611,Aring:611,Otilde:722,zdotaccent:389,Ecaron:611,Iogonek:333,kcommaaccent:444,minus:675,Icircumflex:333,ncaron:500,tcommaaccent:278,logicalnot:675,odieresis:500,udieresis:500,notequal:549,gcommaaccent:500,eth:500,zcaron:389,ncommaaccent:500,onesuperior:300,imacron:278,Euro:500},ZapfDingbats:{space:278,a1:974,a2:961,a202:974,a3:980,a4:719,a5:789,a119:790,a118:791,a117:690,a11:960,a12:939,a13:549,a14:855,a15:911,a16:933,a105:911,a17:945,a18:974,a19:755,a20:846,a21:762,a22:761,a23:571,a24:677,a25:763,a26:760,a27:759,a28:754,a6:494,a7:552,a8:537,a9:577,a10:692,a29:786,a30:788,a31:788,a32:790,a33:793,a34:794,a35:816,a36:823,a37:789,a38:841,a39:823,a40:833,a41:816,a42:831,a43:923,a44:744,a45:723,a46:749,a47:790,a48:792,a49:695,a50:776,a51:768,a52:792,a53:759,a54:707,a55:708,a56:682,a57:701,a58:826,a59:815,a60:789,a61:789,a62:707,a63:687,a64:696,a65:689,a66:786,a67:787,a68:713,a69:791,a70:785,a71:791,a72:873,a73:761,a74:762,a203:762,a75:759,a204:759,a76:892,a77:892,a78:788,a79:784,a81:438,a82:138,a83:277,a84:415,a97:392,a98:392,a99:668,a100:668,a89:390,a90:390,a93:317,a94:317,a91:276,a92:276,a205:509,a85:509,a206:410,a86:410,a87:234,a88:234,a95:334,a96:334,a101:732,a102:544,a103:544,a104:910,a106:667,a107:760,a108:760,a112:776,a111:595,a110:694,a109:626,a120:788,a121:788,a122:788,a123:788,a124:788,a125:788,a126:788,a127:788,a128:788,a129:788,a130:788,a131:788,a132:788,a133:788,a134:788,a135:788,a136:788,a137:788,a138:788,a139:788,a140:788,a141:788,a142:788,a143:788,a144:788,a145:788,a146:788,a147:788,a148:788,a149:788,a150:788,a151:788,a152:788,a153:788,a154:788,a155:788,a156:788,a157:788,a158:788,a159:788,a160:894,a161:838,a163:1016,a164:458,a196:748,a165:924,a192:748,a166:918,a167:927,a168:928,a169:928,a170:834,a171:873,a172:828,a173:924,a162:924,a174:917,a175:930,a176:931,a177:463,a178:883,a179:836,a193:836,a180:867,a199:867,a181:696,a200:696,a182:874,a201:874,a183:760,a184:946,a197:771,a185:865,a194:771,a198:888,a186:967,a195:888,a187:831,a188:873,a189:927,a190:970,a191:918}},EOF={},Parser=function(){function Parser(lexer,allowStreams,xref){this.lexer=lexer,this.allowStreams=allowStreams,this.xref=xref,this.imageCache={length:0,adler32:0,stream:null},this.refill()
+}return Parser.prototype={refill:function(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()},shift:function(){isCmd(this.buf2,"ID")?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())},getObj:function(cipherTransform){var buf1=this.buf1;if(this.shift(),buf1 instanceof Cmd)switch(buf1.cmd){case"BI":return this.makeInlineImage(cipherTransform);case"[":for(var array=[];!isCmd(this.buf1,"]")&&!isEOF(this.buf1);)array.push(this.getObj(cipherTransform));return isEOF(this.buf1)&&error("End of file inside array"),this.shift(),array;case"<<":for(var dict=new Dict(this.xref);!isCmd(this.buf1,">>")&&!isEOF(this.buf1);)if(isName(this.buf1)){var key=this.buf1.name;if(this.shift(),isEOF(this.buf1))break;dict.set(key,this.getObj(cipherTransform))}else info("Malformed dictionary: key must be a name object"),this.shift();return isEOF(this.buf1)&&error("End of file inside dictionary"),isCmd(this.buf2,"stream")?this.allowStreams?this.makeStream(dict,cipherTransform):dict:(this.shift(),dict);default:return buf1}if(isInt(buf1)){var num=buf1;if(isInt(this.buf1)&&isCmd(this.buf2,"R")){var ref=new Ref(num,this.buf1);return this.shift(),this.shift(),ref}return num}if(isString(buf1)){var str=buf1;return cipherTransform&&(str=cipherTransform.decryptString(str)),str}return buf1},makeInlineImage:function(cipherTransform){for(var lexer=this.lexer,stream=lexer.stream,dict=new Dict(null);!isCmd(this.buf1,"ID")&&!isEOF(this.buf1);){isName(this.buf1)||error("Dictionary key must be a name object");var key=this.buf1.name;if(this.shift(),isEOF(this.buf1))break;dict.set(key,this.getObj(cipherTransform))}for(var ch,i,ii,startPos=stream.pos,state=0,E=69,I=73,SPACE=32,NL=10,CR=13;-1!==(ch=stream.getByte());)if(0===state)state=ch===E?1:0;else if(1===state)state=ch===I?2:0;else if(assert(2===state),ch===SPACE||ch===NL||ch===CR){var n=5,followingBytes=stream.peekBytes(n);for(i=0;n>i;i++)if(ch=followingBytes[i],ch!==NL&&ch!==CR&&(SPACE>ch||ch>127)){state=0;break}if(2===state)break}else state=0;var adler32,length=stream.pos-4-startPos,imageStream=stream.makeSubStream(startPos,length,dict),MAX_LENGTH_TO_CACHE=1e3,cacheImage=!1;if(MAX_LENGTH_TO_CACHE>length&&this.imageCache.length===length){var imageBytes=imageStream.getBytes();imageStream.reset();var a=1,b=0;for(i=0,ii=imageBytes.length;ii>i;++i)a=(a+(255&imageBytes[i]))%65521,b=(b+a)%65521;if(adler32=b<<16|a,this.imageCache.stream&&this.imageCache.adler32===adler32)return this.buf2=Cmd.get("EI"),this.shift(),this.imageCache.stream.reset(),this.imageCache.stream;cacheImage=!0}return cacheImage||this.imageCache.stream||(this.imageCache.length=length,this.imageCache.stream=null),cipherTransform&&(imageStream=cipherTransform.createStream(imageStream,length)),imageStream=this.filter(imageStream,dict,length),imageStream.dict=dict,cacheImage&&(imageStream.cacheKey="inline_"+length+"_"+adler32,this.imageCache.adler32=adler32,this.imageCache.stream=imageStream),this.buf2=Cmd.get("EI"),this.shift(),imageStream},fetchIfRef:function(obj){return isRef(obj)?this.xref.fetch(obj):obj},makeStream:function(dict,cipherTransform){var lexer=this.lexer,stream=lexer.stream;lexer.skipToNextLine();var pos=stream.pos-1,length=this.fetchIfRef(dict.get("Length"));if(isInt(length)||(info("Bad "+length+" attribute in stream"),length=0),stream.pos=pos+length,lexer.nextChar(),this.shift(),this.shift(),!isCmd(this.buf1,"endstream")){stream.pos=pos;for(var i,j,SCAN_BLOCK_SIZE=2048,ENDSTREAM_SIGNATURE_LENGTH=9,ENDSTREAM_SIGNATURE=[101,110,100,115,116,114,101,97,109],skipped=0,found=!1;stream.pos<stream.end;){var scanBytes=stream.peekBytes(SCAN_BLOCK_SIZE),scanLength=scanBytes.length-ENDSTREAM_SIGNATURE_LENGTH;if(0>=scanLength)break;for(found=!1,i=0,j=0;scanLength>i;i++){var b=scanBytes[i];if(b!==ENDSTREAM_SIGNATURE[j])i-=j,j=0;else if(j++,j>=ENDSTREAM_SIGNATURE_LENGTH){i++,found=!0;break}}if(found){skipped+=i-ENDSTREAM_SIGNATURE_LENGTH,stream.pos+=i-ENDSTREAM_SIGNATURE_LENGTH;break}skipped+=scanLength,stream.pos+=scanLength}found||error("Missing endstream"),length=skipped,lexer.nextChar(),this.shift(),this.shift()}return this.shift(),stream=stream.makeSubStream(pos,length,dict),cipherTransform&&(stream=cipherTransform.createStream(stream,length)),stream=this.filter(stream,dict,length),stream.dict=dict,stream},filter:function(stream,dict,length){var filter=this.fetchIfRef(dict.get("Filter","F")),params=this.fetchIfRef(dict.get("DecodeParms","DP"));if(isName(filter))return this.makeFilter(stream,filter.name,length,params);var maybeLength=length;if(isArray(filter))for(var filterArray=filter,paramsArray=params,i=0,ii=filterArray.length;ii>i;++i)filter=filterArray[i],isName(filter)||error("Bad filter name: "+filter),params=null,isArray(paramsArray)&&i in paramsArray&&(params=paramsArray[i]),stream=this.makeFilter(stream,filter.name,maybeLength,params),maybeLength=null;return stream},makeFilter:function(stream,name,maybeLength,params){if(0===stream.dict.get("Length"))return new NullStream(stream);try{params&&(params=this.fetchIfRef(params));var xrefStreamStats=this.xref.stats.streamTypes;if("FlateDecode"===name||"Fl"===name)return xrefStreamStats[StreamType.FLATE]=!0,params?new PredictorStream(new FlateStream(stream,maybeLength),maybeLength,params):new FlateStream(stream,maybeLength);if("LZWDecode"===name||"LZW"===name){xrefStreamStats[StreamType.LZW]=!0;var earlyChange=1;return params?(params.has("EarlyChange")&&(earlyChange=params.get("EarlyChange")),new PredictorStream(new LZWStream(stream,maybeLength,earlyChange),maybeLength,params)):new LZWStream(stream,maybeLength,earlyChange)}if("DCTDecode"===name||"DCT"===name){if(isCmd(this.buf1,"ID")){var firstByte=stream.peekByte();(10===firstByte||13===firstByte||32===firstByte)&&stream.skip()}return xrefStreamStats[StreamType.DCT]=!0,new JpegStream(stream,maybeLength,stream.dict,this.xref)}return"JPXDecode"===name||"JPX"===name?(xrefStreamStats[StreamType.JPX]=!0,new JpxStream(stream,maybeLength,stream.dict)):"ASCII85Decode"===name||"A85"===name?(xrefStreamStats[StreamType.A85]=!0,new Ascii85Stream(stream,maybeLength)):"ASCIIHexDecode"===name||"AHx"===name?(xrefStreamStats[StreamType.AHX]=!0,new AsciiHexStream(stream,maybeLength)):"CCITTFaxDecode"===name||"CCF"===name?(xrefStreamStats[StreamType.CCF]=!0,new CCITTFaxStream(stream,maybeLength,params)):"RunLengthDecode"===name||"RL"===name?(xrefStreamStats[StreamType.RL]=!0,new RunLengthStream(stream,maybeLength)):"JBIG2Decode"===name?(xrefStreamStats[StreamType.JBIG]=!0,new Jbig2Stream(stream,maybeLength,stream.dict)):(warn('filter "'+name+'" not supported yet'),stream)}catch(ex){if(ex instanceof MissingDataException)throw ex;return warn('Invalid stream: "'+ex+'"'),new NullStream(stream)}}},Parser}(),Lexer=function(){function Lexer(stream,knownCommands){this.stream=stream,this.nextChar(),this.strBuf=[],this.knownCommands=knownCommands}function toHexDigit(ch){return ch>=48&&57>=ch?15&ch:ch>=65&&70>=ch||ch>=97&&102>=ch?(15&ch)+9:-1}Lexer.isSpace=function(ch){return 32===ch||9===ch||13===ch||10===ch};var specialChars=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,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,2,0,2,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,2,0,2,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,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];return Lexer.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},peekChar:function(){return this.stream.peekByte()},getNumber:function(){var ch=this.currentChar,eNotation=!1,divideBy=0,sign=1;if(45===ch?(sign=-1,ch=this.nextChar()):43===ch&&(ch=this.nextChar()),46===ch&&(divideBy=10,ch=this.nextChar()),48>ch||ch>57)return error("Invalid number: "+String.fromCharCode(ch)),0;for(var baseValue=ch-48,powerValue=0,powerValueSign=1;(ch=this.nextChar())>=0;)if(ch>=48&&57>=ch){var currentDigit=ch-48;eNotation?powerValue=10*powerValue+currentDigit:(0!==divideBy&&(divideBy*=10),baseValue=10*baseValue+currentDigit)}else if(46===ch){if(0!==divideBy)break;divideBy=1}else if(45===ch)warn("Badly formated number");else{if(69!==ch&&101!==ch)break;if(ch=this.peekChar(),43===ch||45===ch)powerValueSign=45===ch?-1:1,this.nextChar();else if(48>ch||ch>57)break;eNotation=!0}return 0!==divideBy&&(baseValue/=divideBy),eNotation&&(baseValue*=Math.pow(10,powerValueSign*powerValue)),sign*baseValue},getString:function(){var numParen=1,done=!1,strBuf=this.strBuf;strBuf.length=0;for(var ch=this.nextChar();;){var charBuffered=!1;switch(0|ch){case-1:warn("Unterminated string"),done=!0;break;case 40:++numParen,strBuf.push("(");break;case 41:0===--numParen?(this.nextChar(),done=!0):strBuf.push(")");break;case 92:switch(ch=this.nextChar()){case-1:warn("Unterminated string"),done=!0;break;case 110:strBuf.push("\n");break;case 114:strBuf.push("\r");break;case 116:strBuf.push(" ");break;case 98:strBuf.push("\b");break;case 102:strBuf.push("\f");break;case 92:case 40:case 41:strBuf.push(String.fromCharCode(ch));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:var x=15&ch;ch=this.nextChar(),charBuffered=!0,ch>=48&&55>=ch&&(x=(x<<3)+(15&ch),ch=this.nextChar(),ch>=48&&55>=ch&&(charBuffered=!1,x=(x<<3)+(15&ch))),strBuf.push(String.fromCharCode(x));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:strBuf.push(String.fromCharCode(ch))}break;default:strBuf.push(String.fromCharCode(ch))}if(done)break;charBuffered||(ch=this.nextChar())}return strBuf.join("")},getName:function(){var ch,strBuf=this.strBuf;for(strBuf.length=0;(ch=this.nextChar())>=0&&!specialChars[ch];)if(35===ch){ch=this.nextChar();var x=toHexDigit(ch);if(-1!==x){var x2=toHexDigit(this.nextChar());-1===x2&&error("Illegal digit in hex char in name: "+x2),strBuf.push(String.fromCharCode(x<<4|x2))}else strBuf.push("#",String.fromCharCode(ch))}else strBuf.push(String.fromCharCode(ch));return strBuf.length>128&&error("Warning: name token is longer than allowed by the spec: "+strBuf.length),Name.get(strBuf.join(""))},getHexString:function(){var strBuf=this.strBuf;strBuf.length=0;for(var firstDigit,secondDigit,ch=this.currentChar,isFirstHex=!0;;){if(0>ch){warn("Unterminated hex string");break}if(62===ch){this.nextChar();break}if(1!==specialChars[ch]){if(isFirstHex){if(firstDigit=toHexDigit(ch),-1===firstDigit){warn('Ignoring invalid character "'+ch+'" in hex string'),ch=this.nextChar();continue}}else{if(secondDigit=toHexDigit(ch),-1===secondDigit){warn('Ignoring invalid character "'+ch+'" in hex string'),ch=this.nextChar();continue}strBuf.push(String.fromCharCode(firstDigit<<4|secondDigit))}isFirstHex=!isFirstHex,ch=this.nextChar()}else ch=this.nextChar()}return strBuf.join("")},getObj:function(){for(var comment=!1,ch=this.currentChar;;){if(0>ch)return EOF;if(comment)(10===ch||13===ch)&&(comment=!1);else if(37===ch)comment=!0;else if(1!==specialChars[ch])break;ch=this.nextChar()}switch(0|ch){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),Cmd.get("[");case 93:return this.nextChar(),Cmd.get("]");case 60:return ch=this.nextChar(),60===ch?(this.nextChar(),Cmd.get("<<")):this.getHexString();case 62:return ch=this.nextChar(),62===ch?(this.nextChar(),Cmd.get(">>")):Cmd.get(">");case 123:return this.nextChar(),Cmd.get("{");case 125:return this.nextChar(),Cmd.get("}");case 41:error("Illegal character: "+ch)}for(var str=String.fromCharCode(ch),knownCommands=this.knownCommands,knownCommandFound=knownCommands&&void 0!==knownCommands[str];(ch=this.nextChar())>=0&&!specialChars[ch];){var possibleCommand=str+String.fromCharCode(ch);if(knownCommandFound&&void 0===knownCommands[possibleCommand])break;128===str.length&&error("Command token too long: "+str.length),str=possibleCommand,knownCommandFound=knownCommands&&void 0!==knownCommands[str]}return"true"===str?!0:"false"===str?!1:"null"===str?null:Cmd.get(str)},skipToNextLine:function(){for(var ch=this.currentChar;ch>=0;){if(13===ch){ch=this.nextChar(),10===ch&&this.nextChar();break}if(10===ch){this.nextChar();break}ch=this.nextChar()}}},Lexer}(),Linearization={create:function(stream){function getInt(name,allowZeroValue){var obj=linDict.get(name);if(isInt(obj)&&(allowZeroValue?obj>=0:obj>0))return obj;throw new Error('The "'+name+'" parameter in the linearization dictionary is invalid.')}function getHints(){var hintsLength,item,hints=linDict.get("H");if(isArray(hints)&&(2===(hintsLength=hints.length)||4===hintsLength)){for(var index=0;hintsLength>index;index++)if(!(isInt(item=hints[index])&&item>0))throw new Error("Hint ("+index+") in the linearization dictionary is invalid.");return hints}throw new Error("Hint array in the linearization dictionary is invalid.")}var obj,length,parser=new Parser(new Lexer(stream),!1,null),obj1=parser.getObj(),obj2=parser.getObj(),obj3=parser.getObj(),linDict=parser.getObj();if(!(isInt(obj1)&&isInt(obj2)&&isCmd(obj3,"obj")&&isDict(linDict)&&isNum(obj=linDict.get("Linearized"))&&obj>0))return null;if((length=getInt("L"))!==stream.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:length,hints:getHints(),objectNumberFirst:getInt("O"),endFirst:getInt("E"),numPages:getInt("N"),mainXRefEntriesOffset:getInt("T"),pageFirst:linDict.has("P")?getInt("P",!0):0}}},PostScriptParser=function(){function PostScriptParser(lexer){this.lexer=lexer,this.operators=[],this.token=null,this.prev=null}return PostScriptParser.prototype={nextToken:function(){this.prev=this.token,this.token=this.lexer.getToken()},accept:function(type){return this.token.type===type?(this.nextToken(),!0):!1},expect:function(type){return this.accept(type)?!0:void error("Unexpected symbol: found "+this.token.type+" expected "+type+".")},parse:function(){return this.nextToken(),this.expect(PostScriptTokenTypes.LBRACE),this.parseBlock(),this.expect(PostScriptTokenTypes.RBRACE),this.operators},parseBlock:function(){for(;;)if(this.accept(PostScriptTokenTypes.NUMBER))this.operators.push(this.prev.value);else if(this.accept(PostScriptTokenTypes.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(PostScriptTokenTypes.LBRACE))return;this.parseCondition()}},parseCondition:function(){var conditionLocation=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(PostScriptTokenTypes.RBRACE),this.accept(PostScriptTokenTypes.IF))this.operators[conditionLocation]=this.operators.length,this.operators[conditionLocation+1]="jz";else if(this.accept(PostScriptTokenTypes.LBRACE)){var jumpLocation=this.operators.length;this.operators.push(null,null);var endOfTrue=this.operators.length;this.parseBlock(),this.expect(PostScriptTokenTypes.RBRACE),this.expect(PostScriptTokenTypes.IFELSE),this.operators[jumpLocation]=this.operators.length,this.operators[jumpLocation+1]="j",this.operators[conditionLocation]=endOfTrue,this.operators[conditionLocation+1]="jz"}else error("PS Function: error parsing conditional.")}},PostScriptParser}(),PostScriptTokenTypes={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5},PostScriptToken=function(){function PostScriptToken(type,value){this.type=type,this.value=value}var opCache={};return PostScriptToken.getOperator=function(op){var opValue=opCache[op];return opValue?opValue:opCache[op]=new PostScriptToken(PostScriptTokenTypes.OPERATOR,op)},PostScriptToken.LBRACE=new PostScriptToken(PostScriptTokenTypes.LBRACE,"{"),PostScriptToken.RBRACE=new PostScriptToken(PostScriptTokenTypes.RBRACE,"}"),PostScriptToken.IF=new PostScriptToken(PostScriptTokenTypes.IF,"IF"),PostScriptToken.IFELSE=new PostScriptToken(PostScriptTokenTypes.IFELSE,"IFELSE"),PostScriptToken}(),PostScriptLexer=function(){function PostScriptLexer(stream){this.stream=stream,this.nextChar(),this.strBuf=[]}return PostScriptLexer.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var comment=!1,ch=this.currentChar;;){if(0>ch)return EOF;if(comment)(10===ch||13===ch)&&(comment=!1);else if(37===ch)comment=!0;else if(!Lexer.isSpace(ch))break;ch=this.nextChar()}switch(0|ch){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(PostScriptTokenTypes.NUMBER,this.getNumber());case 123:return this.nextChar(),PostScriptToken.LBRACE;case 125:return this.nextChar(),PostScriptToken.RBRACE}var strBuf=this.strBuf;for(strBuf.length=0,strBuf[0]=String.fromCharCode(ch);(ch=this.nextChar())>=0&&(ch>=65&&90>=ch||ch>=97&&122>=ch);)strBuf.push(String.fromCharCode(ch));var str=strBuf.join("");switch(str.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(str)}},getNumber:function(){var ch=this.currentChar,strBuf=this.strBuf;for(strBuf.length=0,strBuf[0]=String.fromCharCode(ch);(ch=this.nextChar())>=0&&(ch>=48&&57>=ch||45===ch||46===ch);)strBuf.push(String.fromCharCode(ch));var value=parseFloat(strBuf.join(""));return isNaN(value)&&error("Invalid floating point number: "+value),value}},PostScriptLexer}(),Stream=function(){function Stream(arrayBuffer,start,length,dict){this.bytes=arrayBuffer instanceof Uint8Array?arrayBuffer:new Uint8Array(arrayBuffer),this.start=start||0,this.pos=this.start,this.end=start+length||this.bytes.length,this.dict=dict}return Stream.prototype={get length(){return this.end-this.start},get isEmpty(){return 0===this.length},getByte:function(){return this.pos>=this.end?-1:this.bytes[this.pos++]},getUint16:function(){var b0=this.getByte(),b1=this.getByte();return(b0<<8)+b1},getInt32:function(){var b0=this.getByte(),b1=this.getByte(),b2=this.getByte(),b3=this.getByte();return(b0<<24)+(b1<<16)+(b2<<8)+b3},getBytes:function(length){var bytes=this.bytes,pos=this.pos,strEnd=this.end;if(!length)return bytes.subarray(pos,strEnd);var end=pos+length;return end>strEnd&&(end=strEnd),this.pos=end,bytes.subarray(pos,end)},peekByte:function(){var peekedByte=this.getByte();return this.pos--,peekedByte},peekBytes:function(length){var bytes=this.getBytes(length);return this.pos-=bytes.length,bytes},skip:function(n){n||(n=1),this.pos+=n},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(start,length,dict){return new Stream(this.bytes.buffer,start,length,dict)},isStream:!0},Stream}(),StringStream=function(){function StringStream(str){for(var length=str.length,bytes=new Uint8Array(length),n=0;length>n;++n)bytes[n]=str.charCodeAt(n);Stream.call(this,bytes)}return StringStream.prototype=Stream.prototype,StringStream}(),DecodeStream=function(){function DecodeStream(maybeMinBufferLength){if(this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=emptyBuffer,this.minBufferLength=512,maybeMinBufferLength)for(;this.minBufferLength<maybeMinBufferLength;)this.minBufferLength*=2}var emptyBuffer=new Uint8Array(0);return DecodeStream.prototype={get isEmpty(){for(;!this.eof&&0===this.bufferLength;)this.readBlock();return 0===this.bufferLength},ensureBuffer:function(requested){var buffer=this.buffer;if(requested<=buffer.byteLength)return buffer;for(var size=this.minBufferLength;requested>size;)size*=2;var buffer2=new Uint8Array(size);return buffer2.set(buffer),this.buffer=buffer2},getByte:function(){for(var pos=this.pos;this.bufferLength<=pos;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]},getUint16:function(){var b0=this.getByte(),b1=this.getByte();return(b0<<8)+b1},getInt32:function(){var b0=this.getByte(),b1=this.getByte(),b2=this.getByte(),b3=this.getByte();return(b0<<24)+(b1<<16)+(b2<<8)+b3},getBytes:function(length){var end,pos=this.pos;if(length){for(this.ensureBuffer(pos+length),end=pos+length;!this.eof&&this.bufferLength<end;)this.readBlock();var bufEnd=this.bufferLength;end>bufEnd&&(end=bufEnd)}else{for(;!this.eof;)this.readBlock();end=this.bufferLength}return this.pos=end,this.buffer.subarray(pos,end)},peekByte:function(){var peekedByte=this.getByte();return this.pos--,peekedByte},peekBytes:function(length){var bytes=this.getBytes(length);return this.pos-=bytes.length,bytes},makeSubStream:function(start,length,dict){for(var end=start+length;this.bufferLength<=end&&!this.eof;)this.readBlock();return new Stream(this.buffer,start,length,dict)},skip:function(n){n||(n=1),this.pos+=n},reset:function(){this.pos=0},getBaseStreams:function(){return this.str&&this.str.getBaseStreams?this.str.getBaseStreams():[]}},DecodeStream}(),StreamsSequenceStream=function(){function StreamsSequenceStream(streams){this.streams=streams,DecodeStream.call(this,null)}return StreamsSequenceStream.prototype=Object.create(DecodeStream.prototype),StreamsSequenceStream.prototype.readBlock=function(){var streams=this.streams;if(0===streams.length)return void(this.eof=!0);var stream=streams.shift(),chunk=stream.getBytes(),bufferLength=this.bufferLength,newLength=bufferLength+chunk.length,buffer=this.ensureBuffer(newLength);buffer.set(chunk,bufferLength),this.bufferLength=newLength},StreamsSequenceStream.prototype.getBaseStreams=function(){for(var baseStreams=[],i=0,ii=this.streams.length;ii>i;i++){var stream=this.streams[i];stream.getBaseStreams&&Util.appendToArray(baseStreams,stream.getBaseStreams())}return baseStreams},StreamsSequenceStream}(),FlateStream=function(){function FlateStream(str,maybeLength){this.str=str,this.dict=str.dict;var cmf=str.getByte(),flg=str.getByte();(-1===cmf||-1===flg)&&error("Invalid header in flate stream: "+cmf+", "+flg),8!==(15&cmf)&&error("Unknown compression method in flate stream: "+cmf+", "+flg),((cmf<<8)+flg)%31!==0&&error("Bad FCHECK in flate stream: "+cmf+", "+flg),32&flg&&error("FDICT bit set in flate stream: "+cmf+", "+flg),this.codeSize=0,this.codeBuf=0,DecodeStream.call(this,maybeLength)}var codeLenCodeMap=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),lengthDecode=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),distDecode=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),fixedLitCodeTab=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],fixedDistCodeTab=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];return FlateStream.prototype=Object.create(DecodeStream.prototype),FlateStream.prototype.getBits=function(bits){for(var b,str=this.str,codeSize=this.codeSize,codeBuf=this.codeBuf;bits>codeSize;)-1===(b=str.getByte())&&error("Bad encoding in flate stream"),codeBuf|=b<<codeSize,codeSize+=8;return b=codeBuf&(1<<bits)-1,this.codeBuf=codeBuf>>bits,this.codeSize=codeSize-=bits,b},FlateStream.prototype.getCode=function(table){for(var b,str=this.str,codes=table[0],maxLen=table[1],codeSize=this.codeSize,codeBuf=this.codeBuf;maxLen>codeSize&&-1!==(b=str.getByte());)codeBuf|=b<<codeSize,codeSize+=8;var code=codes[codeBuf&(1<<maxLen)-1],codeLen=code>>16,codeVal=65535&code;return(1>codeLen||codeLen>codeSize)&&error("Bad encoding in flate stream"),this.codeBuf=codeBuf>>codeLen,this.codeSize=codeSize-codeLen,codeVal},FlateStream.prototype.generateHuffmanTable=function(lengths){var i,n=lengths.length,maxLen=0;for(i=0;n>i;++i)lengths[i]>maxLen&&(maxLen=lengths[i]);for(var size=1<<maxLen,codes=new Uint32Array(size),len=1,code=0,skip=2;maxLen>=len;++len,code<<=1,skip<<=1)for(var val=0;n>val;++val)if(lengths[val]===len){var code2=0,t=code;for(i=0;len>i;++i)code2=code2<<1|1&t,t>>=1;for(i=code2;size>i;i+=skip)codes[i]=len<<16|val;++code}return[codes,maxLen]},FlateStream.prototype.readBlock=function(){var buffer,len,str=this.str,hdr=this.getBits(3);if(1&hdr&&(this.eof=!0),hdr>>=1,0!==hdr){var litCodeTable,distCodeTable;if(1===hdr)litCodeTable=fixedLitCodeTab,distCodeTable=fixedDistCodeTab;else if(2===hdr){var i,numLitCodes=this.getBits(5)+257,numDistCodes=this.getBits(5)+1,numCodeLenCodes=this.getBits(4)+4,codeLenCodeLengths=new Uint8Array(codeLenCodeMap.length);for(i=0;numCodeLenCodes>i;++i)codeLenCodeLengths[codeLenCodeMap[i]]=this.getBits(3);var codeLenCodeTab=this.generateHuffmanTable(codeLenCodeLengths);len=0,i=0;for(var bitsLength,bitsOffset,what,codes=numLitCodes+numDistCodes,codeLengths=new Uint8Array(codes);codes>i;){var code=this.getCode(codeLenCodeTab);if(16===code)bitsLength=2,bitsOffset=3,what=len;else if(17===code)bitsLength=3,bitsOffset=3,what=len=0;else{if(18!==code){codeLengths[i++]=len=code;continue}bitsLength=7,bitsOffset=11,what=len=0}for(var repeatLength=this.getBits(bitsLength)+bitsOffset;repeatLength-->0;)codeLengths[i++]=what}litCodeTable=this.generateHuffmanTable(codeLengths.subarray(0,numLitCodes)),distCodeTable=this.generateHuffmanTable(codeLengths.subarray(numLitCodes,codes))}else error("Unknown block type in flate stream");buffer=this.buffer;for(var limit=buffer?buffer.length:0,pos=this.bufferLength;;){var code1=this.getCode(litCodeTable);if(256>code1)pos+1>=limit&&(buffer=this.ensureBuffer(pos+1),limit=buffer.length),buffer[pos++]=code1;else{if(256===code1)return void(this.bufferLength=pos);code1-=257,code1=lengthDecode[code1];var code2=code1>>16;code2>0&&(code2=this.getBits(code2)),len=(65535&code1)+code2,code1=this.getCode(distCodeTable),code1=distDecode[code1],code2=code1>>16,code2>0&&(code2=this.getBits(code2));var dist=(65535&code1)+code2;pos+len>=limit&&(buffer=this.ensureBuffer(pos+len),limit=buffer.length);for(var k=0;len>k;++k,++pos)buffer[pos]=buffer[pos-dist]}}}else{var b;-1===(b=str.getByte())&&error("Bad block header in flate stream");var blockLen=b;-1===(b=str.getByte())&&error("Bad block header in flate stream"),blockLen|=b<<8,-1===(b=str.getByte())&&error("Bad block header in flate stream");var check=b;-1===(b=str.getByte())&&error("Bad block header in flate stream"),check|=b<<8,check===(65535&~blockLen)||0===blockLen&&0===check||error("Bad uncompressed block length in flate stream"),this.codeBuf=0,this.codeSize=0;var bufferLength=this.bufferLength;buffer=this.ensureBuffer(bufferLength+blockLen);var end=bufferLength+blockLen;if(this.bufferLength=end,0===blockLen)-1===str.peekByte()&&(this.eof=!0);else for(var n=bufferLength;end>n;++n){if(-1===(b=str.getByte())){this.eof=!0;break}buffer[n]=b}}},FlateStream}(),PredictorStream=function(){function PredictorStream(str,maybeLength,params){var predictor=this.predictor=params.get("Predictor")||1;if(1>=predictor)return str;2!==predictor&&(10>predictor||predictor>15)&&error("Unsupported predictor: "+predictor),this.readBlock=2===predictor?this.readBlockTiff:this.readBlockPng,this.str=str,this.dict=str.dict;var colors=this.colors=params.get("Colors")||1,bits=this.bits=params.get("BitsPerComponent")||8,columns=this.columns=params.get("Columns")||1;return this.pixBytes=colors*bits+7>>3,this.rowBytes=columns*colors*bits+7>>3,DecodeStream.call(this,maybeLength),this}return PredictorStream.prototype=Object.create(DecodeStream.prototype),PredictorStream.prototype.readBlockTiff=function(){var rowBytes=this.rowBytes,bufferLength=this.bufferLength,buffer=this.ensureBuffer(bufferLength+rowBytes),bits=this.bits,colors=this.colors,rawBytes=this.str.getBytes(rowBytes);if(this.eof=!rawBytes.length,!this.eof){var i,inbuf=0,outbuf=0,inbits=0,outbits=0,pos=bufferLength;if(1===bits)for(i=0;rowBytes>i;++i){var c=rawBytes[i];inbuf=inbuf<<8|c,buffer[pos++]=255&(c^inbuf>>colors),inbuf&=65535}else if(8===bits){for(i=0;colors>i;++i)buffer[pos++]=rawBytes[i];for(;rowBytes>i;++i)buffer[pos]=buffer[pos-colors]+rawBytes[i],pos++}else{var compArray=new Uint8Array(colors+1),bitMask=(1<<bits)-1,j=0,k=bufferLength,columns=this.columns;for(i=0;columns>i;++i)for(var kk=0;colors>kk;++kk)bits>inbits&&(inbuf=inbuf<<8|255&rawBytes[j++],inbits+=8),compArray[kk]=compArray[kk]+(inbuf>>inbits-bits)&bitMask,inbits-=bits,outbuf=outbuf<<bits|compArray[kk],outbits+=bits,outbits>=8&&(buffer[k++]=outbuf>>outbits-8&255,outbits-=8);outbits>0&&(buffer[k++]=(outbuf<<8-outbits)+(inbuf&(1<<8-outbits)-1))
+}this.bufferLength+=rowBytes}},PredictorStream.prototype.readBlockPng=function(){var rowBytes=this.rowBytes,pixBytes=this.pixBytes,predictor=this.str.getByte(),rawBytes=this.str.getBytes(rowBytes);if(this.eof=!rawBytes.length,!this.eof){var bufferLength=this.bufferLength,buffer=this.ensureBuffer(bufferLength+rowBytes),prevRow=buffer.subarray(bufferLength-rowBytes,bufferLength);0===prevRow.length&&(prevRow=new Uint8Array(rowBytes));var i,up,c,j=bufferLength;switch(predictor){case 0:for(i=0;rowBytes>i;++i)buffer[j++]=rawBytes[i];break;case 1:for(i=0;pixBytes>i;++i)buffer[j++]=rawBytes[i];for(;rowBytes>i;++i)buffer[j]=buffer[j-pixBytes]+rawBytes[i]&255,j++;break;case 2:for(i=0;rowBytes>i;++i)buffer[j++]=prevRow[i]+rawBytes[i]&255;break;case 3:for(i=0;pixBytes>i;++i)buffer[j++]=(prevRow[i]>>1)+rawBytes[i];for(;rowBytes>i;++i)buffer[j]=(prevRow[i]+buffer[j-pixBytes]>>1)+rawBytes[i]&255,j++;break;case 4:for(i=0;pixBytes>i;++i)up=prevRow[i],c=rawBytes[i],buffer[j++]=up+c;for(;rowBytes>i;++i){up=prevRow[i];var upLeft=prevRow[i-pixBytes],left=buffer[j-pixBytes],p=left+up-upLeft,pa=p-left;0>pa&&(pa=-pa);var pb=p-up;0>pb&&(pb=-pb);var pc=p-upLeft;0>pc&&(pc=-pc),c=rawBytes[i],buffer[j++]=pb>=pa&&pc>=pa?left+c:pc>=pb?up+c:upLeft+c}break;default:error("Unsupported predictor: "+predictor)}this.bufferLength+=rowBytes}},PredictorStream}(),JpegStream=function(){function JpegStream(stream,maybeLength,dict){this.stream=stream,this.maybeLength=maybeLength,this.dict=dict,DecodeStream.call(this,maybeLength)}return JpegStream.prototype=Object.create(DecodeStream.prototype),Object.defineProperty(JpegStream.prototype,"bytes",{get:function(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),JpegStream.prototype.ensureBuffer=function(){if(!this.bufferLength)try{var jpegImage=new JpegImage;if(this.dict&&isArray(this.dict.get("Decode"))){for(var decodeArr=this.dict.get("Decode"),bitsPerComponent=this.dict.get("BitsPerComponent")||8,decodeArrLength=decodeArr.length,transform=new Int32Array(decodeArrLength),transformNeeded=!1,maxValue=(1<<bitsPerComponent)-1,i=0;decodeArrLength>i;i+=2)transform[i]=256*(decodeArr[i+1]-decodeArr[i])|0,transform[i+1]=decodeArr[i]*maxValue|0,(256!==transform[i]||0!==transform[i+1])&&(transformNeeded=!0);transformNeeded&&(jpegImage.decodeTransform=transform)}jpegImage.parse(this.bytes);var data=jpegImage.getData(this.drawWidth,this.drawHeight,this.forceRGB);this.buffer=data,this.bufferLength=data.length,this.eof=!0}catch(e){error("JPEG error: "+e)}},JpegStream.prototype.getBytes=function(){return this.ensureBuffer(),this.buffer},JpegStream.prototype.getIR=function(){return PDFJS.createObjectURL(this.bytes,"image/jpeg")},JpegStream.prototype.isNativelySupported=function(xref,res){var cs=ColorSpace.parse(this.dict.get("ColorSpace","CS"),xref,res);return"DeviceGray"===cs.name||"DeviceRGB"===cs.name},JpegStream.prototype.isNativelyDecodable=function(xref,res){var cs=ColorSpace.parse(this.dict.get("ColorSpace","CS"),xref,res),numComps=cs.numComps;return 1===numComps||3===numComps},JpegStream}(),JpxStream=function(){function JpxStream(stream,maybeLength,dict){this.stream=stream,this.maybeLength=maybeLength,this.dict=dict,DecodeStream.call(this,maybeLength)}return JpxStream.prototype=Object.create(DecodeStream.prototype),Object.defineProperty(JpxStream.prototype,"bytes",{get:function(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),JpxStream.prototype.ensureBuffer=function(){if(!this.bufferLength){var jpxImage=new JpxImage;jpxImage.parse(this.bytes);var width=jpxImage.width,height=jpxImage.height,componentsCount=jpxImage.componentsCount,tileCount=jpxImage.tiles.length;if(1===tileCount)this.buffer=jpxImage.tiles[0].items;else{for(var data=new Uint8Array(width*height*componentsCount),k=0;tileCount>k;k++)for(var tileComponents=jpxImage.tiles[k],tileWidth=tileComponents.width,tileHeight=tileComponents.height,tileLeft=tileComponents.left,tileTop=tileComponents.top,src=tileComponents.items,srcPosition=0,dataPosition=(width*tileTop+tileLeft)*componentsCount,imgRowSize=width*componentsCount,tileRowSize=tileWidth*componentsCount,j=0;tileHeight>j;j++){var rowBytes=src.subarray(srcPosition,srcPosition+tileRowSize);data.set(rowBytes,dataPosition),srcPosition+=tileRowSize,dataPosition+=imgRowSize}this.buffer=data}this.bufferLength=this.buffer.length,this.eof=!0}},JpxStream}(),Jbig2Stream=function(){function Jbig2Stream(stream,maybeLength,dict){this.stream=stream,this.maybeLength=maybeLength,this.dict=dict,DecodeStream.call(this,maybeLength)}return Jbig2Stream.prototype=Object.create(DecodeStream.prototype),Object.defineProperty(Jbig2Stream.prototype,"bytes",{get:function(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))},configurable:!0}),Jbig2Stream.prototype.ensureBuffer=function(){if(!this.bufferLength){var jbig2Image=new Jbig2Image,chunks=[],xref=this.dict.xref,decodeParams=xref.fetchIfRef(this.dict.get("DecodeParms"));if(isArray(decodeParams)&&(decodeParams.length>1&&warn("JBIG2 - 'DecodeParms' array with multiple elements not supported."),decodeParams=xref.fetchIfRef(decodeParams[0])),decodeParams&&decodeParams.has("JBIG2Globals")){var globalsStream=decodeParams.get("JBIG2Globals"),globals=globalsStream.getBytes();chunks.push({data:globals,start:0,end:globals.length})}chunks.push({data:this.bytes,start:0,end:this.bytes.length});for(var data=jbig2Image.parseChunks(chunks),dataLength=data.length,i=0;dataLength>i;i++)data[i]^=255;this.buffer=data,this.bufferLength=dataLength,this.eof=!0}},Jbig2Stream}(),DecryptStream=function(){function DecryptStream(str,maybeLength,decrypt){this.str=str,this.dict=str.dict,this.decrypt=decrypt,this.nextChunk=null,this.initialized=!1,DecodeStream.call(this,maybeLength)}var chunkSize=512;return DecryptStream.prototype=Object.create(DecodeStream.prototype),DecryptStream.prototype.readBlock=function(){var chunk;if(this.initialized?chunk=this.nextChunk:(chunk=this.str.getBytes(chunkSize),this.initialized=!0),!chunk||0===chunk.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(chunkSize);var hasMoreData=this.nextChunk&&this.nextChunk.length>0,decrypt=this.decrypt;chunk=decrypt(chunk,!hasMoreData);var i,bufferLength=this.bufferLength,n=chunk.length,buffer=this.ensureBuffer(bufferLength+n);for(i=0;n>i;i++)buffer[bufferLength++]=chunk[i];this.bufferLength=bufferLength},DecryptStream}(),Ascii85Stream=function(){function Ascii85Stream(str,maybeLength){this.str=str,this.dict=str.dict,this.input=new Uint8Array(5),maybeLength&&(maybeLength=.8*maybeLength),DecodeStream.call(this,maybeLength)}return Ascii85Stream.prototype=Object.create(DecodeStream.prototype),Ascii85Stream.prototype.readBlock=function(){for(var TILDA_CHAR=126,Z_LOWER_CHAR=122,EOF=-1,str=this.str,c=str.getByte();Lexer.isSpace(c);)c=str.getByte();if(c===EOF||c===TILDA_CHAR)return void(this.eof=!0);var buffer,i,bufferLength=this.bufferLength;if(c===Z_LOWER_CHAR){for(buffer=this.ensureBuffer(bufferLength+4),i=0;4>i;++i)buffer[bufferLength+i]=0;this.bufferLength+=4}else{var input=this.input;for(input[0]=c,i=1;5>i;++i){for(c=str.getByte();Lexer.isSpace(c);)c=str.getByte();if(input[i]=c,c===EOF||c===TILDA_CHAR)break}if(buffer=this.ensureBuffer(bufferLength+i-1),this.bufferLength+=i-1,5>i){for(;5>i;++i)input[i]=117;this.eof=!0}var t=0;for(i=0;5>i;++i)t=85*t+(input[i]-33);for(i=3;i>=0;--i)buffer[bufferLength+i]=255&t,t>>=8}},Ascii85Stream}(),AsciiHexStream=function(){function AsciiHexStream(str,maybeLength){this.str=str,this.dict=str.dict,this.firstDigit=-1,maybeLength&&(maybeLength=.5*maybeLength),DecodeStream.call(this,maybeLength)}return AsciiHexStream.prototype=Object.create(DecodeStream.prototype),AsciiHexStream.prototype.readBlock=function(){var UPSTREAM_BLOCK_SIZE=8e3,bytes=this.str.getBytes(UPSTREAM_BLOCK_SIZE);if(!bytes.length)return void(this.eof=!0);for(var maxDecodeLength=bytes.length+1>>1,buffer=this.ensureBuffer(this.bufferLength+maxDecodeLength),bufferLength=this.bufferLength,firstDigit=this.firstDigit,i=0,ii=bytes.length;ii>i;i++){var digit,ch=bytes[i];if(ch>=48&&57>=ch)digit=15&ch;else{if(!(ch>=65&&70>=ch||ch>=97&&102>=ch)){if(62===ch){this.eof=!0;break}continue}digit=(15&ch)+9}0>firstDigit?firstDigit=digit:(buffer[bufferLength++]=firstDigit<<4|digit,firstDigit=-1)}firstDigit>=0&&this.eof&&(buffer[bufferLength++]=firstDigit<<4,firstDigit=-1),this.firstDigit=firstDigit,this.bufferLength=bufferLength},AsciiHexStream}(),RunLengthStream=function(){function RunLengthStream(str,maybeLength){this.str=str,this.dict=str.dict,DecodeStream.call(this,maybeLength)}return RunLengthStream.prototype=Object.create(DecodeStream.prototype),RunLengthStream.prototype.readBlock=function(){var repeatHeader=this.str.getBytes(2);if(!repeatHeader||repeatHeader.length<2||128===repeatHeader[0])return void(this.eof=!0);var buffer,bufferLength=this.bufferLength,n=repeatHeader[0];if(128>n){if(buffer=this.ensureBuffer(bufferLength+n+1),buffer[bufferLength++]=repeatHeader[1],n>0){var source=this.str.getBytes(n);buffer.set(source,bufferLength),bufferLength+=n}}else{n=257-n;var b=repeatHeader[1];buffer=this.ensureBuffer(bufferLength+n+1);for(var i=0;n>i;i++)buffer[bufferLength++]=b}this.bufferLength=bufferLength},RunLengthStream}(),CCITTFaxStream=function(){function CCITTFaxStream(str,maybeLength,params){this.str=str,this.dict=str.dict,params=params||Dict.empty,this.encoding=params.get("K")||0,this.eoline=params.get("EndOfLine")||!1,this.byteAlign=params.get("EncodedByteAlign")||!1,this.columns=params.get("Columns")||1728,this.rows=params.get("Rows")||0;var eoblock=params.get("EndOfBlock");(null===eoblock||void 0===eoblock)&&(eoblock=!0),this.eoblock=eoblock,this.black=params.get("BlackIs1")||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0;for(var code1;0===(code1=this.lookBits(12));)this.eatBits(1);1===code1&&this.eatBits(12),this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),DecodeStream.call(this,maybeLength)}var ccittEOL=-2,twoDimPass=0,twoDimHoriz=1,twoDimVert0=2,twoDimVertR1=3,twoDimVertL1=4,twoDimVertR2=5,twoDimVertL2=6,twoDimVertR3=7,twoDimVertL3=8,twoDimTable=[[-1,-1],[-1,-1],[7,twoDimVertL3],[7,twoDimVertR3],[6,twoDimVertL2],[6,twoDimVertL2],[6,twoDimVertR2],[6,twoDimVertR2],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0]],whiteTable1=[[-1,-1],[12,ccittEOL],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],whiteTable2=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],blackTable1=[[-1,-1],[-1,-1],[12,ccittEOL],[12,ccittEOL],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],blackTable2=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],blackTable3=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];return CCITTFaxStream.prototype=Object.create(DecodeStream.prototype),CCITTFaxStream.prototype.readBlock=function(){for(;!this.eof;){var c=this.lookChar();this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=c}},CCITTFaxStream.prototype.addPixels=function(a1,blackPixels){var codingLine=this.codingLine,codingPos=this.codingPos;a1>codingLine[codingPos]&&(a1>this.columns&&(info("row is wrong length"),this.err=!0,a1=this.columns),1&codingPos^blackPixels&&++codingPos,codingLine[codingPos]=a1),this.codingPos=codingPos},CCITTFaxStream.prototype.addPixelsNeg=function(a1,blackPixels){var codingLine=this.codingLine,codingPos=this.codingPos;if(a1>codingLine[codingPos])a1>this.columns&&(info("row is wrong length"),this.err=!0,a1=this.columns),1&codingPos^blackPixels&&++codingPos,codingLine[codingPos]=a1;else if(a1<codingLine[codingPos]){for(0>a1&&(info("invalid code"),this.err=!0,a1=0);codingPos>0&&a1<codingLine[codingPos-1];)--codingPos;codingLine[codingPos]=a1}this.codingPos=codingPos},CCITTFaxStream.prototype.lookChar=function(){var refPos,blackPixels,bits,i,refLine=this.refLine,codingLine=this.codingLine,columns=this.columns;if(0===this.outputBits){if(this.eof)return null;this.err=!1;var code1,code2,code3;if(this.nextLine2D){for(i=0;codingLine[i]<columns;++i)refLine[i]=codingLine[i];for(refLine[i++]=columns,refLine[i]=columns,codingLine[0]=0,this.codingPos=0,refPos=0,blackPixels=0;codingLine[this.codingPos]<columns;)switch(code1=this.getTwoDimCode()){case twoDimPass:this.addPixels(refLine[refPos+1],blackPixels),refLine[refPos+1]<columns&&(refPos+=2);break;case twoDimHoriz:if(code1=code2=0,blackPixels){do code1+=code3=this.getBlackCode();while(code3>=64);do code2+=code3=this.getWhiteCode();while(code3>=64)}else{do code1+=code3=this.getWhiteCode();while(code3>=64);do code2+=code3=this.getBlackCode();while(code3>=64)}for(this.addPixels(codingLine[this.codingPos]+code1,blackPixels),codingLine[this.codingPos]<columns&&this.addPixels(codingLine[this.codingPos]+code2,1^blackPixels);refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVertR3:if(this.addPixels(refLine[refPos]+3,blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVertR2:if(this.addPixels(refLine[refPos]+2,blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVertR1:if(this.addPixels(refLine[refPos]+1,blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVert0:if(this.addPixels(refLine[refPos],blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVertL3:if(this.addPixelsNeg(refLine[refPos]-3,blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(refPos>0?--refPos:++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVertL2:if(this.addPixelsNeg(refLine[refPos]-2,blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(refPos>0?--refPos:++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case twoDimVertL1:if(this.addPixelsNeg(refLine[refPos]-1,blackPixels),blackPixels^=1,codingLine[this.codingPos]<columns)for(refPos>0?--refPos:++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns;)refPos+=2;break;case EOF:this.addPixels(columns,0),this.eof=!0;break;default:info("bad 2d code"),this.addPixels(columns,0),this.err=!0}}else for(codingLine[0]=0,this.codingPos=0,blackPixels=0;codingLine[this.codingPos]<columns;){if(code1=0,blackPixels){do code1+=code3=this.getBlackCode();while(code3>=64)}else do code1+=code3=this.getWhiteCode();while(code3>=64);this.addPixels(codingLine[this.codingPos]+code1,blackPixels),blackPixels^=1}var gotEOL=!1;if(this.eoblock||this.row!==this.rows-1){if(this.eoline||!this.byteAlign){if(code1=this.lookBits(12),this.eoline)for(;code1!==EOF&&1!==code1;)this.eatBits(1),code1=this.lookBits(12);else for(;0===code1;)this.eatBits(1),code1=this.lookBits(12);1===code1?(this.eatBits(12),gotEOL=!0):code1===EOF&&(this.eof=!0)}}else this.eof=!0;if(this.byteAlign&&!gotEOL&&(this.inputBits&=-8),!this.eof&&this.encoding>0&&(this.nextLine2D=!this.lookBits(1),this.eatBits(1)),this.eoblock&&gotEOL&&this.byteAlign){if(code1=this.lookBits(12),1===code1){if(this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1)),this.encoding>=0)for(i=0;4>i;++i)code1=this.lookBits(12),1!==code1&&info("bad rtc code: "+code1),this.eatBits(12),this.encoding>0&&(this.lookBits(1),this.eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(code1=this.lookBits(13),code1===EOF)return this.eof=!0,null;if(code1>>1===1)break;this.eatBits(1)}this.eatBits(12),this.encoding>0&&(this.eatBits(1),this.nextLine2D=!(1&code1))}this.outputBits=codingLine[0]>0?codingLine[this.codingPos=0]:codingLine[this.codingPos=1],this.row++}var c;if(this.outputBits>=8)c=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&codingLine[this.codingPos]<columns&&(this.codingPos++,this.outputBits=codingLine[this.codingPos]-codingLine[this.codingPos-1]);else{bits=8,c=0;do this.outputBits>bits?(c<<=bits,1&this.codingPos||(c|=255>>8-bits),this.outputBits-=bits,bits=0):(c<<=this.outputBits,1&this.codingPos||(c|=255>>8-this.outputBits),bits-=this.outputBits,this.outputBits=0,codingLine[this.codingPos]<columns?(this.codingPos++,this.outputBits=codingLine[this.codingPos]-codingLine[this.codingPos-1]):bits>0&&(c<<=bits,bits=0));while(bits)}return this.black&&(c^=255),c},CCITTFaxStream.prototype.findTableCode=function(start,end,table,limit){for(var limitValue=limit||0,i=start;end>=i;++i){var code=this.lookBits(i);if(code===EOF)return[!0,1,!1];if(end>i&&(code<<=end-i),!limitValue||code>=limitValue){var p=table[code-limitValue];if(p[0]===i)return this.eatBits(i),[!0,p[1],!0]}}return[!1,0,!1]},CCITTFaxStream.prototype.getTwoDimCode=function(){var p,code=0;if(this.eoblock){if(code=this.lookBits(7),p=twoDimTable[code],p&&p[0]>0)return this.eatBits(p[0]),p[1]}else{var result=this.findTableCode(1,7,twoDimTable);if(result[0]&&result[2])return result[1]}return info("Bad two dim code"),EOF},CCITTFaxStream.prototype.getWhiteCode=function(){var p,code=0;if(this.eoblock){if(code=this.lookBits(12),code===EOF)return 1;if(p=code>>5===0?whiteTable1[code]:whiteTable2[code>>3],p[0]>0)return this.eatBits(p[0]),p[1]}else{var result=this.findTableCode(1,9,whiteTable2);if(result[0])return result[1];if(result=this.findTableCode(11,12,whiteTable1),result[0])return result[1]}return info("bad white code"),this.eatBits(1),1},CCITTFaxStream.prototype.getBlackCode=function(){var code,p;if(this.eoblock){if(code=this.lookBits(13),code===EOF)return 1;if(p=code>>7===0?blackTable1[code]:code>>9===0&&code>>7!==0?blackTable2[(code>>1)-64]:blackTable3[code>>7],p[0]>0)return this.eatBits(p[0]),p[1]}else{var result=this.findTableCode(2,6,blackTable3);if(result[0])return result[1];if(result=this.findTableCode(7,12,blackTable2,64),result[0])return result[1];if(result=this.findTableCode(10,13,blackTable1),result[0])return result[1]}return info("bad black code"),this.eatBits(1),1},CCITTFaxStream.prototype.lookBits=function(n){for(var c;this.inputBits<n;){if(-1===(c=this.str.getByte()))return 0===this.inputBits?EOF:this.inputBuf<<n-this.inputBits&65535>>16-n;this.inputBuf=(this.inputBuf<<8)+c,this.inputBits+=8}return this.inputBuf>>this.inputBits-n&65535>>16-n},CCITTFaxStream.prototype.eatBits=function(n){(this.inputBits-=n)<0&&(this.inputBits=0)},CCITTFaxStream}(),LZWStream=function(){function LZWStream(str,maybeLength,earlyChange){this.str=str,this.dict=str.dict,this.cachedData=0,this.bitsCached=0;for(var maxLzwDictionarySize=4096,lzwState={earlyChange:earlyChange,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(maxLzwDictionarySize),dictionaryLengths:new Uint16Array(maxLzwDictionarySize),dictionaryPrevCodes:new Uint16Array(maxLzwDictionarySize),currentSequence:new Uint8Array(maxLzwDictionarySize),currentSequenceLength:0},i=0;256>i;++i)lzwState.dictionaryValues[i]=i,lzwState.dictionaryLengths[i]=1;this.lzwState=lzwState,DecodeStream.call(this,maybeLength)}return LZWStream.prototype=Object.create(DecodeStream.prototype),LZWStream.prototype.readBits=function(n){for(var bitsCached=this.bitsCached,cachedData=this.cachedData;n>bitsCached;){var c=this.str.getByte();if(-1===c)return this.eof=!0,null;cachedData=cachedData<<8|c,bitsCached+=8}return this.bitsCached=bitsCached-=n,this.cachedData=cachedData,this.lastCode=null,cachedData>>>bitsCached&(1<<n)-1},LZWStream.prototype.readBlock=function(){var i,j,q,blockSize=512,estimatedDecodedSize=2*blockSize,decodedSizeDelta=blockSize,lzwState=this.lzwState;if(lzwState){var earlyChange=lzwState.earlyChange,nextCode=lzwState.nextCode,dictionaryValues=lzwState.dictionaryValues,dictionaryLengths=lzwState.dictionaryLengths,dictionaryPrevCodes=lzwState.dictionaryPrevCodes,codeLength=lzwState.codeLength,prevCode=lzwState.prevCode,currentSequence=lzwState.currentSequence,currentSequenceLength=lzwState.currentSequenceLength,decodedLength=0,currentBufferLength=this.bufferLength,buffer=this.ensureBuffer(this.bufferLength+estimatedDecodedSize);for(i=0;blockSize>i;i++){var code=this.readBits(codeLength),hasPrev=currentSequenceLength>0;if(256>code)currentSequence[0]=code,currentSequenceLength=1;else{if(!(code>=258)){if(256===code){codeLength=9,nextCode=258,currentSequenceLength=0;continue}this.eof=!0,delete this.lzwState;break}if(nextCode>code)for(currentSequenceLength=dictionaryLengths[code],j=currentSequenceLength-1,q=code;j>=0;j--)currentSequence[j]=dictionaryValues[q],q=dictionaryPrevCodes[q];else currentSequence[currentSequenceLength++]=currentSequence[0]}if(hasPrev&&(dictionaryPrevCodes[nextCode]=prevCode,dictionaryLengths[nextCode]=dictionaryLengths[prevCode]+1,dictionaryValues[nextCode]=currentSequence[0],nextCode++,codeLength=nextCode+earlyChange&nextCode+earlyChange-1?codeLength:0|Math.min(Math.log(nextCode+earlyChange)/.6931471805599453+1,12)),prevCode=code,decodedLength+=currentSequenceLength,decodedLength>estimatedDecodedSize){do estimatedDecodedSize+=decodedSizeDelta;while(decodedLength>estimatedDecodedSize);buffer=this.ensureBuffer(this.bufferLength+estimatedDecodedSize)}for(j=0;currentSequenceLength>j;j++)buffer[currentBufferLength++]=currentSequence[j]}lzwState.nextCode=nextCode,lzwState.codeLength=codeLength,lzwState.prevCode=prevCode,lzwState.currentSequenceLength=currentSequenceLength,this.bufferLength=currentBufferLength}},LZWStream}(),NullStream=function(){function NullStream(){Stream.call(this,new Uint8Array(0))}return NullStream.prototype=Stream.prototype,NullStream}(),WorkerMessageHandler=PDFJS.WorkerMessageHandler={setup:function(handler){function loadDocument(recoveryMode){var loadDocumentCapability=createPromiseCapability(),parseSuccess=function(){var numPagesPromise=pdfManager.ensureDoc("numPages"),fingerprintPromise=pdfManager.ensureDoc("fingerprint"),encryptedPromise=pdfManager.ensureXRef("encrypt");Promise.all([numPagesPromise,fingerprintPromise,encryptedPromise]).then(function(results){var doc={numPages:results[0],fingerprint:results[1],encrypted:!!results[2]};loadDocumentCapability.resolve(doc)},parseFailure)},parseFailure=function(e){loadDocumentCapability.reject(e)};return pdfManager.ensureDoc("checkHeader",[]).then(function(){pdfManager.ensureDoc("parseStartXRef",[]).then(function(){pdfManager.ensureDoc("parse",[recoveryMode]).then(parseSuccess,parseFailure)},parseFailure)},parseFailure),loadDocumentCapability.promise}function getPdfManager(data){var pdfManagerCapability=createPromiseCapability(),source=data.source,disableRange=data.disableRange;if(source.data){try{pdfManager=new LocalPdfManager(source.data,source.password),pdfManagerCapability.resolve()}catch(ex){pdfManagerCapability.reject(ex)}return pdfManagerCapability.promise}if(source.chunkedViewerLoading){try{pdfManager=new NetworkPdfManager(source,handler),pdfManagerCapability.resolve()}catch(ex){pdfManagerCapability.reject(ex)}return pdfManagerCapability.promise}var networkManager=new NetworkManager(source.url,{httpHeaders:source.httpHeaders,withCredentials:source.withCredentials}),fullRequestXhrId=networkManager.requestFull({onHeadersReceived:function(){if(!disableRange){var fullRequestXhr=networkManager.getRequestXhr(fullRequestXhrId);if("bytes"===fullRequestXhr.getResponseHeader("Accept-Ranges")){var contentEncoding=fullRequestXhr.getResponseHeader("Content-Encoding")||"identity";if("identity"===contentEncoding){var length=fullRequestXhr.getResponseHeader("Content-Length");if(length=parseInt(length,10),isInt(length)&&(source.length=length,!(2*RANGE_CHUNK_SIZE>=length))){networkManager.abortRequest(fullRequestXhrId);
+try{pdfManager=new NetworkPdfManager(source,handler),pdfManagerCapability.resolve(pdfManager)}catch(ex){pdfManagerCapability.reject(ex)}}}}}},onDone:function(args){try{pdfManager=new LocalPdfManager(args.chunk,source.password),pdfManagerCapability.resolve()}catch(ex){pdfManagerCapability.reject(ex)}},onError:function(status){var exception;404===status?(exception=new MissingPDFException('Missing PDF "'+source.url+'".'),handler.send("MissingPDF",exception)):(exception=new UnexpectedResponseException("Unexpected server response ("+status+') while retrieving PDF "'+source.url+'".',status),handler.send("UnexpectedResponse",exception))},onProgress:function(evt){handler.send("DocProgress",{loaded:evt.loaded,total:evt.lengthComputable?evt.total:source.length})}});return pdfManagerCapability.promise}var pdfManager;handler.on("test",function(data){if(!(data instanceof Uint8Array))return void handler.send("test",!1);var supportTransfers=255===data[0];handler.postMessageTransfers=supportTransfers;var xhr=new XMLHttpRequest,responseExists="response"in xhr;try{{xhr.responseType}}catch(e){responseExists=!1}return responseExists?void handler.send("test",{supportTypedArray:!0,supportTransfers:supportTransfers}):void handler.send("test",!1)}),handler.on("GetDocRequest",function(data){var onSuccess=function(doc){handler.send("GetDoc",{pdfInfo:doc})},onFailure=function(e){e instanceof PasswordException?e.code===PasswordResponses.NEED_PASSWORD?handler.send("NeedPassword",e):e.code===PasswordResponses.INCORRECT_PASSWORD&&handler.send("IncorrectPassword",e):e instanceof InvalidPDFException?handler.send("InvalidPDF",e):e instanceof MissingPDFException?handler.send("MissingPDF",e):e instanceof UnexpectedResponseException?handler.send("UnexpectedResponse",e):handler.send("UnknownError",new UnknownErrorException(e.message,e.toString()))};PDFJS.maxImageSize=void 0===data.maxImageSize?-1:data.maxImageSize,PDFJS.disableFontFace=data.disableFontFace,PDFJS.disableCreateObjectURL=data.disableCreateObjectURL,PDFJS.verbosity=data.verbosity,PDFJS.cMapUrl=void 0===data.cMapUrl?null:data.cMapUrl,PDFJS.cMapPacked=data.cMapPacked===!0,getPdfManager(data).then(function(){pdfManager.onLoadedStream().then(function(stream){handler.send("DataLoaded",{length:stream.bytes.byteLength})})}).then(function pdfManagerReady(){loadDocument(!1).then(onSuccess,function(ex){return ex instanceof XRefParseException?(pdfManager.requestLoadedStream(),void pdfManager.onLoadedStream().then(function(){loadDocument(!0).then(onSuccess,onFailure)})):(ex instanceof PasswordException&&pdfManager.passwordChanged().then(pdfManagerReady),void onFailure(ex))},onFailure)},onFailure)}),handler.on("GetPage",function(data){return pdfManager.getPage(data.pageIndex).then(function(page){var rotatePromise=pdfManager.ensure(page,"rotate"),refPromise=pdfManager.ensure(page,"ref"),viewPromise=pdfManager.ensure(page,"view");return Promise.all([rotatePromise,refPromise,viewPromise]).then(function(results){return{rotate:results[0],ref:results[1],view:results[2]}})})}),handler.on("GetPageIndex",function(data){var ref=new Ref(data.ref.num,data.ref.gen),catalog=pdfManager.pdfDocument.catalog;return catalog.getPageIndex(ref)}),handler.on("GetDestinations",function(){return pdfManager.ensureCatalog("destinations")}),handler.on("GetAttachments",function(){return pdfManager.ensureCatalog("attachments")}),handler.on("GetJavaScript",function(){return pdfManager.ensureCatalog("javaScript")}),handler.on("GetOutline",function(){return pdfManager.ensureCatalog("documentOutline")}),handler.on("GetMetadata",function(){return Promise.all([pdfManager.ensureDoc("documentInfo"),pdfManager.ensureCatalog("metadata")])}),handler.on("GetData",function(){return pdfManager.requestLoadedStream(),pdfManager.onLoadedStream().then(function(stream){return stream.bytes})}),handler.on("GetStats",function(){return pdfManager.pdfDocument.xref.stats}),handler.on("UpdatePassword",function(data){pdfManager.updatePassword(data)}),handler.on("GetAnnotations",function(data){return pdfManager.getPage(data.pageIndex).then(function(page){return pdfManager.ensure(page,"getAnnotationsData",[])})}),handler.on("RenderPageRequest",function(data){pdfManager.getPage(data.pageIndex).then(function(page){var pageNum=data.pageIndex+1,start=Date.now();page.getOperatorList(handler,data.intent).then(function(operatorList){info("page="+pageNum+" - getOperatorList: time="+(Date.now()-start)+"ms, len="+operatorList.fnArray.length)},function(e){var wrappedException,minimumStackMessage="worker.js: while trying to getPage() and getOperatorList()";wrappedException="string"==typeof e?{message:e,stack:minimumStackMessage}:"object"==typeof e?{message:e.message||e.toString(),stack:e.stack||minimumStackMessage}:{message:"Unknown exception type: "+typeof e,stack:minimumStackMessage},handler.send("PageError",{pageNum:pageNum,error:wrappedException,intent:data.intent})})})},this),handler.on("GetTextContent",function(data){return pdfManager.getPage(data.pageIndex).then(function(page){var pageNum=data.pageIndex+1,start=Date.now();return page.extractTextContent().then(function(textContent){return info("text indexing: page="+pageNum+" - time="+(Date.now()-start)+"ms"),textContent})})}),handler.on("Cleanup",function(){return pdfManager.cleanup()}),handler.on("Terminate",function(){pdfManager.terminate()})}},consoleTimer={},workerConsole={log:function(){var args=Array.prototype.slice.call(arguments);globalScope.postMessage({action:"console_log",data:args})},error:function(){var args=Array.prototype.slice.call(arguments);throw globalScope.postMessage({action:"console_error",data:args}),"pdf.js execution error"},time:function(name){consoleTimer[name]=Date.now()},timeEnd:function(name){var time=consoleTimer[name];time||error("Unknown timer name "+name),this.log("Timer:",name,Date.now()-time)}};if("undefined"==typeof window){"console"in globalScope||(globalScope.console=workerConsole),PDFJS.UnsupportedManager.listen(function(msg){globalScope.postMessage({action:"_unsupported_feature",data:msg})});var handler=new MessageHandler("worker_processor",this);WorkerMessageHandler.setup(handler)}var ArithmeticDecoder=function(){function ArithmeticDecoder(data,start,end){this.data=data,this.bp=start,this.dataEnd=end,this.chigh=data[start],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var QeTable=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return ArithmeticDecoder.prototype={byteIn:function(){var data=this.data,bp=this.bp;if(255===data[bp]){var b1=data[bp+1];b1>143?(this.clow+=65280,this.ct=8):(bp++,this.clow+=data[bp]<<9,this.ct=7,this.bp=bp)}else bp++,this.clow+=bp<this.dataEnd?data[bp]<<8:65280,this.ct=8,this.bp=bp;this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(contexts,pos){var d,cx_index=contexts[pos]>>1,cx_mps=1&contexts[pos],qeTableIcx=QeTable[cx_index],qeIcx=qeTableIcx.qe,a=this.a-qeIcx;if(this.chigh<qeIcx)qeIcx>a?(a=qeIcx,d=cx_mps,cx_index=qeTableIcx.nmps):(a=qeIcx,d=1^cx_mps,1===qeTableIcx.switchFlag&&(cx_mps=d),cx_index=qeTableIcx.nlps);else{if(this.chigh-=qeIcx,0!==(32768&a))return this.a=a,cx_mps;qeIcx>a?(d=1^cx_mps,1===qeTableIcx.switchFlag&&(cx_mps=d),cx_index=qeTableIcx.nlps):(d=cx_mps,cx_index=qeTableIcx.nmps)}do 0===this.ct&&this.byteIn(),a<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(32768&a));return this.a=a,contexts[pos]=cx_index<<1|cx_mps,d}},ArithmeticDecoder}(),JpegImage=function(){function constructor(){}function buildHuffmanTable(codeLengths,values){for(var i,j,k=0,code=[],length=16;length>0&&!codeLengths[length-1];)length--;code.push({children:[],index:0});var q,p=code[0];for(i=0;length>i;i++){for(j=0;j<codeLengths[i];j++){for(p=code.pop(),p.children[p.index]=values[k];p.index>0;)p=code.pop();for(p.index++,code.push(p);code.length<=i;)code.push(q={children:[],index:0}),p.children[p.index]=q.children,p=q;k++}length>i+1&&(code.push(q={children:[],index:0}),p.children[p.index]=q.children,p=q)}return code[0].children}function getBlockBufferOffset(component,row,col){return 64*((component.blocksPerLine+1)*row+col)}function decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successivePrev,successive){function readBit(){if(bitsCount>0)return bitsCount--,bitsData>>bitsCount&1;if(bitsData=data[offset++],255===bitsData){var nextByte=data[offset++];if(nextByte)throw"unexpected marker: "+(bitsData<<8|nextByte).toString(16)}return bitsCount=7,bitsData>>>7}function decodeHuffman(tree){for(var bit,node=tree;null!==(bit=readBit());){if(node=node[bit],"number"==typeof node)return node;if("object"!=typeof node)throw"invalid huffman sequence"}return null}function receive(length){for(var n=0;length>0;){var bit=readBit();if(null===bit)return;n=n<<1|bit,length--}return n}function receiveAndExtend(length){if(1===length)return 1===readBit()?1:-1;var n=receive(length);return n>=1<<length-1?n:n+(-1<<length)+1}function decodeBaseline(component,offset){var t=decodeHuffman(component.huffmanTableDC),diff=0===t?0:receiveAndExtend(t);component.blockData[offset]=component.pred+=diff;for(var k=1;64>k;){var rs=decodeHuffman(component.huffmanTableAC),s=15&rs,r=rs>>4;if(0!==s){k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s),k++}else{if(15>r)break;k+=16}}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC),diff=0===t?0:receiveAndExtend(t)<<successive;component.blockData[offset]=component.pred+=diff}function decodeDCSuccessive(component,offset){component.blockData[offset]|=readBit()<<successive}function decodeACFirst(component,offset){if(eobrun>0)return void eobrun--;for(var k=spectralStart,e=spectralEnd;e>=k;){var rs=decodeHuffman(component.huffmanTableAC),s=15&rs,r=rs>>4;if(0!==s){k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s)*(1<<successive),k++}else{if(15>r){eobrun=receive(r)+(1<<r)-1;break}k+=16}}}function decodeACSuccessive(component,offset){for(var s,rs,k=spectralStart,e=spectralEnd,r=0;e>=k;){var z=dctZigZag[k];switch(successiveACState){case 0:if(rs=decodeHuffman(component.huffmanTableAC),s=15&rs,r=rs>>4,0===s)15>r?(eobrun=receive(r)+(1<<r),successiveACState=4):(r=16,successiveACState=1);else{if(1!==s)throw"invalid ACn encoding";successiveACNextValue=receiveAndExtend(s),successiveACState=r?2:3}continue;case 1:case 2:component.blockData[offset+z]?component.blockData[offset+z]+=readBit()<<successive:(r--,0===r&&(successiveACState=2===successiveACState?3:0));break;case 3:component.blockData[offset+z]?component.blockData[offset+z]+=readBit()<<successive:(component.blockData[offset+z]=successiveACNextValue<<successive,successiveACState=0);break;case 4:component.blockData[offset+z]&&(component.blockData[offset+z]+=readBit()<<successive)}k++}4===successiveACState&&(eobrun--,0===eobrun&&(successiveACState=0))}function decodeMcu(component,decode,mcu,row,col){var mcuRow=mcu/mcusPerLine|0,mcuCol=mcu%mcusPerLine,blockRow=mcuRow*component.v+row,blockCol=mcuCol*component.h+col,offset=getBlockBufferOffset(component,blockRow,blockCol);decode(component,offset)}function decodeBlock(component,decode,mcu){var blockRow=mcu/component.blocksPerLine|0,blockCol=mcu%component.blocksPerLine,offset=getBlockBufferOffset(component,blockRow,blockCol);decode(component,offset)}var successiveACNextValue,component,i,j,k,n,decodeFn,mcusPerLine=(frame.precision,frame.samplesPerLine,frame.scanLines,frame.mcusPerLine),progressive=frame.progressive,startOffset=(frame.maxH,frame.maxV,offset),bitsData=0,bitsCount=0,eobrun=0,successiveACState=0,componentsLength=components.length;decodeFn=progressive?0===spectralStart?0===successivePrev?decodeDCFirst:decodeDCSuccessive:0===successivePrev?decodeACFirst:decodeACSuccessive:decodeBaseline;var marker,mcuExpected,mcu=0;mcuExpected=1===componentsLength?components[0].blocksPerLine*components[0].blocksPerColumn:mcusPerLine*frame.mcusPerColumn,resetInterval||(resetInterval=mcuExpected);for(var h,v;mcuExpected>mcu;){for(i=0;componentsLength>i;i++)components[i].pred=0;if(eobrun=0,1===componentsLength)for(component=components[0],n=0;resetInterval>n;n++)decodeBlock(component,decodeFn,mcu),mcu++;else for(n=0;resetInterval>n;n++){for(i=0;componentsLength>i;i++)for(component=components[i],h=component.h,v=component.v,j=0;v>j;j++)for(k=0;h>k;k++)decodeMcu(component,decodeFn,mcu,j,k);mcu++}if(bitsCount=0,marker=data[offset]<<8|data[offset+1],65280>=marker)throw"marker was not found";if(!(marker>=65488&&65495>=marker))break;offset+=2}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){for(var v0,v1,v2,v3,v4,v5,v6,v7,p0,p1,p2,p3,p4,p5,p6,p7,t,qt=component.quantizationTable,blockData=component.blockData,row=0;64>row;row+=8)p0=blockData[blockBufferOffset+row],p1=blockData[blockBufferOffset+row+1],p2=blockData[blockBufferOffset+row+2],p3=blockData[blockBufferOffset+row+3],p4=blockData[blockBufferOffset+row+4],p5=blockData[blockBufferOffset+row+5],p6=blockData[blockBufferOffset+row+6],p7=blockData[blockBufferOffset+row+7],p0*=qt[row],0!==(p1|p2|p3|p4|p5|p6|p7)?(p1*=qt[row+1],p2*=qt[row+2],p3*=qt[row+3],p4*=qt[row+4],p5*=qt[row+5],p6*=qt[row+6],p7*=qt[row+7],v0=dctSqrt2*p0+128>>8,v1=dctSqrt2*p4+128>>8,v2=p2,v3=p6,v4=dctSqrt1d2*(p1-p7)+128>>8,v7=dctSqrt1d2*(p1+p7)+128>>8,v5=p3<<4,v6=p5<<4,v0=v0+v1+1>>1,v1=v0-v1,t=v2*dctSin6+v3*dctCos6+128>>8,v2=v2*dctCos6-v3*dctSin6+128>>8,v3=t,v4=v4+v6+1>>1,v6=v4-v6,v7=v7+v5+1>>1,v5=v7-v5,v0=v0+v3+1>>1,v3=v0-v3,v1=v1+v2+1>>1,v2=v1-v2,t=v4*dctSin3+v7*dctCos3+2048>>12,v4=v4*dctCos3-v7*dctSin3+2048>>12,v7=t,t=v5*dctSin1+v6*dctCos1+2048>>12,v5=v5*dctCos1-v6*dctSin1+2048>>12,v6=t,p[row]=v0+v7,p[row+7]=v0-v7,p[row+1]=v1+v6,p[row+6]=v1-v6,p[row+2]=v2+v5,p[row+5]=v2-v5,p[row+3]=v3+v4,p[row+4]=v3-v4):(t=dctSqrt2*p0+512>>10,p[row]=t,p[row+1]=t,p[row+2]=t,p[row+3]=t,p[row+4]=t,p[row+5]=t,p[row+6]=t,p[row+7]=t);for(var col=0;8>col;++col)p0=p[col],p1=p[col+8],p2=p[col+16],p3=p[col+24],p4=p[col+32],p5=p[col+40],p6=p[col+48],p7=p[col+56],0!==(p1|p2|p3|p4|p5|p6|p7)?(v0=dctSqrt2*p0+2048>>12,v1=dctSqrt2*p4+2048>>12,v2=p2,v3=p6,v4=dctSqrt1d2*(p1-p7)+2048>>12,v7=dctSqrt1d2*(p1+p7)+2048>>12,v5=p3,v6=p5,v0=(v0+v1+1>>1)+4112,v1=v0-v1,t=v2*dctSin6+v3*dctCos6+2048>>12,v2=v2*dctCos6-v3*dctSin6+2048>>12,v3=t,v4=v4+v6+1>>1,v6=v4-v6,v7=v7+v5+1>>1,v5=v7-v5,v0=v0+v3+1>>1,v3=v0-v3,v1=v1+v2+1>>1,v2=v1-v2,t=v4*dctSin3+v7*dctCos3+2048>>12,v4=v4*dctCos3-v7*dctSin3+2048>>12,v7=t,t=v5*dctSin1+v6*dctCos1+2048>>12,v5=v5*dctCos1-v6*dctSin1+2048>>12,v6=t,p0=v0+v7,p7=v0-v7,p1=v1+v6,p6=v1-v6,p2=v2+v5,p5=v2-v5,p3=v3+v4,p4=v3-v4,p0=16>p0?0:p0>=4080?255:p0>>4,p1=16>p1?0:p1>=4080?255:p1>>4,p2=16>p2?0:p2>=4080?255:p2>>4,p3=16>p3?0:p3>=4080?255:p3>>4,p4=16>p4?0:p4>=4080?255:p4>>4,p5=16>p5?0:p5>=4080?255:p5>>4,p6=16>p6?0:p6>=4080?255:p6>>4,p7=16>p7?0:p7>=4080?255:p7>>4,blockData[blockBufferOffset+col]=p0,blockData[blockBufferOffset+col+8]=p1,blockData[blockBufferOffset+col+16]=p2,blockData[blockBufferOffset+col+24]=p3,blockData[blockBufferOffset+col+32]=p4,blockData[blockBufferOffset+col+40]=p5,blockData[blockBufferOffset+col+48]=p6,blockData[blockBufferOffset+col+56]=p7):(t=dctSqrt2*p0+8192>>14,t=-2040>t?0:t>=2024?255:t+2056>>4,blockData[blockBufferOffset+col]=t,blockData[blockBufferOffset+col+8]=t,blockData[blockBufferOffset+col+16]=t,blockData[blockBufferOffset+col+24]=t,blockData[blockBufferOffset+col+32]=t,blockData[blockBufferOffset+col+40]=t,blockData[blockBufferOffset+col+48]=t,blockData[blockBufferOffset+col+56]=t)}function buildComponentData(frame,component){for(var blocksPerLine=component.blocksPerLine,blocksPerColumn=component.blocksPerColumn,computationBuffer=new Int16Array(64),blockRow=0;blocksPerColumn>blockRow;blockRow++)for(var blockCol=0;blocksPerLine>blockCol;blockCol++){var offset=getBlockBufferOffset(component,blockRow,blockCol);quantizeAndInverse(component,offset,computationBuffer)}return component.blockData}function clamp0to255(a){return 0>=a?0:a>=255?255:a}var dctZigZag=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),dctCos1=4017,dctSin1=799,dctCos3=3406,dctSin3=2276,dctCos6=1567,dctSin6=3784,dctSqrt2=5793,dctSqrt1d2=2896;return constructor.prototype={parse:function(data){function readUint16(){var value=data[offset]<<8|data[offset+1];return offset+=2,value}function readDataBlock(){var length=readUint16(),array=data.subarray(offset,offset+length-2);return offset+=array.length,array}function prepareComponents(frame){for(var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH),mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV),i=0;i<frame.components.length;i++){component=frame.components[i];var blocksPerLine=Math.ceil(Math.ceil(frame.samplesPerLine/8)*component.h/frame.maxH),blocksPerColumn=Math.ceil(Math.ceil(frame.scanLines/8)*component.v/frame.maxV),blocksPerLineForMcu=mcusPerLine*component.h,blocksPerColumnForMcu=mcusPerColumn*component.v,blocksBufferSize=64*blocksPerColumnForMcu*(blocksPerLineForMcu+1);component.blockData=new Int16Array(blocksBufferSize),component.blocksPerLine=blocksPerLine,component.blocksPerColumn=blocksPerColumn}frame.mcusPerLine=mcusPerLine,frame.mcusPerColumn=mcusPerColumn}var frame,resetInterval,offset=0,jfif=(data.length,null),adobe=null,quantizationTables=[],huffmanTablesAC=[],huffmanTablesDC=[],fileMarker=readUint16();if(65496!==fileMarker)throw"SOI not found";for(fileMarker=readUint16();65497!==fileMarker;){var i,j,l;switch(fileMarker){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var appData=readDataBlock();65504===fileMarker&&74===appData[0]&&70===appData[1]&&73===appData[2]&&70===appData[3]&&0===appData[4]&&(jfif={version:{major:appData[5],minor:appData[6]},densityUnits:appData[7],xDensity:appData[8]<<8|appData[9],yDensity:appData[10]<<8|appData[11],thumbWidth:appData[12],thumbHeight:appData[13],thumbData:appData.subarray(14,14+3*appData[12]*appData[13])}),65518===fileMarker&&65===appData[0]&&100===appData[1]&&111===appData[2]&&98===appData[3]&&101===appData[4]&&0===appData[5]&&(adobe={version:appData[6],flags0:appData[7]<<8|appData[8],flags1:appData[9]<<8|appData[10],transformCode:appData[11]});break;case 65499:for(var z,quantizationTablesLength=readUint16(),quantizationTablesEnd=quantizationTablesLength+offset-2;quantizationTablesEnd>offset;){var quantizationTableSpec=data[offset++],tableData=new Uint16Array(64);if(quantizationTableSpec>>4===0)for(j=0;64>j;j++)z=dctZigZag[j],tableData[z]=data[offset++];else{if(quantizationTableSpec>>4!==1)throw"DQT: invalid table spec";for(j=0;64>j;j++)z=dctZigZag[j],tableData[z]=readUint16()}quantizationTables[15&quantizationTableSpec]=tableData}break;case 65472:case 65473:case 65474:if(frame)throw"Only single frame JPEGs supported";readUint16(),frame={},frame.extended=65473===fileMarker,frame.progressive=65474===fileMarker,frame.precision=data[offset++],frame.scanLines=readUint16(),frame.samplesPerLine=readUint16(),frame.components=[],frame.componentIds={};var componentId,componentsCount=data[offset++],maxH=0,maxV=0;for(i=0;componentsCount>i;i++){componentId=data[offset];var h=data[offset+1]>>4,v=15&data[offset+1];h>maxH&&(maxH=h),v>maxV&&(maxV=v);var qId=data[offset+2];l=frame.components.push({h:h,v:v,quantizationTable:quantizationTables[qId]}),frame.componentIds[componentId]=l-1,offset+=3}frame.maxH=maxH,frame.maxV=maxV,prepareComponents(frame);break;case 65476:var huffmanLength=readUint16();for(i=2;huffmanLength>i;){var huffmanTableSpec=data[offset++],codeLengths=new Uint8Array(16),codeLengthSum=0;for(j=0;16>j;j++,offset++)codeLengthSum+=codeLengths[j]=data[offset];var huffmanValues=new Uint8Array(codeLengthSum);for(j=0;codeLengthSum>j;j++,offset++)huffmanValues[j]=data[offset];i+=17+codeLengthSum,(huffmanTableSpec>>4===0?huffmanTablesDC:huffmanTablesAC)[15&huffmanTableSpec]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:readUint16(),resetInterval=readUint16();break;case 65498:var component,selectorsCount=(readUint16(),data[offset++]),components=[];for(i=0;selectorsCount>i;i++){var componentIndex=frame.componentIds[data[offset++]];component=frame.components[componentIndex];var tableSpec=data[offset++];component.huffmanTableDC=huffmanTablesDC[tableSpec>>4],component.huffmanTableAC=huffmanTablesAC[15&tableSpec],components.push(component)}var spectralStart=data[offset++],spectralEnd=data[offset++],successiveApproximation=data[offset++],processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,15&successiveApproximation);offset+=processed;break;default:if(255===data[offset-3]&&data[offset-2]>=192&&data[offset-2]<=254){offset-=3;break}throw"unknown JPEG marker "+fileMarker.toString(16)}fileMarker=readUint16()}for(this.width=frame.samplesPerLine,this.height=frame.scanLines,this.jfif=jfif,this.adobe=adobe,this.components=[],i=0;i<frame.components.length;i++)component=frame.components[i],this.components.push({output:buildComponentData(frame,component),scaleX:component.h/frame.maxH,scaleY:component.v/frame.maxV,blocksPerLine:component.blocksPerLine,blocksPerColumn:component.blocksPerColumn});this.numComponents=this.components.length},_getLinearizedBlockData:function(width,height){var component,componentScaleX,componentScaleY,blocksPerScanline,x,y,i,j,k,index,output,scaleX=this.width/width,scaleY=this.height/height,offset=0,numComponents=this.components.length,dataLength=width*height*numComponents,data=new Uint8Array(dataLength),xScaleBlockOffset=new Uint32Array(width),mask3LSB=4294967288;for(i=0;numComponents>i;i++){for(component=this.components[i],componentScaleX=component.scaleX*scaleX,componentScaleY=component.scaleY*scaleY,offset=i,output=component.output,blocksPerScanline=component.blocksPerLine+1<<3,x=0;width>x;x++)j=0|x*componentScaleX,xScaleBlockOffset[x]=(j&mask3LSB)<<3|7&j;for(y=0;height>y;y++)for(j=0|y*componentScaleY,index=blocksPerScanline*(j&mask3LSB)|(7&j)<<3,x=0;width>x;x++)data[offset]=output[index+xScaleBlockOffset[x]],offset+=numComponents}var transform=this.decodeTransform;if(transform)for(i=0;dataLength>i;)for(j=0,k=0;numComponents>j;j++,i++,k+=2)data[i]=(data[i]*transform[k]>>8)+transform[k+1];return data},_isColorConversionNeeded:function(){return this.adobe&&this.adobe.transformCode?!0:3===this.numComponents?!0:!1},_convertYccToRgb:function(data){for(var Y,Cb,Cr,i=0,length=data.length;length>i;i+=3)Y=data[i],Cb=data[i+1],Cr=data[i+2],data[i]=clamp0to255(Y-179.456+1.402*Cr),data[i+1]=clamp0to255(Y+135.459-.344*Cb-.714*Cr),data[i+2]=clamp0to255(Y-226.816+1.772*Cb);return data},_convertYcckToRgb:function(data){for(var Y,Cb,Cr,k,CbCb,CbCr,CbY,Cbk,CrCr,Crk,CrY,YY,Yk,kk,offset=0,i=0,length=data.length;length>i;i+=4){Y=data[i],Cb=data[i+1],Cr=data[i+2],k=data[i+3],CbCb=Cb*Cb,CbCr=Cb*Cr,CbY=Cb*Y,Cbk=Cb*k,CrCr=Cr*Cr,Crk=Cr*k,CrY=Cr*Y,YY=Y*Y,Yk=Y*k,kk=k*k;var r=-122.67195406894-660635669420364e-19*CbCb+.000437130475926232*CbCr-54080610064599e-18*CbY+.00048449797120281*Cbk-.154362151871126*Cb-.000957964378445773*CrCr+.000817076911346625*CrY-.00477271405408747*Crk+1.53380253221734*Cr+.000961250184130688*YY-.00266257332283933*Yk+.48357088451265*Y-.000336197177618394*kk+.484791561490776*k,g=107.268039397724+219927104525741e-19*CbCb-.000640992018297945*CbCr+.000659397001245577*CbY+.000426105652938837*Cbk-.176491792462875*Cb-.000778269941513683*CrCr+.00130872261408275*CrY+.000770482631801132*Crk-.151051492775562*Cr+.00126935368114843*YY-.00265090189010898*Yk+.25802910206845*Y-.000318913117588328*kk-.213742400323665*k,b=-20.810012546947-.000570115196973677*CbCb-263409051004589e-19*CbCr+.0020741088115012*CbY-.00288260236853442*Cbk+.814272968359295*Cb-153496057440975e-19*CrCr-.000132689043961446*CrY+.000560833691242812*Crk-.195152027534049*Cr+.00174418132927582*YY-.00255243321439347*Yk+.116935020465145*Y-.000343531996510555*kk+.24165260232407*k;data[offset++]=clamp0to255(r),data[offset++]=clamp0to255(g),data[offset++]=clamp0to255(b)}return data},_convertYcckToCmyk:function(data){for(var Y,Cb,Cr,i=0,length=data.length;length>i;i+=4)Y=data[i],Cb=data[i+1],Cr=data[i+2],data[i]=clamp0to255(434.456-Y-1.402*Cr),data[i+1]=clamp0to255(119.541-Y+.344*Cb+.714*Cr),data[i+2]=clamp0to255(481.816-Y-1.772*Cb);return data},_convertCmykToRgb:function(data){for(var c,m,y,k,offset=0,min=-16581375,scale=1/255/255,i=0,length=data.length;length>i;i+=4){c=data[i],m=data[i+1],y=data[i+2],k=data[i+3];var r=c*(-4.387332384609988*c+54.48615194189176*m+18.82290502165302*y+212.25662451639585*k-72734.4411664936)+m*(1.7149763477362134*m-5.6096736904047315*y-17.873870861415444*k-1401.7366389350734)+y*(-2.5217340131683033*y-21.248923337353073*k+4465.541406466231)-k*(21.86122147463605*k+48317.86113160301),g=c*(8.841041422036149*c+60.118027045597366*m+6.871425592049007*y+31.159100130055922*k-20220.756542821975)+m*(-15.310361306967817*m+17.575251261109482*y+131.35250912493976*k-48691.05921601825)+y*(4.444339102852739*y+9.8632861493405*k-6341.191035517494)-k*(20.737325471181034*k+47890.15695978492),b=c*(.8842522430003296*c+8.078677503112928*m+30.89978309703729*y-.23883238689178934*k-3616.812083916688)+m*(10.49593273432072*m+63.02378494754052*y+50.606957656360734*k-28620.90484698408)+y*(.03296041114873217*y+115.60384449646641*k-49363.43385999684)-k*(22.33816807309886*k+45932.16563550634);data[offset++]=r>=0?255:min>=r?0:255+r*scale|0,data[offset++]=g>=0?255:min>=g?0:255+g*scale|0,data[offset++]=b>=0?255:min>=b?0:255+b*scale|0}return data},getData:function(width,height,forceRGBoutput){if(this.numComponents>4)throw"Unsupported color mode";var data=this._getLinearizedBlockData(width,height);if(3===this.numComponents)return this._convertYccToRgb(data);if(4===this.numComponents){if(this._isColorConversionNeeded())return forceRGBoutput?this._convertYcckToRgb(data):this._convertYcckToCmyk(data);if(forceRGBoutput)return this._convertCmykToRgb(data)}return data}},constructor}(),JpxImage=function(){function JpxImage(){this.failOnCorruptedImage=!1}function calculateComponentDimensions(component,siz){component.x0=Math.ceil(siz.XOsiz/component.XRsiz),component.x1=Math.ceil(siz.Xsiz/component.XRsiz),component.y0=Math.ceil(siz.YOsiz/component.YRsiz),component.y1=Math.ceil(siz.Ysiz/component.YRsiz),component.width=component.x1-component.x0,component.height=component.y1-component.y0}function calculateTileGrids(context,components){for(var tile,siz=context.SIZ,tiles=[],numXtiles=Math.ceil((siz.Xsiz-siz.XTOsiz)/siz.XTsiz),numYtiles=Math.ceil((siz.Ysiz-siz.YTOsiz)/siz.YTsiz),q=0;numYtiles>q;q++)for(var p=0;numXtiles>p;p++)tile={},tile.tx0=Math.max(siz.XTOsiz+p*siz.XTsiz,siz.XOsiz),tile.ty0=Math.max(siz.YTOsiz+q*siz.YTsiz,siz.YOsiz),tile.tx1=Math.min(siz.XTOsiz+(p+1)*siz.XTsiz,siz.Xsiz),tile.ty1=Math.min(siz.YTOsiz+(q+1)*siz.YTsiz,siz.Ysiz),tile.width=tile.tx1-tile.tx0,tile.height=tile.ty1-tile.ty0,tile.components=[],tiles.push(tile);context.tiles=tiles;for(var componentsCount=siz.Csiz,i=0,ii=componentsCount;ii>i;i++)for(var component=components[i],j=0,jj=tiles.length;jj>j;j++){var tileComponent={};tile=tiles[j],tileComponent.tcx0=Math.ceil(tile.tx0/component.XRsiz),tileComponent.tcy0=Math.ceil(tile.ty0/component.YRsiz),tileComponent.tcx1=Math.ceil(tile.tx1/component.XRsiz),tileComponent.tcy1=Math.ceil(tile.ty1/component.YRsiz),tileComponent.width=tileComponent.tcx1-tileComponent.tcx0,tileComponent.height=tileComponent.tcy1-tileComponent.tcy0,tile.components[i]=tileComponent}}function getBlocksDimensions(context,component,r){var codOrCoc=component.codingStyleParameters,result={};return codOrCoc.entropyCoderWithCustomPrecincts?(result.PPx=codOrCoc.precinctsSizes[r].PPx,result.PPy=codOrCoc.precinctsSizes[r].PPy):(result.PPx=15,result.PPy=15),result.xcb_=r>0?Math.min(codOrCoc.xcb,result.PPx-1):Math.min(codOrCoc.xcb,result.PPx),result.ycb_=r>0?Math.min(codOrCoc.ycb,result.PPy-1):Math.min(codOrCoc.ycb,result.PPy),result}function buildPrecincts(context,resolution,dimensions){var precinctWidth=1<<dimensions.PPx,precinctHeight=1<<dimensions.PPy,numprecinctswide=resolution.trx1>resolution.trx0?Math.ceil(resolution.trx1/precinctWidth)-Math.floor(resolution.trx0/precinctWidth):0,numprecinctshigh=resolution.try1>resolution.try0?Math.ceil(resolution.try1/precinctHeight)-Math.floor(resolution.try0/precinctHeight):0,numprecincts=numprecinctswide*numprecinctshigh,precinctXOffset=Math.floor(resolution.trx0/precinctWidth)*precinctWidth,precinctYOffset=Math.floor(resolution.try0/precinctHeight)*precinctHeight;resolution.precinctParameters={precinctXOffset:precinctXOffset,precinctYOffset:precinctYOffset,precinctWidth:precinctWidth,precinctHeight:precinctHeight,numprecinctswide:numprecinctswide,numprecinctshigh:numprecinctshigh,numprecincts:numprecincts}}function buildCodeblocks(context,subband,dimensions){var i,j,codeblock,precinctNumber,xcb_=dimensions.xcb_,ycb_=dimensions.ycb_,codeblockWidth=1<<xcb_,codeblockHeight=1<<ycb_,cbx0=subband.tbx0>>xcb_,cby0=subband.tby0>>ycb_,cbx1=subband.tbx1+codeblockWidth-1>>xcb_,cby1=subband.tby1+codeblockHeight-1>>ycb_,precinctParameters=subband.resolution.precinctParameters,codeblocks=[],precincts=[];for(j=cby0;cby1>j;j++)for(i=cbx0;cbx1>i;i++){codeblock={cbx:i,cby:j,tbx0:codeblockWidth*i,tby0:codeblockHeight*j,tbx1:codeblockWidth*(i+1),tby1:codeblockHeight*(j+1)};var pi=Math.floor((codeblock.tbx0-precinctParameters.precinctXOffset)/precinctParameters.precinctWidth),pj=Math.floor((codeblock.tby0-precinctParameters.precinctYOffset)/precinctParameters.precinctHeight);precinctNumber=pj+pi*precinctParameters.numprecinctswide,codeblock.tbx0_=Math.max(subband.tbx0,codeblock.tbx0),codeblock.tby0_=Math.max(subband.tby0,codeblock.tby0),codeblock.tbx1_=Math.min(subband.tbx1,codeblock.tbx1),codeblock.tby1_=Math.min(subband.tby1,codeblock.tby1),codeblock.precinctNumber=precinctNumber,codeblock.subbandType=subband.type,codeblock.Lblock=3,codeblocks.push(codeblock);var precinct=precincts[precinctNumber];void 0!==precinct?(i<precinct.cbxMin?precinct.cbxMin=i:i>precinct.cbxMax&&(precinct.cbxMax=i),j<precinct.cbyMin?precinct.cbxMin=j:j>precinct.cbyMax&&(precinct.cbyMax=j)):precincts[precinctNumber]=precinct={cbxMin:i,cbyMin:j,cbxMax:i,cbyMax:j},codeblock.precinct=precinct
+}subband.codeblockParameters={codeblockWidth:xcb_,codeblockHeight:ycb_,numcodeblockwide:cbx1-cbx0+1,numcodeblockhigh:cby1-cby0+1},subband.codeblocks=codeblocks,subband.precincts=precincts}function createPacket(resolution,precinctNumber,layerNumber){for(var precinctCodeblocks=[],subbands=resolution.subbands,i=0,ii=subbands.length;ii>i;i++)for(var subband=subbands[i],codeblocks=subband.codeblocks,j=0,jj=codeblocks.length;jj>j;j++){var codeblock=codeblocks[j];codeblock.precinctNumber===precinctNumber&&precinctCodeblocks.push(codeblock)}return{layerNumber:layerNumber,codeblocks:precinctCodeblocks}}function LayerResolutionComponentPositionIterator(context){for(var siz=context.SIZ,tileIndex=context.currentTile.index,tile=context.tiles[tileIndex],layersCount=tile.codingStyleDefaultParameters.layersCount,componentsCount=siz.Csiz,maxDecompositionLevelsCount=0,q=0;componentsCount>q;q++)maxDecompositionLevelsCount=Math.max(maxDecompositionLevelsCount,tile.components[q].codingStyleParameters.decompositionLevelsCount);var l=0,r=0,i=0,k=0;this.nextPacket=function(){for(;layersCount>l;l++){for(;maxDecompositionLevelsCount>=r;r++){for(;componentsCount>i;i++){var component=tile.components[i];if(!(r>component.codingStyleParameters.decompositionLevelsCount)){for(var resolution=component.resolutions[r],numprecincts=resolution.precinctParameters.numprecincts;numprecincts>k;){var packet=createPacket(resolution,k,l);return k++,packet}k=0}}i=0}r=0}throw new Error("JPX Error: Out of packets")}}function ResolutionLayerComponentPositionIterator(context){for(var siz=context.SIZ,tileIndex=context.currentTile.index,tile=context.tiles[tileIndex],layersCount=tile.codingStyleDefaultParameters.layersCount,componentsCount=siz.Csiz,maxDecompositionLevelsCount=0,q=0;componentsCount>q;q++)maxDecompositionLevelsCount=Math.max(maxDecompositionLevelsCount,tile.components[q].codingStyleParameters.decompositionLevelsCount);var r=0,l=0,i=0,k=0;this.nextPacket=function(){for(;maxDecompositionLevelsCount>=r;r++){for(;layersCount>l;l++){for(;componentsCount>i;i++){var component=tile.components[i];if(!(r>component.codingStyleParameters.decompositionLevelsCount)){for(var resolution=component.resolutions[r],numprecincts=resolution.precinctParameters.numprecincts;numprecincts>k;){var packet=createPacket(resolution,k,l);return k++,packet}k=0}}i=0}l=0}throw new Error("JPX Error: Out of packets")}}function buildPackets(context){for(var siz=context.SIZ,tileIndex=context.currentTile.index,tile=context.tiles[tileIndex],componentsCount=siz.Csiz,c=0;componentsCount>c;c++){for(var component=tile.components[c],decompositionLevelsCount=component.codingStyleParameters.decompositionLevelsCount,resolutions=[],subbands=[],r=0;decompositionLevelsCount>=r;r++){var blocksDimensions=getBlocksDimensions(context,component,r),resolution={},scale=1<<decompositionLevelsCount-r;resolution.trx0=Math.ceil(component.tcx0/scale),resolution.try0=Math.ceil(component.tcy0/scale),resolution.trx1=Math.ceil(component.tcx1/scale),resolution.try1=Math.ceil(component.tcy1/scale),buildPrecincts(context,resolution,blocksDimensions),resolutions.push(resolution);var subband;if(0===r)subband={},subband.type="LL",subband.tbx0=Math.ceil(component.tcx0/scale),subband.tby0=Math.ceil(component.tcy0/scale),subband.tbx1=Math.ceil(component.tcx1/scale),subband.tby1=Math.ceil(component.tcy1/scale),subband.resolution=resolution,buildCodeblocks(context,subband,blocksDimensions),subbands.push(subband),resolution.subbands=[subband];else{var bscale=1<<decompositionLevelsCount-r+1,resolutionSubbands=[];subband={},subband.type="HL",subband.tbx0=Math.ceil(component.tcx0/bscale-.5),subband.tby0=Math.ceil(component.tcy0/bscale),subband.tbx1=Math.ceil(component.tcx1/bscale-.5),subband.tby1=Math.ceil(component.tcy1/bscale),subband.resolution=resolution,buildCodeblocks(context,subband,blocksDimensions),subbands.push(subband),resolutionSubbands.push(subband),subband={},subband.type="LH",subband.tbx0=Math.ceil(component.tcx0/bscale),subband.tby0=Math.ceil(component.tcy0/bscale-.5),subband.tbx1=Math.ceil(component.tcx1/bscale),subband.tby1=Math.ceil(component.tcy1/bscale-.5),subband.resolution=resolution,buildCodeblocks(context,subband,blocksDimensions),subbands.push(subband),resolutionSubbands.push(subband),subband={},subband.type="HH",subband.tbx0=Math.ceil(component.tcx0/bscale-.5),subband.tby0=Math.ceil(component.tcy0/bscale-.5),subband.tbx1=Math.ceil(component.tcx1/bscale-.5),subband.tby1=Math.ceil(component.tcy1/bscale-.5),subband.resolution=resolution,buildCodeblocks(context,subband,blocksDimensions),subbands.push(subband),resolutionSubbands.push(subband),resolution.subbands=resolutionSubbands}}component.resolutions=resolutions,component.subbands=subbands}var progressionOrder=tile.codingStyleDefaultParameters.progressionOrder;switch(progressionOrder){case 0:tile.packetsIterator=new LayerResolutionComponentPositionIterator(context);break;case 1:tile.packetsIterator=new ResolutionLayerComponentPositionIterator(context);break;default:throw new Error("JPX Error: Unsupported progression order "+progressionOrder)}}function parseTilePackets(context,data,offset,dataLength){function readBits(count){for(;count>bufferSize;){var b=data[offset+position];position++,skipNextBit?(buffer=buffer<<7|b,bufferSize+=7,skipNextBit=!1):(buffer=buffer<<8|b,bufferSize+=8),255===b&&(skipNextBit=!0)}return bufferSize-=count,buffer>>>bufferSize&(1<<count)-1}function alignToByte(){bufferSize=0,skipNextBit&&(position++,skipNextBit=!1)}function readCodingpasses(){if(0===readBits(1))return 1;if(0===readBits(1))return 2;var value=readBits(2);return 3>value?value+3:(value=readBits(5),31>value?value+6:(value=readBits(7),value+37))}for(var buffer,position=0,bufferSize=0,skipNextBit=!1,tileIndex=context.currentTile.index,tile=context.tiles[tileIndex],packetsIterator=tile.packetsIterator;dataLength>position;){var packet=packetsIterator.nextPacket();if(readBits(1)){for(var codeblock,layerNumber=packet.layerNumber,queue=[],i=0,ii=packet.codeblocks.length;ii>i;i++){codeblock=packet.codeblocks[i];var valueReady,precinct=codeblock.precinct,codeblockColumn=codeblock.cbx-precinct.cbxMin,codeblockRow=codeblock.cby-precinct.cbyMin,codeblockIncluded=!1,firstTimeInclusion=!1;if("included"in codeblock)codeblockIncluded=!!readBits(1);else{precinct=codeblock.precinct;var inclusionTree,zeroBitPlanesTree;if("inclusionTree"in precinct)inclusionTree=precinct.inclusionTree;else{var width=precinct.cbxMax-precinct.cbxMin+1,height=precinct.cbyMax-precinct.cbyMin+1;inclusionTree=new InclusionTree(width,height,layerNumber),zeroBitPlanesTree=new TagTree(width,height),precinct.inclusionTree=inclusionTree,precinct.zeroBitPlanesTree=zeroBitPlanesTree}if(inclusionTree.reset(codeblockColumn,codeblockRow,layerNumber))for(;;){if(!readBits(1)){inclusionTree.incrementValue(layerNumber);break}if(valueReady=!inclusionTree.nextLevel()){codeblock.included=!0,codeblockIncluded=firstTimeInclusion=!0;break}}}if(codeblockIncluded){if(firstTimeInclusion){for(zeroBitPlanesTree=precinct.zeroBitPlanesTree,zeroBitPlanesTree.reset(codeblockColumn,codeblockRow);;)if(readBits(1)){if(valueReady=!zeroBitPlanesTree.nextLevel())break}else zeroBitPlanesTree.incrementValue();codeblock.zeroBitPlanes=zeroBitPlanesTree.value}for(var codingpasses=readCodingpasses();readBits(1);)codeblock.Lblock++;var codingpassesLog2=log2(codingpasses),bits=(1<<codingpassesLog2>codingpasses?codingpassesLog2-1:codingpassesLog2)+codeblock.Lblock,codedDataLength=readBits(bits);queue.push({codeblock:codeblock,codingpasses:codingpasses,dataLength:codedDataLength})}}for(alignToByte();queue.length>0;){var packetItem=queue.shift();codeblock=packetItem.codeblock,"data"in codeblock||(codeblock.data=[]),codeblock.data.push({data:data,start:offset+position,end:offset+position+packetItem.dataLength,codingpasses:packetItem.codingpasses}),position+=packetItem.dataLength}}else alignToByte()}return position}function copyCoefficients(coefficients,levelWidth,levelHeight,subband,delta,mb,reversible,segmentationSymbolUsed){for(var x0=subband.tbx0,y0=subband.tby0,width=subband.tbx1-subband.tbx0,codeblocks=subband.codeblocks,right="H"===subband.type.charAt(0)?1:0,bottom="H"===subband.type.charAt(1)?levelWidth:0,i=0,ii=codeblocks.length;ii>i;++i){var codeblock=codeblocks[i],blockWidth=codeblock.tbx1_-codeblock.tbx0_,blockHeight=codeblock.tby1_-codeblock.tby0_;if(0!==blockWidth&&0!==blockHeight&&"data"in codeblock){var bitModel,currentCodingpassType;bitModel=new BitModel(blockWidth,blockHeight,codeblock.subbandType,codeblock.zeroBitPlanes,mb),currentCodingpassType=2;var j,jj,dataItem,data=codeblock.data,totalLength=0,codingpasses=0;for(j=0,jj=data.length;jj>j;j++)dataItem=data[j],totalLength+=dataItem.end-dataItem.start,codingpasses+=dataItem.codingpasses;var encodedData=new Uint8Array(totalLength),position=0;for(j=0,jj=data.length;jj>j;j++){dataItem=data[j];var chunk=dataItem.data.subarray(dataItem.start,dataItem.end);encodedData.set(chunk,position),position+=chunk.length}var decoder=new ArithmeticDecoder(encodedData,0,totalLength);for(bitModel.setDecoder(decoder),j=0;codingpasses>j;j++){switch(currentCodingpassType){case 0:bitModel.runSignificancePropogationPass();break;case 1:bitModel.runMagnitudeRefinementPass();break;case 2:bitModel.runCleanupPass(),segmentationSymbolUsed&&bitModel.checkSegmentationSymbol()}currentCodingpassType=(currentCodingpassType+1)%3}var k,n,nb,offset=codeblock.tbx0_-x0+(codeblock.tby0_-y0)*width,sign=bitModel.coefficentsSign,magnitude=bitModel.coefficentsMagnitude,bitsDecoded=bitModel.bitsDecoded,magnitudeCorrection=reversible?0:.5;position=0;var interleave="LL"!==subband.type;for(j=0;blockHeight>j;j++){var row=offset/width|0,levelOffset=2*row*(levelWidth-width)+right+bottom;for(k=0;blockWidth>k;k++){if(n=magnitude[position],0!==n){n=(n+magnitudeCorrection)*delta,0!==sign[position]&&(n=-n),nb=bitsDecoded[position];var pos=interleave?levelOffset+(offset<<1):offset;coefficients[pos]=reversible&&nb>=mb?n:n*(1<<mb-nb)}offset++,position++}offset+=width-blockWidth}}}}function transformTile(context,tile,c){for(var component=tile.components[c],codingStyleParameters=component.codingStyleParameters,quantizationParameters=component.quantizationParameters,decompositionLevelsCount=codingStyleParameters.decompositionLevelsCount,spqcds=quantizationParameters.SPqcds,scalarExpounded=quantizationParameters.scalarExpounded,guardBits=quantizationParameters.guardBits,segmentationSymbolUsed=codingStyleParameters.segmentationSymbolUsed,precision=context.components[c].precision,reversible=codingStyleParameters.reversibleTransformation,transform=reversible?new ReversibleTransform:new IrreversibleTransform,subbandCoefficients=[],b=0,i=0;decompositionLevelsCount>=i;i++){for(var resolution=component.resolutions[i],width=resolution.trx1-resolution.trx0,height=resolution.try1-resolution.try0,coefficients=new Float32Array(width*height),j=0,jj=resolution.subbands.length;jj>j;j++){var mu,epsilon;scalarExpounded?(mu=spqcds[b].mu,epsilon=spqcds[b].epsilon,b++):(mu=spqcds[0].mu,epsilon=spqcds[0].epsilon+(i>0?1-i:0));var subband=resolution.subbands[j],gainLog2=SubbandsGainLog2[subband.type],delta=reversible?1:Math.pow(2,precision+gainLog2-epsilon)*(1+mu/2048),mb=guardBits+epsilon-1;copyCoefficients(coefficients,width,height,subband,delta,mb,reversible,segmentationSymbolUsed)}subbandCoefficients.push({width:width,height:height,items:coefficients})}var result=transform.calculate(subbandCoefficients,component.tcx0,component.tcy0);return{left:component.tcx0,top:component.tcy0,width:result.width,height:result.height,items:result.items}}function transformComponents(context){for(var siz=context.SIZ,components=context.components,componentsCount=siz.Csiz,resultImages=[],i=0,ii=context.tiles.length;ii>i;i++){var c,tile=context.tiles[i],transformedTiles=[];for(c=0;componentsCount>c;c++)transformedTiles[c]=transformTile(context,tile,c);var shift,offset,max,min,maxK,j,jj,y0,y1,y2,r,g,b,k,val,tile0=transformedTiles[0],out=new Uint8Array(tile0.items.length*componentsCount),result={left:tile0.left,top:tile0.top,width:tile0.width,height:tile0.height,items:out},pos=0;if(tile.codingStyleDefaultParameters.multipleComponentTransform){var fourComponents=4===componentsCount,y0items=transformedTiles[0].items,y1items=transformedTiles[1].items,y2items=transformedTiles[2].items,y3items=fourComponents?transformedTiles[3].items:null;shift=components[0].precision-8,offset=(128<<shift)+.5,max=255*(1<<shift),maxK=.5*max,min=-maxK;var component0=tile.components[0],alpha01=componentsCount-3;if(jj=y0items.length,component0.codingStyleParameters.reversibleTransformation)for(j=0;jj>j;j++,pos+=alpha01)y0=y0items[j]+offset,y1=y1items[j],y2=y2items[j],g=y0-(y2+y1>>2),r=g+y2,b=g+y1,out[pos++]=0>=r?0:r>=max?255:r>>shift,out[pos++]=0>=g?0:g>=max?255:g>>shift,out[pos++]=0>=b?0:b>=max?255:b>>shift;else for(j=0;jj>j;j++,pos+=alpha01)y0=y0items[j]+offset,y1=y1items[j],y2=y2items[j],r=y0+1.402*y2,g=y0-.34413*y1-.71414*y2,b=y0+1.772*y1,out[pos++]=0>=r?0:r>=max?255:r>>shift,out[pos++]=0>=g?0:g>=max?255:g>>shift,out[pos++]=0>=b?0:b>=max?255:b>>shift;if(fourComponents)for(j=0,pos=3;jj>j;j++,pos+=4)k=y3items[j],out[pos]=min>=k?0:k>=maxK?255:k+offset>>shift}else for(c=0;componentsCount>c;c++){var items=transformedTiles[c].items;for(shift=components[c].precision-8,offset=(128<<shift)+.5,max=127.5*(1<<shift),min=-max,pos=c,j=0,jj=items.length;jj>j;j++)val=items[j],out[pos]=min>=val?0:val>=max?255:val+offset>>shift,pos+=componentsCount}resultImages.push(result)}return resultImages}function initializeTile(context,tileIndex){for(var siz=context.SIZ,componentsCount=siz.Csiz,tile=context.tiles[tileIndex],c=0;componentsCount>c;c++){var component=tile.components[c],qcdOrQcc=c in context.currentTile.QCC?context.currentTile.QCC[c]:context.currentTile.QCD;component.quantizationParameters=qcdOrQcc;var codOrCoc=c in context.currentTile.COC?context.currentTile.COC[c]:context.currentTile.COD;component.codingStyleParameters=codOrCoc}tile.codingStyleDefaultParameters=context.currentTile.COD}var SubbandsGainLog2={LL:0,LH:1,HL:1,HH:2};JpxImage.prototype={parse:function(data){var head=readUint16(data,0);if(65359===head)return void this.parseCodestream(data,0,data.length);for(var position=0,length=data.length;length>position;){var headerSize=8,lbox=readUint32(data,position),tbox=readUint32(data,position+4);if(position+=headerSize,1===lbox&&(lbox=4294967296*readUint32(data,position)+readUint32(data,position+4),position+=8,headerSize+=8),0===lbox&&(lbox=length-position+headerSize),headerSize>lbox)throw new Error("JPX Error: Invalid box field size");var dataLength=lbox-headerSize,jumpDataLength=!0;switch(tbox){case 1783634458:break;case 1785737832:jumpDataLength=!1;break;case 1668246642:break;case 1785737827:this.parseCodestream(data,position,position+dataLength)}jumpDataLength&&(position+=dataLength)}},parseImageProperties:function(stream){for(var newByte=stream.getByte();newByte>=0;){var oldByte=newByte;newByte=stream.getByte();var code=oldByte<<8|newByte;if(65361===code){stream.skip(4);var Xsiz=stream.getInt32()>>>0,Ysiz=stream.getInt32()>>>0,XOsiz=stream.getInt32()>>>0,YOsiz=stream.getInt32()>>>0;stream.skip(16);var Csiz=stream.getUint16();return this.width=Xsiz-XOsiz,this.height=Ysiz-YOsiz,this.componentsCount=Csiz,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(data,start,end){var context={};try{for(var doNotRecover=!1,position=start;end>position+1;){var code=readUint16(data,position);position+=2;var j,sqcd,spqcds,spqcdSize,scalarExpounded,tile,length=0;switch(code){case 65359:context.mainHeader=!0;break;case 65497:break;case 65361:length=readUint16(data,position);var siz={};siz.Xsiz=readUint32(data,position+4),siz.Ysiz=readUint32(data,position+8),siz.XOsiz=readUint32(data,position+12),siz.YOsiz=readUint32(data,position+16),siz.XTsiz=readUint32(data,position+20),siz.YTsiz=readUint32(data,position+24),siz.XTOsiz=readUint32(data,position+28),siz.YTOsiz=readUint32(data,position+32);var componentsCount=readUint16(data,position+36);siz.Csiz=componentsCount;var components=[];j=position+38;for(var i=0;componentsCount>i;i++){var component={precision:(127&data[j])+1,isSigned:!!(128&data[j]),XRsiz:data[j+1],YRsiz:data[j+1]};calculateComponentDimensions(component,siz),components.push(component)}context.SIZ=siz,context.components=components,calculateTileGrids(context,components),context.QCC=[],context.COC=[];break;case 65365:var Ltlm=readUint16(data,position);position+=Ltlm;break;case 65372:length=readUint16(data,position);var qcd={};switch(j=position+2,sqcd=data[j++],31&sqcd){case 0:spqcdSize=8,scalarExpounded=!0;break;case 1:spqcdSize=16,scalarExpounded=!1;break;case 2:spqcdSize=16,scalarExpounded=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+sqcd)}for(qcd.noQuantization=8===spqcdSize,qcd.scalarExpounded=scalarExpounded,qcd.guardBits=sqcd>>5,spqcds=[];length+position>j;){var spqcd={};8===spqcdSize?(spqcd.epsilon=data[j++]>>3,spqcd.mu=0):(spqcd.epsilon=data[j]>>3,spqcd.mu=(7&data[j])<<8|data[j+1],j+=2),spqcds.push(spqcd)}qcd.SPqcds=spqcds,context.mainHeader?context.QCD=qcd:(context.currentTile.QCD=qcd,context.currentTile.QCC=[]);break;case 65373:length=readUint16(data,position);var qcc={};j=position+2;var cqcc;switch(context.SIZ.Csiz<257?cqcc=data[j++]:(cqcc=readUint16(data,j),j+=2),sqcd=data[j++],31&sqcd){case 0:spqcdSize=8,scalarExpounded=!0;break;case 1:spqcdSize=16,scalarExpounded=!1;break;case 2:spqcdSize=16,scalarExpounded=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+sqcd)}for(qcc.noQuantization=8===spqcdSize,qcc.scalarExpounded=scalarExpounded,qcc.guardBits=sqcd>>5,spqcds=[];length+position>j;)spqcd={},8===spqcdSize?(spqcd.epsilon=data[j++]>>3,spqcd.mu=0):(spqcd.epsilon=data[j]>>3,spqcd.mu=(7&data[j])<<8|data[j+1],j+=2),spqcds.push(spqcd);qcc.SPqcds=spqcds,context.mainHeader?context.QCC[cqcc]=qcc:context.currentTile.QCC[cqcc]=qcc;break;case 65362:length=readUint16(data,position);var cod={};j=position+2;var scod=data[j++];cod.entropyCoderWithCustomPrecincts=!!(1&scod),cod.sopMarkerUsed=!!(2&scod),cod.ephMarkerUsed=!!(4&scod),cod.progressionOrder=data[j++],cod.layersCount=readUint16(data,j),j+=2,cod.multipleComponentTransform=data[j++],cod.decompositionLevelsCount=data[j++],cod.xcb=(15&data[j++])+2,cod.ycb=(15&data[j++])+2;var blockStyle=data[j++];if(cod.selectiveArithmeticCodingBypass=!!(1&blockStyle),cod.resetContextProbabilities=!!(2&blockStyle),cod.terminationOnEachCodingPass=!!(4&blockStyle),cod.verticalyStripe=!!(8&blockStyle),cod.predictableTermination=!!(16&blockStyle),cod.segmentationSymbolUsed=!!(32&blockStyle),cod.reversibleTransformation=data[j++],cod.entropyCoderWithCustomPrecincts){for(var precinctsSizes=[];length+position>j;){var precinctsSize=data[j++];precinctsSizes.push({PPx:15&precinctsSize,PPy:precinctsSize>>4})}cod.precinctsSizes=precinctsSizes}var unsupported=[];if(cod.sopMarkerUsed&&unsupported.push("sopMarkerUsed"),cod.ephMarkerUsed&&unsupported.push("ephMarkerUsed"),cod.selectiveArithmeticCodingBypass&&unsupported.push("selectiveArithmeticCodingBypass"),cod.resetContextProbabilities&&unsupported.push("resetContextProbabilities"),cod.terminationOnEachCodingPass&&unsupported.push("terminationOnEachCodingPass"),cod.verticalyStripe&&unsupported.push("verticalyStripe"),cod.predictableTermination&&unsupported.push("predictableTermination"),unsupported.length>0)throw doNotRecover=!0,new Error("JPX Error: Unsupported COD options ("+unsupported.join(", ")+")");context.mainHeader?context.COD=cod:(context.currentTile.COD=cod,context.currentTile.COC=[]);break;case 65424:length=readUint16(data,position),tile={},tile.index=readUint16(data,position+2),tile.length=readUint32(data,position+4),tile.dataEnd=tile.length+position-2,tile.partIndex=data[position+8],tile.partsCount=data[position+9],context.mainHeader=!1,0===tile.partIndex&&(tile.COD=context.COD,tile.COC=context.COC.slice(0),tile.QCD=context.QCD,tile.QCC=context.QCC.slice(0)),context.currentTile=tile;break;case 65427:tile=context.currentTile,0===tile.partIndex&&(initializeTile(context,tile.index),buildPackets(context)),length=tile.dataEnd-position,parseTilePackets(context,data,position,length);break;case 65380:length=readUint16(data,position);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+code.toString(16))}position+=length}}catch(e){if(doNotRecover||this.failOnCorruptedImage)throw e;warn("Trying to recover from "+e.message)}this.tiles=transformComponents(context),this.width=context.SIZ.Xsiz-context.SIZ.XOsiz,this.height=context.SIZ.Ysiz-context.SIZ.YOsiz,this.componentsCount=context.SIZ.Csiz}};var TagTree=function(){function TagTree(width,height){var levelsLength=log2(Math.max(width,height))+1;this.levels=[];for(var i=0;levelsLength>i;i++){var level={width:width,height:height,items:[]};this.levels.push(level),width=Math.ceil(width/2),height=Math.ceil(height/2)}}return TagTree.prototype={reset:function(i,j){for(var level,currentLevel=0,value=0;currentLevel<this.levels.length;){level=this.levels[currentLevel];var index=i+j*level.width;if(index in level.items){value=level.items[index];break}level.index=index,i>>=1,j>>=1,currentLevel++}currentLevel--,level=this.levels[currentLevel],level.items[level.index]=value,this.currentLevel=currentLevel,delete this.value},incrementValue:function(){var level=this.levels[this.currentLevel];level.items[level.index]++},nextLevel:function(){var currentLevel=this.currentLevel,level=this.levels[currentLevel],value=level.items[level.index];return currentLevel--,0>currentLevel?(this.value=value,!1):(this.currentLevel=currentLevel,level=this.levels[currentLevel],level.items[level.index]=value,!0)}},TagTree}(),InclusionTree=function(){function InclusionTree(width,height,defaultValue){var levelsLength=log2(Math.max(width,height))+1;this.levels=[];for(var i=0;levelsLength>i;i++){for(var items=new Uint8Array(width*height),j=0,jj=items.length;jj>j;j++)items[j]=defaultValue;var level={width:width,height:height,items:items};this.levels.push(level),width=Math.ceil(width/2),height=Math.ceil(height/2)}}return InclusionTree.prototype={reset:function(i,j,stopValue){for(var currentLevel=0;currentLevel<this.levels.length;){var level=this.levels[currentLevel],index=i+j*level.width;level.index=index;var value=level.items[index];if(255===value)break;if(value>stopValue)return this.currentLevel=currentLevel,this.propagateValues(),!1;i>>=1,j>>=1,currentLevel++}return this.currentLevel=currentLevel-1,!0},incrementValue:function(stopValue){var level=this.levels[this.currentLevel];level.items[level.index]=stopValue+1,this.propagateValues()},propagateValues:function(){for(var levelIndex=this.currentLevel,level=this.levels[levelIndex],currentValue=level.items[level.index];--levelIndex>=0;)level=this.levels[levelIndex],level.items[level.index]=currentValue},nextLevel:function(){var currentLevel=this.currentLevel,level=this.levels[currentLevel],value=level.items[level.index];return level.items[level.index]=255,currentLevel--,0>currentLevel?!1:(this.currentLevel=currentLevel,level=this.levels[currentLevel],level.items[level.index]=value,!0)}},InclusionTree}(),BitModel=function(){function BitModel(width,height,subband,zeroBitPlanes,mb){this.width=width,this.height=height,this.contextLabelTable="HH"===subband?HHContextLabel:"HL"===subband?HLContextLabel:LLAndLHContextsLabel;var coefficientCount=width*height;this.neighborsSignificance=new Uint8Array(coefficientCount),this.coefficentsSign=new Uint8Array(coefficientCount),this.coefficentsMagnitude=mb>14?new Uint32Array(coefficientCount):mb>6?new Uint16Array(coefficientCount):new Uint8Array(coefficientCount),this.processingFlags=new Uint8Array(coefficientCount);var bitsDecoded=new Uint8Array(coefficientCount);if(0!==zeroBitPlanes)for(var i=0;coefficientCount>i;i++)bitsDecoded[i]=zeroBitPlanes;this.bitsDecoded=bitsDecoded,this.reset()}var UNIFORM_CONTEXT=17,RUNLENGTH_CONTEXT=18,LLAndLHContextsLabel=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),HLContextLabel=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),HHContextLabel=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return BitModel.prototype={setDecoder:function(decoder){this.decoder=decoder},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[UNIFORM_CONTEXT]=92,this.contexts[RUNLENGTH_CONTEXT]=6},setNeighborsSignificance:function(row,column,index){var i,neighborsSignificance=this.neighborsSignificance,width=this.width,height=this.height,left=column>0,right=width>column+1;row>0&&(i=index-width,left&&(neighborsSignificance[i-1]+=16),right&&(neighborsSignificance[i+1]+=16),neighborsSignificance[i]+=4),height>row+1&&(i=index+width,left&&(neighborsSignificance[i-1]+=16),right&&(neighborsSignificance[i+1]+=16),neighborsSignificance[i]+=4),left&&(neighborsSignificance[index-1]+=1),right&&(neighborsSignificance[index+1]+=1),neighborsSignificance[index]|=128},runSignificancePropogationPass:function(){for(var decoder=this.decoder,width=this.width,height=this.height,coefficentsMagnitude=this.coefficentsMagnitude,coefficentsSign=this.coefficentsSign,neighborsSignificance=this.neighborsSignificance,processingFlags=this.processingFlags,contexts=this.contexts,labels=this.contextLabelTable,bitsDecoded=this.bitsDecoded,processedInverseMask=-2,processedMask=1,firstMagnitudeBitMask=2,i0=0;height>i0;i0+=4)for(var j=0;width>j;j++)for(var index=i0*width+j,i1=0;4>i1;i1++,index+=width){var i=i0+i1;if(i>=height)break;if(processingFlags[index]&=processedInverseMask,!coefficentsMagnitude[index]&&neighborsSignificance[index]){var contextLabel=labels[neighborsSignificance[index]],decision=decoder.readBit(contexts,contextLabel);if(decision){var sign=this.decodeSignBit(i,j,index);coefficentsSign[index]=sign,coefficentsMagnitude[index]=1,this.setNeighborsSignificance(i,j,index),processingFlags[index]|=firstMagnitudeBitMask}bitsDecoded[index]++,processingFlags[index]|=processedMask}}},decodeSignBit:function(row,column,index){var contribution,sign0,sign1,significance1,contextLabel,decoded,width=this.width,height=this.height,coefficentsMagnitude=this.coefficentsMagnitude,coefficentsSign=this.coefficentsSign;significance1=column>0&&0!==coefficentsMagnitude[index-1],width>column+1&&0!==coefficentsMagnitude[index+1]?(sign1=coefficentsSign[index+1],significance1?(sign0=coefficentsSign[index-1],contribution=1-sign1-sign0):contribution=1-sign1-sign1):significance1?(sign0=coefficentsSign[index-1],contribution=1-sign0-sign0):contribution=0;var horizontalContribution=3*contribution;return significance1=row>0&&0!==coefficentsMagnitude[index-width],height>row+1&&0!==coefficentsMagnitude[index+width]?(sign1=coefficentsSign[index+width],significance1?(sign0=coefficentsSign[index-width],contribution=1-sign1-sign0+horizontalContribution):contribution=1-sign1-sign1+horizontalContribution):significance1?(sign0=coefficentsSign[index-width],contribution=1-sign0-sign0+horizontalContribution):contribution=horizontalContribution,contribution>=0?(contextLabel=9+contribution,decoded=this.decoder.readBit(this.contexts,contextLabel)):(contextLabel=9-contribution,decoded=1^this.decoder.readBit(this.contexts,contextLabel)),decoded},runMagnitudeRefinementPass:function(){for(var indexNext,decoder=this.decoder,width=this.width,height=this.height,coefficentsMagnitude=this.coefficentsMagnitude,neighborsSignificance=this.neighborsSignificance,contexts=this.contexts,bitsDecoded=this.bitsDecoded,processingFlags=this.processingFlags,processedMask=1,firstMagnitudeBitMask=2,length=width*height,width4=4*width,index0=0;length>index0;index0=indexNext){indexNext=Math.min(length,index0+width4);for(var j=0;width>j;j++)for(var index=index0+j;indexNext>index;index+=width)if(coefficentsMagnitude[index]&&0===(processingFlags[index]&processedMask)){var contextLabel=16;if(0!==(processingFlags[index]&firstMagnitudeBitMask)){processingFlags[index]^=firstMagnitudeBitMask;var significance=127&neighborsSignificance[index];contextLabel=0===significance?15:14}var bit=decoder.readBit(contexts,contextLabel);coefficentsMagnitude[index]=coefficentsMagnitude[index]<<1|bit,bitsDecoded[index]++,processingFlags[index]|=processedMask}}},runCleanupPass:function(){for(var iNext,decoder=this.decoder,width=this.width,height=this.height,neighborsSignificance=this.neighborsSignificance,coefficentsMagnitude=this.coefficentsMagnitude,coefficentsSign=this.coefficentsSign,contexts=this.contexts,labels=this.contextLabelTable,bitsDecoded=this.bitsDecoded,processingFlags=this.processingFlags,processedMask=1,firstMagnitudeBitMask=2,oneRowDown=width,twoRowsDown=2*width,threeRowsDown=3*width,i0=0;height>i0;i0=iNext){iNext=Math.min(i0+4,height);for(var indexBase=i0*width,checkAllEmpty=height>i0+3,j=0;width>j;j++){var sign,index0=indexBase+j,allEmpty=checkAllEmpty&&0===processingFlags[index0]&&0===processingFlags[index0+oneRowDown]&&0===processingFlags[index0+twoRowsDown]&&0===processingFlags[index0+threeRowsDown]&&0===neighborsSignificance[index0]&&0===neighborsSignificance[index0+oneRowDown]&&0===neighborsSignificance[index0+twoRowsDown]&&0===neighborsSignificance[index0+threeRowsDown],i1=0,index=index0,i=i0;if(allEmpty){var hasSignificantCoefficent=decoder.readBit(contexts,RUNLENGTH_CONTEXT);if(!hasSignificantCoefficent){bitsDecoded[index0]++,bitsDecoded[index0+oneRowDown]++,bitsDecoded[index0+twoRowsDown]++,bitsDecoded[index0+threeRowsDown]++;continue}i1=decoder.readBit(contexts,UNIFORM_CONTEXT)<<1|decoder.readBit(contexts,UNIFORM_CONTEXT),0!==i1&&(i=i0+i1,index+=i1*width),sign=this.decodeSignBit(i,j,index),coefficentsSign[index]=sign,coefficentsMagnitude[index]=1,this.setNeighborsSignificance(i,j,index),processingFlags[index]|=firstMagnitudeBitMask,index=index0;for(var i2=i0;i>=i2;i2++,index+=width)bitsDecoded[index]++;i1++}for(i=i0+i1;iNext>i;i++,index+=width)if(!coefficentsMagnitude[index]&&0===(processingFlags[index]&processedMask)){var contextLabel=labels[neighborsSignificance[index]],decision=decoder.readBit(contexts,contextLabel);1===decision&&(sign=this.decodeSignBit(i,j,index),coefficentsSign[index]=sign,coefficentsMagnitude[index]=1,this.setNeighborsSignificance(i,j,index),processingFlags[index]|=firstMagnitudeBitMask),bitsDecoded[index]++}}}},checkSegmentationSymbol:function(){var decoder=this.decoder,contexts=this.contexts,symbol=decoder.readBit(contexts,UNIFORM_CONTEXT)<<3|decoder.readBit(contexts,UNIFORM_CONTEXT)<<2|decoder.readBit(contexts,UNIFORM_CONTEXT)<<1|decoder.readBit(contexts,UNIFORM_CONTEXT);if(10!==symbol)throw new Error("JPX Error: Invalid segmentation symbol")}},BitModel}(),Transform=function(){function Transform(){}return Transform.prototype.calculate=function(subbands,u0,v0){for(var ll=subbands[0],i=1,ii=subbands.length;ii>i;i++)ll=this.iterate(ll,subbands[i],u0,v0);return ll},Transform.prototype.extend=function(buffer,offset,size){var i1=offset-1,j1=offset+1,i2=offset+size-2,j2=offset+size;buffer[i1--]=buffer[j1++],buffer[j2++]=buffer[i2--],buffer[i1--]=buffer[j1++],buffer[j2++]=buffer[i2--],buffer[i1--]=buffer[j1++],buffer[j2++]=buffer[i2--],buffer[i1]=buffer[j1],buffer[j2]=buffer[i2]},Transform.prototype.iterate=function(ll,hl_lh_hh,u0,v0){var i,j,k,l,u,v,llWidth=ll.width,llHeight=ll.height,llItems=ll.items,width=hl_lh_hh.width,height=hl_lh_hh.height,items=hl_lh_hh.items;for(k=0,i=0;llHeight>i;i++)for(l=2*i*width,j=0;llWidth>j;j++,k++,l+=2)items[l]=llItems[k];llItems=ll.items=null;var bufferPadding=4,rowBuffer=new Float32Array(width+2*bufferPadding);if(1===width){if(0!==(1&u0))for(v=0,k=0;height>v;v++,k+=width)items[k]*=.5}else for(v=0,k=0;height>v;v++,k+=width)rowBuffer.set(items.subarray(k,k+width),bufferPadding),this.extend(rowBuffer,bufferPadding,width),this.filter(rowBuffer,bufferPadding,width),items.set(rowBuffer.subarray(bufferPadding,bufferPadding+width),k);
+var numBuffers=16,colBuffers=[];for(i=0;numBuffers>i;i++)colBuffers.push(new Float32Array(height+2*bufferPadding));var b,currentBuffer=0;if(ll=bufferPadding+height,1===height){if(0!==(1&v0))for(u=0;width>u;u++)items[u]*=.5}else for(u=0;width>u;u++){if(0===currentBuffer){for(numBuffers=Math.min(width-u,numBuffers),k=u,l=bufferPadding;ll>l;k+=width,l++)for(b=0;numBuffers>b;b++)colBuffers[b][l]=items[k+b];currentBuffer=numBuffers}currentBuffer--;var buffer=colBuffers[currentBuffer];if(this.extend(buffer,bufferPadding,height),this.filter(buffer,bufferPadding,height),0===currentBuffer)for(k=u-numBuffers+1,l=bufferPadding;ll>l;k+=width,l++)for(b=0;numBuffers>b;b++)items[k+b]=colBuffers[b][l]}return{width:width,height:height,items:items}},Transform}(),IrreversibleTransform=function(){function IrreversibleTransform(){Transform.call(this)}return IrreversibleTransform.prototype=Object.create(Transform.prototype),IrreversibleTransform.prototype.filter=function(x,offset,length){var len=length>>1;offset=0|offset;var j,n,current,next,alpha=-1.586134342059924,beta=-.052980118572961,gamma=.882911075530934,delta=.443506852043971,K=1.230174104914001,K_=1/K;for(j=offset-3,n=len+4;n--;j+=2)x[j]*=K_;for(j=offset-2,current=delta*x[j-1],n=len+3;n--&&(next=delta*x[j+1],x[j]=K*x[j]-current-next,n--);j+=2)j+=2,current=delta*x[j+1],x[j]=K*x[j]-current-next;for(j=offset-1,current=gamma*x[j-1],n=len+2;n--&&(next=gamma*x[j+1],x[j]-=current+next,n--);j+=2)j+=2,current=gamma*x[j+1],x[j]-=current+next;for(j=offset,current=beta*x[j-1],n=len+1;n--&&(next=beta*x[j+1],x[j]-=current+next,n--);j+=2)j+=2,current=beta*x[j+1],x[j]-=current+next;if(0!==len)for(j=offset+1,current=alpha*x[j-1],n=len;n--&&(next=alpha*x[j+1],x[j]-=current+next,n--);j+=2)j+=2,current=alpha*x[j+1],x[j]-=current+next},IrreversibleTransform}(),ReversibleTransform=function(){function ReversibleTransform(){Transform.call(this)}return ReversibleTransform.prototype=Object.create(Transform.prototype),ReversibleTransform.prototype.filter=function(x,offset,length){var len=length>>1;offset=0|offset;var j,n;for(j=offset,n=len+1;n--;j+=2)x[j]-=x[j-1]+x[j+1]+2>>2;for(j=offset+1,n=len;n--;j+=2)x[j]+=x[j-1]+x[j+1]>>1},ReversibleTransform}();return JpxImage}(),Jbig2Image=function(){function ContextCache(){}function DecodingContext(data,start,end){this.data=data,this.start=start,this.end=end}function decodeInteger(contextCache,procedure,decoder){function readBits(length){for(var v=0,i=0;length>i;i++){var bit=decoder.readBit(contexts,prev);prev=256>prev?prev<<1|bit:511&(prev<<1|bit)|256,v=v<<1|bit}return v>>>0}var contexts=contextCache.getContexts(procedure),prev=1,sign=readBits(1),value=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);return 0===sign?value:value>0?-value:null}function decodeIAID(contextCache,decoder,codeLength){for(var contexts=contextCache.getContexts("IAID"),prev=1,i=0;codeLength>i;i++){var bit=decoder.readBit(contexts,prev);prev=prev<<1|bit}return 31>codeLength?prev&(1<<codeLength)-1:2147483647&prev}function decodeBitmapTemplate0(width,height,decodingContext){var contextLabel,i,j,pixel,row,row1,row2,decoder=decodingContext.decoder,contexts=decodingContext.contextCache.getContexts("GB"),bitmap=[],OLD_PIXEL_MASK=31735;for(i=0;height>i;i++)for(row=bitmap[i]=new Uint8Array(width),row1=1>i?row:bitmap[i-1],row2=2>i?row:bitmap[i-2],contextLabel=row2[0]<<13|row2[1]<<12|row2[2]<<11|row1[0]<<7|row1[1]<<6|row1[2]<<5|row1[3]<<4,j=0;width>j;j++)row[j]=pixel=decoder.readBit(contexts,contextLabel),contextLabel=(contextLabel&OLD_PIXEL_MASK)<<1|row2[j+3]<<11|row1[j+4]<<4|pixel;return bitmap}function decodeBitmap(mmr,width,height,templateIndex,prediction,skip,at,decodingContext){if(mmr&&error("JBIG2 error: MMR encoding is not supported"),0===templateIndex&&!skip&&!prediction&&4===at.length&&3===at[0].x&&-1===at[0].y&&-3===at[1].x&&-1===at[1].y&&2===at[2].x&&-2===at[2].y&&-2===at[3].x&&-2===at[3].y)return decodeBitmapTemplate0(width,height,decodingContext);var useskip=!!skip,template=CodingTemplates[templateIndex].concat(at);template.sort(function(a,b){return a.y-b.y||a.x-b.x});var c,k,templateLength=template.length,templateX=new Int8Array(templateLength),templateY=new Int8Array(templateLength),changingTemplateEntries=[],reuseMask=0,minX=0,maxX=0,minY=0;for(k=0;templateLength>k;k++)templateX[k]=template[k].x,templateY[k]=template[k].y,minX=Math.min(minX,template[k].x),maxX=Math.max(maxX,template[k].x),minY=Math.min(minY,template[k].y),templateLength-1>k&&template[k].y===template[k+1].y&&template[k].x===template[k+1].x-1?reuseMask|=1<<templateLength-1-k:changingTemplateEntries.push(k);var changingEntriesLength=changingTemplateEntries.length,changingTemplateX=new Int8Array(changingEntriesLength),changingTemplateY=new Int8Array(changingEntriesLength),changingTemplateBit=new Uint16Array(changingEntriesLength);for(c=0;changingEntriesLength>c;c++)k=changingTemplateEntries[c],changingTemplateX[c]=template[k].x,changingTemplateY[c]=template[k].y,changingTemplateBit[c]=1<<templateLength-1-k;for(var j,i0,j0,bit,shift,sbb_left=-minX,sbb_top=-minY,sbb_right=width-maxX,pseudoPixelContext=ReusedContexts[templateIndex],row=new Uint8Array(width),bitmap=[],decoder=decodingContext.decoder,contexts=decodingContext.contextCache.getContexts("GB"),ltp=0,contextLabel=0,i=0;height>i;i++){if(prediction){var sltp=decoder.readBit(contexts,pseudoPixelContext);if(ltp^=sltp){bitmap.push(row);continue}}for(row=new Uint8Array(row),bitmap.push(row),j=0;width>j;j++)if(useskip&&skip[i][j])row[j]=0;else{if(j>=sbb_left&&sbb_right>j&&i>=sbb_top)for(contextLabel=contextLabel<<1&reuseMask,k=0;changingEntriesLength>k;k++)i0=i+changingTemplateY[k],j0=j+changingTemplateX[k],bit=bitmap[i0][j0],bit&&(bit=changingTemplateBit[k],contextLabel|=bit);else for(contextLabel=0,shift=templateLength-1,k=0;templateLength>k;k++,shift--)j0=j+templateX[k],j0>=0&&width>j0&&(i0=i+templateY[k],i0>=0&&(bit=bitmap[i0][j0],bit&&(contextLabel|=bit<<shift)));var pixel=decoder.readBit(contexts,contextLabel);row[j]=pixel}}return bitmap}function decodeRefinement(width,height,templateIndex,referenceBitmap,offsetX,offsetY,prediction,at,decodingContext){var codingTemplate=RefinementTemplates[templateIndex].coding;0===templateIndex&&(codingTemplate=codingTemplate.concat([at[0]]));var k,codingTemplateLength=codingTemplate.length,codingTemplateX=new Int32Array(codingTemplateLength),codingTemplateY=new Int32Array(codingTemplateLength);for(k=0;codingTemplateLength>k;k++)codingTemplateX[k]=codingTemplate[k].x,codingTemplateY[k]=codingTemplate[k].y;var referenceTemplate=RefinementTemplates[templateIndex].reference;0===templateIndex&&(referenceTemplate=referenceTemplate.concat([at[1]]));var referenceTemplateLength=referenceTemplate.length,referenceTemplateX=new Int32Array(referenceTemplateLength),referenceTemplateY=new Int32Array(referenceTemplateLength);for(k=0;referenceTemplateLength>k;k++)referenceTemplateX[k]=referenceTemplate[k].x,referenceTemplateY[k]=referenceTemplate[k].y;for(var referenceWidth=referenceBitmap[0].length,referenceHeight=referenceBitmap.length,pseudoPixelContext=RefinementReusedContexts[templateIndex],bitmap=[],decoder=decodingContext.decoder,contexts=decodingContext.contextCache.getContexts("GR"),ltp=0,i=0;height>i;i++){if(prediction){var sltp=decoder.readBit(contexts,pseudoPixelContext);ltp^=sltp,ltp&&error("JBIG2 error: prediction is not supported")}var row=new Uint8Array(width);bitmap.push(row);for(var j=0;width>j;j++){var i0,j0,contextLabel=0;for(k=0;codingTemplateLength>k;k++)i0=i+codingTemplateY[k],j0=j+codingTemplateX[k],0>i0||0>j0||j0>=width?contextLabel<<=1:contextLabel=contextLabel<<1|bitmap[i0][j0];for(k=0;referenceTemplateLength>k;k++)i0=i+referenceTemplateY[k]+offsetY,j0=j+referenceTemplateX[k]+offsetX,0>i0||i0>=referenceHeight||0>j0||j0>=referenceWidth?contextLabel<<=1:contextLabel=contextLabel<<1|referenceBitmap[i0][j0];var pixel=decoder.readBit(contexts,contextLabel);row[j]=pixel}}return bitmap}function decodeSymbolDictionary(huffman,refinement,symbols,numberOfNewSymbols,numberOfExportedSymbols,huffmanTables,templateIndex,at,refinementTemplateIndex,refinementAt,decodingContext){huffman&&error("JBIG2 error: huffman is not supported");for(var newSymbols=[],currentHeight=0,symbolCodeLength=log2(symbols.length+numberOfNewSymbols),decoder=decodingContext.decoder,contextCache=decodingContext.contextCache;newSymbols.length<numberOfNewSymbols;){var deltaHeight=decodeInteger(contextCache,"IADH",decoder);currentHeight+=deltaHeight;for(var currentWidth=0,totalWidth=0;;){var deltaWidth=decodeInteger(contextCache,"IADW",decoder);if(null===deltaWidth)break;currentWidth+=deltaWidth,totalWidth+=currentWidth;var bitmap;if(refinement){var numberOfInstances=decodeInteger(contextCache,"IAAI",decoder);if(numberOfInstances>1)bitmap=decodeTextRegion(huffman,refinement,currentWidth,currentHeight,0,numberOfInstances,1,symbols.concat(newSymbols),symbolCodeLength,0,0,1,0,huffmanTables,refinementTemplateIndex,refinementAt,decodingContext);else{var symbolId=decodeIAID(contextCache,decoder,symbolCodeLength),rdx=decodeInteger(contextCache,"IARDX",decoder),rdy=decodeInteger(contextCache,"IARDY",decoder),symbol=symbolId<symbols.length?symbols[symbolId]:newSymbols[symbolId-symbols.length];bitmap=decodeRefinement(currentWidth,currentHeight,refinementTemplateIndex,symbol,rdx,rdy,!1,refinementAt,decodingContext)}}else bitmap=decodeBitmap(!1,currentWidth,currentHeight,templateIndex,!1,null,at,decodingContext);newSymbols.push(bitmap)}}for(var exportedSymbols=[],flags=[],currentFlag=!1,totalSymbolsLength=symbols.length+numberOfNewSymbols;flags.length<totalSymbolsLength;){for(var runLength=decodeInteger(contextCache,"IAEX",decoder);runLength--;)flags.push(currentFlag);currentFlag=!currentFlag}for(var i=0,ii=symbols.length;ii>i;i++)flags[i]&&exportedSymbols.push(symbols[i]);for(var j=0;numberOfNewSymbols>j;i++,j++)flags[i]&&exportedSymbols.push(newSymbols[j]);return exportedSymbols}function decodeTextRegion(huffman,refinement,width,height,defaultPixelValue,numberOfSymbolInstances,stripSize,inputSymbols,symbolCodeLength,transposed,dsOffset,referenceCorner,combinationOperator,huffmanTables,refinementTemplateIndex,refinementAt,decodingContext){huffman&&error("JBIG2 error: huffman is not supported");var i,row,bitmap=[];for(i=0;height>i;i++){if(row=new Uint8Array(width),defaultPixelValue)for(var j=0;width>j;j++)row[j]=defaultPixelValue;bitmap.push(row)}var decoder=decodingContext.decoder,contextCache=decodingContext.contextCache,stripT=-decodeInteger(contextCache,"IADT",decoder),firstS=0;for(i=0;numberOfSymbolInstances>i;){var deltaT=decodeInteger(contextCache,"IADT",decoder);stripT+=deltaT;var deltaFirstS=decodeInteger(contextCache,"IAFS",decoder);firstS+=deltaFirstS;for(var currentS=firstS;;){var currentT=1===stripSize?0:decodeInteger(contextCache,"IAIT",decoder),t=stripSize*stripT+currentT,symbolId=decodeIAID(contextCache,decoder,symbolCodeLength),applyRefinement=refinement&&decodeInteger(contextCache,"IARI",decoder),symbolBitmap=inputSymbols[symbolId],symbolWidth=symbolBitmap[0].length,symbolHeight=symbolBitmap.length;if(applyRefinement){var rdw=decodeInteger(contextCache,"IARDW",decoder),rdh=decodeInteger(contextCache,"IARDH",decoder),rdx=decodeInteger(contextCache,"IARDX",decoder),rdy=decodeInteger(contextCache,"IARDY",decoder);symbolWidth+=rdw,symbolHeight+=rdh,symbolBitmap=decodeRefinement(symbolWidth,symbolHeight,refinementTemplateIndex,symbolBitmap,(rdw>>1)+rdx,(rdh>>1)+rdy,!1,refinementAt,decodingContext)}var s2,t2,symbolRow,offsetT=t-(1&referenceCorner?0:symbolHeight),offsetS=currentS-(2&referenceCorner?symbolWidth:0);if(transposed){for(s2=0;symbolHeight>s2;s2++)if(row=bitmap[offsetS+s2]){symbolRow=symbolBitmap[s2];var maxWidth=Math.min(width-offsetT,symbolWidth);switch(combinationOperator){case 0:for(t2=0;maxWidth>t2;t2++)row[offsetT+t2]|=symbolRow[t2];break;case 2:for(t2=0;maxWidth>t2;t2++)row[offsetT+t2]^=symbolRow[t2];break;default:error("JBIG2 error: operator "+combinationOperator+" is not supported")}}currentS+=symbolHeight-1}else{for(t2=0;symbolHeight>t2;t2++)if(row=bitmap[offsetT+t2])switch(symbolRow=symbolBitmap[t2],combinationOperator){case 0:for(s2=0;symbolWidth>s2;s2++)row[offsetS+s2]|=symbolRow[s2];break;case 2:for(s2=0;symbolWidth>s2;s2++)row[offsetS+s2]^=symbolRow[s2];break;default:error("JBIG2 error: operator "+combinationOperator+" is not supported")}currentS+=symbolWidth-1}i++;var deltaS=decodeInteger(contextCache,"IADS",decoder);if(null===deltaS)break;currentS+=deltaS+dsOffset}}return bitmap}function readSegmentHeader(data,start){var segmentHeader={};segmentHeader.number=readUint32(data,start);var flags=data[start+4],segmentType=63&flags;SegmentTypes[segmentType]||error("JBIG2 error: invalid segment type: "+segmentType),segmentHeader.type=segmentType,segmentHeader.typeName=SegmentTypes[segmentType],segmentHeader.deferredNonRetain=!!(128&flags);var pageAssociationFieldSize=!!(64&flags),referredFlags=data[start+5],referredToCount=referredFlags>>5&7,retainBits=[31&referredFlags],position=start+6;if(7===referredFlags){referredToCount=536870911&readUint32(data,position-1),position+=3;var bytes=referredToCount+7>>3;for(retainBits[0]=data[position++];--bytes>0;)retainBits.push(data[position++])}else(5===referredFlags||6===referredFlags)&&error("JBIG2 error: invalid referred-to flags");segmentHeader.retainBits=retainBits;var i,ii,referredToSegmentNumberSize=segmentHeader.number<=256?1:segmentHeader.number<=65536?2:4,referredTo=[];for(i=0;referredToCount>i;i++){var number=1===referredToSegmentNumberSize?data[position]:2===referredToSegmentNumberSize?readUint16(data,position):readUint32(data,position);referredTo.push(number),position+=referredToSegmentNumberSize}if(segmentHeader.referredTo=referredTo,pageAssociationFieldSize?(segmentHeader.pageAssociation=readUint32(data,position),position+=4):segmentHeader.pageAssociation=data[position++],segmentHeader.length=readUint32(data,position),position+=4,4294967295===segmentHeader.length)if(38===segmentType){var genericRegionInfo=readRegionSegmentInformation(data,position),genericRegionSegmentFlags=data[position+RegionSegmentInformationFieldLength],genericRegionMmr=!!(1&genericRegionSegmentFlags),searchPatternLength=6,searchPattern=new Uint8Array(searchPatternLength);for(genericRegionMmr||(searchPattern[0]=255,searchPattern[1]=172),searchPattern[2]=genericRegionInfo.height>>>24&255,searchPattern[3]=genericRegionInfo.height>>16&255,searchPattern[4]=genericRegionInfo.height>>8&255,searchPattern[5]=255&genericRegionInfo.height,i=position,ii=data.length;ii>i;i++){for(var j=0;searchPatternLength>j&&searchPattern[j]===data[i+j];)j++;if(j===searchPatternLength){segmentHeader.length=i+searchPatternLength;break}}4294967295===segmentHeader.length&&error("JBIG2 error: segment end was not found")}else error("JBIG2 error: invalid unknown segment length");return segmentHeader.headerEnd=position,segmentHeader}function readSegments(header,data,start,end){for(var segments=[],position=start;end>position;){var segmentHeader=readSegmentHeader(data,position);position=segmentHeader.headerEnd;var segment={header:segmentHeader,data:data};if(header.randomAccess||(segment.start=position,position+=segmentHeader.length,segment.end=position),segments.push(segment),51===segmentHeader.type)break}if(header.randomAccess)for(var i=0,ii=segments.length;ii>i;i++)segments[i].start=position,position+=segments[i].header.length,segments[i].end=position;return segments}function readRegionSegmentInformation(data,start){return{width:readUint32(data,start),height:readUint32(data,start+4),x:readUint32(data,start+8),y:readUint32(data,start+12),combinationOperator:7&data[start+16]}}function processSegment(segment,visitor){var args,at,i,atLength,header=segment.header,data=segment.data,position=segment.start,end=segment.end;switch(header.type){case 0:var dictionary={},dictionaryFlags=readUint16(data,position);if(dictionary.huffman=!!(1&dictionaryFlags),dictionary.refinement=!!(2&dictionaryFlags),dictionary.huffmanDHSelector=dictionaryFlags>>2&3,dictionary.huffmanDWSelector=dictionaryFlags>>4&3,dictionary.bitmapSizeSelector=dictionaryFlags>>6&1,dictionary.aggregationInstancesSelector=dictionaryFlags>>7&1,dictionary.bitmapCodingContextUsed=!!(256&dictionaryFlags),dictionary.bitmapCodingContextRetained=!!(512&dictionaryFlags),dictionary.template=dictionaryFlags>>10&3,dictionary.refinementTemplate=dictionaryFlags>>12&1,position+=2,!dictionary.huffman){for(atLength=0===dictionary.template?4:1,at=[],i=0;atLength>i;i++)at.push({x:readInt8(data,position),y:readInt8(data,position+1)}),position+=2;dictionary.at=at}if(dictionary.refinement&&!dictionary.refinementTemplate){for(at=[],i=0;2>i;i++)at.push({x:readInt8(data,position),y:readInt8(data,position+1)}),position+=2;dictionary.refinementAt=at}dictionary.numberOfExportedSymbols=readUint32(data,position),position+=4,dictionary.numberOfNewSymbols=readUint32(data,position),position+=4,args=[dictionary,header.number,header.referredTo,data,position,end];break;case 6:case 7:var textRegion={};textRegion.info=readRegionSegmentInformation(data,position),position+=RegionSegmentInformationFieldLength;var textRegionSegmentFlags=readUint16(data,position);if(position+=2,textRegion.huffman=!!(1&textRegionSegmentFlags),textRegion.refinement=!!(2&textRegionSegmentFlags),textRegion.stripSize=1<<(textRegionSegmentFlags>>2&3),textRegion.referenceCorner=textRegionSegmentFlags>>4&3,textRegion.transposed=!!(64&textRegionSegmentFlags),textRegion.combinationOperator=textRegionSegmentFlags>>7&3,textRegion.defaultPixelValue=textRegionSegmentFlags>>9&1,textRegion.dsOffset=textRegionSegmentFlags<<17>>27,textRegion.refinementTemplate=textRegionSegmentFlags>>15&1,textRegion.huffman){var textRegionHuffmanFlags=readUint16(data,position);position+=2,textRegion.huffmanFS=3&textRegionHuffmanFlags,textRegion.huffmanDS=textRegionHuffmanFlags>>2&3,textRegion.huffmanDT=textRegionHuffmanFlags>>4&3,textRegion.huffmanRefinementDW=textRegionHuffmanFlags>>6&3,textRegion.huffmanRefinementDH=textRegionHuffmanFlags>>8&3,textRegion.huffmanRefinementDX=textRegionHuffmanFlags>>10&3,textRegion.huffmanRefinementDY=textRegionHuffmanFlags>>12&3,textRegion.huffmanRefinementSizeSelector=!!(14&textRegionHuffmanFlags)}if(textRegion.refinement&&!textRegion.refinementTemplate){for(at=[],i=0;2>i;i++)at.push({x:readInt8(data,position),y:readInt8(data,position+1)}),position+=2;textRegion.refinementAt=at}textRegion.numberOfSymbolInstances=readUint32(data,position),position+=4,textRegion.huffman&&error("JBIG2 error: huffman is not supported"),args=[textRegion,header.referredTo,data,position,end];break;case 38:case 39:var genericRegion={};genericRegion.info=readRegionSegmentInformation(data,position),position+=RegionSegmentInformationFieldLength;var genericRegionSegmentFlags=data[position++];if(genericRegion.mmr=!!(1&genericRegionSegmentFlags),genericRegion.template=genericRegionSegmentFlags>>1&3,genericRegion.prediction=!!(8&genericRegionSegmentFlags),!genericRegion.mmr){for(atLength=0===genericRegion.template?4:1,at=[],i=0;atLength>i;i++)at.push({x:readInt8(data,position),y:readInt8(data,position+1)}),position+=2;genericRegion.at=at}args=[genericRegion,data,position,end];break;case 48:var pageInfo={width:readUint32(data,position),height:readUint32(data,position+4),resolutionX:readUint32(data,position+8),resolutionY:readUint32(data,position+12)};4294967295===pageInfo.height&&delete pageInfo.height;{var pageSegmentFlags=data[position+16];readUint16(data,position+17)}pageInfo.lossless=!!(1&pageSegmentFlags),pageInfo.refinement=!!(2&pageSegmentFlags),pageInfo.defaultPixelValue=pageSegmentFlags>>2&1,pageInfo.combinationOperator=pageSegmentFlags>>3&3,pageInfo.requiresBuffer=!!(32&pageSegmentFlags),pageInfo.combinationOperatorOverride=!!(64&pageSegmentFlags),args=[pageInfo];break;case 49:break;case 50:break;case 51:break;case 62:break;default:error("JBIG2 error: segment type "+header.typeName+"("+header.type+") is not implemented")}var callbackName="on"+header.typeName;callbackName in visitor&&visitor[callbackName].apply(visitor,args)}function processSegments(segments,visitor){for(var i=0,ii=segments.length;ii>i;i++)processSegment(segments[i],visitor)}function parseJbig2Chunks(chunks){for(var visitor=new SimpleSegmentVisitor,i=0,ii=chunks.length;ii>i;i++){var chunk=chunks[i],segments=readSegments({},chunk.data,chunk.start,chunk.end);processSegments(segments,visitor)}return visitor.buffer}function SimpleSegmentVisitor(){}function Jbig2Image(){}ContextCache.prototype={getContexts:function(id){return id in this?this[id]:this[id]=new Int8Array(65536)}},DecodingContext.prototype={get decoder(){var decoder=new ArithmeticDecoder(this.data,this.start,this.end);return shadow(this,"decoder",decoder)},get contextCache(){var cache=new ContextCache;return shadow(this,"contextCache",cache)}};var SegmentTypes=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],CodingTemplates=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],RefinementTemplates=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],ReusedContexts=[39717,1941,229,405],RefinementReusedContexts=[32,8],RegionSegmentInformationFieldLength=17;return SimpleSegmentVisitor.prototype={onPageInformation:function(info){this.currentPageInfo=info;var rowSize=info.width+7>>3,buffer=new Uint8Array(rowSize*info.height);if(info.defaultPixelValue)for(var i=0,ii=buffer.length;ii>i;i++)buffer[i]=255;this.buffer=buffer},drawBitmap:function(regionInfo,bitmap){var i,j,mask,offset,pageInfo=this.currentPageInfo,width=regionInfo.width,height=regionInfo.height,rowSize=pageInfo.width+7>>3,combinationOperator=pageInfo.combinationOperatorOverride?regionInfo.combinationOperator:pageInfo.combinationOperator,buffer=this.buffer,mask0=128>>(7&regionInfo.x),offset0=regionInfo.y*rowSize+(regionInfo.x>>3);switch(combinationOperator){case 0:for(i=0;height>i;i++){for(mask=mask0,offset=offset0,j=0;width>j;j++)bitmap[i][j]&&(buffer[offset]|=mask),mask>>=1,mask||(mask=128,offset++);offset0+=rowSize}break;case 2:for(i=0;height>i;i++){for(mask=mask0,offset=offset0,j=0;width>j;j++)bitmap[i][j]&&(buffer[offset]^=mask),mask>>=1,mask||(mask=128,offset++);offset0+=rowSize}break;default:error("JBIG2 error: operator "+combinationOperator+" is not supported")}},onImmediateGenericRegion:function(region,data,start,end){var regionInfo=region.info,decodingContext=new DecodingContext(data,start,end),bitmap=decodeBitmap(region.mmr,regionInfo.width,regionInfo.height,region.template,region.prediction,null,region.at,decodingContext);this.drawBitmap(regionInfo,bitmap)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this,arguments)},onSymbolDictionary:function(dictionary,currentSegment,referredSegments,data,start,end){var huffmanTables;dictionary.huffman&&error("JBIG2 error: huffman is not supported");var symbols=this.symbols;symbols||(this.symbols=symbols={});for(var inputSymbols=[],i=0,ii=referredSegments.length;ii>i;i++)inputSymbols=inputSymbols.concat(symbols[referredSegments[i]]);var decodingContext=new DecodingContext(data,start,end);symbols[currentSegment]=decodeSymbolDictionary(dictionary.huffman,dictionary.refinement,inputSymbols,dictionary.numberOfNewSymbols,dictionary.numberOfExportedSymbols,huffmanTables,dictionary.template,dictionary.at,dictionary.refinementTemplate,dictionary.refinementAt,decodingContext)},onImmediateTextRegion:function(region,referredSegments,data,start,end){for(var huffmanTables,regionInfo=region.info,symbols=this.symbols,inputSymbols=[],i=0,ii=referredSegments.length;ii>i;i++)inputSymbols=inputSymbols.concat(symbols[referredSegments[i]]);var symbolCodeLength=log2(inputSymbols.length),decodingContext=new DecodingContext(data,start,end),bitmap=decodeTextRegion(region.huffman,region.refinement,regionInfo.width,regionInfo.height,region.defaultPixelValue,region.numberOfSymbolInstances,region.stripSize,inputSymbols,symbolCodeLength,region.transposed,region.dsOffset,region.referenceCorner,region.combinationOperator,huffmanTables,region.refinementTemplate,region.refinementAt,decodingContext);this.drawBitmap(regionInfo,bitmap)},onImmediateLosslessTextRegion:function(){this.onImmediateTextRegion.apply(this,arguments)}},Jbig2Image.prototype={parseChunks:function(chunks){return parseJbig2Chunks(chunks)}},Jbig2Image}(),MurmurHash3_64=(PDFJS.bidi=function(){function isOdd(i){return 0!==(1&i)}function isEven(i){return 0===(1&i)}function findUnequal(arr,start,value){for(var j=start,jj=arr.length;jj>j;++j)if(arr[j]!==value)return j;return j}function setValues(arr,start,end,value){for(var j=start;end>j;++j)arr[j]=value}function reverseValues(arr,start,end){for(var i=start,j=end-1;j>i;++i,--j){var temp=arr[i];arr[i]=arr[j],arr[j]=temp}}function createBidiText(str,isLTR,vertical){return{str:str,dir:vertical?"ttb":isLTR?"ltr":"rtl"}}function bidi(str,startLevel,vertical){var isLTR=!0,strLength=str.length;if(0===strLength||vertical)return createBidiText(str,isLTR,vertical);chars.length=strLength,types.length=strLength;var i,ii,numBidi=0;for(i=0;strLength>i;++i){chars[i]=str.charAt(i);var charCode=str.charCodeAt(i),charType="L";255>=charCode?charType=baseTypes[charCode]:charCode>=1424&&1524>=charCode?charType="R":charCode>=1536&&1791>=charCode?charType=arabicTypes[255&charCode]:charCode>=1792&&2220>=charCode&&(charType="AL"),("R"===charType||"AL"===charType||"AN"===charType)&&numBidi++,types[i]=charType}if(0===numBidi)return isLTR=!0,createBidiText(str,isLTR);-1===startLevel&&(.3>strLength/numBidi?(isLTR=!0,startLevel=0):(isLTR=!1,startLevel=1));var levels=[];for(i=0;strLength>i;++i)levels[i]=startLevel;var e=isOdd(startLevel)?"R":"L",sor=e,eor=sor,lastType=sor;for(i=0;strLength>i;++i)"NSM"===types[i]?types[i]=lastType:lastType=types[i];lastType=sor;var t;for(i=0;strLength>i;++i)t=types[i],"EN"===t?types[i]="AL"===lastType?"AN":"EN":("R"===t||"L"===t||"AL"===t)&&(lastType=t);for(i=0;strLength>i;++i)t=types[i],"AL"===t&&(types[i]="R");for(i=1;strLength-1>i;++i)"ES"===types[i]&&"EN"===types[i-1]&&"EN"===types[i+1]&&(types[i]="EN"),"CS"!==types[i]||"EN"!==types[i-1]&&"AN"!==types[i-1]||types[i+1]!==types[i-1]||(types[i]=types[i-1]);for(i=0;strLength>i;++i)if("EN"===types[i]){var j;for(j=i-1;j>=0&&"ET"===types[j];--j)types[j]="EN";for(j=i+1;strLength>j&&"ET"===types[j];--j)types[j]="EN"}for(i=0;strLength>i;++i)t=types[i],("WS"===t||"ES"===t||"ET"===t||"CS"===t)&&(types[i]="ON");for(lastType=sor,i=0;strLength>i;++i)t=types[i],"EN"===t?types[i]="L"===lastType?"L":"EN":("R"===t||"L"===t)&&(lastType=t);for(i=0;strLength>i;++i)if("ON"===types[i]){var end=findUnequal(types,i+1,"ON"),before=sor;i>0&&(before=types[i-1]);var after=eor;strLength>end+1&&(after=types[end+1]),"L"!==before&&(before="R"),"L"!==after&&(after="R"),before===after&&setValues(types,i,end,before),i=end-1}for(i=0;strLength>i;++i)"ON"===types[i]&&(types[i]=e);for(i=0;strLength>i;++i)t=types[i],isEven(levels[i])?"R"===t?levels[i]+=1:("AN"===t||"EN"===t)&&(levels[i]+=2):("L"===t||"AN"===t||"EN"===t)&&(levels[i]+=1);var level,highestLevel=-1,lowestOddLevel=99;for(i=0,ii=levels.length;ii>i;++i)level=levels[i],level>highestLevel&&(highestLevel=level),lowestOddLevel>level&&isOdd(level)&&(lowestOddLevel=level);for(level=highestLevel;level>=lowestOddLevel;--level){var start=-1;for(i=0,ii=levels.length;ii>i;++i)levels[i]<level?start>=0&&(reverseValues(chars,start,i),start=-1):0>start&&(start=i);start>=0&&reverseValues(chars,start,levels.length)}var result="";for(i=0,ii=chars.length;ii>i;++i){var ch=chars[i];"<"!==ch&&">"!==ch&&(result+=ch)}return createBidiText(result,isLTR)}var baseTypes=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ON","CS","ON","CS","ON","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","ON","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","ON","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],arabicTypes=["AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL"],chars=[],types=[];return bidi}(),function(){function MurmurHash3_64(seed){var SEED=3285377520;this.h1=seed?4294967295&seed:SEED,this.h2=seed?4294967295&seed:SEED}var MASK_HIGH=4294901760,MASK_LOW=65535,alwaysUseUint32ArrayView=!1;try{new Uint32Array(new Uint8Array(5).buffer,0,1)}catch(e){alwaysUseUint32ArrayView=!0}return MurmurHash3_64.prototype={update:function(input){var i,useUint32ArrayView=alwaysUseUint32ArrayView;if("string"==typeof input){var data=new Uint8Array(2*input.length),length=0;for(i=0;i<input.length;i++){var code=input.charCodeAt(i);255>=code?data[length++]=code:(data[length++]=code>>>8,data[length++]=255&code)
+}}else if(input instanceof Uint8Array)data=input,length=data.length;else{if(!("object"==typeof input&&"length"in input))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");data=input,length=data.length,useUint32ArrayView=!0}var blockCounts=length>>2,tailLength=length-4*blockCounts,dataUint32=useUint32ArrayView?new Uint32ArrayView(data,blockCounts):new Uint32Array(data.buffer,0,blockCounts),k1=0,k2=0,h1=this.h1,h2=this.h2,C1=3432918353,C2=461845907,C1_LOW=C1&MASK_LOW,C2_LOW=C2&MASK_LOW;for(i=0;blockCounts>i;i++)1&i?(k1=dataUint32[i],k1=k1*C1&MASK_HIGH|k1*C1_LOW&MASK_LOW,k1=k1<<15|k1>>>17,k1=k1*C2&MASK_HIGH|k1*C2_LOW&MASK_LOW,h1^=k1,h1=h1<<13|h1>>>19,h1=5*h1+3864292196):(k2=dataUint32[i],k2=k2*C1&MASK_HIGH|k2*C1_LOW&MASK_LOW,k2=k2<<15|k2>>>17,k2=k2*C2&MASK_HIGH|k2*C2_LOW&MASK_LOW,h2^=k2,h2=h2<<13|h2>>>19,h2=5*h2+3864292196);switch(k1=0,tailLength){case 3:k1^=data[4*blockCounts+2]<<16;case 2:k1^=data[4*blockCounts+1]<<8;case 1:k1^=data[4*blockCounts],k1=k1*C1&MASK_HIGH|k1*C1_LOW&MASK_LOW,k1=k1<<15|k1>>>17,k1=k1*C2&MASK_HIGH|k1*C2_LOW&MASK_LOW,1&blockCounts?h1^=k1:h2^=k1}return this.h1=h1,this.h2=h2,this},hexdigest:function(){var h1=this.h1,h2=this.h2;h1^=h2>>>1,h1=3981806797*h1&MASK_HIGH|36045*h1&MASK_LOW,h2=4283543511*h2&MASK_HIGH|(2950163797*(h2<<16|h1>>>16)&MASK_HIGH)>>>16,h1^=h2>>>1,h1=444984403*h1&MASK_HIGH|60499*h1&MASK_LOW,h2=3301882366*h2&MASK_HIGH|(3120437893*(h2<<16|h1>>>16)&MASK_HIGH)>>>16,h1^=h2>>>1;for(var i=0,arr=[h1,h2],str="";i<arr.length;i++){for(var hex=(arr[i]>>>0).toString(16);hex.length<8;)hex="0"+hex;str+=hex}return str}},MurmurHash3_64}())}.call("undefined"==typeof window?this:window),PDFJS.workerSrc||"undefined"==typeof document||(PDFJS.workerSrc=function(){"use strict";var scriptTagContainer=document.body||document.getElementsByTagName("head")[0],pdfjsSrc=scriptTagContainer.lastChild.src;return pdfjsSrc&&pdfjsSrc.replace(/\.js$/i,".worker.js")}()); \ No newline at end of file