{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Global.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/@mathiasosterkamp/customjspdf/dist/jspdf.es.min.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/fflate/esm/browser.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Util.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Validators.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Factory.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Context.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Canvas.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/DragAndDrop.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Node.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Container.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/PointerEvents.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Stage.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Shape.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Layer.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/FastLayer.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Group.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Animation.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/Tween.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/_CoreInternals.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Arc.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Line.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Path.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Arrow.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Circle.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Ellipse.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Image.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Label.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Rect.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/RegularPolygon.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Ring.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Sprite.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Star.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Text.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/TextPath.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Transformer.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/shapes/Wedge.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Blur.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Brighten.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Contrast.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Enhance.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Emboss.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/HSL.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/HSV.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Mask.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Kaleidoscope.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Noise.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Pixelate.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Posterize.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/RGB.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/RGBA.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Threshold.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/_FullInternals.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Grayscale.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Invert.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Sepia.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/filters/Solarize.js","webpack:////Users/owenli/Documents/workspace/awi-woolmark-fe/node_modules/konva/lib/index.js"],"names":["PI_OVER_180","Math","PI","glob","global","window","WorkerGlobalScope","self","Konva","_global","version","isBrowser","toString","call","isUnminified","test","param","dblClickWindow","getAngle","angle","angleDeg","enableTrace","pointerEventsEnabled","autoDrawEnabled","hitOnDragEnabled","capturePointerEventsEnabled","_mouseListenClick","_touchListenClick","_pointerListenClick","_mouseInDblClickWindow","_touchInDblClickWindow","_pointerInDblClickWindow","_mouseDblClickPointerId","_touchDblClickPointerId","_pointerDblClickPointerId","pixelRatio","devicePixelRatio","dragDistance","showWarnings","dragButtons","isDragging","isDragReady","node","releaseCanvasOnDestroy","document","_registerNode","NodeClass","prototype","getClassName","_injectGlobal","r","this","n","console","log","apply","arguments","i","warn","t","error","a","e","XMLHttpRequest","open","responseType","onload","h","response","onerror","send","o","status","s","dispatchEvent","MouseEvent","createEvent","initMouseEvent","c","u","saveAs","HTMLAnchorElement","URL","webkitURL","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","navigator","msSaveOrOpenBlob","autoBom","type","Blob","String","fromCharCode","title","body","innerText","HTMLElement","safari","userAgent","FileReader","onloadend","result","replace","readAsDataURL","l","ok","charAt","substr","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","toLowerCase","re","example","process","parseInt","length","exec","g","b","isNaN","toRGB","toHex","f","p","m","v","S","d","y","substring","charCodeAt","atob","bind","btoa","w","split","N","L","A","map","join","x","_","Array","P","print","modify","copy","k","forEach","perm","Error","padding","O","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","U","I","slice","F","subscribe","hasOwnProperty","random","unsubscribe","Object","keys","publish","message","push","getTopics","C","indexOf","id","objectNumber","j","gState","matrix","coords","colors","B","boundingBox","xStep","yStep","stream","cloneIndex","M","orientation","unit","format","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","abs","precision","floatPrecision","defaultPathOperation","filters","putOnlyUsedFonts","internal","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","a10","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","c10","dl","letter","legal","ledger","tabloid","getPageFormats","getPageFormat","COMPAT","ADVANCED","saveGraphicsState","ht","Wt","St","Dr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","E","q","roundToPrecision","toFixed","hpf","D","f2","R","f3","T","scale","z","setPrecision","H","W","V","getFileId","G","setFileId","toUpperCase","floor","Ge","Y","convertDateToPDFDate","getTimezoneOffset","$","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","J","convertPDFDateToDate","Date","X","setCreationDate","K","getCreationDate","Z","padd2","Q","padd2Hex","tt","et","rt","nt","it","at","ot","st","ct","$t","Xt","Qt","setCustomOutputDestination","ut","resetCustomOutputDestination","out","lt","write","ft","getArrayBuffer","ArrayBuffer","Uint8Array","dt","getStandardFonts","pt","fontSize","gt","mt","vt","R2L","setR2L","getR2L","bt","yt","setZoomMode","getZoomMode","wt","Nt","setPageMode","getPageMode","Lt","setLayoutMode","getLayoutMode","setDisplayMode","At","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","xt","_t","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","hotfixes","zt","Ut","Ht","_matrix","defineProperty","get","set","atan2","shx","sx","decompose","sy","shy","tx","ty","multiply","sqrt","translate","rotate","skew","inversed","applyToPoint","Fr","applyToRectangle","Cr","clone","Matrix","Vt","matrixMult","Gt","unitMatrix","identityMatrix","Yt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Or","endTilingPattern","pop","restore","Jt","newObject","Kt","newObjectDeferred","Zt","newAdditionalObject","objId","content","te","decodeColorString","parseFloat","ee","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","getFilters","ne","putStream","data","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","isArray","key","value","ie","putPage","number","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","page","ae","putPages","oe","font","isAlreadyPutted","postScriptName","encoding","se","ce","width","height","pages","ue","he","offset","color","unshift","round","trim","le","fe","resourcesOid","objectOid","de","pe","ge","me","ve","oid","toHexString","be","ye","we","Ne","Le","Ae","Number","MAX_SAFE_INTEGER","xe","Se","fontName","fontStyle","_e","isStandardFont","metadata","instance","Pe","fonts","dictionary","ke","foo","stack","alert","bar","Ie","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","Fe","pdfEscape","Ce","beginPage","Be","je","min","dr","lr","Nr","Pr","kr","Oe","splice","setPage","Me","getNumberOfPages","Ee","disableWarning","noFallback","times","normal","qe","putInfo","De","putCatalog","Re","putTrailer","Te","putHeader","ze","putXRef","Ue","buildDocument","He","getBlob","We","output","filename","save","unescape","encodeURIComponent","pdfObjectUrl","JSON","stringify","pdfJsUrl","documentElement","querySelector","contentWindow","PDFViewerApplication","Ve","Ye","Je","getPageInfo","Xe","getPageInfoByObjId","Ke","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","text","scope","flags","align","lineHeightFactor","hr","scaleFactor","TabLen","concat","shift","match","baseline","maxWidth","splitTextToSize","reduce","options","mutex","activeFontKey","activeFontSize","rotationDirection","cos","sin","charSpace","Sr","setCharSpace","getCharSpace","horizontalScale","lang","renderingMode","stroke","usedRenderingMode","pageSize","getWidth","assign","getStringUnitWidth","doKerning","vr","br","reverse","isHex","Ar","Ze","clip","clipEvenOdd","discardPath","$e","isValidStyle","setDefaultPathOperation","Qe","getStyle","tr","close","fill","er","fillEvenOdd","fillStroke","fillStrokeEvenOdd","ir","rr","nr","ar","setGState","or","moveTo","sr","lineTo","cr","curveTo","line","lines","path","op","rect","triangle","roundedRect","SQRT2","ellipse","circle","setFont","ur","getFont","getFontList","addFont","lineWidth","fr","getLineWidth","setLineWidth","setLineDash","setLineDashPattern","pr","getLineHeight","gr","setLineHeightFactor","mr","getLineHeightFactor","lineHeight","getHorizontalCoordinate","getVerticalCoordinate","yr","getHorizontalCoordinateString","wr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Lr","fillColor","getFillColor","setFillColor","textColor","xr","getTextColor","setTextColor","_r","CapJoinStyles","0","butt","but","miter","1","rounded","2","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Ir","equals","addGState","size","setCurrentTransformationMatrix","comment","enumerable","jr","currentPage","pagesContext","Er","outputDestination","qr","Rr","Br","Mr","beginFormObject","endFormObject","doFormObject","getFormObject","returnPromise","unload","Promise","events","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","configurable","__acroform__","create","constructor","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","textAlign","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","object","annotations","find","arrayToPdfArray","_objId","_scope","writable","getKeyValueListForStream","getOwnPropertyNames","filter","getOwnPropertyDescriptor","Boolean","FieldNum","Rect","hasAnnotation","Ff","FT","getOptions","setOptions","sort","addOption","removeOption","combo","hasAppearanceStream","edit","CA","pushButton","radio","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","Kids","getCA","createOption","Parent","CheckBox","isInteger","password","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x1","x2","x4","x3","createDefaultAppearanceStream","addField","acroformPlugin","parse","_eventID","Fields","DA","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","index","nodeType","nodeName","hasAttribute","getAttribute","loadFile","toDataURL","alias","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","decode","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","extractImageFromDataUrl","mimeType","charset","supportsArrayBuffer","isArrayBuffer","isArrayBufferView","Uint32Array","Int8Array","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","subarray","addImage","imageData","compression","rotation","convertBase64ToBinaryString","getImageProperties","fileType","url","bounds","contents","_nameMap","top","finalBounds","magFactor","left","zoom","createAnnotation","link","textWithLink","getTextWidth","ceil","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1649","1655","1657","1658","1659","1662","1663","1664","1667","1668","1670","1671","1672","1676","1677","1678","1681","1688","1700","1702","1705","1709","1711","1713","1715","1722","1723","1726","1728","1729","1733","1734","1735","1736","1737","1739","1740","1744","1746","1747","65247","65154","65156","65160","65166","65248","65165","65258","1617","1612","1613","1614","1615","1616","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","variant","addJS","getContext","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","canvas","bottom","right","__cell__","headerFunction","margins","lastCell","lineNumber","toArray","setHeaderFunction","getTextDimensions","max","cellAddPage","cell","tableHeaderRow","printHeaders","printHeaderRow","table","autoSize","css","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","Function","row","cellStart","col","table_x","table_y","italic","oblique","family","style","weight","stretch","src","ref","fixed","monospace","terminal","cursive","fantasy","serif","icon","menu","trimLeft","isStrokeTransparent","strokeOpacity","strokeStyle","fillStyle","isFillTransparent","fillOpacity","textBaseline","lineJoin","lineCap","transform","globalCompositeOperation","globalAlpha","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","margin","prevPageLastElemOffset","ignoreClearRect","parentNode","ctx","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","beginPath","closePath","quadraticCurveTo","y1","bezierCurveTo","y2","arc","isIdentity","pow","radius","startAngle","endAngle","counterclockwise","arcTo","fillRect","strokeRect","clearRect","ctxStack","isCanvasGradient","getColor","fillText","scaleX","strokeText","measureText","setTransform","drawImage","autoPaging","posY","posX","begin","start","deltas","createLinearGradient","colorStops","addColorStop","createPattern","createRadialGradient","y3","y4","prevLineDash","RegExp","overrideMimeType","responseText","loadImageFile","html2canvas","resolve","catch","reject","then","default","DOMPurify","className","innerHTML","dompurify","sanitize","convert","template","setProgress","__proto__","prop","container","overlay","img","callback","progress","val","state","opt","enableLinks","jsPDF","backgroundColor","from","to","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","position","display","windowWidth","clientWidth","scrollWidth","offsetWidth","createTextNode","nodeValue","cloneNode","firstChild","nextSibling","appendChild","addEventListener","scrollTop","scrollLeft","javascriptEnabled","tagName","scrollHeight","offsetHeight","clientHeight","overflow","zIndex","clear","border","float","contains","onrendered","removeChild","toContext2d","async","allowTaint","scrollX","scrollY","imageTimeout","logging","proxy","removeContainer","foreignObjectRendering","useCORS","windowHeight","image","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","inner","px","ratio","updateProgress","thenCore","thenExternal","catchExternal","using","export","run","html","worker","outline","root","children","render","createNamedDestinations","makeRef","add","genIds_r","renderRoot","renderItems","objStart","count_r","count","objEnd","makeString","processJPEG","numcomponents","pos","imgData","animation","readUInt32","bits","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","read","xOffset","yOffset","readUInt16","delay","disposeOp","blendOp","indexed","grayscale","rgb","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","putImageData","Image","decodeFrames","createImageData","renderFrame","animate","_timeout","stopAnimation","clearTimeout","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","encode","displayName","buffer","datav","DataView","is_with_alpha","bottom_up","flag","parseHeader","parseBGR","jc","Qb","qb","nd","pd","Ca","Ka","oa","pa","Jd","Yc","Zc","Sb","Ra","bb","zr","Tr","Ur","Hr","Mb","Xa","ud","hd","jd","Ea","Hn","Wn","Vn","Gn","eb","fb","ea","Tc","Ed","Cd","Fd","lb","Db","Ab","fa","Rd","RGBA","kb","sd","Pd","Qd","Id","fd","Md","hb","ib","da","bd","cd","Da","Sd","ob","ba","ka","vi","cc","dc","Mc","Nc","ec","fc","Rc","Tn","Kb","Sn","An","ma","qn","Rn","zn","memory","Ib","Jb","Nd","Oa","Ci","ji","_i","Si","Mi","Bi","Oi","Pi","ki","Ei","qi","Dc","$n","xc","vc","md","Wb","Ya","ab","Ta","Ua","gc","nc","hc","Gr","Wr","Vr","Zr","$r","Yr","Ba","va","ca","Ma","En","Qr","tn","Dn","nn","en","xn","Un","rn","ua","qd","rd","mi","tb","Xr","Pb","Wa","wc","wd","xd","vb","ti","yc","xb","gi","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Oc","Qn","Xn","Zn","Jn","Yn","Kn","pi","_n","ub","yd","td","Rb","Kd","Ld","Ud","Td","Fb","Bb","Cb","Zb","Lb","Yb","jb","Wc","Xc","Pc","wb","Tb","zd","vd","od","ld","La","dd","tc","Na","la","Sc","Eb","Qc","ia","lc","ad","Za","Ob","$b","Ad","Gc","Hc","Dd","uc","Nb","wa","ya","aa","cb","sc","Od","Kc","ed","Qa","Ic","$c","Aa","Xb","Va","Hb","zb","yb","Ub","za","Jc","pb","Pa","Bd","kc","Ac","Bc","zc","Gd","Hd","rb","sb","oc","pc","sa","ta","qa","ra","Ha","Ia","Ec","ja","Vb","Fc","gd","ga","Fa","Cc","qc","Gb","Uc","mb","nb","rc","Ga","Vc","put","ac","bc","ha","ni","ei","ri","ui","si","hi","ii","ai","Ri","zi","Vd","Cn","Pn","kn","In","Fn","an","on","cn","un","hn","sn","ln","fn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","fi","li","di","ci","oi","Bn","jn","Mn","kd","na","xa","gb","Ja","Sa","Lc","$a","ic","mc","bi","wi","yi","Ni","Li","Ai","xi","Fi","Ii","Di","Ui","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","Ti","WebPDecodeRGBA","src_off","src_size","header","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","duration","dispose","blend","rgbaoutput","dataurl","loop_counter","rgba","imgwidth","imgheight","level","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","getData","processBMP","processWEBP","processRGBA","alpha","setLanguage","languageSettings","isSubscribed","af","sq","hy","as","ast","az","eu","bs","bg","my","ch","zh","cv","co","cs","nl","eo","fo","fj","fy","fur","gl","el","gu","hu","is","iu","ks","kk","km","ky","tlh","ko","lv","mk","ms","ml","mo","nv","ng","no","om","pl","qu","rm","ro","ru","sz","sg","sk","sl","so","es","sw","sv","th","tig","ts","tk","uk","hsb","vo","cy","xh","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","Symbol","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","defaultValue","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","head","unitsPerEm","cmap","unicode","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","5","6","7","32","251","254","255","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","post","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","tag","checksum","__super__","file","raw","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","old","new","charMap","subtable","maxGlyphID","LN2","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","selection","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","offsets","numGlyphs","languageID","nameID","strings","copyright","fontFamily","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","description","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","cache","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","next","generateCmap","glyphsFor","isString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","u8","u16","u32","fleb","fdeb","clim","freb","_a","fl","revfl","_b","revfd","rev","hMap","rvb","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits16","shft","slc","inflt","dat","buf","noBuf","noSt","cbuf","bl","nbuf","final","lm","dm","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","lms","dms","mxa","sym","dsym","end","wbits","wbits16","hTree","t2","i0","i1","i2","maxSym","mbt","lft","cst","i2_1","i2_2","i2_3","cl","cli","cln","cls","clen","cf","wfblk","wblk","syms","lf","df","dlt","mlb","ddt","mdb","_c","lclt","nlc","_d","lcdt","ndc","lcfreq","lct","mlcb","nlcc","ll","flen","ftlen","dtlen","llm","lcts","clct","len","dst","deo","dflt","lvl","plvl","pre","lst","msk_1","prev","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","mem","wbytes","zlh","zlv","zlibSync","opts","unzlibSync","Transform","dirty","point","rad","m11","m12","m21","m22","dx","dy","m0","m1","m2","m3","m4","m5","delta","scaleY","skewX","skewY","acos","Util","_getRotation","PI_OVER_DEG180","DEG180_OVER_PI","COLORS","darkgrey","darkslategrey","dimgrey","grey","lightgray","lightslategrey","rebeccapurple","slategrey","transparent","RGB_REGEX","animQueue","req","requestAnimationFrame","_isElement","obj","_isFunction","_isPlainObject","_isArray","_isNumber","isFinite","_isString","_isBoolean","isObject","selector","firstChar","_sign","queue","createImageElement","imageObj","_rgbToHex","hex","bigint","randColor","_hexToRgb","colorToRGBA","str","_namedColorToRBA","_hex3ColorToRGBA","_hex4ColorToRGBA","_hex6ColorToRGBA","_hex8ColorToRGBA","_rgbColorToRGBA","_rgbaColorToRGBA","_hslColorToRGBA","parts","hsl","t3","t1","haveIntersection","r1","r2","retObj","cloneObject","cloneArray","arr","degToRad","deg","radToDeg","_degToRad","_radToDeg","radians","_capitalize","func","_inRange","dist","pd2","isClosed","MAX_VALUE","p1","p2","proj","_getProjectionToSegment","py","pdist","startArray","endArray","temp","newStart","_getProjectionToLine","desc","visitedByCircularReferenceRemoval","_prepareToStringify","source","_getFirstPointerId","evt","touches","changedTouches","identifier","pointerId","canvases","context","cornerRadius","topLeft","topRight","bottomLeft","bottomRight","_formatValue","RGBComponent","getNumberValidator","attr","getNumberOrArrayOfNumbersValidator","noOfElements","isNumber","isValidArray","getNumberOrAutoValidator","getStringValidator","getStringOrGradientValidator","isGradient","getBooleanValidator","Factory","def","validator","after","addGetter","addSetter","addOverloadedGetterSetter","method","attrs","undefined","overWriteSetter","_setAttr","components","component","capitalize","getter","setter","ret","getAttr","basicValidator","getComponentValidator","oldVal","_fireChangeEvent","capitalizedAttr","methods","each","oldMethodName","newMethodName","oldGetter","oldSetter","deprecated","_filterUpToDate","simplifyArray","retArr","util","CONTEXT_METHODS","traceArr","_enableTrace","shape","fillEnabled","_fill","hasStroke","_stroke","fillAfterStrokeEnabled","strokeShape","fillShape","relaxed","trace","args","property","getCanvas","getPixelRatio","setAttr","absOpacity","getAbsoluteOpacity","_context","fillRule","isPointInPath","path2d","getImageData","that","origSetter","methodName","origMethod","_trace","SceneContext","super","_fillFunc","_getFillPattern","grd","_getLinearGradient","_getRadialGradient","hasColor","fillPriority","getFillPriority","_fillColor","hasPattern","getFillPatternImage","_fillPattern","hasLinearGradient","getFillLinearGradientColorStops","_fillLinearGradient","hasRadialGradient","getFillRadialGradientColorStops","_fillRadialGradient","getStrokeLinearGradientStartPoint","getStrokeLinearGradientEndPoint","getStrokeLinearGradientColorStops","dash","strokeScaleEnabled","getStrokeScaleEnabled","_applyLineCap","dashEnabled","dashOffset","strokeWidth","getShadowForStrokeEnabled","_strokeLinearGradient","_strokeFunc","getShadowRGBA","blur","getShadowBlur","getShadowOffset","getAbsoluteScale","HitContext","willReadFrequently","colorKey","_fillFuncHit","hasHitStroke","hitStrokeWidth","_strokeFuncHit","_pixelRatio","config","isCache","createCanvasElement","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","releaseCanvas","getDevicePixelRatio","background","previousRatio","setSize","err","addGetterSetter","hitCanvas","DD","_dragElements","elem","dragStatus","justDragged","Map","nodesToFireEvents","stage","getStage","setPointersPositions","_changedPointerPositions","startPointerPos","startDrag","_setDragPosition","fire","drawNodes","drawNode","getLayer","draw","delete","_endDragBefore","_drag","_endDragAfter","TRANSFORM_CHANGE_STR","idCounter","_id","eventListeners","_allEventListeners","parent","_cache","_attachedDepsListeners","_lastPos","_batchingTransformChange","_needClearTransformCache","_isUnderCache","_dragEventId","_shouldFireChangeEvents","setAttrs","privateGetter","deps","depsString","dep","_clearCache","_getCache","has","scene","hit","_clearSelfAndDescendantCache","_requestDraw","conf","getClientRect","skipTransform","relativeTo","getParent","drawBorder","hitCanvasPixelRatio","cachedSceneCanvas","cachedFilterCanvas","cachedHitCanvas","sceneContext","hitContext","imageSmoothingEnabled","drawScene","drawHit","minX","minY","maxX","maxY","points","trans","getAbsoluteTransform","transformed","_applyOpacity","_applyGlobalCompositeOperation","canvasCache","_getCanvasCache","cacheCanvas","_getCachedSceneCanvas","cachedCanvas","sceneCanvas","filterCanvas","filterContext","evtStr","handler","_delegate","baseEvent","_off","off","event","stopNode","targets","findAncestors","currentTarget","stopDrag","_remove","_clearCaches","_setChildrenIndices","remove","clearCache","ancestors","_batchTransformChanges","_isListening","listening","_isVisible","visible","skipDragCheck","layer","layerUnderDrag","dragSkip","isListening","isVisible","nodes","child","depth","getDepth","addChildren","getChildren","getPointerPosition","invert","haveCachedParent","isCached","absoluteMatrix","getMatrix","absoluteTransform","getTranslation","origTrans","_clearTransform","_getAbsoluteTransform","_setTransform","setPosition","offsetX","offsetY","change","changeX","changeY","theta","_getAbsoluteOpacity","opacity","newContainer","getAttrs","toObject","includeSelf","res","_isMatch","ancestor","sel","selectorArr","isValidSelector","hasName","_getStage","eventType","bubble","_fireAndBubble","_fire","_eachAncestorReverse","transformsEnabled","getTransform","copyInto","reset","_getTransform","allListeners","listener","box","_toKonvaCanvas","_urlToImage","toBlob","blob","getDragDistance","evtName","evtListeners","newVal","oldName","newName","fullName","batchDraw","compareShape","isAncestorOf","stopBubble","cancelBubble","listeners","getPrototypeOf","newEvents","oldEvents","topListeners","_getProtoListeners","selfListeners","ap","getAbsolutePosition","_getPointerById","bubbleEvent","_createDragElement","newNodePos","dbf","dragBoundFunc","bounded","setAbsolutePosition","draggable","_dragChange","_dragCleanup","hasDraggingChild","_listenDrag","dragElement","isReady","screenRect","_createNode","Class","_attrsAffectingSize","addComponentsGetterSetter","backCompat","rotateDeg","setRotationDeg","getRotationDeg","filterFunc","results","destroy","_validateAdd","hasChildren","destroyChildren","_generalFind","findOne","_descendants","valid","shouldStop","intersects","can","caching","_drawCachedSceneCanvas","_drawChildren","shouldDrawHit","_drawCachedHitCanvas","drawMethod","clipWidth","clipHeight","clipFunc","hasClip","selfCache","clipX","clipY","hasComposition","selfRect","Infinity","skipShadow","skipStroke","shapes","hasVisible","_transformedRect","Captures","SUPPORT_POINTER_EVENTS","getCapturedShape","hasPointerCapture","setPointerCapture","releaseCapture","PointerEvent","EVENTS","EVENTS_MAP","mouse","pointerclick","pointerdblclick","touch","pointer","getEventType","getEventsMap","checkNoClip","stages","_pointerPositions","_buildDOM","_bindContentEvents","_resizeDOM","_checkVisibility","isLayer","getType","isFastLayer","throw","getElementsByClassName","getElementById","parentElement","layers","_isInDocument","bufferCanvas","bufferHitCanvas","layerCanvas","getIntersection","rest","passive","pointerenter","pointerover","evenType","targetShape","_getTargetShape","eventsEnabled","pointerout","pointerleave","pointerPos","triggeredOnShape","pointerdown","isTouch","preventDefault","cancelable","processedShapesIds","differentTarget","pointermove","clickStartShape","clickEndShape","fireDblClick","pointerup","contentPosition","_getContentPosition","clientX","clientY","getBoundingClientRect","userSelect","setAttribute","dummyContext","getDummyContext","getRandomColor","sceneFunc","hitFunc","_hasShadow","shadowEnabled","shadowOpacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","__getFillPattern","fillPatternImage","pattern","fillPatternRepeat","fillPatternX","fillPatternY","fillPatternRotation","fillPatternScaleX","fillPatternScaleY","fillPatternOffsetX","fillPatternOffsetY","DOMMatrix","__getLinearGradient","fillLinearGradientColorStops","fillLinearGradientStartPoint","fillLinearGradientEndPoint","__getRadialGradient","fillRadialGradientColorStops","fillRadialGradientStartPoint","fillRadialGradientEndPoint","fillRadialGradientStartRadius","fillRadialGradientEndRadius","_getShadowRGBA","hasShadow","_calculate","strokeEnabled","strokeLinearGradientColorStops","forceFill","perfectDrawEnabled","hasFill","isTransparent","strokeForShadow","shadowForStrokeEnabled","_centroid","getSelfRect","fillAndStrokeWidth","fillAndStrokeHeight","applyShadow","preWidth","preHeight","blurRadius","bufferContext","drawFunc","getSceneFunc","skipBuffer","cachingSelf","_useBufferCanvas","_applyLineJoin","_applyShadow","alphaThreshold","hitImageData","hitData","rgbColorKey","hitWidth","hitHeight","dashArray","getDashArray","setDashArray","getDrawFunc","setDrawFunc","drawHitFunc","getDrawHitFunc","setDrawHitFunc","INTERSECTION_OFFSETS","INTERSECTION_OFFSETS_LEN","_waitingForDraw","_setSmoothEnabled","createPNGStream","getHitCanvas","setZIndex","getNativeCanvasElement","insertBefore","moveToTop","moveUp","moveDown","moveToBottom","requestAnimFrame","spiralSearchDistance","continueSearch","intersectionOffset","_getIntersection","antialiased","p3","clearBeforeDraw","hitGraphEnabled","now","performance","getTime","animIdCounter","frame","time","timeDiff","lastTime","frameRate","setLayers","lays","animations","stop","_addAnimation","_removeAnimation","anim","_handleAnimation","layersLen","layerHash","_updateFrameObject","Anim","_runFrames","_animationLoop","animRunning","blacklist","easing","onFinish","yoyo","colorAttrs","TweenEngine","propFunc","finish","_pos","_change","prevPos","_time","_position","_startTime","_finish","pause","play","update","getTimer","onEnterFrame","getPosition","setTime","nodeId","Easings","Linear","getLayers","tween","_tweenFunc","_addListeners","tweens","_addAttr","onReset","onUpdate","diff","tweenId","trueEnd","trueStart","endRGBA","_prepareArrayForTween","closed","startRGBA","onPlay","onReverse","onPause","seek","thisId","params","asin","BounceEaseOut","BounceEaseIn","BounceEaseInOut","EaseIn","EaseOut","EaseInOut","StrongEaseIn","StrongEaseOut","StrongEaseInOut","_assign","Global","Node","Container","Stage","Layer","FastLayer","Group","Shape","Animation","Tween","Context","Canvas","clockwise","outerRadius","innerRadius","fillStrokeShape","boundLeftRatio","boundTopRatio","boundBottomRatio","boundLeft","boundTop","boundBottom","getControlPoints","x0","y0","d01","d12","expandPoints","tension","cp","allPoints","tp","bezier","getTensionPoints","_getTensionPoints","_getTensionPointsClosed","firstControlPoints","lastControlPoints","middle","TypedArray","item","getNumberArrayValidator","dataArray","pathLength","parsePathData","command","cx","rx","ry","dTheta","psi","fs","inc","getPointOnEllipticalArc","getPointOnCubicBezier","getPointOnLine","getPointOnQuadraticBezier","P1x","P1y","P2x","P2y","fromX","fromY","rise","ix","iy","getLineLength","pRise","pRun","pct","P3x","P3y","P4x","P4y","CB1","CB2","CB3","CB4","QB1","QB2","QB3","cosPsi","sinPsi","cpx","cpy","jlen","parsed","prevCmd","ctlPtx","ctlPty","cmd","startX","startY","idx","convertEndpointToCenterParameterization","calcLength","psiDeg","xp","yp","lambda","cxp","cyp","vMag","vRatio","vAngle","_sceneFunc","PI2","fromTension","pointerLength","lp","lastLength","previous","pointerWidth","pointerAtEnding","__fillStroke","pointerAtBeginning","isDashEnabled","lineRect","radiusX","radiusY","_setImageLoad","complete","readyState","cropWidth","cropHeight","cropX","cropY","drawRoundedRectPath","onError","crossOrigin","ATTR_CHANGE_LIST","attrChangeListLen","_sync","getText","pointerDirection","pointerHeight","getTag","direction","_getPoints","sides","PIx2","_updated","updated","frameIndex","isRunning","clearInterval","interval","_setInterval","ix4","frameOffsets","ix2","setInterval","_updateIndex","getIndex","setIndex","numPoints","stringToArray","string","checkDefaultFill","_partialTextX","_partialTextY","_setTextData","textArr","textArrLen","lineHeightPx","verticalAlign","alignY","totalWidth","letterSpacing","textDecoration","shouldUnderline","shouldLineThrough","translateY","lineTranslateX","lineTranslateY","_getContextFont","spacesNumber","oneWord","lastLine","lastInParagraph","gradient","array","_partialText","measureSize","textWidth","textHeight","fontVariant","hasSpace","hasQuotes","_getTextWidth","fixedWidth","fixedHeight","maxHeightPx","currentHeightPx","wrap","wrapAtWord","shouldAddEllipsis","ellipsis","additionalWidth","low","high","matchWidth","mid","substrWidth","wrapIndex","nextChar","lastIndexOf","trimRight","_addTextLine","_shouldHandleEllipsis","_tryToAddEllipsisToLastLine","partialText","dummyCanvas","glyphInfo","p0","setText","_getTextSize","kerningFunc","textFullWidth","fullPathWidth","pathCmd","charArr","pIndex","currentT","getNextPathSegment","pathData","findSegmentToFitCharacter","glyphWidth","currLen","attempts","cumulativePathLength","needNewSegment","lettersInOffset","kern","midpoint","transposeX","transposeY","info","ANGLES","TOUCH_DEVICE","ANCHORS_NAMES","rotateAroundPoint","angleRad","rotateAroundCenter","deltaRad","getCenter","_transforming","_createElements","_handleMouseMove","_handleMouseUp","getNode","setNode","setNodes","_nodes","detach","filteredNodes","useSingleNodeRotation","getAbsoluteRotation","onChange","_resetTransformCache","additionalEvents","_getEventNamespace","_proxyDrag","lastPos","otherNode","otherAbs","_movingAnchorName","__getNodeRect","rot","relative","ignoreStroke","absScale","absPos","totalPoints","_getNodeRect","_createBack","_createAnchor","anchor","_handleMouseDown","cursor","anchorName","getCursor","_cursorChange","back","rotateEnabled","rotateAnchorOffset","shouldOverdrawWholeArea","hypotenuse","_anchorDragOffset","newHypotenuse","anchorNode","pp","oldAbs","anchorDragBoundFunc","newAbs","keepProportion","keepRatio","shiftKey","centeredScaling","altKey","comparePoint","reverseX","reverseY","topOffsetX","topOffsetY","bottomOffsetX","bottomOffsetY","move","_fitNodesInto","newRotation","tol","rotationSnapTolerance","snaps","newRotationRad","snapped","absDiff","getSnap","rotationSnaps","_removeEvents","removeEventListener","newAttrs","oldAttrs","allowNegativeScale","flipEnabled","boundBoxFunc","oldTr","newTr","parentTransform","localTransform","newLocalTransform","enabledAnchors","resizeEnabled","anchorSize","anchorStroke","anchorStrokeWidth","anchorFill","anchorCornerRadius","_batchChangeChild","borderEnabled","borderStroke","borderStrokeWidth","borderDash","lineEnabled","rotateHandlerOffset","enabledHandlers","BlurStack","getAngleDeg","setAngleDeg","mul_table","shg_table","afterSetFilter","remap","fromValue","fromMin","fromMax","toMin","toMax","fromRange","toRange","pixelAt","idata","rgbDistance","Arc","Arrow","Ellipse","Label","Tag","Line","Path","RegularPolygon","Ring","Sprite","Star","Text","TextPath","Transformer","Wedge","Filters","Blur","yw","r_sum","g_sum","b_sum","a_sum","r_out_sum","g_out_sum","b_out_sum","a_out_sum","r_in_sum","g_in_sum","b_in_sum","a_in_sum","pg","rbs","pixels","div","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","stackEnd","stackIn","stackOut","mul_sum","shg_sum","filterGaussBlurRGBA","Brighten","brightness","Contrast","adjust","contrast","nPixels","Emboss","strength","embossStrength","greyLevel","embossWhiteLevel","embossDirection","embossBlend","dirY","dirX","w4","otherY","offsetYOther","otherX","offsetOther","dR","dG","dB","absDif","Enhance","nSubPixels","rMin","rMax","gMin","gMax","bMin","bMax","enhanceAmount","enhance","rMid","rGoalMax","rGoalMin","gMid","gGoalMax","gGoalMin","bMid","bGoalMax","bGoalMin","Grayscale","HSL","saturation","hue","luminance","vsu","vsw","rg","gg","HSV","Invert","Kaleidoscope","srcPos","dstPos","xSize","ySize","power","kaleidoscopePower","kaleidoscopeAngle","tempCanvas","scratchData","srcPixels","dstPixels","xMid","polarCenterX","yMid","polarCenterY","rSize","tSize","conversion","ToPolar","minSectionSize","sectionSize","xStart","xEnd","xDelta","phaseShift","polarRotation","FromPolar","Mask","mask","threshold","rgbv_no","rgbv_ne","rgbv_so","rgbv_se","thres","mean","pTab","rgbMean","backgroundMask","applyMask","sh","weights","side","halfSide","maskResult","scy","scx","smoothEdgeMask","dilateMask","erodeMask","Noise","amount","noise","half","Pixelate","xBinStart","xBinEnd","yBinStart","yBinEnd","xBin","yBin","pixelsInBin","pixelSize","nBinsX","nBinsY","Posterize","levels","RGB","Sepia","Solarize","Threshold"],"mappings":"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,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,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AI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAIE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAA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AAI,GAAG,IAAI,IAAI,GAAG,KAAKoD,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAMT,GAAG,EAAEyH,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKF,GAAG,KAAKM,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAIC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI+B,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAGlC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQiC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAMlC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI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I,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAA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B,GAAO,SAAU,EAAGxI,KAC5CW,EAAQ6H,gBAAgB,GAAO,QAAS,EAAGxI,KAC3CW,EAAQ6H,gBAAgB,GAAO,aAAa,GAC5C7H,EAAQ+U,WAAW,GAAO,CACtBxxF,SAAU,QACV64G,YAAa,WACbC,YAAa,aC1BjB,IAAIC,GAAY,CACZ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEAC,GAAY,CACZ,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IA8KJv8B,EAAQ6H,gBAAgB,EAAM,aAAc,EAAGxI,IAAsBW,EAAQw8B,gBC7qB7Ex8B,EAAQ6H,gBAAgB,EAAM,aAAc,EAAGxI,IAAsBW,EAAQw8B,gBCsB7Ex8B,EAAQ6H,gBAAgB,EAAM,WAAY,EAAGxI,IAAsBW,EAAQw8B,gBC9B3E,SAASC,GAAMC,EAAWC,EAASC,EAASC,EAAOC,GAC/C,IAAIC,EAAYH,EAAUD,EAASK,EAAUF,EAAQD,EACrD,OAAkB,IAAdE,EACOF,EAAQG,EAAU,EAEb,IAAZA,EACOH,EAGDG,IADCN,EAAYC,GAAWI,GACJF,ECsFlC78B,EAAQ6H,gBAAgB,EAAM,iBAAkB,GAAKxI,IAAsBW,EAAQw8B,gBACnFx8B,EAAQ6H,gBAAgB,EAAM,mBAAoB,GAAKxI,IAAsBW,EAAQw8B,gBACrFx8B,EAAQ6H,gBAAgB,EAAM,kBAAmB,WAAY,KAAM7H,EAAQw8B,gBAC3Ex8B,EAAQ6H,gBAAgB,EAAM,eAAe,EAAO,KAAM7H,EAAQw8B,gBDnBlEx8B,EAAQ6H,gBAAgB,EAAM,UAAW,EAAGxI,IAAsBW,EAAQw8B,gBE/E1Ex8B,EAAQ6H,gBAAgB,EAAM,MAAO,EAAGxI,IAAsBW,EAAQw8B,gBACtEx8B,EAAQ6H,gBAAgB,EAAM,aAAc,EAAGxI,IAAsBW,EAAQw8B,gBAC7Ex8B,EAAQ6H,gBAAgB,EAAM,YAAa,EAAGxI,IAAsBW,EAAQw8B,gBCgB5Ex8B,EAAQ6H,gBAAgB,EAAM,MAAO,EAAGxI,IAAsBW,EAAQw8B,gBACtEx8B,EAAQ6H,gBAAgB,EAAM,aAAc,EAAGxI,IAAsBW,EAAQw8B,gBAC7Ex8B,EAAQ6H,gBAAgB,EAAM,QAAS,EAAGxI,IAAsBW,EAAQw8B,gBCpBxE,SAASS,GAAQC,EAAO5oG,EAAGb,GACvB,IAAI84F,EAA8B,GAAvB94F,EAAIypG,EAAM3zF,MAAQjV,GACzBd,EAAI,GAER,OADAA,EAAE2C,KAAK+mG,EAAMl2F,KAAKulF,KAAQ2Q,EAAMl2F,KAAKulF,KAAQ2Q,EAAMl2F,KAAKulF,KAAQ2Q,EAAMl2F,KAAKulF,MACpE/4F,EAEX,SAAS2pG,GAAY5/B,EAAIC,GACrB,OAAOp7E,KAAK8hB,KAAK9hB,KAAKyyC,IAAI0oC,EAAG,GAAKC,EAAG,GAAI,GACrCp7E,KAAKyyC,IAAI0oC,EAAG,GAAKC,EAAG,GAAI,GACxBp7E,KAAKyyC,IAAI0oC,EAAG,GAAKC,EAAG,GAAI,ICuHhCwC,EAAQ6H,gBAAgB,EAAM,oBAAqB,EAAGxI,IAAsBW,EAAQw8B,gBACpFx8B,EAAQ6H,gBAAgB,EAAM,oBAAqB,EAAGxI,IAAsBW,EAAQw8B,gBDOpFx8B,EAAQ6H,gBAAgB,EAAM,YAAa,EAAGxI,IAAsBW,EAAQw8B,gBEhI5Ex8B,EAAQ6H,gBAAgB,EAAM,QAAS,GAAKxI,IAAsBW,EAAQw8B,gBCgD1Ex8B,EAAQ6H,gBAAgB,EAAM,YAAa,EAAGxI,IAAsBW,EAAQw8B,gBClD5Ex8B,EAAQ6H,gBAAgB,EAAM,SAAU,GAAKxI,IAAsBW,EAAQw8B,gBCK3Ex8B,EAAQ6H,gBAAgB,EAAM,MAAO,GAAG,SAAUvvC,GAE9C,OADAhzC,KAAKy8E,iBAAkB,EACnBzpC,EAAM,IACC,IAEFA,EAAM,EACJ,EAGAl2C,KAAK2nB,MAAMuuB,MAG1B0nC,EAAQ6H,gBAAgB,EAAM,QAAS,GAAG,SAAUvvC,GAEhD,OADAhzC,KAAKy8E,iBAAkB,EACnBzpC,EAAM,IACC,IAEFA,EAAM,EACJ,EAGAl2C,KAAK2nB,MAAMuuB,MAG1B0nC,EAAQ6H,gBAAgB,EAAM,OAAQ,EAAGzI,EAAcY,EAAQw8B,gBC1B/Dx8B,EAAQ6H,gBAAgB,EAAM,MAAO,GAAG,SAAUvvC,GAE9C,OADAhzC,KAAKy8E,iBAAkB,EACnBzpC,EAAM,IACC,IAEFA,EAAM,EACJ,EAGAl2C,KAAK2nB,MAAMuuB,MAG1B0nC,EAAQ6H,gBAAgB,EAAM,QAAS,GAAG,SAAUvvC,GAEhD,OADAhzC,KAAKy8E,iBAAkB,EACnBzpC,EAAM,IACC,IAEFA,EAAM,EACJ,EAGAl2C,KAAK2nB,MAAMuuB,MAG1B0nC,EAAQ6H,gBAAgB,EAAM,OAAQ,EAAGzI,EAAcY,EAAQw8B,gBAC/Dx8B,EAAQ6H,gBAAgB,EAAM,QAAS,GAAG,SAAUvvC,GAEhD,OADAhzC,KAAKy8E,iBAAkB,EACnBzpC,EAAM,EACC,EAEFA,EAAM,EACJ,EAGAA,KCrCf0nC,EAAQ6H,gBAAgB,EAAM,YAAa,GAAKxI,IAAsBW,EAAQw8B,gBC4BvE,MAAM,GAAQ,GAAK1jC,KAAK2tB,QAAQ,GAAM,CACzC2W,IAAA,GACAC,MAAA,GACAr+E,OAAA,GACAs+E,QAAA,GACAz9D,MAAA,GACA09D,MAAA,GACAC,IAAA,GACAC,KAAA,GACAC,KAAA,GACA7/E,KAAA,GACA8/E,eAAA,GACAC,KAAA,GACAC,OAAA,GACAC,KAAA,GACAC,KAAA,GACAC,SAAA,GACAC,YAAA,GACAC,MAAA,GACAC,QAAS,CACLC,KfynBY,SAAcv3E,GAC9B,IAAIiO,EAAS1yC,KAAK2nB,MAAMzkB,KAAKq5F,cACzB7pD,EAAS,GAxKjB,SAA6BjO,EAAWiO,GACpC,IACIxgC,EAAGb,EAAG7N,EAAGwN,EAAGw5F,EAAI33C,EAAIopD,EAAIC,EAAOC,EAAOC,EAAOC,EAAOC,EAAWC,EAAWC,EAAWC,EAAWC,EAAUC,EAAUC,EAAUC,EAAUhpF,EAAIipF,EAAI9vD,EAAIhN,EAAI+8D,EADxJC,EAASv4E,EAAU7f,KAAMuC,EAAQsd,EAAUtd,MAAOC,EAASqd,EAAUrd,OAErE61F,EAAMvqE,EAASA,EAAS,EAAGwqE,EAAc/1F,EAAQ,EAAGg2F,EAAe/1F,EAAS,EAAGg2F,EAAc1qE,EAAS,EAAG2qE,EAAaD,GAAeA,EAAc,GAAM,EAAGE,EAAa,IAAIvD,GAAawD,EAAW,KAAM1zF,EAAQyzF,EAAYE,EAAU,KAAMC,EAAW,KAAMC,EAAUxD,GAAUxnE,GAASirE,EAAUxD,GAAUznE,GACrT,IAAKlvC,EAAI,EAAGA,EAAIy5G,EAAKz5G,IACjBqmB,EAAQA,EAAMyiD,KAAO,IAAIytC,GACrBv2G,IAAM45G,IACNG,EAAW1zF,GAKnB,IAFAA,EAAMyiD,KAAOgxC,EACbrB,EAAKppD,EAAK,EACLxhD,EAAI,EAAGA,EAAI+V,EAAQ/V,IAAK,CAWzB,IAVAqrG,EAAWC,EAAWC,EAAWC,EAAWX,EAAQC,EAAQC,EAAQC,EAAQ,EAC5EC,EAAYc,GAAevpF,EAAKmpF,EAAOnqD,IACvC0pD,EAAYa,GAAeN,EAAKE,EAAOnqD,EAAK,IAC5C2pD,EAAYY,GAAepwD,EAAKgwD,EAAOnqD,EAAK,IAC5C4pD,EAAYW,GAAep9D,EAAKg9D,EAAOnqD,EAAK,IAC5CqpD,GAASmB,EAAYxpF,EACrBsoF,GAASkB,EAAYP,EACrBV,GAASiB,EAAYrwD,EACrBqvD,GAASgB,EAAYr9D,EACrBn2B,EAAQyzF,EACH95G,EAAI,EAAGA,EAAI45G,EAAa55G,IACzBqmB,EAAM5mB,EAAI4wB,EACVhK,EAAMnZ,EAAIosG,EACVjzF,EAAMlZ,EAAIq8C,EACVnjC,EAAMjmB,EAAIo8C,EACVn2B,EAAQA,EAAMyiD,KAElB,IAAK9oE,EAAI,EAAGA,EAAI45G,EAAa55G,IACzBwN,EAAI6hD,IAAOqqD,EAAc15G,EAAI05G,EAAc15G,IAAM,GACjD04G,IAAUryF,EAAM5mB,EAAI4wB,EAAKmpF,EAAOhsG,KAAO+rG,EAAMK,EAAc55G,GAC3D24G,IAAUtyF,EAAMnZ,EAAIosG,EAAKE,EAAOhsG,EAAI,IAAM+rG,EAC1CX,IAAUvyF,EAAMlZ,EAAIq8C,EAAKgwD,EAAOhsG,EAAI,IAAM+rG,EAC1CV,IAAUxyF,EAAMjmB,EAAIo8C,EAAKg9D,EAAOhsG,EAAI,IAAM+rG,EAC1CL,GAAY7oF,EACZ8oF,GAAYG,EACZF,GAAY5vD,EACZ6vD,GAAY78D,EACZn2B,EAAQA,EAAMyiD,KAIlB,IAFAkxC,EAAUF,EACVG,EAAWF,EACNrrG,EAAI,EAAGA,EAAIiV,EAAOjV,IACnB8qG,EAAOnqD,EAAK,GAAK7S,EAAMq8D,EAAQqB,GAAYC,EAChC,IAAP39D,GACAA,EAAK,IAAMA,EACXg9D,EAAOnqD,IAAQqpD,EAAQwB,GAAYC,GAAW39D,EAC9Cg9D,EAAOnqD,EAAK,IAAOspD,EAAQuB,GAAYC,GAAW39D,EAClDg9D,EAAOnqD,EAAK,IAAOupD,EAAQsB,GAAYC,GAAW39D,GAGlDg9D,EAAOnqD,GAAMmqD,EAAOnqD,EAAK,GAAKmqD,EAAOnqD,EAAK,GAAK,EAEnDqpD,GAASI,EACTH,GAASI,EACTH,GAASI,EACTH,GAASI,EACTH,GAAakB,EAAQv6G,EACrBs5G,GAAaiB,EAAQ9sG,EACrB8rG,GAAagB,EAAQ7sG,EACrB8rG,GAAae,EAAQ55G,EACrBoN,EAAKirG,IAAOjrG,EAAIkB,EAAIwgC,EAAS,GAAKwqE,EAAclsG,EAAIksG,IAAiB,EAKrEhB,GAJAQ,GAAYc,EAAQv6G,EAAI+5G,EAAOhsG,GAK/BmrG,GAJAQ,GAAYa,EAAQ9sG,EAAIssG,EAAOhsG,EAAI,GAKnCorG,GAJAQ,GAAYY,EAAQ7sG,EAAIqsG,EAAOhsG,EAAI,GAKnCqrG,GAJAQ,GAAYW,EAAQ55G,EAAIo5G,EAAOhsG,EAAI,GAKnCwsG,EAAUA,EAAQlxC,KAClBgwC,GAAazoF,EAAK4pF,EAASx6G,EAC3Bs5G,GAAaO,EAAKW,EAAS/sG,EAC3B8rG,GAAaxvD,EAAKywD,EAAS9sG,EAC3B8rG,GAAaz8D,EAAKy9D,EAAS75G,EAC3B84G,GAAY7oF,EACZ8oF,GAAYG,EACZF,GAAY5vD,EACZ6vD,GAAY78D,EACZy9D,EAAWA,EAASnxC,KACpBzZ,GAAM,EAEVopD,GAAM90F,EAEV,IAAKjV,EAAI,EAAGA,EAAIiV,EAAOjV,IAAK,CAYxB,IAXAyqG,EAAWC,EAAWC,EAAWH,EAAWP,EAAQC,EAAQC,EAAQH,EAAQ,EAE5EI,EAAYc,GAAevpF,EAAKmpF,EADhCnqD,EAAK3gD,GAAK,IAEVqqG,EAAYa,GAAeN,EAAKE,EAAOnqD,EAAK,IAC5C2pD,EAAYY,GAAepwD,EAAKgwD,EAAOnqD,EAAK,IAC5C4pD,EAAYW,GAAep9D,EAAKg9D,EAAOnqD,EAAK,IAC5CqpD,GAASmB,EAAYxpF,EACrBsoF,GAASkB,EAAYP,EACrBV,GAASiB,EAAYrwD,EACrBqvD,GAASgB,EAAYr9D,EACrBn2B,EAAQyzF,EACH95G,EAAI,EAAGA,EAAI45G,EAAa55G,IACzBqmB,EAAM5mB,EAAI4wB,EACVhK,EAAMnZ,EAAIosG,EACVjzF,EAAMlZ,EAAIq8C,EACVnjC,EAAMjmB,EAAIo8C,EACVn2B,EAAQA,EAAMyiD,KAGlB,IADAk+B,EAAKrjF,EACA3jB,EAAI,EAAGA,GAAKkvC,EAAQlvC,IACrBqvD,EAAM23C,EAAKt4F,GAAM,EACjBgqG,IAAUryF,EAAM5mB,EAAI4wB,EAAKmpF,EAAOnqD,KAAQkqD,EAAMK,EAAc55G,GAC5D24G,IAAUtyF,EAAMnZ,EAAIosG,EAAKE,EAAOnqD,EAAK,IAAMkqD,EAC3CX,IAAUvyF,EAAMlZ,EAAIq8C,EAAKgwD,EAAOnqD,EAAK,IAAMkqD,EAC3CV,IAAUxyF,EAAMjmB,EAAIo8C,EAAKg9D,EAAOnqD,EAAK,IAAMkqD,EAC3CL,GAAY7oF,EACZ8oF,GAAYG,EACZF,GAAY5vD,EACZ6vD,GAAY78D,EACZn2B,EAAQA,EAAMyiD,KACV9oE,EAAI25G,IACJ3S,GAAMrjF,GAMd,IAHA0rC,EAAK3gD,EACLsrG,EAAUF,EACVG,EAAWF,EACNlsG,EAAI,EAAGA,EAAI+V,EAAQ/V,IAEpB2rG,GADAhsG,EAAI6hD,GAAM,GACC,GAAK7S,EAAMq8D,EAAQqB,GAAYC,EACtC39D,EAAK,GACLA,EAAK,IAAMA,EACXg9D,EAAOhsG,IAAOkrG,EAAQwB,GAAYC,GAAW39D,EAC7Cg9D,EAAOhsG,EAAI,IAAOmrG,EAAQuB,GAAYC,GAAW39D,EACjDg9D,EAAOhsG,EAAI,IAAOorG,EAAQsB,GAAYC,GAAW39D,GAGjDg9D,EAAOhsG,GAAKgsG,EAAOhsG,EAAI,GAAKgsG,EAAOhsG,EAAI,GAAK,EAEhDkrG,GAASI,EACTH,GAASI,EACTH,GAASI,EACTH,GAASI,EACTH,GAAakB,EAAQv6G,EACrBs5G,GAAaiB,EAAQ9sG,EACrB8rG,GAAagB,EAAQ7sG,EACrB8rG,GAAae,EAAQ55G,EACrBoN,EACKkB,IACKlB,EAAIK,EAAI+rG,GAAeD,EAAensG,EAAImsG,GAAgBh2F,GAC5D,EACR+0F,GAASQ,GAAYc,EAAQv6G,EAAI+5G,EAAOhsG,GACxCmrG,GAASQ,GAAYa,EAAQ9sG,EAAIssG,EAAOhsG,EAAI,GAC5CorG,GAASQ,GAAYY,EAAQ7sG,EAAIqsG,EAAOhsG,EAAI,GAC5CqrG,GAASQ,GAAYW,EAAQ55G,EAAIo5G,EAAOhsG,EAAI,GAC5CwsG,EAAUA,EAAQlxC,KAClBgwC,GAAazoF,EAAK4pF,EAASx6G,EAC3Bs5G,GAAaO,EAAKW,EAAS/sG,EAC3B8rG,GAAaxvD,EAAKywD,EAAS9sG,EAC3B8rG,GAAaz8D,EAAKy9D,EAAS75G,EAC3B84G,GAAY7oF,EACZ8oF,GAAYG,EACZF,GAAY5vD,EACZ6vD,GAAY78D,EACZy9D,EAAWA,EAASnxC,KACpBzZ,GAAM1rC,GAOVy2F,CAAoBn5E,EAAWiO,Ie3nB/BmrE,SdvDgB,SAAUp5E,GAC9B,IAAoFjhC,EAAhFs6G,EAAiC,IAApB56G,KAAK46G,aAAoBl5F,EAAO6f,EAAU7f,KAAMuuD,EAAMvuD,EAAKpU,OAC5E,IAAKhN,EAAI,EAAGA,EAAI2vE,EAAK3vE,GAAK,EACtBohB,EAAKphB,IAAMs6G,EACXl5F,EAAKphB,EAAI,IAAMs6G,EACfl5F,EAAKphB,EAAI,IAAMs6G,GcmDfC,SbxDgB,SAAUt5E,GAC9B,IACsFjhC,EADlFw6G,EAASh+G,KAAKyyC,KAAKvvC,KAAK+6G,WAAa,KAAO,IAAK,GACjDr5F,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAAQjC,EAAM,IAAK/D,EAAQ,IAAK3C,EAAO,IACjF,IAAKrE,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1B+K,EAAMqW,EAAKphB,GACXgH,EAAQoa,EAAKphB,EAAI,GACjBqE,EAAO+c,EAAKphB,EAAI,GAChB+K,GAAO,IACPA,GAAO,GACPA,GAAOyvG,EACPzvG,GAAO,GAEP/D,GAAS,IACTA,GAAS,GACTA,GAASwzG,EACTxzG,GAAS,GAET3C,GAAQ,IACRA,GAAQ,GACRA,GAAQm2G,EACRn2G,GAAQ,GAER0G,GAXAA,GAAO,KAWK,EAAI,EAAIA,EAAM,IAAM,IAAMA,EACtC/D,GAPAA,GAAS,KAOO,EAAI,EAAIA,EAAQ,IAAM,IAAMA,EAC5C3C,GAHAA,GAAQ,KAGM,EAAI,EAAIA,EAAO,IAAM,IAAMA,EACzC+c,EAAKphB,GAAK+K,EACVqW,EAAKphB,EAAI,GAAKgH,EACdoa,EAAKphB,EAAI,GAAKqE,Ga8Bds2G,OXxDc,SAAU15E,GAC5B,IAAI25E,EAAmC,GAAxBl7G,KAAKm7G,iBAAuBC,EAAsC,IAA1Bp7G,KAAKq7G,mBAA0BxR,EAAY7pG,KAAKs7G,kBAAmBpoD,EAAQlzD,KAAKu7G,cAAeC,EAAO,EAAGC,EAAO,EAAG/5F,EAAO6f,EAAU7f,KAAMjT,EAAI8yB,EAAUtd,MAAOjjB,EAAIugC,EAAUrd,OAAQw3F,EAAS,EAAJjtG,EAAON,EAAInN,EAC5P,OAAQ6oG,GACJ,IAAK,WACD2R,GAAQ,EACRC,GAAQ,EACR,MACJ,IAAK,MACDD,GAAQ,EACRC,EAAO,EACP,MACJ,IAAK,YACDD,GAAQ,EACRC,EAAO,EACP,MACJ,IAAK,QACDD,EAAO,EACPC,EAAO,EACP,MACJ,IAAK,eACDD,EAAO,EACPC,EAAO,EACP,MACJ,IAAK,SACDD,EAAO,EACPC,EAAO,EACP,MACJ,IAAK,cACDD,EAAO,EACPC,GAAQ,EACR,MACJ,IAAK,OACDD,EAAO,EACPC,GAAQ,EACR,MACJ,QACIjoC,EAAK/yE,MAAM,6BAA+BopG,GAElD,EAAG,CACC,IAAIjf,GAAWz8E,EAAI,GAAKutG,EACpBC,EAASH,EACTrtG,EAAIwtG,EAAS,IACbA,EAAS,GAETxtG,EAAIwtG,EAAS36G,IACb26G,EAAS,GAEb,IAAIC,GAAgBztG,EAAI,EAAIwtG,GAAUltG,EAAI,EACtCO,EAAIP,EACR,EAAG,CACC,IAAI6V,EAASsmE,EAAoB,GAAT57E,EAAI,GACxB6sG,EAASJ,EACTzsG,EAAI6sG,EAAS,IACbA,EAAS,GAET7sG,EAAI6sG,EAASptG,IACbotG,EAAS,GAEb,IAAIC,EAAcF,EAAkC,GAAlB5sG,EAAI,EAAI6sG,GACtCE,EAAKr6F,EAAK4C,GAAU5C,EAAKo6F,GACzBE,EAAKt6F,EAAK4C,EAAS,GAAK5C,EAAKo6F,EAAc,GAC3CG,EAAKv6F,EAAK4C,EAAS,GAAK5C,EAAKo6F,EAAc,GAC3C1qC,EAAM2qC,EACNG,EAAS9qC,EAAM,EAAIA,GAAOA,EAU9B,IATW4qC,EAAK,EAAIA,GAAMA,GAEfE,IACP9qC,EAAM4qC,IAFCC,EAAK,EAAIA,GAAMA,GAIfC,IACP9qC,EAAM6qC,GAEV7qC,GAAO8pC,EACHhoD,EAAO,CACP,IAAInzD,EAAI2hB,EAAK4C,GAAU8sD,EACnB5jE,EAAIkU,EAAK4C,EAAS,GAAK8sD,EACvB3jE,EAAIiU,EAAK4C,EAAS,GAAK8sD,EAC3B1vD,EAAK4C,GAAUvkB,EAAI,IAAM,IAAMA,EAAI,EAAI,EAAIA,EAC3C2hB,EAAK4C,EAAS,GAAK9W,EAAI,IAAM,IAAMA,EAAI,EAAI,EAAIA,EAC/CkU,EAAK4C,EAAS,GAAK7W,EAAI,IAAM,IAAMA,EAAI,EAAI,EAAIA,MAE9C,CACD,IAAIumE,EAAOonC,EAAYhqC,EACnB4C,EAAO,EACPA,EAAO,EAEFA,EAAO,MACZA,EAAO,KAEXtyD,EAAK4C,GAAU5C,EAAK4C,EAAS,GAAK5C,EAAK4C,EAAS,GAAK0vD,WAElDhlE,WACJb,IWnCPguG,QZ9Ce,SAAU56E,GAC7B,IAAkFxhC,EAAgCyN,EAAgCC,EAAGnN,EAAjJohB,EAAO6f,EAAU7f,KAAM06F,EAAa16F,EAAKpU,OAAQ+uG,EAAO36F,EAAK,GAAI46F,EAAOD,EAASE,EAAO76F,EAAK,GAAI86F,EAAOD,EAASE,EAAO/6F,EAAK,GAAIg7F,EAAOD,EACxIE,EAAgB38G,KAAK48G,UACzB,GAAsB,IAAlBD,EAAJ,CAGA,IAAKr8G,EAAI,EAAGA,EAAI87G,EAAY97G,GAAK,GAC7BP,EAAI2hB,EAAKphB,EAAI,IACL+7G,EACJA,EAAOt8G,EAEFA,EAAIu8G,IACTA,EAAOv8G,IAEXyN,EAAIkU,EAAKphB,EAAI,IACLi8G,EACJA,EAAO/uG,EAEFA,EAAIgvG,IACTA,EAAOhvG,IAEXC,EAAIiU,EAAKphB,EAAI,IACLm8G,EACJA,EAAOhvG,EAEFA,EAAIivG,IACTA,EAAOjvG,GAef,IAAIovG,EAAMC,EAAUC,EAAUC,EAAMC,EAAUC,EAAUC,EAAMC,EAAUC,EAoBxE,IAhCIf,IAASD,IACTC,EAAO,IACPD,EAAO,GAEPG,IAASD,IACTC,EAAO,IACPD,EAAO,GAEPG,IAASD,IACTC,EAAO,IACPD,EAAO,GAGPE,EAAgB,GAChBG,EAAWR,EAAOK,GAAiB,IAAML,GACzCS,EAAWV,EAAOM,GAAiBN,EAAO,GAC1CY,EAAWT,EAAOG,GAAiB,IAAMH,GACzCU,EAAWX,EAAOI,GAAiBJ,EAAO,GAC1Ca,EAAWV,EAAOC,GAAiB,IAAMD,GACzCW,EAAWZ,EAAOE,GAAiBF,EAAO,KAI1CK,EAAWR,EAAOK,GAAiBL,GADnCO,EAAuB,IAAfP,EAAOD,KAEfU,EAAWV,EAAOM,GAAiBN,EAAOQ,GAE1CI,EAAWT,EAAOG,GAAiBH,GADnCQ,EAAuB,IAAfR,EAAOD,KAEfW,EAAWX,EAAOI,GAAiBJ,EAAOS,GAE1CI,EAAWV,EAAOC,GAAiBD,GADnCS,EAAuB,IAAfT,EAAOD,KAEfY,EAAWZ,EAAOE,GAAiBF,EAAOU,IAEzC78G,EAAI,EAAGA,EAAI87G,EAAY97G,GAAK,EAC7BohB,EAAKphB,EAAI,GAAK62G,GAAMz1F,EAAKphB,EAAI,GAAI+7G,EAAMC,EAAMS,EAAUD,GACvDp7F,EAAKphB,EAAI,GAAK62G,GAAMz1F,EAAKphB,EAAI,GAAIi8G,EAAMC,EAAMU,EAAUD,GACvDv7F,EAAKphB,EAAI,GAAK62G,GAAMz1F,EAAKphB,EAAI,GAAIm8G,EAAMC,EAAMW,EAAUD,KYjBvDE,UC9DiB,SAAU/7E,GAC/B,IAA8CjhC,EAAGs6G,EAA7Cl5F,EAAO6f,EAAU7f,KAAMuuD,EAAMvuD,EAAKpU,OACtC,IAAKhN,EAAI,EAAGA,EAAI2vE,EAAK3vE,GAAK,EACtBs6G,EAAa,IAAOl5F,EAAKphB,GAAK,GAAMohB,EAAKphB,EAAI,GAAK,IAAOohB,EAAKphB,EAAI,GAClEohB,EAAKphB,GAAKs6G,EACVl5F,EAAKphB,EAAI,GAAKs6G,EACdl5F,EAAKphB,EAAI,GAAKs6G,GDyDd2C,IVzDW,SAAUh8E,GACzB,IAA+JjhC,EAK3JP,EAAGyN,EAAGC,EAAG/M,EALTghB,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAAehM,EAAIxE,KAAKyyC,IAAI,EAAGvvC,KAAKw9G,cAAex8G,EAAIlE,KAAK2V,IAAIzS,KAAKy9G,MAAQ,KAAO,IAAK35G,EAAuB,IAAnB9D,KAAK09G,YACxIC,EADkD,EACxCr8G,EAAIxE,KAAKwvB,IAAKtrB,EAAIlE,KAAKC,GAAM,KAAM6gH,EADK,EACKt8G,EAAIxE,KAAKyvB,IAAKvrB,EAAIlE,KAAKC,GAAM,KACpF6xB,EAAK,KAAY,KAAQ+uF,EAAM,KAAQC,EAAKC,EAAK,KAAY,KAAQF,EAAM,IAAOC,EAAKrzD,EAAK,KAAY,KAAQozD,EAAM,KAAQC,EAC9H/sF,EAAK,KAAY,KAAQ8sF,EAAM,KAAQC,EAAKE,EAAK,KAAY,KAAQH,EAAM,KAAQC,EAAK1uD,EAAK,KAAY,KAAQyuD,EAAM,KAAQC,EAC/HrwF,EAAK,KAAY,GAAMowF,EAAM,KAAOC,EAAK5nD,EAAK,KAAY,KAAQ2nD,EAAM,KAAOC,EAAKxgE,EAAK,KAAY,KAAQugE,EAAM,GAAMC,EAE7H,IAAKt9G,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1BP,EAAI2hB,EAAKphB,EAAI,GACbkN,EAAIkU,EAAKphB,EAAI,GACbmN,EAAIiU,EAAKphB,EAAI,GACbI,EAAIghB,EAAKphB,EAAI,GACbohB,EAAKphB,EAAI,GAAKsuB,EAAK7uB,EAAI89G,EAAKrwG,EAAI+8C,EAAK98C,EAAI3J,EACzC4d,EAAKphB,EAAI,GAAKuwB,EAAK9wB,EAAI+9G,EAAKtwG,EAAI0hD,EAAKzhD,EAAI3J,EACzC4d,EAAKphB,EAAI,GAAKitB,EAAKxtB,EAAIi2D,EAAKxoD,EAAI4vC,EAAK3vC,EAAI3J,EACzC4d,EAAKphB,EAAI,GAAKI,GU2Cdq9G,IT7DW,SAAUx8E,GACzB,IAA2JjhC,EAKvJP,EAAGyN,EAAGC,EAAG/M,EALTghB,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAAQU,EAAIlR,KAAKyyC,IAAI,EAAGvvC,KAAKqiB,SAAU/gB,EAAIxE,KAAKyyC,IAAI,EAAGvvC,KAAKw9G,cAAex8G,EAAIlE,KAAK2V,IAAIzS,KAAKy9G,MAAQ,KAAO,IAClJE,EAAM3vG,EAAI1M,EAAIxE,KAAKwvB,IAAKtrB,EAAIlE,KAAKC,GAAM,KAAM6gH,EAAM5vG,EAAI1M,EAAIxE,KAAKyvB,IAAKvrB,EAAIlE,KAAKC,GAAM,KACpF6xB,EAAK,KAAQ5gB,EAAI,KAAQ2vG,EAAM,KAAQC,EAAKC,EAAK,KAAQ7vG,EAAI,KAAQ2vG,EAAM,IAAOC,EAAKrzD,EAAK,KAAQv8C,EAAI,KAAQ2vG,EAAM,KAAQC,EAC9H/sF,EAAK,KAAQ7iB,EAAI,KAAQ2vG,EAAM,KAAQC,EAAKE,EAAK,KAAQ9vG,EAAI,KAAQ2vG,EAAM,KAAQC,EAAK1uD,EAAK,KAAQlhD,EAAI,KAAQ2vG,EAAM,KAAQC,EAC/HrwF,EAAK,KAAQvf,EAAI,GAAM2vG,EAAM,KAAOC,EAAK5nD,EAAK,KAAQhoD,EAAI,KAAQ2vG,EAAM,KAAOC,EAAKxgE,EAAK,KAAQpvC,EAAI,KAAQ2vG,EAAM,GAAMC,EAE7H,IAAKt9G,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1BP,EAAI2hB,EAAKphB,EAAI,GACbkN,EAAIkU,EAAKphB,EAAI,GACbmN,EAAIiU,EAAKphB,EAAI,GACbI,EAAIghB,EAAKphB,EAAI,GACbohB,EAAKphB,EAAI,GAAKsuB,EAAK7uB,EAAI89G,EAAKrwG,EAAI+8C,EAAK98C,EACrCiU,EAAKphB,EAAI,GAAKuwB,EAAK9wB,EAAI+9G,EAAKtwG,EAAI0hD,EAAKzhD,EACrCiU,EAAKphB,EAAI,GAAKitB,EAAKxtB,EAAIi2D,EAAKxoD,EAAI4vC,EAAK3vC,EACrCiU,EAAKphB,EAAI,GAAKI,GS+Cds9G,OEjEc,SAAUz8E,GAC5B,IAA8CjhC,EAA1CohB,EAAO6f,EAAU7f,KAAMuuD,EAAMvuD,EAAKpU,OACtC,IAAKhN,EAAI,EAAGA,EAAI2vE,EAAK3vE,GAAK,EACtBohB,EAAKphB,GAAK,IAAMohB,EAAKphB,GACrBohB,EAAKphB,EAAI,GAAK,IAAMohB,EAAKphB,EAAI,GAC7BohB,EAAKphB,EAAI,GAAK,IAAMohB,EAAKphB,EAAI,IF6D7B29G,aPHoB,SAAU18E,GAClC,IACIvyB,EAAGb,EAAS7N,EAAGP,EAAGyN,EAAGC,EAAG/M,EAAGw9G,EAAQC,EADnCC,EAAQ78E,EAAUtd,MAAOo6F,EAAQ98E,EAAUrd,OAE3Co6F,EAAQxhH,KAAK2nB,MAAMzkB,KAAKu+G,qBACxBvgH,EAAQlB,KAAK2nB,MAAMzkB,KAAKw+G,qBACxBl6F,EAASxnB,KAAKgb,MAAOsmG,GAASpgH,EAAQ,KAAQ,KAClD,KAAIsgH,EAAQ,GAAZ,CAGA,IAAIG,EAAajrC,EAAKmO,sBACtB88B,EAAWx6F,MAAQm6F,EACnBK,EAAWv6F,OAASm6F,EACpB,IAAIK,EAAcD,EACbp1E,WAAW,MACXg1C,aAAa,EAAG,EAAG+/B,EAAOC,GAC/B7qC,EAAKyO,cAAcw8B,GA1ET,SAAUtyE,EAAK+jC,EAAKh9B,GAC9B,IAAmK5yC,EAAG0O,EAAGb,EACrKmkE,EADAqsC,EAAYxyE,EAAIzqB,KAAMk9F,EAAY1uC,EAAIxuD,KAAM08F,EAAQjyE,EAAIloB,MAAOo6F,EAAQlyE,EAAIjoB,OAAQ26F,EAAO3rE,EAAI4rE,cAAgBV,EAAQ,EAAGW,EAAO7rE,EAAI8rE,cAAgBX,EAAQ,EAAYt+G,EAAI,EAAGyN,EAAI,EAAGC,EAAI,EAAG/M,EAAI,EAC5L47G,EAAOx/G,KAAK8hB,KAAKigG,EAAOA,EAAOE,EAAOA,GAC/C/vG,EAAIovG,EAAQS,EACZ1wG,EAAIkwG,EAAQU,EAEZzC,GADAhqC,EAAMx1E,KAAK8hB,KAAK5P,EAAIA,EAAIb,EAAIA,IACfmuG,EAAOhqC,EAAMgqC,EAC1B,IAAkC9sE,EAAQw7C,EACQz+D,EAAKD,EADnD2yF,EAAQZ,EAAOa,EAAQd,EACvBe,EAAe,IAAMD,EAASpiH,KAAKC,GAAM,IAC7C,IAAKiuF,EAAQ,EAAGA,EAAQk0B,EAAOl0B,GAAS,EAGpC,IAFAz+D,EAAMzvB,KAAKyvB,IAAIy+D,EAAQm0B,GACvB7yF,EAAMxvB,KAAKwvB,IAAI0+D,EAAQm0B,GAClB3vE,EAAS,EAAGA,EAASyvE,EAAOzvE,GAAU,EACvCxgC,EAAIlS,KAAKgb,MAAM+mG,EAASvC,EAAO9sE,EAAUyvE,EAAS3yF,GAGlDvsB,EAAI4+G,GADJr+G,EAAsB,IADtB6N,EAAIrR,KAAKgb,MAAMinG,EAASzC,EAAO9sE,EAAUyvE,EAAS1yF,IACzC6xF,EAAQpvG,IACC,GAClBxB,EAAImxG,EAAUr+G,EAAI,GAClBmN,EAAIkxG,EAAUr+G,EAAI,GAClBI,EAAIi+G,EAAUr+G,EAAI,GAElBs+G,GADAt+G,EAA+B,GAA1B0qF,EAAQx7C,EAAS4uE,IACR,GAAKr+G,EACnB6+G,EAAUt+G,EAAI,GAAKkN,EACnBoxG,EAAUt+G,EAAI,GAAKmN,EACnBmxG,EAAUt+G,EAAI,GAAKI,EAmD3B0+G,CAAQ79E,EAAWm9E,EAAa,CAC5BI,aAAcV,EAAQ,EACtBY,aAAcX,EAAQ,IAG1B,IADA,IAAIgB,EAAiBjB,EAAQthH,KAAKyyC,IAAI,EAAG+uE,GAClCe,GAAkB,GACrBA,GAAkC,EAClCf,GAAS,EAGb,IAAIgB,EADJD,EAAiBviH,KAAK4lC,KAAK28E,GAEvBE,EAAS,EAAGC,EAAOF,EAAaG,EAAS,EAM7C,IALIn7F,EAAS+6F,EAAiBjB,IAC1BmB,EAASD,EACTE,EAAO,EACPC,GAAU,GAETtxG,EAAI,EAAGA,EAAIkwG,EAAOlwG,GAAK,EACxB,IAAKa,EAAIuwG,EAAQvwG,IAAMwwG,EAAMxwG,GAAKywG,EAE9BvB,EAA8B,GAApBE,EAAQjwG,EADXrR,KAAK2nB,MAAMzV,EAAIsV,GAAU85F,GAEhCr+G,EAAI2+G,EAAYh9F,KAAKw8F,EAAS,GAC9B1wG,EAAIkxG,EAAYh9F,KAAKw8F,EAAS,GAC9BzwG,EAAIixG,EAAYh9F,KAAKw8F,EAAS,GAC9Bx9G,EAAIg+G,EAAYh9F,KAAKw8F,EAAS,GAC9BC,EAA2B,GAAjBC,EAAQjwG,EAAIa,GACtB0vG,EAAYh9F,KAAKy8F,EAAS,GAAKp+G,EAC/B2+G,EAAYh9F,KAAKy8F,EAAS,GAAK3wG,EAC/BkxG,EAAYh9F,KAAKy8F,EAAS,GAAK1wG,EAC/BixG,EAAYh9F,KAAKy8F,EAAS,GAAKz9G,EAGvC,IAAKyN,EAAI,EAAGA,EAAIkwG,EAAOlwG,GAAK,EAExB,IADAmxG,EAAcxiH,KAAKgb,MAAMunG,GACpB/+G,EAAI,EAAGA,EAAIg+G,EAAOh+G,GAAK,EAAG,CAC3B,IAAK0O,EAAI,EAAGA,EAAIswG,EAAc,EAAGtwG,GAAK,EAClCkvG,EAA2B,GAAjBE,EAAQjwG,EAAIa,GACtBjP,EAAI2+G,EAAYh9F,KAAKw8F,EAAS,GAC9B1wG,EAAIkxG,EAAYh9F,KAAKw8F,EAAS,GAC9BzwG,EAAIixG,EAAYh9F,KAAKw8F,EAAS,GAC9Bx9G,EAAIg+G,EAAYh9F,KAAKw8F,EAAS,GAC9BC,EAAiD,GAAvCC,EAAQjwG,EAAkB,EAAdmxG,EAAkBtwG,EAAI,GAC5C0vG,EAAYh9F,KAAKy8F,EAAS,GAAKp+G,EAC/B2+G,EAAYh9F,KAAKy8F,EAAS,GAAK3wG,EAC/BkxG,EAAYh9F,KAAKy8F,EAAS,GAAK1wG,EAC/BixG,EAAYh9F,KAAKy8F,EAAS,GAAKz9G,EAEnC4+G,GAAe,GA9FX,SAAUnzE,EAAK+jC,EAAKh9B,GAChC,IAAmK5yC,EAAG0O,EAAGb,EAAGwkE,EAAIC,EAC5KN,EADAqsC,EAAYxyE,EAAIzqB,KAAMk9F,EAAY1uC,EAAIxuD,KAAM08F,EAAQjyE,EAAIloB,MAAOo6F,EAAQlyE,EAAIjoB,OAAQ26F,EAAO3rE,EAAI4rE,cAAgBV,EAAQ,EAAGW,EAAO7rE,EAAI8rE,cAAgBX,EAAQ,EAAoBt+G,EAAI,EAAGyN,EAAI,EAAGC,EAAI,EAAG/M,EAAI,EACpM47G,EAAOx/G,KAAK8hB,KAAKigG,EAAOA,EAAOE,EAAOA,GAC/C/vG,EAAIovG,EAAQS,EACZ1wG,EAAIkwG,EAAQU,EAEZzC,GADAhqC,EAAMx1E,KAAK8hB,KAAK5P,EAAIA,EAAIb,EAAIA,IACfmuG,EAAOhqC,EAAMgqC,EAC1B,IAAkC9sE,EAAQw7C,EACtCnwD,EADAokF,EAAQZ,EAAOa,EAAQd,EAAsBsB,EAAaxsE,EAAIysE,eAAiB,EAEnF,IAAK3wG,EAAI,EAAGA,EAAIovG,EAAOpvG,GAAK,EACxB,IAAKb,EAAI,EAAGA,EAAIkwG,EAAOlwG,GAAK,EACxBwkE,EAAK3jE,EAAI6vG,EACTjsC,EAAKzkE,EAAI4wG,EACTvvE,EAAU1yC,KAAK8hB,KAAK+zD,EAAKA,EAAKC,EAAKA,GAAMqsC,EAAS3C,EAElDtxB,GADAA,GAA+B,IAArBluF,KAAKqhB,MAAMy0D,EAAID,GAAa71E,KAAKC,GAAK,IAAM2iH,GAAc,KACnDR,EAAS,IAC1BrkF,EAAK/9B,KAAKgb,MAAMkzE,GAGhBjrF,EAAI4+G,GADJr+G,EAAwB,GADnBxD,KAAKgb,MAAM03B,GACN4uE,EAAQvjF,IACA,GAClBrtB,EAAImxG,EAAUr+G,EAAI,GAClBmN,EAAIkxG,EAAUr+G,EAAI,GAClBI,EAAIi+G,EAAUr+G,EAAI,GAElBs+G,GADAt+G,EAAsB,GAAjB6N,EAAIiwG,EAAQpvG,IACH,GAAKjP,EACnB6+G,EAAUt+G,EAAI,GAAKkN,EACnBoxG,EAAUt+G,EAAI,GAAKmN,EACnBmxG,EAAUt+G,EAAI,GAAKI,EAsE3Bk/G,CAAUlB,EAAan9E,EAAW,CAAEo+E,cAAe,MO9D/CE,KR8DY,SAAUt+E,GAC1B,IAAkCu+E,EAxGtC,SAAwBlI,EAAOmI,GAC3B,IAAIC,EAAUrI,GAAQC,EAAO,EAAG,GAC5BqI,EAAUtI,GAAQC,EAAOA,EAAM3zF,MAAQ,EAAG,GAC1Ci8F,EAAUvI,GAAQC,EAAO,EAAGA,EAAM1zF,OAAS,GAC3Ci8F,EAAUxI,GAAQC,EAAOA,EAAM3zF,MAAQ,EAAG2zF,EAAM1zF,OAAS,GACzDk8F,EAAQL,GAAa,GACzB,GAAIlI,GAAYmI,EAASC,GAAWG,GAChCvI,GAAYoI,EAASE,GAAWC,GAChCvI,GAAYsI,EAASD,GAAWE,GAChCvI,GAAYqI,EAASF,GAAWI,EAAO,CAGvC,IAFA,IAAIC,EAtBZ,SAAiBC,GAEb,IADA,IAAIvyG,EAAI,CAAC,EAAG,EAAG,GACNzN,EAAI,EAAGA,EAAIggH,EAAKhzG,OAAQhN,IAC7ByN,EAAE,IAAMuyG,EAAKhgH,GAAG,GAChByN,EAAE,IAAMuyG,EAAKhgH,GAAG,GAChByN,EAAE,IAAMuyG,EAAKhgH,GAAG,GAKpB,OAHAyN,EAAE,IAAMuyG,EAAKhzG,OACbS,EAAE,IAAMuyG,EAAKhzG,OACbS,EAAE,IAAMuyG,EAAKhzG,OACNS,EAYQwyG,CAAQ,CAACN,EAASD,EAASG,EAASD,IAC3CJ,EAAO,GACFx/G,EAAI,EAAGA,EAAIs3G,EAAM3zF,MAAQ2zF,EAAM1zF,OAAQ5jB,IAAK,CACjD,IAAI4N,EAAI2pG,GAAYwI,EAAM,CACtBzI,EAAMl2F,KAAS,EAAJphB,GACXs3G,EAAMl2F,KAAS,EAAJphB,EAAQ,GACnBs3G,EAAMl2F,KAAS,EAAJphB,EAAQ,KAEvBw/G,EAAKx/G,GAAK4N,EAAIkyG,EAAQ,EAAI,IAE9B,OAAON,GAoF8BU,CAAej/E,EAAxCvhC,KAAK+/G,aAOrB,OANID,GAlFR,SAAmBlI,EAAOkI,GACtB,IAAK,IAAIx/G,EAAI,EAAGA,EAAIs3G,EAAM3zF,MAAQ2zF,EAAM1zF,OAAQ5jB,IAC5Cs3G,EAAMl2F,KAAK,EAAIphB,EAAI,GAAKw/G,EAAKx/G,GAoF7BmgH,CAAUl/E,EADVu+E,EA9BR,SAAwBA,EAAMjnD,EAAI6nD,GAK9B,IAJA,IAAIC,EAAU,CAAC,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,GACvEC,EAAO9jH,KAAK2nB,MAAM3nB,KAAK8hB,KAAK+hG,EAAQrzG,SACpCuzG,EAAW/jH,KAAKgb,MAAM8oG,EAAO,GAC7BE,EAAa,GACR3yG,EAAI,EAAGA,EAAIuyG,EAAIvyG,IACpB,IAAK,IAAIa,EAAI,EAAGA,EAAI6pD,EAAI7pD,IAAK,CAGzB,IAFA,IAAI2pD,EAAKxqD,EAAI0qD,EAAK7pD,EACdtO,EAAI,EACC44D,EAAK,EAAGA,EAAKsnD,EAAMtnD,IACxB,IAAK,IAAI4qC,EAAK,EAAGA,EAAK0c,EAAM1c,IAAM,CAC9B,IAAI6c,EAAM5yG,EAAImrD,EAAKunD,EACfG,EAAMhyG,EAAIk1F,EAAK2c,EACnB,GAAIE,GAAO,GAAKA,EAAML,GAAMM,GAAO,GAAKA,EAAMnoD,EAAI,CAC9C,IACIp9C,EAAKklG,EAAQrnD,EAAKsnD,EAAO1c,GAC7BxjG,GAAKo/G,EAFQiB,EAAMloD,EAAKmoD,GAEJvlG,GAIhCqlG,EAAWnoD,GAAMj4D,EAGzB,OAAOogH,EAOIG,CADPnB,EAtDR,SAAoBA,EAAMjnD,EAAI6nD,GAK1B,IAJA,IAAIC,EAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnCC,EAAO9jH,KAAK2nB,MAAM3nB,KAAK8hB,KAAK+hG,EAAQrzG,SACpCuzG,EAAW/jH,KAAKgb,MAAM8oG,EAAO,GAC7BE,EAAa,GACR3yG,EAAI,EAAGA,EAAIuyG,EAAIvyG,IACpB,IAAK,IAAIa,EAAI,EAAGA,EAAI6pD,EAAI7pD,IAAK,CAGzB,IAFA,IAAI2pD,EAAKxqD,EAAI0qD,EAAK7pD,EACdtO,EAAI,EACC44D,EAAK,EAAGA,EAAKsnD,EAAMtnD,IACxB,IAAK,IAAI4qC,EAAK,EAAGA,EAAK0c,EAAM1c,IAAM,CAC9B,IAAI6c,EAAM5yG,EAAImrD,EAAKunD,EACfG,EAAMhyG,EAAIk1F,EAAK2c,EACnB,GAAIE,GAAO,GAAKA,EAAML,GAAMM,GAAO,GAAKA,EAAMnoD,EAAI,CAC9C,IACIp9C,EAAKklG,EAAQrnD,EAAKsnD,EAAO1c,GAC7BxjG,GAAKo/G,EAFQiB,EAAMloD,EAAKmoD,GAEJvlG,GAIhCqlG,EAAWnoD,GAAMj4D,GAAK,KAAU,IAAM,EAG9C,OAAOogH,EA+BII,CADPpB,EA9ER,SAAmBA,EAAMjnD,EAAI6nD,GAKzB,IAJA,IAAIC,EAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnCC,EAAO9jH,KAAK2nB,MAAM3nB,KAAK8hB,KAAK+hG,EAAQrzG,SACpCuzG,EAAW/jH,KAAKgb,MAAM8oG,EAAO,GAC7BE,EAAa,GACR3yG,EAAI,EAAGA,EAAIuyG,EAAIvyG,IACpB,IAAK,IAAIa,EAAI,EAAGA,EAAI6pD,EAAI7pD,IAAK,CAGzB,IAFA,IAAI2pD,EAAKxqD,EAAI0qD,EAAK7pD,EACdtO,EAAI,EACC44D,EAAK,EAAGA,EAAKsnD,EAAMtnD,IACxB,IAAK,IAAI4qC,EAAK,EAAGA,EAAK0c,EAAM1c,IAAM,CAC9B,IAAI6c,EAAM5yG,EAAImrD,EAAKunD,EACfG,EAAMhyG,EAAIk1F,EAAK2c,EACnB,GAAIE,GAAO,GAAKA,EAAML,GAAMM,GAAO,GAAKA,EAAMnoD,EAAI,CAC9C,IACIp9C,EAAKklG,EAAQrnD,EAAKsnD,EAAO1c,GAC7BxjG,GAAKo/G,EAFQiB,EAAMloD,EAAKmoD,GAEJvlG,GAIhCqlG,EAAWnoD,GAAY,OAANj4D,EAAgB,IAAM,EAG/C,OAAOogH,EAuDIK,CAAUrB,EAAMv+E,EAAUtd,MAAOsd,EAAUrd,QAC1Bqd,EAAUtd,MAAOsd,EAAUrd,QACvBqd,EAAUtd,MAAOsd,EAAUrd,SAGpDqd,GQrEH6/E,MNjEa,SAAU7/E,GAC3B,IAAkGjhC,EAA9F+gH,EAAwB,IAAfrhH,KAAKshH,QAAe5/F,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAAQi0G,EAAOF,EAAS,EAC/F,IAAK/gH,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1BohB,EAAKphB,EAAI,IAAMihH,EAAO,EAAIA,EAAOzkH,KAAKyT,SACtCmR,EAAKphB,EAAI,IAAMihH,EAAO,EAAIA,EAAOzkH,KAAKyT,SACtCmR,EAAKphB,EAAI,IAAMihH,EAAO,EAAIA,EAAOzkH,KAAKyT,UM6DtCixG,SLjEgB,SAAUjgF,GAC9B,IAAiGvyB,EAAGb,EAAG7N,EAAG+K,EAAK/D,EAAO3C,EAAMywD,EAAsFqsD,EAAWC,EAASC,EAAWC,EAASC,EAAMC,EAAMC,EAAlQC,EAAYllH,KAAK4lC,KAAK1iC,KAAKgiH,aAAc/9F,EAAQsd,EAAUtd,MAAOC,EAASqd,EAAUrd,OAA0C+9F,EAASnlH,KAAK4lC,KAAKze,EAAQ+9F,GAAYE,EAASplH,KAAK4lC,KAAKxe,EAAS89F,GAA6EtgG,EAAO6f,EAAU7f,KACpS,GAAIsgG,GAAa,EACbxuC,EAAK/yE,MAAM,wCAGf,IAAKohH,EAAO,EAAGA,EAAOI,EAAQJ,GAAQ,EAClC,IAAKC,EAAO,EAAGA,EAAOI,EAAQJ,GAAQ,EAAG,CAUrC,IATAz2G,EAAM,EACN/D,EAAQ,EACR3C,EAAO,EACPywD,EAAQ,EAERssD,GADAD,EAAYI,EAAOG,GACGA,EAEtBJ,GADAD,EAAYG,EAAOE,GACGA,EACtBD,EAAc,EACT/yG,EAAIyyG,EAAWzyG,EAAI0yG,EAAS1yG,GAAK,EAClC,KAAIA,GAAKiV,GAGT,IAAK9V,EAAIwzG,EAAWxzG,EAAIyzG,EAASzzG,GAAK,EAC9BA,GAAK+V,IAIT7Y,GAAOqW,GADPphB,EAAsB,GAAjB2jB,EAAQ9V,EAAIa,IACD,GAChB1H,GAASoa,EAAKphB,EAAI,GAClBqE,GAAQ+c,EAAKphB,EAAI,GACjB80D,GAAS1zC,EAAKphB,EAAI,GAClByhH,GAAe,GAOvB,IAJA12G,GAAY02G,EACZz6G,GAAgBy6G,EAChBp9G,GAAco9G,EACd3sD,GAAgB2sD,EACX/yG,EAAIyyG,EAAWzyG,EAAI0yG,EAAS1yG,GAAK,EAClC,KAAIA,GAAKiV,GAGT,IAAK9V,EAAIwzG,EAAWxzG,EAAIyzG,EAASzzG,GAAK,EAC9BA,GAAK+V,IAITxC,GADAphB,EAAsB,GAAjB2jB,EAAQ9V,EAAIa,IACR,GAAK3D,EACdqW,EAAKphB,EAAI,GAAKgH,EACdoa,EAAKphB,EAAI,GAAKqE,EACd+c,EAAKphB,EAAI,GAAK80D,KKiB1B+sD,UJnEiB,SAAU5gF,GAC/B,IAAkHjhC,EAA9G8hH,EAAStlH,KAAK2nB,MAAsB,IAAhBzkB,KAAKoiH,UAAkB,EAAG1gG,EAAO6f,EAAU7f,KAAMuuD,EAAMvuD,EAAKpU,OAAQ8J,EAAQ,IAAMgrG,EAC1G,IAAK9hH,EAAI,EAAGA,EAAI2vE,EAAK3vE,GAAK,EACtBohB,EAAKphB,GAAKxD,KAAKgb,MAAM4J,EAAKphB,GAAK8W,GAASA,GIiExCirG,IHpEW,SAAU9gF,GACzB,IAA8GjhC,EAAGs6G,EAA7Gl5F,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAAQjC,EAAMrL,KAAKqL,MAAO/D,EAAQtH,KAAKsH,QAAS3C,EAAO3E,KAAK2E,OACtG,IAAKrE,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1Bs6G,GACK,IAAOl5F,EAAKphB,GAAK,GAAMohB,EAAKphB,EAAI,GAAK,IAAOohB,EAAKphB,EAAI,IAAM,IAChEohB,EAAKphB,GAAKs6G,EAAavvG,EACvBqW,EAAKphB,EAAI,GAAKs6G,EAAatzG,EAC3Boa,EAAKphB,EAAI,GAAKs6G,EAAaj2G,EAC3B+c,EAAKphB,EAAI,GAAKohB,EAAKphB,EAAI,IG6DvBy+C,KFrEY,SAAUxd,GAC1B,IAAoIjhC,EAAGwnD,EAAnIpmC,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAAQjC,EAAMrL,KAAKqL,MAAO/D,EAAQtH,KAAKsH,QAAS3C,EAAO3E,KAAK2E,OAAQywD,EAAQp1D,KAAKo1D,QAC3H,IAAK90D,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1BwnD,EAAK,EAAIsN,EACT1zC,EAAKphB,GAAK+K,EAAM+pD,EAAQ1zC,EAAKphB,GAAKwnD,EAClCpmC,EAAKphB,EAAI,GAAKgH,EAAQ8tD,EAAQ1zC,EAAKphB,EAAI,GAAKwnD,EAC5CpmC,EAAKphB,EAAI,GAAKqE,EAAOywD,EAAQ1zC,EAAKphB,EAAI,GAAKwnD,GEgE3Cw6D,MGzEa,SAAU/gF,GAC3B,IAAkDjhC,EAAGP,EAAGyN,EAAGC,EAAvDiU,EAAO6f,EAAU7f,KAAMs5F,EAAUt5F,EAAKpU,OAC1C,IAAKhN,EAAI,EAAGA,EAAI06G,EAAS16G,GAAK,EAC1BP,EAAI2hB,EAAKphB,EAAI,GACbkN,EAAIkU,EAAKphB,EAAI,GACbmN,EAAIiU,EAAKphB,EAAI,GACbohB,EAAKphB,EAAI,GAAKxD,KAAK4qB,IAAI,IAAS,KAAJ3nB,EAAgB,KAAJyN,EAAgB,KAAJC,GACpDiU,EAAKphB,EAAI,GAAKxD,KAAK4qB,IAAI,IAAS,KAAJ3nB,EAAgB,KAAJyN,EAAgB,KAAJC,GACpDiU,EAAKphB,EAAI,GAAKxD,KAAK4qB,IAAI,IAAS,KAAJ3nB,EAAgB,KAAJyN,EAAgB,KAAJC,IHkEpD80G,SI1EgB,SAAUhhF,GAC9B,IAAI7f,EAAO6f,EAAU7f,KAAMjT,EAAI8yB,EAAUtd,MAA6By3F,EAAS,EAAJjtG,EAAON,EAA9BozB,EAAUrd,OAC9D,EAAG,CACC,IAAI0mE,GAAWz8E,EAAI,GAAKutG,EACpB1sG,EAAIP,EACR,EAAG,CACC,IAAI6V,EAASsmE,EAAoB,GAAT57E,EAAI,GACxBjP,EAAI2hB,EAAK4C,GACT9W,EAAIkU,EAAK4C,EAAS,GAClB7W,EAAIiU,EAAK4C,EAAS,GAClBvkB,EAAI,MACJA,EAAI,IAAMA,GAEVyN,EAAI,MACJA,EAAI,IAAMA,GAEVC,EAAI,MACJA,EAAI,IAAMA,GAEdiU,EAAK4C,GAAUvkB,EACf2hB,EAAK4C,EAAS,GAAK9W,EACnBkU,EAAK4C,EAAS,GAAK7W,UACZuB,WACJb,IJoDPq0G,UDxEiB,SAAUjhF,GAC/B,IAA8EjhC,EAA1EmzD,EAA2B,IAAnBzzD,KAAK+/G,YAAmBr+F,EAAO6f,EAAU7f,KAAMuuD,EAAMvuD,EAAKpU,OACtE,IAAKhN,EAAI,EAAGA,EAAI2vE,EAAK3vE,GAAK,EACtBohB,EAAKphB,GAAKohB,EAAKphB,GAAKmzD,EAAQ,EAAI,QMLzB","file":"10.js","sourcesContent":["var PI_OVER_180 = Math.PI / 180;\nfunction detectBrowser() {\n return (typeof window !== 'undefined' &&\n ({}.toString.call(window) === '[object Window]' ||\n {}.toString.call(window) === '[object global]'));\n}\nexport const glob = typeof global !== 'undefined'\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof WorkerGlobalScope !== 'undefined'\n ? self\n : {};\nexport const Konva = {\n _global: glob,\n version: '8.4.3',\n isBrowser: detectBrowser(),\n isUnminified: /param/.test(function (param) { }.toString()),\n dblClickWindow: 400,\n getAngle(angle) {\n return Konva.angleDeg ? angle * PI_OVER_180 : angle;\n },\n enableTrace: false,\n pointerEventsEnabled: true,\n autoDrawEnabled: true,\n hitOnDragEnabled: false,\n capturePointerEventsEnabled: false,\n _mouseListenClick: false,\n _touchListenClick: false,\n _pointerListenClick: false,\n _mouseInDblClickWindow: false,\n _touchInDblClickWindow: false,\n _pointerInDblClickWindow: false,\n _mouseDblClickPointerId: null,\n _touchDblClickPointerId: null,\n _pointerDblClickPointerId: null,\n pixelRatio: (typeof window !== 'undefined' && window.devicePixelRatio) || 1,\n dragDistance: 3,\n angleDeg: true,\n showWarnings: true,\n dragButtons: [0, 1],\n isDragging() {\n return Konva['DD'].isDragging;\n },\n isDragReady() {\n return !!Konva['DD'].node;\n },\n releaseCanvasOnDestroy: true,\n document: glob.document,\n _injectGlobal(Konva) {\n glob.Konva = Konva;\n },\n};\nexport const _registerNode = (NodeClass) => {\n Konva[NodeClass.prototype.getClassName()] = NodeClass;\n};\nKonva._injectGlobal(Konva);\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 2.5.0 Built on 2022-01-19T08:51:21.648Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n * 2015-2021 yWorks GmbH, http://www.yworks.com\n * 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport{zlibSync as t,unzlibSync as e}from\"fflate\";var r=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function n(){r.console&&\"function\"==typeof r.console.log&&r.console.log.apply(r.console,arguments)}var i={log:n,warn:function(t){r.console&&(\"function\"==typeof r.console.warn?r.console.warn.apply(r.console,arguments):n.call(null,arguments))},error:function(t){r.console&&(\"function\"==typeof r.console.error?r.console.error.apply(r.console,arguments):n(t))}};\n/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */function a(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){h(n.response,e,r)},n.onerror=function(){i.error(\"could not download file\")},n.send()}function o(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function s(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var c,u,h=r.saveAs||(\"object\"!=typeof window||window!==r?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,n){var i=r.URL||r.webkitURL,c=document.createElement(\"a\");e=e||t.name||\"download\",c.download=e,c.rel=\"noopener\",\"string\"==typeof t?(c.href=t,c.origin!==location.origin?o(c.href)?a(t,e,n):s(c,c.target=\"_blank\"):s(c)):(c.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(c.href)}),4e4),setTimeout((function(){s(c)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(t,e,r){if(e=e||t.name||\"download\",\"string\"==typeof t)if(o(t))a(t,e,r);else{var n=document.createElement(\"a\");n.href=t,n.target=\"_blank\",setTimeout((function(){s(n)}))}else navigator.msSaveOrOpenBlob(function(t,e){return void 0===e?e={autoBom:!1}:\"object\"!=typeof e&&(i.warn(\"Deprecated: Expected third argument to be a object\"),e={autoBom:!e}),e.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,r),e)}:function(t,e,n,i){if((i=i||open(\"\",\"_blank\"))&&(i.document.title=i.document.body.innerText=\"downloading...\"),\"string\"==typeof t)return a(t,e,n);var o=\"application/octet-stream\"===t.type,s=/constructor/i.test(r.HTMLElement)||r.safari,c=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((c||o&&s)&&\"object\"==typeof FileReader){var u=new FileReader;u.onloadend=function(){var t=u.result;t=c?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),i?i.location.href=t:location=t,i=null},u.readAsDataURL(t)}else{var h=r.URL||r.webkitURL,l=h.createObjectURL(t);i?i.location=l:location.href=l,i=null,setTimeout((function(){h.revokeObjectURL(l)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function l(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction f(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=p(r,n,i,a,e[0],7,-680876936),a=p(a,r,n,i,e[1],12,-389564586),i=p(i,a,r,n,e[2],17,606105819),n=p(n,i,a,r,e[3],22,-1044525330),r=p(r,n,i,a,e[4],7,-176418897),a=p(a,r,n,i,e[5],12,1200080426),i=p(i,a,r,n,e[6],17,-1473231341),n=p(n,i,a,r,e[7],22,-45705983),r=p(r,n,i,a,e[8],7,1770035416),a=p(a,r,n,i,e[9],12,-1958414417),i=p(i,a,r,n,e[10],17,-42063),n=p(n,i,a,r,e[11],22,-1990404162),r=p(r,n,i,a,e[12],7,1804603682),a=p(a,r,n,i,e[13],12,-40341101),i=p(i,a,r,n,e[14],17,-1502002290),r=g(r,n=p(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=g(a,r,n,i,e[6],9,-1069501632),i=g(i,a,r,n,e[11],14,643717713),n=g(n,i,a,r,e[0],20,-373897302),r=g(r,n,i,a,e[5],5,-701558691),a=g(a,r,n,i,e[10],9,38016083),i=g(i,a,r,n,e[15],14,-660478335),n=g(n,i,a,r,e[4],20,-405537848),r=g(r,n,i,a,e[9],5,568446438),a=g(a,r,n,i,e[14],9,-1019803690),i=g(i,a,r,n,e[3],14,-187363961),n=g(n,i,a,r,e[8],20,1163531501),r=g(r,n,i,a,e[13],5,-1444681467),a=g(a,r,n,i,e[2],9,-51403784),i=g(i,a,r,n,e[7],14,1735328473),r=m(r,n=g(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=m(a,r,n,i,e[8],11,-2022574463),i=m(i,a,r,n,e[11],16,1839030562),n=m(n,i,a,r,e[14],23,-35309556),r=m(r,n,i,a,e[1],4,-1530992060),a=m(a,r,n,i,e[4],11,1272893353),i=m(i,a,r,n,e[7],16,-155497632),n=m(n,i,a,r,e[10],23,-1094730640),r=m(r,n,i,a,e[13],4,681279174),a=m(a,r,n,i,e[0],11,-358537222),i=m(i,a,r,n,e[3],16,-722521979),n=m(n,i,a,r,e[6],23,76029189),r=m(r,n,i,a,e[9],4,-640364487),a=m(a,r,n,i,e[12],11,-421815835),i=m(i,a,r,n,e[15],16,530742520),r=v(r,n=m(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=v(a,r,n,i,e[7],10,1126891415),i=v(i,a,r,n,e[14],15,-1416354905),n=v(n,i,a,r,e[5],21,-57434055),r=v(r,n,i,a,e[12],6,1700485571),a=v(a,r,n,i,e[3],10,-1894986606),i=v(i,a,r,n,e[10],15,-1051523),n=v(n,i,a,r,e[1],21,-2054922799),r=v(r,n,i,a,e[8],6,1873313359),a=v(a,r,n,i,e[15],10,-30611744),i=v(i,a,r,n,e[6],15,-1560198380),n=v(n,i,a,r,e[13],21,1309151649),r=v(r,n,i,a,e[4],6,-145523070),a=v(a,r,n,i,e[11],10,-1120210379),i=v(i,a,r,n,e[2],15,718787259),n=v(n,i,a,r,e[9],21,-343485551),t[0]=S(r,t[0]),t[1]=S(n,t[1]),t[2]=S(i,t[2]),t[3]=S(a,t[3])}function d(t,e,r,n,i,a){return e=S(S(e,t),S(n,a)),S(e<<i|e>>>32-i,r)}function p(t,e,r,n,i,a,o){return d(e&r|~e&n,t,e,i,a,o)}function g(t,e,r,n,i,a,o){return d(e&n|r&~n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return d(e^r^n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return d(r^(e|~n),t,e,i,a,o)}function b(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)f(n,y(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(f(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,f(n,i),n}function y(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}c=r.atob.bind(r),u=r.btoa.bind(r);var w=\"0123456789abcdef\".split(\"\");function N(t){for(var e=\"\",r=0;r<4;r++)e+=w[t>>8*r+4&15]+w[t>>8*r&15];return e}function L(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function A(t){return b(t).map(L).join(\"\")}var x=\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=N(t[e]);return t.join(\"\")}(b(\"hello\"));function S(t,e){if(x){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function _(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var h=s[c];u=(u+h+o.charCodeAt(c))%256,s[c]=s[u],s[u]=h}r=t,n=s}else s=n;var l=e.length,f=0,d=0,p=\"\";for(c=0;c<l;c++)d=(d+(h=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=h,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var P={print:4,modify:8,copy:16,\"annot-forms\":32};function k(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach((function(t){if(void 0!==P.perm)throw new Error(\"Invalid permission: \"+t);i+=P[t]})),this.padding=\"(¿N^NuŠAd\\0NVÿú\u0001\\b..\\0¶Ãh>€/\\f©þdSiz\";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=A(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=_(this.encryptionKey,this.padding)}function I(t){if(/[^\\u0000-\\u00ff]/.test(t))throw new Error(\"Invalid PDF Name Object: \"+t+\", Only accept ASCII characters.\");for(var e=\"\",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);if(i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126)e+=\"#\"+(\"0\"+i.toString(16)).slice(-2);else e+=t[n]}return e}function F(t){if(\"object\"!=typeof t)throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var e={};this.subscribe=function(t,r,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof r||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");e.hasOwnProperty(t)||(e[t]={});var i=Math.random().toString(35);return e[t][i]=[r,!!n],i},this.unsubscribe=function(t){for(var r in e)if(e[r][t])return delete e[r][t],0===Object.keys(e[r]).length&&delete e[r],!0;return!1},this.publish=function(n){if(e.hasOwnProperty(n)){var a=Array.prototype.slice.call(arguments,1),o=[];for(var s in e[n]){var c=e[n][s];try{c[0].apply(t,a)}catch(t){r.console&&i.error(\"jsPDF PubSub Error\",t.message,t)}c[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return e}}function C(t){if(!(this instanceof C))return new C(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function j(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function O(t,e,r,n,i){if(!(this instanceof O))return new O(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,j.call(this,n,i)}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,j.call(this,n,i)}function M(t){var e,n=\"string\"==typeof arguments[0]?arguments[0]:\"p\",a=arguments[1],o=arguments[2],s=arguments[3],c=[],f=1,d=16,p=\"S\",g=null;\"object\"==typeof(t=t||{})&&(n=t.orientation,a=t.unit||a,o=t.format||o,s=t.compress||t.compressPdf||s,null!==(g=t.encryption||null)&&(g.userPassword=g.userPassword||\"\",g.ownerPassword=g.ownerPassword||\"\",g.userPermissions=g.userPermissions||[]),f=\"number\"==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision&&(e=t.precision),void 0!==t.floatPrecision&&(d=t.floatPrecision),p=t.defaultPathOperation||\"S\"),c=t.filters||(!0===s?[\"FlateEncode\"]:c),a=a||\"mm\",n=(\"\"+(n||\"P\")).toLowerCase();var m=t.putOnlyUsedFonts||!1,v={},b={internal:{},__private__:{}};b.__private__.PubSub=F;var y=\"1.3\",w=b.__private__.getPdfVersion=function(){return y};b.__private__.setPdfVersion=function(t){y=t};var N={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};b.__private__.getPageFormats=function(){return N};var L=b.__private__.getPageFormat=function(t){return N[t]};o=o||\"a4\";var A={COMPAT:\"compat\",ADVANCED:\"advanced\"},x=A.COMPAT;function S(){this.saveGraphicsState(),ht(new Wt(St,0,0,-St,0,Dr()*St).toString()+\" cm\"),this.setFontSize(this.getFontSize()/St),p=\"n\",x=A.ADVANCED}function _(){this.restoreGraphicsState(),p=\"S\",x=A.COMPAT}var P=b.__private__.combineFontStyleAndFontWeight=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&(t=400==e||\"normal\"===e?\"italic\"===t?\"italic\":\"normal\":700!=e&&\"bold\"!==e||\"normal\"!==t?(700==e?\"bold\":e)+\"\"+t:\"bold\"),t};b.advancedAPI=function(t){var e=x===A.COMPAT;return e&&S.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},b.compatAPI=function(t){var e=x===A.ADVANCED;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&S.call(this)),this},b.isAdvancedAPI=function(){return x===A.ADVANCED};var j,E=function(t){if(x!==A.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},q=b.roundToPrecision=b.__private__.roundToPrecision=function(t,r){var n=e||r;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};j=b.hpf=b.__private__.hpf=\"number\"==typeof d?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return q(t,d)}:\"smart\"===d?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return q(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return q(t,16)};var D=b.f2=b.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return q(t,2)},R=b.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return q(t,3)},T=b.scale=b.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return x===A.COMPAT?t*St:x===A.ADVANCED?t:void 0},z=function(t){return x===A.COMPAT?Dr()-t:x===A.ADVANCED?t:void 0},U=function(t){return T(z(t))};b.__private__.setPrecision=b.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(e=parseInt(t,10))};var H,W=\"00000000000000000000000000000000\",V=b.__private__.getFileId=function(){return W},G=b.__private__.setFileId=function(t){return W=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():W.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==g&&(Ge=new k(g.userPermissions,g.userPassword,g.ownerPassword,W)),W};b.setFileId=function(t){return G(t),this},b.getFileId=function(){return V()};var Y=b.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,$(n),\"'\",$(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),$(t.getMonth()+1),$(t.getDate()),$(t.getHours()),$(t.getMinutes()),$(t.getSeconds()),a].join(\"\")},J=b.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},X=b.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=Y(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return H=e},K=b.__private__.getCreationDate=function(t){var e=H;return\"jsDate\"===t&&(e=J(H)),e};b.setCreationDate=function(t){return X(t),this},b.getCreationDate=function(t){return K(t)};var Z,$=b.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},Q=b.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},tt=0,et=[],rt=[],nt=0,it=[],at=[],ot=!1,st=rt,ct=function(){tt=0,nt=0,rt=[],et=[],it=[],$t=Xt(),Qt=Xt()};b.__private__.setCustomOutputDestination=function(t){ot=!0,st=t};var ut=function(t){ot||(st=t)};b.__private__.resetCustomOutputDestination=function(){ot=!1,st=rt};var ht=b.__private__.out=function(t){return t=t.toString(),nt+=t.length+1,st.push(t),st},lt=b.__private__.write=function(t){return ht(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},ft=b.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},dt=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];b.__private__.getStandardFonts=function(){return dt};var pt=t.fontSize||16;b.__private__.setFontSize=b.setFontSize=function(t){return pt=x===A.ADVANCED?t/St:t,this};var gt,mt=b.__private__.getFontSize=b.getFontSize=function(){return x===A.COMPAT?pt:pt*St},vt=t.R2L||!1;b.__private__.setR2L=b.setR2L=function(t){return vt=t,this},b.__private__.getR2L=b.getR2L=function(){return vt};var bt,yt=b.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^\\d*\\.?\\d*%$/.test(t))gt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');gt=t}else gt=parseInt(t,10)};b.__private__.getZoomMode=function(){return gt};var wt,Nt=b.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');bt=t};b.__private__.getPageMode=function(){return bt};var Lt=b.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');wt=t};b.__private__.getLayoutMode=function(){return wt},b.__private__.setDisplayMode=b.setDisplayMode=function(t,e,r){return yt(t),Lt(e),Nt(r),this};var At={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};b.__private__.getDocumentProperty=function(t){if(-1===Object.keys(At).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return At[t]},b.__private__.getDocumentProperties=function(){return At},b.__private__.setDocumentProperties=b.setProperties=b.setDocumentProperties=function(t){for(var e in At)At.hasOwnProperty(e)&&t[e]&&(At[e]=t[e]);return this},b.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(At).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return At[t]=e};var xt,St,_t,Pt,kt,It={},Ft={},Ct=[],jt={},Ot={},Bt={},Mt={},Et=null,qt=0,Dt=[],Rt=new F(b),Tt=t.hotfixes||[],zt={},Ut={},Ht=[],Wt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Wt.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Wt.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Wt.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Wt.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Wt.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Wt.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Wt.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Wt.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Wt.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Wt.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Wt.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Wt.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Wt.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Wt.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Wt.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Wt.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Wt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(j).join(t)},Wt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Wt(e,r,n,i,a,o)},Wt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)<e*(r/=c)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Wt(o,0,0,c,0,0),translate:new Wt(1,0,0,1,i,a),rotate:new Wt(t,e,-e,t,0,0),skew:new Wt(1,0,s,1,0,0)}},Wt.prototype.toString=function(t){return this.join(\" \")},Wt.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,c=-e*o,u=-r*o,h=t*o;return new Wt(s,c,u,h,-s*i-u*a,-c*i-h*a)},Wt.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new Fr(e,r)},Wt.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new Fr(t.x+t.w,t.y+t.h));return new Cr(e.x,e.y,r.x-e.x,r.y-e.y)},Wt.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Wt(t,e,r,n,i,a)},b.Matrix=Wt;var Vt=b.matrixMult=function(t,e){return e.multiply(t)},Gt=new Wt(1,0,0,1,0,0);b.unitMatrix=b.identityMatrix=Gt;var Yt=function(t,e){if(!Ot[t]){var r=(e instanceof O?\"Sh\":\"P\")+(Object.keys(jt).length+1).toString(10);e.id=r,Ot[t]=r,jt[r]=e,Rt.publish(\"addPattern\",e)}};b.ShadingPattern=O,b.TilingPattern=B,b.addShadingPattern=function(t,e){return E(\"addShadingPattern()\"),Yt(t,e),this},b.beginTilingPattern=function(t){E(\"beginTilingPattern()\"),Or(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},b.endTilingPattern=function(t,e){E(\"endTilingPattern()\"),e.stream=at[Z].join(\"\\n\"),Yt(t,e),Rt.publish(\"endTilingPattern\",e),Ht.pop().restore()};var Jt=b.__private__.newObject=function(){var t=Xt();return Kt(t,!0),t},Xt=b.__private__.newObjectDeferred=function(){return tt++,et[tt]=function(){return nt},tt},Kt=function(t,e){return e=\"boolean\"==typeof e&&e,et[t]=nt,e&&ht(t+\" 0 obj\"),t},Zt=b.__private__.newAdditionalObject=function(){var t={objId:Xt(),content:\"\"};return it.push(t),t},$t=Xt(),Qt=Xt(),te=b.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},ee=b.__private__.encodeColorString=function(t){var e;\"string\"==typeof t&&(t={ch1:t});var r=t.ch1,n=t.ch2,i=t.ch3,a=t.ch4,o=\"draw\"===t.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof r&&\"#\"!==r.charAt(0)){var s=new l(r);if(s.ok)r=s.toHex();else if(!/^\\d*\\.?\\d*$/.test(r))throw new Error('Invalid color \"'+r+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof r&&/^#[0-9A-Fa-f]{3}$/.test(r)&&(r=\"#\"+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]),\"string\"==typeof r&&/^#[0-9A-Fa-f]{6}$/.test(r)){var c=parseInt(r.substr(1),16);r=c>>16&255,n=c>>8&255,i=255&c}if(void 0===n||void 0===a&&r===n&&n===i)if(\"string\"==typeof r)e=r+\" \"+o[0];else switch(t.precision){case 2:e=D(r/255)+\" \"+o[0];break;case 3:default:e=R(r/255)+\" \"+o[0]}else if(void 0===a||\"object\"==typeof a){if(a&&!isNaN(a.a)&&0===a.a)return e=[\"1.\",\"1.\",\"1.\",o[1]].join(\" \");if(\"string\"==typeof r)e=[r,n,i,o[1]].join(\" \");else switch(t.precision){case 2:e=[D(r/255),D(n/255),D(i/255),o[1]].join(\" \");break;default:case 3:e=[R(r/255),R(n/255),R(i/255),o[1]].join(\" \")}}else if(\"string\"==typeof r)e=[r,n,i,a,o[2]].join(\" \");else switch(t.precision){case 2:e=[D(r),D(n),D(i),D(a),o[2]].join(\" \");break;case 3:default:e=[R(r),R(n),R(i),R(a),o[2]].join(\" \")}return e},re=b.__private__.getFilters=function(){return c},ne=b.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||re(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==g&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==g&&(s=Ge.encryptor(o,0));var c={};!0===r&&(r=[\"FlateEncode\"]);var u=t.additionalKeyValues||[],h=(c=void 0!==M.API.processDataByFilters?M.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==c.data.length&&(u.push({key:\"Length\",value:c.data.length}),!0===i&&u.push({key:\"Length1\",value:a})),0!=h.length)if(h.split(\"/\").length-1==1)u.push({key:\"Filter\",value:h});else{u.push({key:\"Filter\",value:\"[\"+h+\"]\"});for(var l=0;l<u.length;l+=1)if(\"DecodeParms\"===u[l].key){for(var f=[],d=0;d<c.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(u[l].value),u[l].value=\"[\"+f.join(\" \")+\"]\"}}ht(\"<<\");for(var p=0;p<u.length;p++)ht(\"/\"+u[p].key+\" \"+u[p].value);ht(\">>\"),0!==c.data.length&&(ht(\"stream\"),ht(s(c.data)),ht(\"endstream\"))},ie=b.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Kt(n,!0),ht(\"<</Type /Page\"),ht(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),ht(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),ht(\"/MediaBox [\"+parseFloat(j(t.mediaBox.bottomLeftX))+\" \"+parseFloat(j(t.mediaBox.bottomLeftY))+\" \"+j(t.mediaBox.topRightX)+\" \"+j(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&&ht(\"/CropBox [\"+j(t.cropBox.bottomLeftX)+\" \"+j(t.cropBox.bottomLeftY)+\" \"+j(t.cropBox.topRightX)+\" \"+j(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&&ht(\"/BleedBox [\"+j(t.bleedBox.bottomLeftX)+\" \"+j(t.bleedBox.bottomLeftY)+\" \"+j(t.bleedBox.topRightX)+\" \"+j(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&&ht(\"/TrimBox [\"+j(t.trimBox.bottomLeftX)+\" \"+j(t.trimBox.bottomLeftY)+\" \"+j(t.trimBox.topRightX)+\" \"+j(t.trimBox.topRightY)+\"]\"),null!==t.artBox&&ht(\"/ArtBox [\"+j(t.artBox.bottomLeftX)+\" \"+j(t.artBox.bottomLeftY)+\" \"+j(t.artBox.topRightX)+\" \"+j(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&&ht(\"/UserUnit \"+t.userUnit),Rt.publish(\"putPage\",{objId:n,pageContext:Dt[e],pageNumber:e,page:r}),ht(\"/Contents \"+i+\" 0 R\"),ht(\">>\"),ht(\"endobj\");var a=r.join(\"\\n\");return x===A.ADVANCED&&(a+=\"\\nQ\"),Kt(i,!0),ne({data:a,filters:re(),objectId:i}),ht(\"endobj\"),n},ae=b.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=qt;t++)Dt[t].objId=Xt(),Dt[t].contentsObjId=Xt();for(t=1;t<=qt;t++)r.push(ie({number:t,data:at[t],objId:Dt[t].objId,contentsObjId:Dt[t].contentsObjId,mediaBox:Dt[t].mediaBox,cropBox:Dt[t].cropBox,bleedBox:Dt[t].bleedBox,trimBox:Dt[t].trimBox,artBox:Dt[t].artBox,userUnit:Dt[t].userUnit,rootDictionaryObjId:$t,resourceDictionaryObjId:Qt}));Kt($t,!0),ht(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<qt;e++)n+=r[e]+\" 0 R \";ht(n+\"]\"),ht(\"/Count \"+qt),ht(\">>\"),ht(\"endobj\"),Rt.publish(\"postPutPages\")},oe=function(t){Rt.publish(\"putFont\",{font:t,out:ht,newObject:Jt,putStream:ne}),!0!==t.isAlreadyPutted&&(t.objectNumber=Jt(),ht(\"<<\"),ht(\"/Type /Font\"),ht(\"/BaseFont /\"+I(t.postScriptName)),ht(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&&ht(\"/Encoding /\"+t.encoding),ht(\"/FirstChar 32\"),ht(\"/LastChar 255\"),ht(\">>\"),ht(\"endobj\"))},se=function(){for(var t in It)It.hasOwnProperty(t)&&(!1===m||!0===m&&v.hasOwnProperty(t))&&oe(It[t])},ce=function(t){t.objectNumber=Jt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[j(t.x),j(t.y),j(t.x+t.width),j(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");ne({data:r,additionalKeyValues:e,objectId:t.objectNumber}),ht(\"endobj\")},ue=function(){for(var t in zt)zt.hasOwnProperty(t)&&ce(zt[t])},he=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",c=0,u=0;u<n.length;u++){for(r=n[u];r>t[c+1].offset;)c++;var h=t[c].offset,l=(r-h)/(t[c+1].offset-h),f=t[c].color,d=t[c+1].color;s+=Q(Math.round((1-l)*f[0]+l*d[0]).toString(16))+Q(Math.round((1-l)*f[1]+l*d[1]).toString(16))+Q(Math.round((1-l)*f[2]+l*d[2]).toString(16))}return s.trim()},le=function(t,e){e||(e=21);var r=Jt(),n=he(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),ne({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),ht(\"endobj\"),t.objectNumber=Jt(),ht(\"<< /ShadingType \"+t.type),ht(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+j(parseFloat(t.coords[0]))+\" \"+j(parseFloat(t.coords[1]))+\" \";2===t.type?a+=j(parseFloat(t.coords[2]))+\" \"+j(parseFloat(t.coords[3])):a+=j(parseFloat(t.coords[2]))+\" \"+j(parseFloat(t.coords[3]))+\" \"+j(parseFloat(t.coords[4]))+\" \"+j(parseFloat(t.coords[5])),ht(a+=\"]\"),t.matrix&&ht(\"/Matrix [\"+t.matrix.toString()+\"]\"),ht(\"/Function \"+r+\" 0 R\"),ht(\"/Extend [true true]\"),ht(\">>\"),ht(\"endobj\")},fe=function(t,e){var r=Xt(),n=Jt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(j).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:j(t.xStep)}),i.push({key:\"YStep\",value:j(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),ne({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),ht(\"endobj\")},de=function(t){var e;for(e in jt)jt.hasOwnProperty(e)&&(jt[e]instanceof O?le(jt[e]):jt[e]instanceof B&&fe(jt[e],t))},pe=function(t){for(var e in t.objectNumber=Jt(),ht(\"<<\"),t)switch(e){case\"opacity\":ht(\"/ca \"+D(t[e]));break;case\"stroke-opacity\":ht(\"/CA \"+D(t[e]))}ht(\">>\"),ht(\"endobj\")},ge=function(){var t;for(t in Bt)Bt.hasOwnProperty(t)&&pe(Bt[t])},me=function(){for(var t in ht(\"/XObject <<\"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&&ht(\"/\"+t+\" \"+zt[t].objectNumber+\" 0 R\");Rt.publish(\"putXobjectDict\"),ht(\">>\")},ve=function(){Ge.oid=Jt(),ht(\"<<\"),ht(\"/Filter /Standard\"),ht(\"/V \"+Ge.v),ht(\"/R \"+Ge.r),ht(\"/U <\"+Ge.toHexString(Ge.U)+\">\"),ht(\"/O <\"+Ge.toHexString(Ge.O)+\">\"),ht(\"/P \"+Ge.P),ht(\">>\"),ht(\"endobj\")},be=function(){for(var t in ht(\"/Font <<\"),It)It.hasOwnProperty(t)&&(!1===m||!0===m&&v.hasOwnProperty(t))&&ht(\"/\"+t+\" \"+It[t].objectNumber+\" 0 R\");ht(\">>\")},ye=function(){if(Object.keys(jt).length>0){for(var t in ht(\"/Shading <<\"),jt)jt.hasOwnProperty(t)&&jt[t]instanceof O&&jt[t].objectNumber>=0&&ht(\"/\"+t+\" \"+jt[t].objectNumber+\" 0 R\");Rt.publish(\"putShadingPatternDict\"),ht(\">>\")}},we=function(t){if(Object.keys(jt).length>0){for(var e in ht(\"/Pattern <<\"),jt)jt.hasOwnProperty(e)&&jt[e]instanceof b.TilingPattern&&jt[e].objectNumber>=0&&jt[e].objectNumber<t&&ht(\"/\"+e+\" \"+jt[e].objectNumber+\" 0 R\");Rt.publish(\"putTilingPatternDict\"),ht(\">>\")}},Ne=function(){if(Object.keys(Bt).length>0){var t;for(t in ht(\"/ExtGState <<\"),Bt)Bt.hasOwnProperty(t)&&Bt[t].objectNumber>=0&&ht(\"/\"+t+\" \"+Bt[t].objectNumber+\" 0 R\");Rt.publish(\"putGStateDict\"),ht(\">>\")}},Le=function(t){Kt(t.resourcesOid,!0),ht(\"<<\"),ht(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),be(),ye(),we(t.objectOid),Ne(),me(),ht(\">>\"),ht(\"endobj\")},Ae=function(){var t=[];se(),ge(),ue(),de(t),Rt.publish(\"putResources\"),t.forEach(Le),Le({resourcesOid:Qt,objectOid:Number.MAX_SAFE_INTEGER}),Rt.publish(\"postPutResources\")},xe=function(){Rt.publish(\"putAdditionalObjects\");for(var t=0;t<it.length;t++){var e=it[t];Kt(e.objId,!0),ht(e.content),ht(\"endobj\")}Rt.publish(\"postPutAdditionalObjects\")},Se=function(t){Ft[t.fontName]=Ft[t.fontName]||{},Ft[t.fontName][t.fontStyle]=t.id},_e=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(It).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Rt.publish(\"addFont\",{font:a,instance:this}),It[a.id]=a,Se(a),a.id},Pe=function(t){for(var e=0,r=dt.length;e<r;e++){var n=_e.call(this,t[e][0],t[e][1],t[e][2],dt[e][3],!0);!1===m&&(v[n]=!0);var i=t[e][0].split(\"-\");Se({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Rt.publish(\"addFonts\",{fonts:It,dictionary:Ft})},ke=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var n=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!r.console)throw new Error(n);r.console.error(n,t),r.alert&&alert(n)}},t.foo.bar=t,t.foo},Ie=function(t,e){var r,n,i,a,o,s,c,u,h;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&It[xt].metadata&&It[xt].metadata[i]&&It[xt].metadata[i].encoding&&(a=It[xt].metadata[i].encoding,!o&&It[xt].encoding&&(o=It[xt].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(c=!1,s=[],r=0,n=t.length;r<n;r++)(u=o[t.charCodeAt(r)])?s.push(String.fromCharCode(u)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(c=!0);t=s.join(\"\")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((h=(u=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(h),s.push(u-(h<<8))}return String.fromCharCode.apply(void 0,s)},Fe=b.__private__.pdfEscape=b.pdfEscape=function(t,e){return Ie(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},Ce=b.__private__.beginPage=function(t){at[++qt]=[],Dt[qt]={objId:0,contentsObjId:0,userUnit:Number(f),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Be(qt),ut(at[Z])},je=function(t,e){var r,a,s;switch(n=e||n,\"string\"==typeof t&&(r=L(t.toLowerCase()),Array.isArray(r)&&(a=r[0],s=r[1])),Array.isArray(t)&&(a=t[0]*St,s=t[1]*St),isNaN(a)&&(a=o[0],s=o[1]),(a>14400||s>14400)&&(i.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),a=Math.min(14400,a),s=Math.min(14400,s)),o=[a,s],n.substr(0,1)){case\"l\":s>a&&(o=[s,a]);break;case\"p\":a>s&&(o=[s,a])}Ce(o),dr(lr),ht(Nr),0!==Pr&&ht(Pr+\" J\"),0!==kr&&ht(kr+\" j\"),Rt.publish(\"addPage\",{pageNumber:qt})},Oe=function(t){t>0&&t<=qt&&(at.splice(t,1),Dt.splice(t,1),qt--,Z>qt&&(Z=qt),this.setPage(Z))},Be=function(t){t>0&&t<=qt&&(Z=t)},Me=b.__private__.getNumberOfPages=b.getNumberOfPages=function(){return at.length-1},Ee=function(t,e,r){var n,a=void 0;return r=r||{},t=void 0!==t?t:It[xt].fontName,e=void 0!==e?e:It[xt].fontStyle,n=t.toLowerCase(),void 0!==Ft[n]&&void 0!==Ft[n][e]?a=Ft[n][e]:void 0!==Ft[t]&&void 0!==Ft[t][e]?a=Ft[t][e]:!1===r.disableWarning&&i.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),a||r.noFallback||null==(a=Ft.times[e])&&(a=Ft.times.normal),a},qe=b.__private__.putInfo=function(){var t=Jt(),e=function(t){return t};for(var r in null!==g&&(e=Ge.encryptor(t,0)),ht(\"<<\"),ht(\"/Producer (\"+Fe(e(\"jsPDF \"+M.version))+\")\"),At)At.hasOwnProperty(r)&&At[r]&&ht(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Fe(e(At[r]))+\")\");ht(\"/CreationDate (\"+Fe(e(H))+\")\"),ht(\">>\"),ht(\"endobj\")},De=b.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||$t;switch(Jt(),ht(\"<<\"),ht(\"/Type /Catalog\"),ht(\"/Pages \"+e+\" 0 R\"),gt||(gt=\"fullwidth\"),gt){case\"fullwidth\":ht(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":ht(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":ht(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":ht(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+gt;\"%\"===r.substr(r.length-1)&&(gt=parseInt(gt)/100),\"number\"==typeof gt&&ht(\"/OpenAction [3 0 R /XYZ null null \"+D(gt)+\"]\")}switch(wt||(wt=\"continuous\"),wt){case\"continuous\":ht(\"/PageLayout /OneColumn\");break;case\"single\":ht(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":ht(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":ht(\"/PageLayout /TwoColumnRight\")}bt&&ht(\"/PageMode /\"+bt),Rt.publish(\"putCatalog\"),ht(\">>\"),ht(\"endobj\")},Re=b.__private__.putTrailer=function(){ht(\"trailer\"),ht(\"<<\"),ht(\"/Size \"+(tt+1)),ht(\"/Root \"+tt+\" 0 R\"),ht(\"/Info \"+(tt-1)+\" 0 R\"),null!==g&&ht(\"/Encrypt \"+Ge.oid+\" 0 R\"),ht(\"/ID [ <\"+W+\"> <\"+W+\"> ]\"),ht(\">>\")},Te=b.__private__.putHeader=function(){ht(\"%PDF-\"+y),ht(\"%ºß¬à \")},ze=b.__private__.putXRef=function(){var t=\"0000000000\";ht(\"xref\"),ht(\"0 \"+(tt+1)),ht(\"0000000000 65535 f \");for(var e=1;e<=tt;e++){\"function\"==typeof et[e]?ht((t+et[e]()).slice(-10)+\" 00000 n \"):void 0!==et[e]?ht((t+et[e]).slice(-10)+\" 00000 n \"):ht(\"0000000000 00000 n \")}},Ue=b.__private__.buildDocument=function(){ct(),ut(rt),Rt.publish(\"buildDocument\"),Te(),ae(),xe(),Ae(),null!==g&&ve(),qe(),De();var t=nt;return ze(),Re(),ht(\"startxref\"),ht(\"\"+t),ht(\"%%EOF\"),ut(at[Z]),rt.join(\"\\n\")},He=b.__private__.getBlob=function(t){return new Blob([ft(t)],{type:\"application/pdf\"})},We=b.output=b.__private__.output=ke((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return Ue();case\"save\":b.save(e.filename);break;case\"arraybuffer\":return ft(Ue());case\"blob\":return He(Ue());case\"bloburi\":case\"bloburl\":if(void 0!==r.URL&&\"function\"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(He(Ue()))||void 0;i.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var n=\"\",a=Ue();try{n=u(a)}catch(t){n=u(unescape(encodeURIComponent(a)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+n;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(r)){var o='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src=\"'+(e.pdfObjectUrl||\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\")+'\"><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",s=r.open();return null!==s&&s.document.write(o),s}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(r)){var c='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',h=r.open();if(null!==h){h.document.write(c);var l=this;h.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){h.document.title=e.filename,h.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(l.output(\"bloburl\"))}}return h}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(r))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var f='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',d=r.open();if(null!==d&&(d.document.write(f),d.document.title=e.filename),d||\"undefined\"==typeof safari)return d;break;case\"datauri\":case\"dataurl\":return r.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ve=function(t){return!0===Array.isArray(Tt)&&Tt.indexOf(t)>-1};switch(a){case\"pt\":St=1;break;case\"mm\":St=72/25.4;break;case\"cm\":St=72/2.54;break;case\"in\":St=72;break;case\"px\":St=1==Ve(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":St=12;break;case\"ex\":St=6;break;default:if(\"number\"!=typeof a)throw new Error(\"Invalid unit: \"+a);St=a}var Ge=null;X(),G();var Ye=function(t){return null!==g?Ge.encryptor(t,0):function(t){return t}},Je=b.__private__.getPageInfo=b.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:Dt[t].objId,pageNumber:t,pageContext:Dt[t]}},Xe=b.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in Dt)if(Dt[e].objId===t)break;return Je(e)},Ke=b.__private__.getCurrentPageInfo=b.getCurrentPageInfo=function(){return{objId:Dt[Z].objId,pageNumber:Z,pageContext:Dt[Z]}};b.addPage=function(){return je.apply(this,arguments),this},b.setPage=function(){return Be.apply(this,arguments),ut.call(this,at[Z]),this},b.insertPage=function(t){return this.addPage(),this.movePage(Z,t),this},b.movePage=function(t,e){var r,n;if(t>e){r=at[t],n=Dt[t];for(var i=t;i>e;i--)at[i]=at[i-1],Dt[i]=Dt[i-1];at[e]=r,Dt[e]=n,this.setPage(e)}else if(t<e){r=at[t],n=Dt[t];for(var a=t;a<e;a++)at[a]=at[a+1],Dt[a]=Dt[a+1];at[e]=r,Dt[e]=n,this.setPage(e)}return this},b.deletePage=function(){return Oe.apply(this,arguments),this},b.__private__.text=b.text=function(t,e,r,n,i){var a,o,s,c,u,h,l,f,d,p=(n=n||{}).scope||this;if(\"number\"==typeof t&&\"number\"==typeof e&&(\"string\"==typeof r||Array.isArray(r))){var g=r;r=e,e=t,t=g}if(arguments[3]instanceof Wt==!1?(s=arguments[4],c=arguments[5],\"object\"==typeof(l=arguments[3])&&null!==l||(\"string\"==typeof s&&(c=s,s=null),\"string\"==typeof l&&(c=l,l=null),\"number\"==typeof l&&(s=l,l=null),n={flags:l,angle:s,align:c})):(E(\"The transform parameter of text() with a Matrix value\"),d=i),isNaN(e)||isNaN(r)||null==t)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===t.length)return p;var m=\"\",b=!1,y=\"number\"==typeof n.lineHeightFactor?n.lineHeightFactor:hr,w=p.internal.scaleFactor;function N(t){return t=t.split(\"\\t\").join(Array(n.TabLen||9).join(\" \")),Fe(t,l)}function L(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function S(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var _=!1,P=!0;if(\"string\"==typeof t)_=!0;else if(Array.isArray(t)){var k=t.concat();o=[];for(var I,F=k.length;F--;)(\"string\"!=typeof(I=k.shift())||Array.isArray(I)&&\"string\"!=typeof I[0])&&(P=!1);_=P}if(!1===_)throw new Error('Type of text must be string or Array. \"'+t+'\" is not recognized.');\"string\"==typeof t&&(t=t.match(/[\\r?\\n]/)?t.split(/\\r\\n|\\r|\\n/g):[t]);var C=pt/p.internal.scaleFactor,O=C*(y-1);switch(n.baseline){case\"bottom\":r-=O;break;case\"top\":r+=C-O;break;case\"hanging\":r+=C-2*O;break;case\"middle\":r+=C/2-O}if((h=n.maxWidth||0)>0&&(\"string\"==typeof t?t=p.splitTextToSize(t,h):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(p.splitTextToSize(e,h))}),[]))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:Fe,activeFontKey:xt,fonts:It,activeFontSize:pt}},Rt.publish(\"preProcessText\",a),t=a.text,s=(n=a.options).angle,d instanceof Wt==!1&&s&&\"number\"==typeof s){s*=Math.PI/180,0===n.rotationDirection&&(s=-s),x===A.ADVANCED&&(s=-s);var B=Math.cos(s),M=Math.sin(s);d=new Wt(B,M,-M,B,0,0)}else s&&s instanceof Wt&&(d=s);x!==A.ADVANCED||d||(d=Gt),void 0!==(u=n.charSpace||Sr)&&(m+=j(T(u))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0)),void 0!==(f=n.horizontalScale)&&(m+=j(100*f)+\" Tz\\n\");n.lang;var q=-1,D=void 0!==n.renderingMode?n.renderingMode:n.stroke,R=p.internal.getCurrentPageInfo().pageContext;switch(D){case 0:case!1:case\"fill\":q=0;break;case 1:case!0:case\"stroke\":q=1;break;case 2:case\"fillThenStroke\":q=2;break;case 3:case\"invisible\":q=3;break;case 4:case\"fillAndAddForClipping\":q=4;break;case 5:case\"strokeAndAddPathForClipping\":q=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":q=6;break;case 7:case\"addToPathForClipping\":q=7}var z=void 0!==R.usedRenderingMode?R.usedRenderingMode:-1;-1!==q?m+=q+\" Tr\\n\":-1!==z&&(m+=\"0 Tr\\n\"),-1!==q&&(R.usedRenderingMode=q),c=n.align||\"left\";var U,H=pt*y,W=p.internal.pageSize.getWidth(),V=It[xt];u=n.charSpace||Sr,h=n.maxWidth||0,l=Object.assign({autoencode:!0,noBOM:!0},n.flags);var G=[];if(\"[object Array]\"===Object.prototype.toString.call(t)){var Y;o=L(t),\"left\"!==c&&(U=o.map((function(t){return p.getStringUnitWidth(t,{font:V,charSpace:u,fontSize:pt,doKerning:!1})*pt/w})));var J,X=0;if(\"right\"===c){e-=U[0],t=[],F=o.length;for(var K=0;K<F;K++)0===K?(J=vr(e),Y=br(r)):(J=T(X-U[K]),Y=-H),t.push([o[K],J,Y]),X=U[K]}else if(\"center\"===c){e-=U[0]/2,t=[],F=o.length;for(var Z=0;Z<F;Z++)0===Z?(J=vr(e),Y=br(r)):(J=T((X-U[Z])/2),Y=-H),t.push([o[Z],J,Y]),X=U[Z]}else if(\"left\"===c){t=[],F=o.length;for(var $=0;$<F;$++)t.push(o[$])}else{if(\"justify\"!==c)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');t=[],F=o.length,h=0!==h?h:W;for(var Q=0;Q<F;Q++)Y=0===Q?br(r):-H,J=0===Q?vr(e):0,Q<F-1?G.push(j(T((h-U[Q])/(o[Q].split(\" \").length-1)))):G.push(0),t.push([o[Q],J,Y])}}var tt=\"boolean\"==typeof n.R2L?n.R2L:vt;!0===tt&&(t=S(t,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:Fe,activeFontKey:xt,fonts:It,activeFontSize:pt}},Rt.publish(\"postProcessText\",a),t=a.text,b=a.mutex.isHex||!1;var et=It[xt].encoding;\"WinAnsiEncoding\"!==et&&\"StandardEncoding\"!==et||(t=S(t,(function(t,e,r){return[N(t),e,r]}))),o=L(t),t=[];for(var rt,nt,it,at=0,ot=1,st=Array.isArray(o[0])?ot:at,ct=\"\",ut=function(t,e,r){var i=\"\";return r instanceof Wt?(r=\"number\"==typeof n.angle?Vt(r,new Wt(1,0,0,1,t,e)):Vt(new Wt(1,0,0,1,t,e),r),x===A.ADVANCED&&(r=Vt(new Wt(1,0,0,-1,0,0),r)),i=r.join(\" \")+\" Tm\\n\"):i=j(t)+\" \"+j(e)+\" Td\\n\",i},lt=0;lt<o.length;lt++){switch(ct=\"\",st){case ot:it=(b?\"<\":\"(\")+o[lt][0]+(b?\">\":\")\"),rt=parseFloat(o[lt][1]),nt=parseFloat(o[lt][2]);break;case at:it=(b?\"<\":\"(\")+o[lt]+(b?\">\":\")\"),rt=vr(e),nt=br(r)}void 0!==G&&void 0!==G[lt]&&(ct=G[lt]+\" Tw\\n\"),0===lt?t.push(ct+ut(rt,nt,d)+it):st===at?t.push(ct+it):st===ot&&t.push(ct+ut(rt,nt,d)+it)}t=st===at?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var ft=\"BT\\n/\";return ft+=xt+\" \"+pt+\" Tf\\n\",ft+=j(pt*y)+\" TL\\n\",ft+=Ar+\"\\n\",ft+=m,ft+=t,ht(ft+=\"ET\"),v[xt]=!0,p};var Ze=b.__private__.clip=b.clip=function(t){return ht(\"evenodd\"===t?\"W*\":\"W\"),this};b.clipEvenOdd=function(){return Ze(\"evenodd\")},b.__private__.discardPath=b.discardPath=function(){return ht(\"n\"),this};var $e=b.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};b.__private__.setDefaultPathOperation=b.setDefaultPathOperation=function(t){return $e(t)&&(p=t),this};var Qe=b.__private__.getStyle=b.getStyle=function(t){var e=p;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},tr=b.close=function(){return ht(\"h\"),this};b.stroke=function(){return ht(\"S\"),this},b.fill=function(t){return er(\"f\",t),this},b.fillEvenOdd=function(t){return er(\"f*\",t),this},b.fillStroke=function(t){return er(\"B\",t),this},b.fillStrokeEvenOdd=function(t){return er(\"B*\",t),this};var er=function(t,e){\"object\"==typeof e?ir(e,t):ht(t)},rr=function(t){null===t||x===A.ADVANCED&&void 0===t||(t=Qe(t),ht(t))};function nr(t,e,r,n,i){var a=new B(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Yt(o,a),a}var ir=function(t,e){var r=Ot[t.key],n=jt[r];if(n instanceof O)ht(\"q\"),ht(ar(e)),n.gState&&b.setGState(n.gState),ht(t.matrix.toString()+\" cm\"),ht(\"/\"+r+\" sh\"),ht(\"Q\");else if(n instanceof B){var i=new Wt(1,0,0,-1,0,Dr());t.matrix&&(i=i.multiply(t.matrix||Gt),r=nr.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),ht(\"q\"),ht(\"/Pattern cs\"),ht(\"/\"+r+\" scn\"),n.gState&&b.setGState(n.gState),ht(e),ht(\"Q\")}},ar=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},or=b.moveTo=function(t,e){return ht(j(T(t))+\" \"+j(U(e))+\" m\"),this},sr=b.lineTo=function(t,e){return ht(j(T(t))+\" \"+j(U(e))+\" l\"),this},cr=b.curveTo=function(t,e,r,n,i,a){return ht([j(T(t)),j(U(e)),j(T(r)),j(U(n)),j(T(i)),j(U(a)),\"c\"].join(\" \")),this};b.__private__.line=b.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!$e(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return x===A.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},b.__private__.lines=b.lines=function(t,e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!$e(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(or(e,r),o=n[0],s=n[1],u=t.length,g=e,m=r,c=0;c<u;c++)2===(h=t[c]).length?(g=h[0]*o+g,m=h[1]*s+m,sr(g,m)):(l=h[0]*o+g,f=h[1]*s+m,d=h[2]*o+g,p=h[3]*s+m,g=h[4]*o+g,m=h[5]*s+m,cr(l,f,d,p,g,m));return a&&tr(),rr(i),this},b.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":or(n[0],n[1]);break;case\"l\":sr(n[0],n[1]);break;case\"c\":cr.apply(this,n);break;case\"h\":tr()}}return this},b.__private__.rect=b.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!$e(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return x===A.COMPAT&&(n=-n),ht([j(T(t)),j(U(e)),j(T(r)),j(T(n)),\"re\"].join(\" \")),rr(i),this},b.__private__.triangle=b.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!$e(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},b.__private__.roundedRect=b.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!$e(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},b.__private__.ellipse=b.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!$e(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return or(t+r,e),cr(t+r,e-o,t+a,e-n,t,e-n),cr(t-a,e-n,t-r,e-o,t-r,e),cr(t-r,e+o,t-a,e+n,t,e+n),cr(t+a,e+n,t+r,e+o,t+r,e),rr(i),this},b.__private__.circle=b.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!$e(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},b.setFont=function(t,e,r){return r&&(e=P(e,r)),xt=Ee(t,e,{disableWarning:!1}),this};var ur=b.__private__.getFont=b.getFont=function(){return It[Ee.apply(b,arguments)]};b.__private__.getFontList=b.getFontList=function(){var t,e,r={};for(t in Ft)if(Ft.hasOwnProperty(t))for(e in r[t]=[],Ft[t])Ft[t].hasOwnProperty(e)&&r[t].push(e);return r},b.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=P(r,n)),i=i||\"Identity-H\",_e.call(this,t,e,r,i)};var hr,lr=t.lineWidth||.200025,fr=b.__private__.getLineWidth=b.getLineWidth=function(){return lr},dr=b.__private__.setLineWidth=b.setLineWidth=function(t){return lr=t,ht(j(T(t))+\" w\"),this};b.__private__.setLineDash=M.API.setLineDash=M.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return j(T(t))})).join(\" \"),e=j(T(e)),ht(\"[\"+t+\"] \"+e+\" d\"),this};var pr=b.__private__.getLineHeight=b.getLineHeight=function(){return pt*hr};b.__private__.getLineHeight=b.getLineHeight=function(){return pt*hr};var gr=b.__private__.setLineHeightFactor=b.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(hr=t),this},mr=b.__private__.getLineHeightFactor=b.getLineHeightFactor=function(){return hr};gr(t.lineHeight);var vr=b.__private__.getHorizontalCoordinate=function(t){return T(t)},br=b.__private__.getVerticalCoordinate=function(t){return x===A.ADVANCED?t:Dt[Z].mediaBox.topRightY-Dt[Z].mediaBox.bottomLeftY-T(t)},yr=b.__private__.getHorizontalCoordinateString=b.getHorizontalCoordinateString=function(t){return j(vr(t))},wr=b.__private__.getVerticalCoordinateString=b.getVerticalCoordinateString=function(t){return j(br(t))},Nr=t.strokeColor||\"0 G\";b.__private__.getStrokeColor=b.getDrawColor=function(){return te(Nr)},b.__private__.setStrokeColor=b.setDrawColor=function(t,e,r,n){return Nr=ee({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),ht(Nr),this};var Lr=t.fillColor||\"0 g\";b.__private__.getFillColor=b.getFillColor=function(){return te(Lr)},b.__private__.setFillColor=b.setFillColor=function(t,e,r,n){return Lr=ee({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),ht(Lr),this};var Ar=t.textColor||\"0 g\",xr=b.__private__.getTextColor=b.getTextColor=function(){return te(Ar)};b.__private__.setTextColor=b.setTextColor=function(t,e,r,n){return Ar=ee({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var Sr=t.charSpace,_r=b.__private__.getCharSpace=b.getCharSpace=function(){return parseFloat(Sr||0)};b.__private__.setCharSpace=b.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return Sr=t,this};var Pr=0;b.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},b.__private__.setLineCap=b.setLineCap=function(t){var e=b.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Pr=e,ht(e+\" J\"),this};var kr=0;b.__private__.setLineJoin=b.setLineJoin=function(t){var e=b.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return kr=e,ht(e+\" j\"),this},b.__private__.setLineMiterLimit=b.__private__.setMiterLimit=b.setLineMiterLimit=b.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return ht(j(T(t))+\" M\"),this},b.GState=C,b.setGState=function(t){(t=\"string\"==typeof t?Bt[Mt[t]]:Ir(null,t)).equals(Et)||(ht(\"/\"+t.id+\" gs\"),Et=t)};var Ir=function(t,e){if(!t||!Mt[t]){var r=!1;for(var n in Bt)if(Bt.hasOwnProperty(n)&&Bt[n].equals(e)){r=!0;break}if(r)e=Bt[n];else{var i=\"GS\"+(Object.keys(Bt).length+1).toString(10);Bt[i]=e,e.id=i}return t&&(Mt[t]=e.id),Rt.publish(\"addGState\",e),e}};b.addGState=function(t,e){return Ir(t,e),this},b.saveGraphicsState=function(){return ht(\"q\"),Ct.push({key:xt,size:pt,color:Ar}),this},b.restoreGraphicsState=function(){ht(\"Q\");var t=Ct.pop();return xt=t.key,pt=t.size,Ar=t.color,Et=null,this},b.setCurrentTransformationMatrix=function(t){return ht(t.toString()+\" cm\"),this},b.comment=function(t){return ht(\"#\"+t),this};var Fr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},Cr=function(t,e,r,n){Fr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},jr=function(){this.page=qt,this.currentPage=Z,this.pages=at.slice(0),this.pagesContext=Dt.slice(0),this.x=_t,this.y=Pt,this.matrix=kt,this.width=Er(Z),this.height=Dr(Z),this.outputDestination=st,this.id=\"\",this.objectNumber=-1};jr.prototype.restore=function(){qt=this.page,Z=this.currentPage,Dt=this.pagesContext,at=this.pages,_t=this.x,Pt=this.y,kt=this.matrix,qr(Z,this.width),Rr(Z,this.height),st=this.outputDestination};var Or=function(t,e,r,n,i){Ht.push(new jr),qt=Z=0,at=[],_t=t,Pt=e,kt=i,Ce([r,n])},Br=function(t){if(Ut[t])Ht.pop().restore();else{var e=new jr,r=\"Xo\"+(Object.keys(zt).length+1).toString(10);e.id=r,Ut[t]=r,zt[r]=e,Rt.publish(\"addFormObject\",e),Ht.pop().restore()}};for(var Mr in b.beginFormObject=function(t,e,r,n,i){return Or(t,e,r,n,i),this},b.endFormObject=function(t){return Br(t),this},b.doFormObject=function(t,e){var r=zt[Ut[t]];return ht(\"q\"),ht(e.toString()+\" cm\"),ht(\"/\"+r.id+\" Do\"),ht(\"Q\"),this},b.getFormObject=function(t){var e=zt[Ut[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},b.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(h(He(Ue()),t),\"function\"==typeof h.unload&&r.setTimeout&&setTimeout(h.unload,911),this):new Promise((function(e,n){try{var i=h(He(Ue()),t);\"function\"==typeof h.unload&&r.setTimeout&&setTimeout(h.unload,911),e(i)}catch(t){n(t.message)}}))},M.API)M.API.hasOwnProperty(Mr)&&(\"events\"===Mr&&M.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Rt,M.API.events):b[Mr]=M.API[Mr]);var Er=b.getPageWidth=function(t){return(Dt[t=t||Z].mediaBox.topRightX-Dt[t].mediaBox.bottomLeftX)/St},qr=b.setPageWidth=function(t,e){Dt[t].mediaBox.topRightX=e*St+Dt[t].mediaBox.bottomLeftX},Dr=b.getPageHeight=function(t){return(Dt[t=t||Z].mediaBox.topRightY-Dt[t].mediaBox.bottomLeftY)/St},Rr=b.setPageHeight=function(t,e){Dt[t].mediaBox.topRightY=e*St+Dt[t].mediaBox.bottomLeftY};return b.internal={pdfEscape:Fe,getStyle:Qe,getFont:ur,getFontSize:mt,getCharSpace:_r,getTextColor:xr,getLineHeight:pr,getLineHeightFactor:mr,getLineWidth:fr,write:lt,getHorizontalCoordinate:vr,getVerticalCoordinate:br,getCoordinateString:yr,getVerticalCoordinateString:wr,collections:{},newObject:Jt,newAdditionalObject:Zt,newObjectDeferred:Xt,newObjectDeferredBegin:Kt,getFilters:re,putStream:ne,events:Rt,scaleFactor:St,pageSize:{getWidth:function(){return Er(Z)},setWidth:function(t){qr(Z,t)},getHeight:function(){return Dr(Z)},setHeight:function(t){Rr(Z,t)}},encryptionOptions:g,encryption:Ge,getEncryptor:Ye,output:We,getNumberOfPages:Me,pages:at,out:ht,f2:D,f3:R,getPageInfo:Je,getPageInfoByObjId:Xe,getCurrentPageInfo:Ke,getPDFVersion:w,Point:Fr,Rectangle:Cr,Matrix:Wt,hasHotfix:Ve},Object.defineProperty(b.internal.pageSize,\"width\",{get:function(){return Er(Z)},set:function(t){qr(Z,t)},enumerable:!0,configurable:!0}),Object.defineProperty(b.internal.pageSize,\"height\",{get:function(){return Dr(Z)},set:function(t){Rr(Z,t)},enumerable:!0,configurable:!0}),Pe.call(b,dt),xt=\"F1\",je(o,n),Rt.publish(\"initialized\"),b}k.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},k.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},k.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},k.prototype.processOwnerPassword=function(t,e){return _(A(e).substr(0,5),t)},k.prototype.encryptor=function(t,e){var r=A(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return _(r,t)}},C.prototype.equals=function(t){var e,r=\"id,objectNumber,equals\";if(!t||typeof t!=typeof this)return!1;var n=0;for(e in this)if(!(r.indexOf(e)>=0)){if(this.hasOwnProperty(e)&&!t.hasOwnProperty(e))return!1;if(this[e]!==t[e])return!1;n++}for(e in t)t.hasOwnProperty(e)&&r.indexOf(e)<0&&n--;return 0===n},M.API={events:[]},M.version=\"2.5.0\";var E=M.API,q=1,D=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},R=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},T=function(t){return t.toFixed(2)},z=function(t){return t.toFixed(5)};E.__acroform__={};var U=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},H=function(t){return t*q},W=function(t){var e=new ct,r=Lt.internal.getHeight(t)||0,n=Lt.internal.getWidth(t)||0;return e.BBox=[0,0,Number(T(n)),Number(T(r))],e},V=E.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},G=E.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},Y=E.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},J=E.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return Y(t,e-1)},X=E.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return V(t,e-1)},K=E.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return G(t,e-1)},Z=E.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],c={};return c.lowerLeft_X=r(i)||0,c.lowerLeft_Y=n(a+s)||0,c.upperRight_X=r(i+o)||0,c.upperRight_Y=n(a)||0,[Number(T(c.lowerLeft_X)),Number(T(c.lowerLeft_Y)),Number(T(c.upperRight_X)),Number(T(c.upperRight_Y))]},$=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=Q(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+T(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=W(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},Q=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \");i=t.multiline?i.map((function(t){return t.split(\"\\n\")})):i.map((function(t){return[t]}));var a=r,o=Lt.internal.getHeight(t)||0;o=o<0?-o:o;var s=Lt.internal.getWidth(t)||0;s=s<0?-s:s;var c=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1][0];return tt(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var u,h,l=tt(\"3\",t,a).height,f=t.multiline?o-a:(o-l)/2,d=f+=2,p=0,g=0,m=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+tt(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}for(var v=\"\",b=0,y=0;y<i.length;y++)if(i.hasOwnProperty(y)){var w=!1;if(1!==i[y].length&&m!==i[y].length-1){if((l+2)*(b+2)+2>o)continue t;v+=i[y][m],w=!0,g=y,y--}else{v=\" \"==(v+=i[y][m]+\" \").substr(v.length-1)?v.substr(0,v.length-1):v;var N=parseInt(y),L=c(N,v,a),A=y>=i.length-1;if(L&&!A){v+=\" \",m=0;continue}if(L||A){if(A)g=N;else if(t.multiline&&(l+2)*(b+2)+2>o)continue t}else{if(!t.multiline)continue t;if((l+2)*(b+2)+2>o)continue t;g=N}}for(var x=\"\",S=p;S<=g;S++){var _=i[S];if(t.multiline){if(S===g){x+=_[m]+\" \",m=(m+1)%_.length;continue}if(S===p){x+=_[_.length-1]+\" \";continue}}x+=_[0]+\" \"}switch(x=\" \"==x.substr(x.length-1)?x.substr(0,x.length-1):x,h=tt(x,t,a).width,t.textAlign){case\"right\":u=s-h-2;break;case\"center\":u=(s-h)/2;break;case\"left\":default:u=2}e+=T(u)+\" \"+T(d)+\" Td\\n\",e+=\"(\"+D(x)+\") Tj\\n\",e+=-T(u)+\" 0 Td\\n\",d=-(a+2),h=0,p=w?g:g+1,b++,v=\"\"}else;break}return n.text=e,n.fontSize=a,n},tt=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},et={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},rt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},nt=function(t,e){for(var r in t)if(t.hasOwnProperty(r)){var n=r,i=t[r];e.internal.newObjectDeferredBegin(i.objId,!0),\"object\"==typeof i&&\"function\"==typeof i.putStream&&i.putStream(),delete t[n]}},it=function(t,e){if(e.scope=t,void 0!==t.internal&&(void 0===t.internal.acroformPlugin||!1===t.internal.acroformPlugin.isInitialized)){if(ht.FieldNum=0,t.internal.acroformPlugin=JSON.parse(JSON.stringify(et)),t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");q=t.internal.scaleFactor,t.internal.acroformPlugin.acroFormDictionaryRoot=new ut,t.internal.acroformPlugin.acroFormDictionaryRoot.scope=t,t.internal.acroformPlugin.acroFormDictionaryRoot._eventID=t.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(t)})),t.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&rt(n,t)}}(t)})),t.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(t)})),t.internal.events.subscribe(\"postPutPages\",(function(e){!function(t,e){var r=!t;for(var n in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(n)){var i=t[n],a=[],o=i.Rect;if(i.Rect&&(i.Rect=Z(i.Rect,e)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=Lt.createDefaultAppearanceStream(i),\"object\"==typeof i&&\"function\"==typeof i.getKeyValueListForStream&&(a=i.getKeyValueListForStream()),i.Rect=o,i.hasAppearanceStream&&!i.appearanceStreamContent){var s=$(i);a.push({key:\"AP\",value:\"<</N \"+s+\">>\"}),e.internal.acroformPlugin.xForms.push(s)}if(i.appearanceStreamContent){var c=\"\";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var h=i.appearanceStreamContent[u];if(c+=\"/\"+u+\" \",c+=\"<<\",Object.keys(h).length>=1||Array.isArray(h)){for(var n in h)if(h.hasOwnProperty(n)){var l=h[n];\"function\"==typeof l&&(l=l.call(e,i)),c+=\"/\"+n+\" \"+l+\" \",e.internal.acroformPlugin.xForms.indexOf(l)>=0||e.internal.acroformPlugin.xForms.push(l)}}else\"function\"==typeof(l=h)&&(l=l.call(e,i)),c+=\"/\"+n+\" \"+l,e.internal.acroformPlugin.xForms.indexOf(l)>=0||e.internal.acroformPlugin.xForms.push(l);c+=\">>\"}a.push({key:\"AP\",value:\"<<\\n\"+c+\">>\"})}e.internal.putStream({additionalKeyValues:a,objectId:i.objId}),e.internal.out(\"endobj\")}r&&nt(e.internal.acroformPlugin.xForms,e)}(e,t)})),t.internal.acroformPlugin.isInitialized=!0}},at=E.__acroform__.arrayToPdfArray=function(t,e,r){var n=function(t){return t};if(Array.isArray(t)){for(var i=\"[\",a=0;a<t.length;a++)switch(0!==a&&(i+=\" \"),typeof t[a]){case\"boolean\":case\"number\":case\"object\":i+=t[a].toString();break;case\"string\":\"/\"!==t[a].substr(0,1)?(void 0!==e&&r&&(n=r.internal.getEncryptor(e)),i+=\"(\"+D(n(t[a].toString()))+\")\"):i+=t[a].toString()}return i+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var ot=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+D(n(t))+\")\"},st=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};st.prototype.toString=function(){return this.objId+\" 0 R\"},st.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},st.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:at(i,this.objId,this.scope)}):i instanceof st?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ct=function(){st.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};U(ct,st);var ut=function(){st.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+D(e(t))+\")\"}},set:function(e){t=e}})};U(ut,st);var ht=function t(){st.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(e,3))},set:function(t){!0===Boolean(t)?this.F=X(e,3):this.F=K(e,3)}});var r=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');r=t}});var n=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==n.length)return n},set:function(t){n=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[0])?0:n[0]},set:function(t){n[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[1])?0:n[1]},set:function(t){n[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[2])?0:n[2]},set:function(t){n[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[3])?0:n[3]},set:function(t){n[3]=t}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof bt)return;a=\"FieldObject\"+t.FieldNum++}var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+D(e(a))+\")\"},set:function(t){a=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var c=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/q:u},set:function(t){u=t}});var h=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return h},set:function(t){h=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof bt||this instanceof wt))return ot(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof gt==!1?ot(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof gt==!1?\"(\"===t.substr(0,1)?R(t.substr(1,t.length-2)):R(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof gt==!0?R(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof gt==!0?\"/\"+t:t}});var d=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(d)return d},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(d)return this instanceof gt==!1?ot(d,this.objId,this.scope):d},set:function(t){t=t.toString(),d=this instanceof gt==!1?\"(\"===t.substr(0,1)?R(t.substr(1,t.length-2)):R(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof gt==!0?R(d.substr(1,d.length-1)):d},set:function(t){t=t.toString(),d=this instanceof gt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var p,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(p)return p},set:function(t){p=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,1):this.Ff=K(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,2):this.Ff=K(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,3):this.Ff=K(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;case\"left\":case 0:default:m=0}}})};U(ht,st);var lt=function(){ht.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return at(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,18):this.Ff=K(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=X(this.Ff,19):this.Ff=K(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=X(this.Ff,20),e.sort()):this.Ff=K(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,22):this.Ff=K(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,23):this.Ff=K(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,27):this.Ff=K(this.Ff,27)}}),this.hasAppearanceStream=!1};U(lt,ht);var ft=function(){lt.call(this),this.fontName=\"helvetica\",this.combo=!1};U(ft,lt);var dt=function(){ft.call(this),this.combo=!0};U(dt,ft);var pt=function(){dt.call(this),this.edit=!0};U(pt,dt);var gt=function(){ht.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,15):this.Ff=K(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,16):this.Ff=K(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,17):this.Ff=K(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,26):this.Ff=K(this.Ff,26)}});var t,e={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(e).length){var r,n=[];for(r in n.push(\"<<\"),e)n.push(\"/\"+r+\" (\"+D(t(e[r]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(t){\"object\"==typeof t&&(e=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return e.CA||\"\"},set:function(t){\"string\"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t=\"/\"+e}})};U(gt,ht);var mt=function(){gt.call(this),this.pushButton=!0};U(mt,gt);var vt=function(){gt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};U(vt,gt);var bt=function(){var t,e;ht.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var r,n={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),n)r.push(\"/\"+e+\" (\"+D(t(n[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(t){\"object\"==typeof t&&(n=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return n.CA||\"\"},set:function(t){\"string\"==typeof t&&(n.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return r.substr(1,r.length-1)},set:function(t){r=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=Lt.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};U(bt,ht),vt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},vt.prototype.createOption=function(t){var e=new bt;return e.Parent=this,e.optionName=t,this.Kids.push(e),At.call(this.scope,e),e};var yt=function(){gt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=Lt.CheckBox.createAppearanceStream()};U(yt,gt);var wt=function(){ht.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,13):this.Ff=K(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,21):this.Ff=K(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,23):this.Ff=K(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,24):this.Ff=K(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,25):this.Ff=K(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,26):this.Ff=K(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};U(wt,ht);var Nt=function(){wt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(J(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=X(this.Ff,14):this.Ff=K(this.Ff,14)}}),this.password=!0};U(Nt,wt);var Lt={CheckBox:{createAppearanceStream:function(){return{N:{On:Lt.CheckBox.YesNormal},D:{On:Lt.CheckBox.YesPushDown,Off:Lt.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=W(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=Q(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+T(Lt.internal.getWidth(t))+\" \"+T(Lt.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+T(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=W(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=Lt.internal.getHeight(t),o=Lt.internal.getWidth(t),s=Q(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+T(o)+\" \"+T(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+T(o-1)+\" \"+T(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+T(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=W(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+T(Lt.internal.getWidth(t))+\" \"+T(Lt.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:Lt.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=Lt.RadioButton.Circle.YesNormal,e.D[t]=Lt.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=W(t);e.scope=t.scope;var r=[],n=Lt.internal.getWidth(t)<=Lt.internal.getHeight(t)?Lt.internal.getWidth(t)/4:Lt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Lt.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+z(Lt.internal.getWidth(t)/2)+\" \"+z(Lt.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=W(t);e.scope=t.scope;var r=[],n=Lt.internal.getWidth(t)<=Lt.internal.getHeight(t)?Lt.internal.getWidth(t)/4:Lt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*Lt.internal.Bezier_C).toFixed(5)),o=Number((n*Lt.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(Lt.internal.getWidth(t)/2)+\" \"+z(Lt.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(Lt.internal.getWidth(t)/2)+\" \"+z(Lt.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=W(t);e.scope=t.scope;var r=[],n=Lt.internal.getWidth(t)<=Lt.internal.getHeight(t)?Lt.internal.getWidth(t)/4:Lt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*Lt.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(Lt.internal.getWidth(t)/2)+\" \"+z(Lt.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:Lt.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=Lt.RadioButton.Cross.YesNormal,e.D[t]=Lt.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=W(t);e.scope=t.scope;var r=[],n=Lt.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+T(Lt.internal.getWidth(t)-2)+\" \"+T(Lt.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(T(n.x1.x)+\" \"+T(n.x1.y)+\" m\"),r.push(T(n.x2.x)+\" \"+T(n.x2.y)+\" l\"),r.push(T(n.x4.x)+\" \"+T(n.x4.y)+\" m\"),r.push(T(n.x3.x)+\" \"+T(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=W(t);e.scope=t.scope;var r=Lt.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+T(Lt.internal.getWidth(t))+\" \"+T(Lt.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+T(Lt.internal.getWidth(t)-2)+\" \"+T(Lt.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(T(r.x1.x)+\" \"+T(r.x1.y)+\" m\"),n.push(T(r.x2.x)+\" \"+T(r.x2.y)+\" l\"),n.push(T(r.x4.x)+\" \"+T(r.x4.y)+\" m\"),n.push(T(r.x3.x)+\" \"+T(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=W(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+T(Lt.internal.getWidth(t))+\" \"+T(Lt.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};Lt.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=Lt.internal.getWidth(t),r=Lt.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},Lt.internal.getWidth=function(t){var e=0;return\"object\"==typeof t&&(e=H(t.Rect[2])),e},Lt.internal.getHeight=function(t){var e=0;return\"object\"==typeof t&&(e=H(t.Rect[3])),e};var At=E.addField=function(t){if(it(this,t),!(t instanceof ht))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};E.AcroFormChoiceField=lt,E.AcroFormListBox=ft,E.AcroFormComboBox=dt,E.AcroFormEditBox=pt,E.AcroFormButton=gt,E.AcroFormPushButton=mt,E.AcroFormRadioButton=vt,E.AcroFormCheckBox=yt,E.AcroFormTextField=wt,E.AcroFormPasswordField=Nt,E.AcroFormAppearance=Lt,E.AcroForm={ChoiceField:lt,ListBox:ft,ComboBox:dt,EditBox:pt,Button:gt,PushButton:mt,RadioButton:vt,CheckBox:yt,TextField:wt,PasswordField:Nt,Appearance:Lt},M.AcroForm={ChoiceField:lt,ListBox:ft,ComboBox:dt,EditBox:pt,Button:gt,PushButton:mt,RadioButton:vt,CheckBox:yt,TextField:wt,PasswordField:Nt,Appearance:Lt};var xt=M.AcroForm;\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */function St(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(t){t.__addimage__={};var e=\"UNKNOWN\",r={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},n=t.__addimage__.getImageFileTypeByImageData=function(t,n){var i,a,o,s,c,u=e;if(\"RGBA\"===(n=n||e)||void 0!==t.data&&t.data instanceof Uint8ClampedArray&&\"height\"in t&&\"width\"in t)return\"RGBA\";if(A(t))for(c in r)for(o=r[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){u=c;break}}else for(c in r)for(o=r[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){u=c;break}}return u===e&&n!==e&&(u=n),u},i=function t(e){for(var r=this.internal.write,n=this.internal.putStream,i=(0,this.internal.getFilters)();-1!==i.indexOf(\"FlateEncode\");)i.splice(i.indexOf(\"FlateEncode\"),1);e.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.width}),a.push({key:\"Height\",value:e.height}),e.colorSpace===v.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.palette.length/3-1)+\" \"+(\"sMask\"in e&&void 0!==e.sMask?e.objectId+2:e.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.colorSpace}),e.colorSpace===v.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bitsPerComponent}),\"decodeParameters\"in e&&void 0!==e.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+e.decodeParameters+\">>\"}),\"transparency\"in e&&Array.isArray(e.transparency)){for(var o=\"\",s=0,c=e.transparency.length;s<c;s++)o+=e.transparency[s]+\" \"+e.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==e.sMask&&a.push({key:\"SMask\",value:e.objectId+1+\" 0 R\"});var u=void 0!==e.filter?[\"/\"+e.filter]:void 0;if(n({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:u,objectId:e.objectId}),r(\"endobj\"),\"sMask\"in e&&void 0!==e.sMask){var h=\"/Predictor \"+e.predictor+\" /Colors 1 /BitsPerComponent \"+e.bitsPerComponent+\" /Columns \"+e.width,l={width:e.width,height:e.height,colorSpace:\"DeviceGray\",bitsPerComponent:e.bitsPerComponent,decodeParameters:h,data:e.sMask};\"filter\"in e&&(l.filter=e.filter),t.call(this,l)}if(e.colorSpace===v.INDEXED){var f=this.internal.newObject();n({data:S(new Uint8Array(e.palette)),objectId:f}),r(\"endobj\")}},a=function(){var t=this.internal.collections.addImage_images;for(var e in t)i.call(this,t[e])},o=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},s=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",a),this.internal.events.subscribe(\"putXobjectDict\",o))},u=function(){var t=this.internal.collections.addImage_images;return s.call(this),t},h=function(){return Object.keys(this.internal.collections.addImage_images).length},l=function(e){return\"function\"==typeof t[\"process\"+e.toUpperCase()]},f=function(t){return\"object\"==typeof t&&1===t.nodeType},d=function(e,r){if(\"IMG\"===e.nodeName&&e.hasAttribute(\"src\")){var n=\"\"+e.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return c(unescape(n).split(\"base64,\").pop());var i=t.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===e.nodeName){if(0===e.width||0===e.height)throw new Error(\"Given canvas must have data. Canvas width: \"+e.width+\", height: \"+e.height);var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return c(e.toDataURL(a,1).split(\"base64,\").pop())}},p=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},g=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},m=function(t,e,r,n,i,a){var o=g.call(this,r,n,i),s=this.internal.getCoordinateString,c=this.internal.getVerticalCoordinateString,h=u.call(this);if(r=o[0],n=o[1],h[i.index]=i,a){a*=Math.PI/180;var l=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(l),d(f),d(-1*f),d(l),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),c(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),c(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},v=t.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};t.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var b=t.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},y=t.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(A(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},w=t.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},N=t.__addimage__.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),r=null;if(2===e.length){var n=/^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(n)&&(r={mimeType:n[1],charset:n[2],data:e[1]})}return r},L=t.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};t.__addimage__.isArrayBuffer=function(t){return L()&&t instanceof ArrayBuffer};var A=t.__addimage__.isArrayBufferView=function(t){return L()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},x=t.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},S=t.__addimage__.arrayBufferToBinaryString=function(t){for(var e=\"\",r=A(t)?t:new Uint8Array(t),n=0;n<r.length;n+=8192)e+=String.fromCharCode.apply(null,r.subarray(n,n+8192));return e};t.addImage=function(){var t,r,n,i,a,o,c,u,h;if(\"number\"==typeof arguments[1]?(r=e,n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],c=arguments[5],u=arguments[6],h=arguments[7]):(r=arguments[1],n=arguments[2],i=arguments[3],a=arguments[4],o=arguments[5],c=arguments[6],u=arguments[7],h=arguments[8]),\"object\"==typeof(t=arguments[0])&&!f(t)&&\"imageData\"in t){var l=t;t=l.imageData,r=l.format||r||e,n=l.x||n||0,i=l.y||i||0,a=l.w||l.width||a,o=l.h||l.height||o,c=l.alias||c,u=l.compression||u,h=l.rotation||l.angle||h}var d=this.internal.getFilters();if(void 0===u&&-1!==d.indexOf(\"FlateEncode\")&&(u=\"SLOW\"),isNaN(n)||isNaN(i))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");s.call(this);var p=_.call(this,t,r,c,u);return m.call(this,n,i,a,o,p,h),this};var _=function(r,i,a,o){var s,c,u;if(\"string\"==typeof r&&n(r)===e){r=unescape(r);var g=P(r,!1);(\"\"!==g||void 0!==(g=t.loadFile(r,!0)))&&(r=g)}if(f(r)&&(r=d(r,i)),i=n(r,i),!l(i))throw new Error(\"addImage does not support files of type '\"+i+\"', please ensure that a plugin for '\"+i+\"' support is added.\");if((null==(u=a)||0===u.length)&&(a=function(t){return\"string\"==typeof t||A(t)?y(t):A(t.data)?y(t.data):null}(r)),(s=p.call(this,a))||(L()&&(r instanceof Uint8Array||\"RGBA\"===i||(c=r,r=x(r))),s=this[\"process\"+i.toUpperCase()](r,h.call(this),a,function(e){return e&&\"string\"==typeof e&&(e=e.toUpperCase()),e in t.image_compression?e:b.NONE}(o),c)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},P=t.__addimage__.convertBase64ToBinaryString=function(t,e){var r;e=\"boolean\"!=typeof e||e;var n,i=\"\";if(\"string\"==typeof t){n=null!==(r=N(t))?r.data:t;try{i=c(n)}catch(t){if(e)throw w(n)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return i};t.getImageProperties=function(r){var i,a,o=\"\";if(f(r)&&(r=d(r)),\"string\"==typeof r&&n(r)===e&&(\"\"===(o=P(r,!1))&&(o=t.loadFile(r)||\"\"),r=o),a=n(r),!l(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!L()||r instanceof Uint8Array||(r=x(r)),!(i=this[\"process\"+a.toUpperCase()](r)))throw new Error(\"An unknown error occurred whilst processing the image\");return i.fileType=a,i}}(M.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};M.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),c=t.pageContext.annotations,u=!1,h=0;h<c.length&&!u;h++)switch((r=c[h]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(u=!0);break;case\"reference\":case\"text\":case\"freetext\":u=!0}if(0!=u){this.internal.write(\"/Annots [\");for(var l=0;l<c.length;l++){r=c[l];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var c=this.splitTextToSize(t,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,\"center\"===n.align&&(e-=o/2),\"right\"===n.align&&(e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(M.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},c=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var u=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var h=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},l=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!u(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&c(e)||s(t)&&s(e)?0:h(t)&&o(e)&&!s(e)&&o(r)&&u(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",c=\"\",u=(t=t||\"\").split(\"\\\\s+\"),h=[];for(r=0;r<u.length;r+=1){for(h.push(\"\"),n=0;n<u[r].length;n+=1)a=u[r][n],s=u[r][n-1],c=u[r][n+1],o(a)?(i=f(a,s,c),h[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):h[r]+=a;h[r]=l(h[r])}return h.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(M.API),M.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(M.API),\n/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e={left:0,top:0,bottom:0,right:0},r=!1,n=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},e),this.internal.__cell__.margins.width=this.getPageWidth(),i.call(this))},i=function(){this.internal.__cell__.lastCell=new a,this.internal.__cell__.pages=1},a=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};a.prototype.clone=function(){return new a(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},a.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},t.setHeaderFunction=function(t){return n.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},t.getTextDimensions=function(t,e){n.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),i=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,u=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}var h=e.maxWidth;h>0?\"string\"==typeof t?t=this.splitTextToSize(t,h):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(u.splitTextToSize(e,h))}),[])):t=Array.isArray(t)?t:[t];for(var l=0;l<t.length;l++)o<(c=this.getStringUnitWidth(t[l],{font:i})*r)&&(o=c);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},t.cellAddPage=function(){n.call(this),this.addPage();var t=this.internal.__cell__.margins||e;return this.internal.__cell__.lastCell=new a(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var o=t.cell=function(){var t;t=arguments[0]instanceof a?arguments[0]:new a(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),n.call(this);var i=this.internal.__cell__.lastCell,o=this.internal.__cell__.padding,s=this.internal.__cell__.margins||e,c=this.internal.__cell__.tableHeaderRow,u=this.internal.__cell__.printHeaders;return void 0!==i.lineNumber&&(i.lineNumber===t.lineNumber?(t.x=(i.x||0)+(i.width||0),t.y=i.y||0):i.y+i.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,u&&c&&(this.printHeaderRow(t.lineNumber,!0),t.y+=c[0].height)):t.y=i.y+i.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===r?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-o,t.y+o,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+o,{align:\"center\",baseline:\"top\",maxWidth:t.width-o-o}):this.text(t.text,t.x+o,t.y+o,{align:\"left\",baseline:\"top\",maxWidth:t.width-o-o})),this.internal.__cell__.lastCell=t,this};t.table=function(t,r,c,u,h){if(n.call(this),!c)throw new Error(\"No data for PDF table.\");var l,f,d,p,g=[],m=[],v=[],b={},y={},w=[],N=[],L=(h=h||{}).autoSize||!1,A=!1!==h.printHeaders,x=h.css&&void 0!==h.css[\"font-size\"]?16*h.css[\"font-size\"]:h.fontSize||12,S=h.margins||Object.assign({width:this.getPageWidth()},e),_=\"number\"==typeof h.padding?h.padding:3,P=h.headerBackgroundColor||\"#c8c8c8\",k=h.headerTextColor||\"#000\";if(i.call(this),this.internal.__cell__.printHeaders=A,this.internal.__cell__.margins=S,this.internal.__cell__.table_font_size=x,this.internal.__cell__.padding=_,this.internal.__cell__.headerBackgroundColor=P,this.internal.__cell__.headerTextColor=k,this.setFontSize(x),null==u)m=g=Object.keys(c[0]),v=g.map((function(){return\"left\"}));else if(Array.isArray(u)&&\"object\"==typeof u[0])for(g=u.map((function(t){return t.name})),m=u.map((function(t){return t.prompt||t.name||\"\"})),v=u.map((function(t){return t.align||\"left\"})),l=0;l<u.length;l+=1)y[u[l].name]=u[l].width*(19.049976/25.4);else Array.isArray(u)&&\"string\"==typeof u[0]&&(m=g=u,v=g.map((function(){return\"left\"})));if(L||Array.isArray(u)&&\"string\"==typeof u[0])for(l=0;l<g.length;l+=1){for(b[p=g[l]]=c.map((function(t){return t[p]})),this.setFont(void 0,\"bold\"),w.push(this.getTextDimensions(m[l],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),f=b[p],this.setFont(void 0,\"normal\"),d=0;d<f.length;d+=1)w.push(this.getTextDimensions(f[d],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);y[p]=Math.max.apply(null,w)+_+_,w=[]}if(A){var I={};for(l=0;l<g.length;l+=1)I[g[l]]={},I[g[l]].text=m[l],I[g[l]].align=v[l];var F=s.call(this,I,y);N=g.map((function(e){return new a(t,r,y[e],F,I[e].text,void 0,I[e].align)})),this.setTableHeaderRow(N),this.printHeaderRow(1,!1)}var C=u.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(l=0;l<c.length;l+=1){\"rowStart\"in h&&h.rowStart instanceof Function&&h.rowStart({row:l,data:c[l]},this);var j=s.call(this,c[l],y);for(d=0;d<g.length;d+=1){var O=c[l][g[d]];\"cellStart\"in h&&h.cellStart instanceof Function&&h.cellStart({row:l,col:d,data:O},this),o.call(this,new a(t,r,y[g[d]],j,O,l+2,C[g[d]]))}}return this.internal.__cell__.table_x=t,this.internal.__cell__.table_y=r,this};var s=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};t.setTableHeaderRow=function(t){n.call(this),this.internal.__cell__.tableHeaderRow=t},t.printHeaderRow=function(t,e){if(n.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var i;if(r=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var s=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new a(s[0],s[1],s[2],s[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var c=[],u=0;u<this.internal.__cell__.tableHeaderRow.length;u+=1){i=this.internal.__cell__.tableHeaderRow[u].clone(),e&&(i.y=this.internal.__cell__.margins.top||0,c.push(i)),i.lineNumber=t;var h=this.getTextColor();this.setTextColor(this.internal.__cell__.headerTextColor),this.setFillColor(this.internal.__cell__.headerBackgroundColor),o.call(this,i),this.setTextColor(h)}c.length>0&&this.setTableHeaderRow(c),this.setFont(void 0,\"normal\"),r=!1}}(M.API);var _t={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},Pt=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],kt=St(Pt),It=[100,200,300,400,500,600,700,800,900],Ft=St(It);function Ct(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return _t[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof kt[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function jt(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Ot={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},Bt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Mt(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function Et(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Ot,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=Ct(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Mt(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=kt[t],n=r<=kt.normal?-1:1,i=jt(e,Pt,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=_t[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=Ft[t],n=jt(e,It,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Mt(a)+\"'.\");return o}function qt(t){return t.trimLeft()}function Dt(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function Rt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Tt,zt,Ut,Ht=[\"times\"];!function(t){var e,r,n,a,o,s,c,u,h,f=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new u,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new s,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new s,this.lineDashOffset=t.lineDashOffset||0,this.lineDash=t.lineDash||[],this.margin=t.margin||[0,0,0,0],this.prevPageLastElemOffset=t.prevPageLastElemOffset||0,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};t.events.push([\"initialized\",function(){this.context2d=new d(this),e=this.internal.f2,r=this.internal.getCoordinateString,n=this.internal.getVerticalCoordinateString,a=this.internal.getHorizontalCoordinate,o=this.internal.getVerticalCoordinate,s=this.internal.Point,c=this.internal.Rectangle,u=this.internal.Matrix,h=new f}]);var d=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}}),Object.defineProperty(this,\"margin\",{get:function(){return h.margin},set:function(t){var e;\"number\"==typeof t?e=[t,t,t,t]:((e=new Array(4))[0]=t[0],e[1]=t.length>=2?t[1]:e[0],e[2]=t.length>=3?t[2]:e[0],e[3]=t.length>=4?t[3]:e[1]),h.margin=e}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var c=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return h},set:function(t){t instanceof f&&(h=t)}}),Object.defineProperty(this,\"path\",{get:function(){return h.path},set:function(t){h.path=t}});var u=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=p(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=p(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var l=null;function d(t,e){if(null===l){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());l=function(t){for(var e={},r=0;r<t.length;++r){var n=Ct(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return l}var g=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return g},set:function(t){l=null,g=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1],n=(e[2],e[3]),i=e[4],a=(e[5],e[6]),o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Ht;if(i in Bt)return[Bt[i]];for(;\"\"!==i;){switch(r=null,e=(i=qt(i)).charAt(0)){case'\"':case\"'\":r=Dt(i.substring(1),e);break;default:r=Rt(i)}if(null===r)return Ht;if(n.push(r[0]),\"\"!==(i=qt(r[1]))&&\",\"!==i.charAt(0))return Ht;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var c=Et(d(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(c.ref.name,c.ref.style)}else{var u=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(u=\"bold\"),\"italic\"===r&&(u+=\"italic\"),0===u.length&&(u=\"normal\");for(var h=\"\",l={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},f=0;f<s.length;f++){if(void 0!==this.pdf.internal.getFont(s[f],u,{noFallback:!0,disableWarning:!0})){h=s[f];break}if(\"bolditalic\"===u&&void 0!==this.pdf.internal.getFont(s[f],\"bold\",{noFallback:!0,disableWarning:!0}))h=s[f],u=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[f],\"normal\",{noFallback:!0,disableWarning:!0})){h=s[f],u=\"normal\";break}}if(\"\"===h)for(var p=0;p<s.length;p++)if(l[s[p]]){h=l[s[p]];break}h=\"\"===h?\"Times\":h,this.pdf.setFont(h,u)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"lineDashOffset\",{get:function(){return this.ctx.lineDashOffset},set:function(t){this.ctx.lineDashOffset=t,R.call(this)}}),Object.defineProperty(this,\"lineDash\",{get:function(){return this.ctx.lineDash},set:function(t){this.ctx.lineDash=t,R.call(this)}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};d.prototype.setLineDash=function(t){this.lineDash=t},d.prototype.getLineDash=function(){return this.lineDash.length%2?this.lineDash.concat(this.lineDash):this.lineDash.slice()},d.prototype.fill=function(){L.call(this,\"fill\",!1)},d.prototype.stroke=function(){L.call(this,\"stroke\",!1)},d.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},d.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new s(t,e)},d.prototype.closePath=function(){var t=new s(0,0),e=0;for(e=this.path.length-1;-1!==e;e--)if(\"begin\"===this.path[e].type&&\"object\"==typeof this.path[e+1]&&\"number\"==typeof this.path[e+1].x){t=new s(this.path[e+1].x,this.path[e+1].y);break}this.path.push({type:\"close\"}),this.ctx.lastPoint=new s(t.x,t.y)},d.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new s(r.x,r.y)},d.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),L.call(this,null,!0)},d.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var a=this.ctx.transform.applyToPoint(new s(r,n)),o=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:a.x,y:a.y}),this.ctx.lastPoint=new s(a.x,a.y)},d.prototype.bezierCurveTo=function(t,e,r,n,a,o){if(isNaN(a)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var c=this.ctx.transform.applyToPoint(new s(a,o)),u=this.ctx.transform.applyToPoint(new s(t,e)),h=this.ctx.transform.applyToPoint(new s(r,n));this.path.push({type:\"bct\",x1:u.x,y1:u.y,x2:h.x,y2:h.y,x:c.x,y:c.y}),this.ctx.lastPoint=new s(c.x,c.y)},d.prototype.arc=function(t,e,r,n,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(a))throw i.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var c=this.ctx.transform.applyToPoint(new s(t,e));t=c.x,e=c.y;var u=this.ctx.transform.applyToPoint(new s(0,r)),h=this.ctx.transform.applyToPoint(new s(0,0));r=Math.sqrt(Math.pow(u.x-h.x,2)+Math.pow(u.y-h.y,2))}Math.abs(a-n)>=2*Math.PI&&(n=0,a=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:a,counterclockwise:o})},d.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},d.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},d.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!g.call(this)){var a={};\"butt\"!==this.lineCap&&(a.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(a.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),a.hasOwnProperty(\"lineCap\")&&(this.lineCap=a.lineCap),a.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=a.lineJoin)}},d.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");m.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},d.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},d.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new f(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},d.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin,this.lineDash=this.ctx.lineDash,this.lineDashOffset=this.ctx.lineDashOffset)},d.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var p=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new l(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},g=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},m=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};d.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!g.call(this)){var a=E(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;F.call(this,{text:t,x:e,y:r,scale:o,angle:a,align:this.textAlign,maxWidth:n})}},d.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!m.call(this)){n=isNaN(n)?void 0:n;var a=E(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;F.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:a,align:this.textAlign,maxWidth:n})}},d.prototype.measureText=function(t){if(\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),a=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:a*=Math.round(96*r/72*1e4)/1e4})},d.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new u(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},d.prototype.rotate=function(t){if(isNaN(t))throw i.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new u(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},d.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new u(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},d.prototype.transform=function(t,e,r,n,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(a)||isNaN(o))throw i.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new u(t,e,r,n,a,o);this.ctx.transform=this.ctx.transform.multiply(s)},d.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new u(t,e,r,n,i,a)};var v=function(){return this.margin[0]>0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};d.prototype.drawImage=function(t,e,r,n,i,a,o,s,h){var l=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=h/i,f=l.width/n*s/n,d=l.height/i*h/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,h=i),void 0===n&&void 0===s&&(s=l.width,h=l.height);for(var m,y=this.ctx.transform.decompose(),L=E(y.rotate.shx),x=new u,S=(x=(x=(x=x.multiply(y.translate)).multiply(y.skew)).multiply(y.scale)).applyToRectangle(new c(a-e*p,o-r*g,n*f,i*d)),_=b.call(this,S),P=[],k=0;k<_.length;k+=1)-1===P.indexOf(_[k])&&P.push(_[k]);if(N(P),this.autoPaging)for(var I=P[0],F=P[P.length-1],C=I;C<F+1;C++){this.pdf.setPage(C);var j=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],O=1===C?this.posY+this.margin[0]:this.margin[0],B=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],M=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],q=1===C?0:B+(C-2)*M;if(0!==this.ctx.clip_path.length){var D=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=w(m,this.posX+this.margin[3],-q+O+this.ctx.prevPageLastElemOffset),A.call(this,\"fill\",!0),this.path=D}var R=JSON.parse(JSON.stringify(S));R=w([R],this.posX+this.margin[3],-q+O+this.ctx.prevPageLastElemOffset)[0];var T=(C>I||C<F)&&v.call(this);T&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],j,M,null).clip().discardPath()),this.pdf.addImage(t,\"JPEG\",R.x,R.y,R.w,R.h,null,null,L),T&&this.pdf.restoreGraphicsState()}else this.pdf.addImage(t,\"JPEG\",S.x,S.y,S.w,S.h,null,null,L)};var b=function(t,e,r){var n=[];e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2];var i=this.posY+this.ctx.prevPageLastElemOffset;switch(t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+i)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+i-t.radius)/r)+1),n.push(Math.floor((t.y+i+t.radius)/r)+1);break;case\"qct\":var a=q(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor((a.y+i)/r)+1),n.push(Math.floor((a.y+a.h+i)/r)+1);break;case\"bct\":var o=D(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor((o.y+i)/r)+1),n.push(Math.floor((o.y+o.h+i)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+i)/r)+1),n.push(Math.floor((t.y+t.h+i)/r)+1)}for(var s=0;s<n.length;s+=1)for(;this.pdf.internal.getNumberOfPages()<n[s];)y.call(this);return n},y=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},w=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},N=function(t){return t.sort((function(t,e){return t-e}))},L=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,c=Math.abs(s*this.ctx.transform.scaleX),u=this.lineJoin,h=JSON.parse(JSON.stringify(this.path)),l=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<l.length;d++)if(void 0!==l[d].x)for(var p=b.call(this,l[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)y.call(this);if(N(f),this.autoPaging)for(var L=f[0],x=f[f.length-1],S=L;S<x+1;S++){this.pdf.setPage(S),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=c,this.lineJoin=u;var _=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],P=1===S?this.posY+this.margin[0]:this.margin[0],k=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],I=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],F=1===S?0:k+(S-2)*I;if(0!==this.ctx.clip_path.length){var C=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=w(r,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),A.call(this,t,!0),this.path=C}if(n=JSON.parse(JSON.stringify(h)),this.path=w(n,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),!1===e||0===S){var j=(S>L||S<x)&&v.call(this);j&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],_,I,null).clip().discardPath()),A.call(this,t,e),j&&this.pdf.restoreGraphicsState()}this.lineWidth=s}else this.lineWidth=c,A.call(this,t,e),this.lineWidth=s;this.path=h},A=function(t,e){if((\"stroke\"!==t||e||!m.call(this))&&(\"stroke\"===t||e||!g.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var c=i.length;if(a[o-1]&&!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],c>0))for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(r),i[c-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var u=a[o-1].x+2/3*(s.x1-a[o-1].x),h=a[o-1].y+2/3*(s.y1-a[o-1].y),l=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[u-a[o-1].x,h-a[o-1].y,l-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var v=!1,b=0;b<i.length;b++)if(i[b].arc)for(var y=i[b].abs,w=0;w<y.length;w++){var N=y[w];\"arc\"===N.type?_.call(this,N.x,N.y,N.radius,N.startAngle,N.endAngle,N.counterclockwise,void 0,e,!v):C.call(this,N.x,N.y),v=!0}else if(!0===i[b].close)this.pdf.internal.out(\"h\"),v=!1;else if(!0!==i[b].begin){var L=i[b].start.x,A=i[b].start.y;j.call(this,i[b].deltas,L,A),v=!0}n&&P.call(this,n),e&&k.call(this)}},x=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}},S=function(t){return t+this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor*(this.pdf.internal.getLineHeightFactor()-1)};d.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},d.prototype.createPattern=function(){return this.createLinearGradient()},d.prototype.createRadialGradient=function(){return this.createLinearGradient()};var _=function(t,e,r,n,i,a,o,s,c){for(var u=B.call(this,r,n,i,a),h=0;h<u.length;h++){var l=u[h];0===h&&(c?I.call(this,l.x1+t,l.y1+e):C.call(this,l.x1+t,l.y1+e)),O.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?k.call(this):P.call(this,o)},P=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},k=function(){this.pdf.clip(),this.pdf.discardPath()},I=function(t,e){this.pdf.internal.out(r(t)+\" \"+n(e)+\" m\")},F=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.pdf.getTextDimensions(t.text),n=x.call(this,t.y),i=S.call(this,n)-r.h,a=this.ctx.transform.applyToPoint(new s(t.x,n)),o=this.ctx.transform.decompose(),h=new u;h=(h=(h=h.multiply(o.translate)).multiply(o.skew)).multiply(o.scale);for(var l,f,d,p=this.ctx.transform.applyToRectangle(new c(t.x,n,r.w,r.h)),g=h.applyToRectangle(new c(t.x,i,r.w,r.h)),m=b.call(this,g),y=[],L=0;L<m.length;L+=1)-1===y.indexOf(m[L])&&y.push(m[L]);if(N(y),this.autoPaging)for(var _=y[0],P=y[y.length-1],k=_;k<P+1;k++){this.pdf.setPage(k);var I=1===k?this.posY+this.margin[0]:this.margin[0],F=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],C=this.pdf.internal.pageSize.height-this.margin[2],j=C-this.margin[0],O=this.pdf.internal.pageSize.width-this.margin[1],B=O-this.margin[3],M=1===k?0:F+(k-2)*j;if(0!==this.ctx.clip_path.length){var E=this.path;l=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=w(l,this.posX+this.margin[3],-1*M+I),A.call(this,\"fill\",!0),this.path=E}var q=w([JSON.parse(JSON.stringify(g))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0];t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale);var D=\"text\"!==this.autoPaging;if(D||q.y+q.h<=C){if(D||q.y>=I&&q.x<=O){var R=D?t.text:this.pdf.splitTextToSize(t.text,t.maxWidth||O-q.x)[0],T=w([JSON.parse(JSON.stringify(p))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0],z=D&&(k>_||k<P)&&v.call(this);z&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],B,j,null).clip().discardPath()),this.pdf.text(R,T.x,T.y,{angle:t.angle,align:e,renderingMode:t.renderingMode}),z&&this.pdf.restoreGraphicsState()}}else q.y<C&&(this.ctx.prevPageLastElemOffset+=C-q.y);t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)}else t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale),this.pdf.text(t.text,a.x+this.posX,a.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)},C=function(t,e,i,a){i=i||0,a=a||0,this.pdf.internal.out(r(t+i)+\" \"+n(e+a)+\" l\")},j=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},O=function(t,r,n,i,s,c,u,h){this.pdf.internal.out([e(a(n+t)),e(o(i+r)),e(a(s+t)),e(o(c+r)),e(a(u+t)),e(o(h+r)),\"c\"].join(\" \"))},B=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],c=n?-1:1,u=e;o>1e-5;){var h=u+c*Math.min(o,a);s.push(M.call(this,t,u,h)),o-=Math.abs(h-u),u=h}return s},M=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,c=o*o+s*s,u=c+o*i+s*a,h=4/3*(Math.sqrt(2*c*u)-u)/(o*a-s*i),l=o-h*s,f=s+h*o,d=l,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:l*m-f*v,y2:l*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},E=function(t){return 180*t/Math.PI},q=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),u=i+.5*(r-i),h=a+.5*(n-a),l=Math.min(t,i,o,u),f=Math.max(t,i,o,u),d=Math.min(e,a,s,h),p=Math.max(e,a,s,h);return new c(l,d,f-l,p-d)},D=function(t,e,r,n,i,a,o,s){var u,h,l,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(h=0;h<41;h++)v=(g=(l=t+(u=h/40)*A)+u*((d=r+u*S)-l))+u*(d+u*(i+u*P-d)-g),b=(m=(f=e+u*x)+u*((p=n+u*_)-f))+u*(p+u*(a+u*k-p)-m),0==h?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new c(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))},R=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var t,e,r=(t=this.ctx.lineDash,e=this.ctx.lineDashOffset,JSON.stringify({lineDash:t,lineDashOffset:e}));this.prevLineDash!==r&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=r)}}}(M.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(e){var r=function(t){var e,r,n,i,a,o,s,c,u,h;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(h=a%85))/85)-(u=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,c+33,u+33,h+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",c=255,u=\"charCodeAt\",h=\"slice\",l=\"replace\";for(t[h](-2),t=t[h](0,-2)[l](/\\s/g,\"\")[l](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[h](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[u](i)-33)+614125*(t[u](i+1)-33)+7225*(t[u](i+2)-33)+85*(t[u](i+3)-33)+(t[u](i+4)-33),n.push(c&r>>24,c&r>>16,c&r>>8,c&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(e){for(var r=new Uint8Array(e.length),n=e.length;n--;)r[n]=e.charCodeAt(n);return e=(r=t(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};e.processDataByFilters=function(t,e){var o=0,s=t||\"\",c=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),c.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),c.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),c.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",c.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),c.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:c.reverse().join(\" \")}}}(M.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(M.API),\n/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){function e(){return(r.html2canvas?Promise.resolve(r.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function n(){return(r.DOMPurify?Promise.resolve(r.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var i=function(t){var e=typeof t;return\"undefined\"===e?\"undefined\":\"string\"===e||t instanceof String?\"string\":\"number\"===e||t instanceof Number?\"number\":\"function\"===e||t instanceof Function?\"function\":t&&t.constructor===Array?\"array\":t&&1===t.nodeType?\"element\":\"object\"===e?\"object\":\"unknown\"},a=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},o=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(o.prototype=Object.create(Promise.prototype)).constructor=o,o.convert=function(t,e){return t.__proto__=e||o.prototype,t},o.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},o.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(i(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(n).then((function(e){return this.set({src:a(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},o.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},o.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:(\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(n.value=e.value),n.addEventListener(\"load\",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=a(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=a(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(a(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},o.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(e).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},o.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(e).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return\"truetype\"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style)}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},o.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},o.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},o.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},o.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},o.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},o.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},o.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},o.prototype.set=function(t){if(\"object\"!==i(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in o.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},o.prototype.get=function(t,e){return this.then((function(){var r=t in o.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},o.prototype.setMargin=function(t){return this.then((function(){switch(i(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},o.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||M.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},o.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},o.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},o.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},o.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:o.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return o.convert(i,this.__proto__)},o.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},o.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},o.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return o.convert(e,this)},o.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},o.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},o.prototype.using=o.prototype.set,o.prototype.saveAs=o.prototype.save,o.prototype.export=o.prototype.output,o.prototype.run=o.prototype.then,M.getPageSize=function(t,e,r){if(\"object\"==typeof t){var n=t;t=n.orientation,e=n.unit||e,r=n.format||r}e=e||\"mm\",r=r||\"a4\",t=(\"\"+(t||\"P\")).toLowerCase();var i,a=(\"\"+r).toLowerCase(),o={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(e){case\"pt\":i=1;break;case\"mm\":i=72/25.4;break;case\"cm\":i=72/2.54;break;case\"in\":i=72;break;case\"px\":i=.75;break;case\"pc\":case\"em\":i=12;break;case\"ex\":i=6;break;default:throw\"Invalid unit: \"+e}var s,c=0,u=0;if(o.hasOwnProperty(a))c=o[a][1]/i,u=o[a][0]/i;else try{c=r[1],u=r[0]}catch(t){throw new Error(\"Invalid format: \"+r)}if(\"p\"===t||\"portrait\"===t)t=\"p\",u>c&&(s=u,u=c,c=s);else{if(\"l\"!==t&&\"landscape\"!==t)throw\"Invalid orientation: \"+t;t=\"l\",c>u&&(s=u,u=c,c=s)}return{width:u,height:c,unit:e,k:i,orientation:t}},t.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(Ct):null;var r=new o(e);return e.worker?r:r.from(t).doCallback()}}(M.API),M.API.addJS=function(t){return Ut=t,this.internal.events.subscribe(\"postPutResources\",(function(){Tt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Tt+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),zt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Ut+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Tt&&void 0!==zt&&this.internal.out(\"/Names <</JavaScript \"+Tt+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var c=this.internal.pages.length,u=[];for(i=0;i<c;i++){var h=t.internal.newObject();u.push(h);var l=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+l.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<u.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+u[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(M.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,c=this.decode.DCT_DECODE,u=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}u={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:c,index:r,alias:n}}return u}}(M.API);var Wt,Vt,Gt,Yt,Jt,Xt=function(){var t,n,i;function a(t){var e,r,n,i,a,o,s,c,u,h,l,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),u=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===u&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((h=n-this.transparency.indexed.length)>0)for(d=0;0<=h?d<h:d>h;0<=h?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(l=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,l.slice(0,s)),this.text[c]=String.fromCharCode.apply(String,l.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var r=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*r),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(e,o,s,c){var u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-e)/s),C=Math.ceil((a.height-o)/c),j=a.width==F&&a.height==C;for(L=r*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,h=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[h++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)u=t[i++],d=f<r?0:w[h-r],w[h++]=(u+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)u=t[i++],l=(f-f%r)/r,A=N&&w[(N-1)*L+l*r+f%r],w[h++]=(A+u)%256;break;case 3:for(f=k=0;k<L;f=k+=1)u=t[i++],l=(f-f%r)/r,d=f<r?0:w[h-r],A=N&&w[(N-1)*L+l*r+f%r],w[h++]=(u+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)u=t[i++],l=(f-f%r)/r,d=f<r?0:w[h-r],0===N?A=x=0:(A=w[(N-1)*L+l*r+f%r],x=l&&w[(N-1)*L+(l-1)*r+f%r]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[h++]=(u+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*c)*a.width+e)*r,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<r;M+=1)n[O++]=w[B++];O+=(s-1)*r}}N++}}return t=e(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,c;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(c=a[t++])?c:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,c,u,h,l,f;if(n=this.colors,h=null,r=this.hasAlphaChannel,this.palette.length&&(h=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),u=(i=t.data||t).length,o=h||e,a=s=0,1===n)for(;a<u;)c=h?4*e[a/4]:s,l=o[c++],i[a++]=l,i[a++]=l,i[a++]=l,i[a++]=r?o[c++]:255,s=c;else for(;a<u;)c=h?4*e[a/4]:s,i[a++]=o[c++],i[a++]=o[c++],i[a++]=o[c++],i[a++]=r?o[c++]:255,s=c},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(r)){try{n=r.document.createElement(\"canvas\"),i=n.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var e;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(e=new Image).src=n.toDataURL(),e;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,c,u;if(this.animation){for(u=[],n=o=0,s=(c=this.animation.frames).length;o<s;n=++o)r=c[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,u.push(r.image=t(i));return u}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,c;if(o=r++%i,c=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,c.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Kt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++];t[e++];var s=null,c=null;a&&(s=e,c=o,e+=3*o);var u=!0,h=[],l=0,f=null,d=0,p=null;for(this.width=r,this.height=n;u&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];l=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=c,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}h.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:l,disposal:d});break;case 59:u=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return h.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=h.length)throw new Error(\"Frame index out of range.\");return h[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Zt(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--l}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Zt(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--l}}}function Zt(t,e,r,n){for(var a=t[e++],o=1<<a,s=o+1,c=s+1,u=a+1,h=(1<<u)-1,l=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;l<16&&0!==p;)f|=t[e++]<<l,l+=8,1===p?p=t[e++]:--p;if(l<u)break;var v=f&h;if(f>>=u,l-=u,v!==o){if(v===s)break;for(var b=v<c?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void i.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&c<4096&&(g[c++]=m<<8|N,c>=h+1&&u<12&&(++u,h=h<<1|1)),m=v}else c=s+1,h=(1<<(u=a+1))-1,m=null}return d!==n&&i.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function $t(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),c=new Array(64),u=new Array(64),h=new Array(64),l=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],c=function(t,e){var r,n,i,a,o,s,c,u,h,l,f=0;for(h=0;h<8;++h){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],c=t[f+6];var p=r+(u=t[f+7]),g=r-u,m=n+c,v=n-c,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,h=0;h<8;++h){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],c=t[f+48];var O=r+(u=t[f+56]),B=r-u,M=n+c,E=n-c,q=i+s,D=i-s,R=a+o,T=a-o,z=O+R,U=O-R,H=M+q,W=M-q;t[f]=z+H,t[f+32]=z-H;var V=.707106781*(W+U);t[f+16]=U+V,t[f+48]=U-V;var G=.382683433*((z=T+D)-(W=E+B)),Y=.5411961*z+G,J=1.306562965*W+G,X=.707106781*(H=D+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(h=0;h<64;++h)l=t[h]*e[h],d[h]=l>0?l+.5|0:l-.5|0;return d}(t,e),u=0;u<64;++u)p[A[u]]=c[u];var h=p[0]-r;r=p[0],0==h?O(n[0]):(O(n[f[a=32767+h]]),O(l[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(l[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var l=o((i[a]*t+50)/100);l=Math.min(Math.max(l,1),255),c[A[a]]=l}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)u[d]=1/(s[A[d]]*f[p]*f[g]*8),h[d]=1/(c[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(c[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,l=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,D,R,T,z,U=t.data,H=t.width,W=t.height,V=4*H,G=0;G<W;){for(d=0;d<V;){for(j=V*G+d,R=-1,T=0,z=0;z<64;z++)D=j+(T=z>>3)*V+(R=4*(7&z)),G+T>=W&&(D-=V*(G+1+T-W)),d+R>=V&&(D-=d+R-V+4),p=U[D++],N=U[D++],A=U[D++],b[z]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[z]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[z]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,u,o,e,n),l=E(y,h,l,r,i),f=E(w,h,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,l[32767+n]=[],l[32767+n][1]=r,l[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,l[32767+i]=[],l[32767+i][1]=r,l[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function Qt(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function te(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}var c=function(){var t=this;function c(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function u(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function h(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var h,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,h=1;15>h;++h){if(g[h]>1<<h)return 0;m[h+1]=m[h]+g[h]}for(f=0;f<o;++f)h=i[f],0<i[f]&&(s[m[h]++]=f);if(1==m[15])return(i=new l).g=0,i.value=s[0],u(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,h=1,o=2;h<=n;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h])(i=new l).g=h,i.value=s[f++],u(t,d+w,o,A,i),w=c(w,h)}for(h=n+1,o=2;15>=h;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h]){if(i=new l,(w&y)!=b){for(d+=A,v=1<<(b=h)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=h-n,i.value=s[f++],u(t,d+(w>>n),o,A,i),w=c(w,h)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function l(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,l),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Dr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<zr-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Tr){var n=L(t)&Rr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&zr-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>zr}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=Ur&&(e(t.u>=Ur),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function D(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function R(e,r){t[r]=function(r,n,i,a,o,s,c){var u;for(u=0;u<o;++u){var h=t[e](s[c+u-1],i,a+u);s[c+u]=D(r[n+u],h)}}}function T(){this.ud=this.hd=this.jd=0}function z(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function U(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return U(t+(t-e+.5>>1))}function W(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function V(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=D(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+c>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],c=s>>>8,u=s,h=255&(h=(h=s>>>16)+((t.jd<<24>>24)*(c<<24>>24)>>>5));u=255&(u=(u=u+((t.hd<<24>>24)*(c<<24>>24)>>>5))+((t.ud<<24>>24)*(h<<24>>24)>>>5));i[a+o]=(4278255360&s)+(h<<16)+u}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,c,u,h){for(n=c;n<u;++n)for(c=0;c<h;++c)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,c,u,h){var l=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>l)for(e=(1<<e.b)-1,p=(1<<l)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[c++])),u[h++]=a(d[m&p]),m>>=l}else t[\"VP8LMapColor\"+n](s,c,d,p,u,h,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Wn||t==Vn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ct(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ut(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function ht(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],c=t.y,u=t.O,h=t.f,l=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(c,u,null,null,h,l,f,d,h,l,f,d,a,o,null,null,w):(s(e.ec,e.fc,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=h,g=l,m=f,v=d,l+=t.Rc,d+=t.Rc,o+=2*i.A,s(c,(u+=2*t.fa)-t.fa,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w);return u+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,c,u,w),n(e.cc,e.dc,h,l,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(c,u,null,null,h,l,f,d,h,l,f,d,a,o+i.A,null,null,w),r}function lt(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,c=s==Tn||s==Vn;r=r.ba.f.RGBA;var u=[0],h=t.ka;u[0]=t.T,t.Kb&&(0==h?--u[0]:(--h,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(u[0]=t.o-t.j-h));var l=r.eb;h=r.fb+h*r.A;t=Sn(i,a[0],t.width,o,u,l,h+(c?0:3),r.A),e(n==u),t&&nt(s)&&An(l,h,c,o,u,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Rn||r==Tn||r==zn||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ut,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=ht,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=lt,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Vt(e,255),qi[t-Pi]=Vt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,c=t.C;r=c+r;var u=i,h=a;for(a=t.Ta,i=t.Ua;0<o--;){var l=t.gc[o],f=c,d=r,p=u,g=h,m=(h=a,u=i,l.Ea);switch(e(f<d),e(d<=l.nc),l.hc){case 2:Gr(p,g,(d-f)*m,h,u);break;case 0:var v=f,b=d,y=h,w=u,N=(_=l).Ea;0==v&&(Wr(p,g,null,null,1,y,w),V(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Vr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=l.nc&&n(h,u-m,h,u+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=l.Ea)-(w=p&~(y=(g=1<<l.b)-1)),v=q(p,l.b),L=l.K,l=l.w+(f>>l.b)*v;f<d;){for(A=L,x=l,S=new T,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,h,u),b+=g,u+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,h,u),b+=N,u+=N),++f&y||(l+=v)}break;case 3:if(p==h&&g==u&&0<l.b){for(b=h,p=m=u+(d-f)*m-(w=(d-f)*q(l.Ea,l.b)),g=h,y=u,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(l,f,d,h,m,h,u)}else Yr(l,f,d,p,g,h,u)}u=a,h=i}h!=i&&n(a,i,u,h,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,c=t.Ua,u=o.width;if(Nt(t,a,n,i),a=c=[c],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var h=o.j-n;n=o.j;a[0]+=h*u}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(c=c[0],11>(n=t.ca).S){var l=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,h=l.eb,l.A),d=o;for(l=l.fb+t.Ma*l.A;0<d--;){var p=s,g=c,m=a,v=h,b=l;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Dn:nn(p,g,m,v,b);break;case Rn:et(p,g,m,v,b,1);break;case Wn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Tn:et(p,g,m,v,b,0);break;case Vn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case zn:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case Un:rn(p,g,m,v,b);break;default:e(0)}c+=u,l+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,c=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,c,i,a,i,a,o),s=i,c=a,a+=o;t.qd=s,t.rd=c}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,c=t.V,u=t.Ba+t.c*i,h=t.gc;e(1==t.ab),e(3==h[0].hc),Xr(h[0],i,r,c,u,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var c=t.$/i,u=t.$%i,h=t.m,l=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+l.ua,m=t.Pb?c:16777216,v=0<l.ua?l.Wa:null,b=l.wc,y=f<p?wt(l,u,c):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(c>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=c+ti}if(u&b||(y=wt(l,u,c)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(h),y.jc){N=h,_=r;var P=f,k=y.pd[L(N)&Dr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],h);if(h.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(h),w=bt(y.G[1],y.H[1],h),S(h),_=bt(y.G[2],y.H[2],h),P=bt(y.G[3],y.H[3],h),h.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++u>=i&&(u=0,++c,null!=s&&c<=o&&!(c%16)&&s(t,c),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,h),_=bt(y.G[4],y.H[4],h),S(h),_=vt(i,_=mt(_,h)),h.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,u+=N;u>=i;)u-=i,++c,null!=s&&c<=o&&!(c%16)&&s(t,c);if(e(f<=a),u&b&&(y=wt(l,u,c)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(h.h==A(h))}if(t.Pb&&h.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(h.h)break t;null!=s&&s(t,c>o?o:c),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,c){var u=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;u&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)u=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,R=1<<(8>>E.b),T=a(R);if(null==T)F=0;else{var z=E.K[0],U=E.w;for(T[0]=E.K[0][0],B=1;B<1*M;++B)T[B]=D(z[U+B],T[B-1]);for(;B<4*R;++B)T[B]=0;E.K[0]=null,E.K[0]=T,F=1}}_=F;break;case 2:break;default:e(0)}u=_}}if(f=f[0],p=p[0],u&&y(g,1)&&!(u=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=u)e:{var W,V,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,W=0;W<st;++W){var ct=tt[W]>>8&65535;tt[W]=ct,ct>=et&&(et=ct+1)}}if($.h)break r;for(V=0;5>V;++V){var ut=Xn[V];!V&&0<K&&(ut+=1<<K),rt<ut&&(rt=ut)}var ht=o(et*nt,l),lt=et,ft=o(lt,d);if(null==ft)var dt=null;else e(65536>=lt),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==ht){Y.a=1;break r}var gt=ht;for(W=G=0;W<et;++W){var mt=dt[W],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(V=0;5>V;++V){ut=Xn[V],vt[V]=gt,bt[V]=G,!V&&0<K&&(ut+=1<<K);n:{var At,xt=ut,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Dt=1}else{var Rt=a(19),Tt=y(Ot,4)+4;if(19<Tt){St.a=3;var zt=0;break n}for(At=0;At<Tt;++At)Rt[Zn[At]]=y(Ot,3);var Ut=void 0,Ht=void 0,Wt=St,Vt=Rt,Gt=xt,Yt=kt,Jt=0,Xt=Wt.m,Kt=8,Zt=o(128,l);i:for(;h(Zt,0,7,Vt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((Ut=2+y(Xt,$t))>Gt)break i}else Ut=Gt;for(Ht=0;Ht<Gt&&Ut--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Wt.a=3),Dt=Jt}(Dt=Dt&&!Ot.h)&&(jt=h(Ft,Ct,8,kt,xt)),Dt&&0!=jt?zt=jt:(St.a=3,zt=0)}if(0==zt)break r;if(Nt&&1==Kn[V]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=zt,3>=V){var oe,se=pt[0];for(oe=1;oe<ut;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ce,ue=mt;for(ce=0;ce<Dr;++ce){var he=ce,le=ue.pd[he],fe=ue.G[0][ue.H[0]+he];256<=fe.value?(le.g=fe.g+256,le.value=fe.value):(le.g=0,le.value=0,he>>=yt(fe,8,le),he>>=yt(ue.G[1][ue.H[1]+he],16,le),he>>=yt(ue.G[2][ue.H[2]+he],0,le),yt(ue.G[3][ue.H[3]+he],24,le))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=ht,H=1;break e}H=0}if(!(u=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,u=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,u=0;break t}u=(u=_t(s,v,0,f,p,p,null))&&!g.h;break t}return u?(null!=c?c[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),u}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,c=t.l.ma,u=t.l.width,h=u*s,l=c.ca,f=c.tb+u*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,l,f,h),xt(c,n,n+s,l,f,u),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Dt(){this.ld=this.La=this.dd=this.tc=0}function Rt(){this.Na=this.la=0}function Tt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function zt(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function Ut(){this.uc=this.M=this.Nb=0,this.wa=Array(new Dt),this.Y=0,this.ya=Array(new zt),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Wt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new Ut,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Tt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Rt),this.sb=0,this.wa=Array(new Dt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new zt),this.L=this.aa=0,this.gd=s([4,2],Dt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Vt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Wt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,c=t.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3<c.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!c.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var u=t.Kc;if(c.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");u.c=16383&(n[a+4]<<8|n[a+3]),u.Td=n[a+4]>>6,u.i=16383&(n[a+6]<<8|n[a+5]),u.Ud=n[a+6]>>6,a+=7,o-=7,t.za=u.c+15>>4,t.Ub=u.i+15>>4,r.width=u.c,r.height=u.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(u.Ld=P(s),u.Kd=P(s)),u=t.Qa;var h,l=t.Pa;if(e(null!=s),e(null!=u),u.Cb=P(s),u.Cb){if(u.Bb=P(s),P(s)){for(u.Fb=P(s),h=0;4>h;++h)u.Zb[h]=P(s)?m(s,7):0;for(h=0;4>h;++h)u.Lb[h]=P(s)?m(s,6):0}if(u.Bb)for(h=0;3>h;++h)l.jb[h]=P(s)?g(s,8):255}else u.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((u=t.ed).zd=P(s),u.Tb=g(s,6),u.wb=g(s,3),u.Pc=P(s),u.Pc&&P(s)){for(l=0;4>l;++l)P(s)&&(u.vd[l]=m(s,6));for(l=0;4>l;++l)P(s)&&(u.od[l]=m(s,6))}if(t.L=0==u.Tb?0:u.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=h=a,a=h+f,u=f,t.Xb=(1<<g(t.m,2))-1,f<3*(l=t.Xb))n=7;else{for(h+=3*l,u-=3*l,f=0;f<l;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>u&&(d=u),p(t.Jc[+f],n,h,d),h+=d,u-=d,o+=3}p(t.Jc[+l],n,h,u),n=h<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(h=t.m,7),o=P(h)?m(h,4):0,a=P(h)?m(h,4):0,u=P(h)?m(h,4):0,l=P(h)?m(h,4):0,h=P(h)?m(h,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Vt(v+o,127)],b.Sc[1]=ri[Vt(v+0,127)],b.Eb[0]=2*ei[Vt(v+a,127)],b.Eb[1]=101581*ri[Vt(v+u,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Vt(v+l,117)],b.Qc[1]=ri[Vt(v+h,127)],b.lc=v+h}if(!c.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),c=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(u=0;11>u;++u)l=k(s,ui[n][o][a][u])?g(s,8):si[n][o][a][u],c.Wc[n][o].Yb[a][u]=l;for(o=0;17>o;++o)c.Xc[n][o]=c.Wc[n][hi[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var c=e[i+1].Yb;if(k(t,s[r+2])){var u=t,h=0;if(k(u,(f=s)[(l=r)+3]))if(k(u,f[l+6])){for(s=0,l=2*(h=k(u,f[l+8]))+(f=k(u,f[l+9+h])),h=0,f=ii[l];f[s];++s)h+=h+k(u,f[s]);h+=3+(8<<l)}else k(u,f[l+7])?(h=7+2*k(u,165),h+=k(u,145)):h=5+k(u,159);else h=k(u,f[l+4])?3+k(u,f[l+5]):2;s=c[2]}else h=1,s=c[1];c=o+ai[i],0>(u=t).b&&_(u);var l,f=u.b,d=(l=u.Ca>>1)-(u.I>>f)>>31;--u.b,u.Ca+=d,u.Ca|=1,u.I-=(l+1&d)<<f,a[c]=((h^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ri[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var c=t.ed;for(s=0;4>s;++s){var u;if(t.Qa.Cb){var h=t.Qa.Lb[s];t.Qa.Fb||(h+=c.Tb)}else h=c.Tb;for(u=0;1>=u;++u){var l=t.gd[s][u],f=h;if(c.Pc&&(f+=c.vd[0],u&&(f+=c.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<c.wb&&((d=4<c.wb?d>>2:d>>1)>9-c.wb&&(d=9-c.wb)),1>d&&(d=1),l.dd=d,l.tc=2*f+d,l.ld=40<=f?2:15<=f?1:0}else l.tc=0;l.La=u}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=zi);t:{s=t.Ic;c=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((l=c+832+(u=3*(16*s+Ri[t.L])/2*p)+(h=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=l)s=0;else{if(l>t.Vb){if(t.Vb=0,t.Ec=a(l),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=l}l=t.Ec,f=t.Fc,t.Ac=l,t.Bc=f,f+=c,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Rt),t.sb=1,t.wa=m?o(m,Dt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=l,t.pc=f,f+=832,t.ya=o(v,zt),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ri[t.L])*t.R,p=p/2*t.B,t.sa=l,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=u,t.mb=h?l:null,t.nb=h?f:null,e(f+h<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,c),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ue,on=ae,cn=oe,un=se,hn=ce,sn=ie,ln=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=Ue,wn=He,Nn=We,Ln=Ve,fi[0]=xe,fi[1]=le,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,li[0]=ve,li[1]=de,li[2]=pe,li[3]=ge,li[4]=be,li[5]=ye,li[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],c=t.m,u=t;for(o=0;o<u.za;++o){var h=c,l=u,f=l.Ac,d=l.Bc+4*o,p=l.zc,g=l.ya[l.aa+o];if(l.Qa.Bb?g.$b=k(h,l.Pa.jb[0])?2+k(h,l.Pa.jb[2]):k(h,l.Pa.jb[1]):g.$b=0,l.kc&&(g.Ad=k(h,l.Bd)),g.Za=!k(h,145)+0,g.Za){var m=g.Ob,v=0;for(l=0;4>l;++l){var b,y=p[0+l];for(b=0;4>b;++b){y=ci[f[d+b]][y];for(var w=oi[k(h,y[0])];0<w;)w=oi[2*w+k(h,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+l]=y}}else y=k(h,156)?k(h,128)?1:3:k(h,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(h,142)?k(h,114)?k(h,183)?1:3:2:0}if(u.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(u=s,h=(c=t).rb[c.sb-1],f=c.rb[c.sb+c.ja],o=c.ya[c.aa+c.ja],d=c.kc?o.Ad:0)h.la=f.la=0,o.Za||(h.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;h=f,f=u,d=c.Pa.Xc,p=c.ya[c.aa+c.ja],g=c.pb[p.$b];if(l=p.ad,m=0,v=c.rb[c.sb-1],y=b=0,i(l,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=h.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),h.Na=v.Na=(0<S)+0,1<S)an(w,0,l,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)l[m+w]=_}A=1,x=d[0]}var P=15&h.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,l,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=h.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,l,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}h.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<c.L&&(c.wa[c.Y+c.ja]=c.gd[o.$b][o.Za],c.wa[c.Y+c.ja].La|=!d),u.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),c=r,u=1,o=(s=t).D,h=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=h,Or(s,o),u=1,o=(L=s.D).Nb,h=(y=Ri[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-h+w,g=s.qa,l=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(z=S).D).Nb;N=z.R;var j=j.wa[j.Y+A],O=z.sa,B=z.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==z.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=z.B,D=z.qa,R=z.ra+8*C*q+8*A,T=z.Ha,z=z.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(D,R,T,z,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(D,R,T,z,q,E,M,C)),0<x&&(ln(O,B,N,E+4,M,C),dn(D,R,T,z,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(D,R,T,z,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=c.put){if(L=16*P,P=16*(P+1),I?(c.y=s.sa,c.O=s.ta+w,c.f=s.qa,c.N=s.ra+_,c.ea=s.Ha,c.W=s.Ia+_):(L-=y,c.y=d,c.O=p,c.f=g,c.N=l,c.ea=m,c.W=v),b||(P-=y),P>c.o&&(P=c.o),c.F=null,c.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(c.J=lr(s,c,L,P-L),c.F=s.mb,null==c.F&&0==c.F.length)){u=Jt(s,3,\"Could not decode alpha data.\");break t}L<c.j&&(y=c.j-L,L=c.j,e(!(1&y)),c.O+=s.R*y,c.N+=s.B*(y>>1),c.W+=s.B*(y>>1),null!=c.F&&(c.J+=c.width*y)),L<P&&(c.O+=c.v,c.N+=c.v>>1,c.W+=c.v>>1,null!=c.F&&(c.J+=c.v),c.ka=L-c.j,c.U=c.va-c.v,c.T=P-L,u=c.put(c))}o+1!=s.Ic||b||(n(s.sa,s.ta-h,d,p+16*s.R,h),n(s.qa,s.ra-f,g,l+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!u)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=t[e+0]+t[e+8],u=t[e+0]-t[e+8],h=(35468*t[e+4]>>16)-re(t[e+12]),l=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=c+l,s[o+1]=u+h,s[o+2]=u-h,s[o+3]=c-l,o+=4,e++}for(i=o=0;4>i;++i)c=(t=s[o+0]+4)+s[o+8],u=t-s[o+8],h=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,c+(l=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,u+h),te(r,n,2,0,u-h),te(r,n,3,0,c-l),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ce(t,e,r,n){t[e+0]&&un(t,e+0,r,n),t[e+16]&&un(t,e+16,r,n+4),t[e+32]&&un(t,e+32,r,n+128),t[e+48]&&un(t,e+48,r,n+128+4)}function ue(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],c=t[e+4+i]+t[e+8+i],u=t[e+4+i]-t[e+8+i],h=t[e+0+i]-t[e+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=h+u,o[12+i]=h-u}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],u=o[1+4*i]-o[2+4*i],h=t-o[3+4*i],r[n+0]=s+c>>3,r[n+16]=h+u>>3,r[n+32]=s-c>>3,r[n+48]=h-u>>3,n+=64}function he(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,c=a,u=o+t[e-1];for(s=0;s<r;++s)t[e+s]=c[u+t[i+s]];e+=32}}function le(t,e){he(t,e,4)}function fe(t,e){he(t,e,8)}function de(t,e){he(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(c,s,o),t[e+3+0]=Ne(u,c,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],c=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,c),t[e+3+96]=Ne(s,c,c)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+c+1>>1,t[e+3+0]=c+u+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,c),t[e+3+32]=Ne(s,c,u)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],c=t[e+6-32],u=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,c),t[e+3+96]=Ne(s,c,u)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],c=t[e+1-32],u=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,c,u),t[e+2+0]=Ne(o,s,c),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function De(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Re(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function Te(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function ze(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],c=t[e+0],u=t[e+r],h=t[e+2*r],l=t[e+3*r];return 4*Mn[255+s-c]+Mn[255+o-u]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+l-h]<=i&&Mn[255+h-u]<=i&&Mn[255+u-c]<=i}function Ue(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n,r,i)&&De(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n*r,1,i)&&De(t,e+n*r,1)}function We(t,e,r,n){var i;for(i=3;0<i;--i)Ue(t,e+=4*r,r,n)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(ze(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-2*h],f=c[u-h],d=c[u+0],p=c[u+h],g=c[u+2*h],m=27*(b=jn[1020+3*(d-f)+jn[1020+l-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;c[u-3*h]=Bn[255+c[u-3*h]+b],c[u-2*h]=Bn[255+l+v],c[u-h]=Bn[255+f+m],c[u+0]=Bn[255+d-m],c[u+h]=Bn[255+p-v],c[u+2*h]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(ze(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-h],f=c[u+0],d=c[u+h],p=On[112+((g=3*(f-l))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;c[u-2*h]=Bn[255+c[u-2*h]+m],c[u-h]=Bn[255+l+g],c[u+0]=Bn[255+f-p],c[u+h]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ct,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new l}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function cr(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function ur(t,e,r,n,i,a,o){var s;if(null==t)cr(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function hr(t,e,r,n,i,a,o){if(null==t)cr(null,null,r,n,i,a,o);else{var s,c=t[e+0],u=c,h=c;for(s=0;s<o;++s)u=h+(c=t[e+s])-u,h=r[n+s]+(-256&u?0>u?0:255:u)&255,u=c,i[a+s]=h}}function lr(t,r,i,o){var s=r.width,c=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>c)return null;if(!t.Cc){if(null==t.ga){var u;if(t.ga=new sr,(u=null==t.ga)||(u=r.width*r.o,e(0==t.Gb.length),t.Gb=a(u),t.Uc=0,null==t.Gb?u=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,u=1),u=!u),!u){u=t.ga;var h=t.Fa,l=t.P,f=t.qc,d=t.mb,p=t.nb,g=l+1,m=f-1,b=u.l;if(e(null!=h&&null!=d&&null!=r),mi[0]=null,mi[1]=cr,mi[2]=ur,mi[3]=hr,u.ca=d,u.tb=p,u.c=r.width,u.i=r.height,e(0<u.c&&0<u.i),1>=f)r=0;else if(u.$a=h[l+0]>>0&3,u.Z=h[l+0]>>2&3,u.Lc=h[l+0]>>4&3,l=h[l+0]>>6&3,0>u.$a||1<u.$a||4<=u.Z||1<u.Lc||l)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=u,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,u.$a)t:{e(1==u.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=u),u.mc=r,r.c=u.c,r.i=u.i,r.l=u.l,r.l.ma=u,r.l.width=u.c,r.l.height=u.i,r.a=0,v(r.m,h,g,m),!It(u.c,u.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(u.ic=1,h=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(h),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(u.ic=0,r=Ft(r,u.c)),!r)break e;r=1;break t}u.mc=null,r=0}else r=m>=u.c*u.i;u=!r}if(u)return null;1!=t.ga.Lc?t.Ga=0:o=c-i}e(null!=t.ga),e(i+o<=c);t:{if(r=(h=t.ga).c,c=h.l.o,0==h.$a){if(g=t.rc,m=t.Vc,b=t.Fa,l=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(l<=t.P+t.qc),0!=h.Z)for(e(null!=mi[h.Z]),u=0;u<o;++u)mi[h.Z](g,m,b,l,f,d,r),g=f,m=d,d+=r,l+=r;else for(u=0;u<o;++u)n(f,d,b,l,r),g=f,m=d,d+=r,l+=r;t.rc=g,t.Vc=m}else{if(e(null!=h.mc),r=i+o,e(null!=(u=h.mc)),e(r<=u.i),u.C>=r)r=1;else if(h.ic||mr(),h.ic){h=u.V,g=u.Ba,m=u.c;var y=u.i,w=(b=1,l=u.$/m,f=u.$%m,d=u.m,p=u.s,u.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,l):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,l)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))h[g+w]=y,++w,++f>=m&&(f=0,++l<=r&&!(l%16)&&St(u,l));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)h[g+w+P]=h[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++l<=r&&!(l%16)&&St(u,l);w<L&&f&x&&(_=wt(p,f,l))}e(d.h==A(d))}St(u,l>r?r:l);break e}!b||d.h&&w<N?(b=0,u.a=d.h?5:3):u.$=w,r=b}else r=_t(u,u.V,u.Ba,u.c,u.i,r,Ct);if(!r){o=0;break t}}i+o>=c&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,c=e+(r?1:0),u=t,h=e+(r?0:3);for(o=0;o<n;++o){var l=u[h+4*o];255!=l&&(l*=32897,s[c+4*o+0]=s[c+4*o+0]*l>>23,s[c+4*o+1]=s[c+4*o+1]*l>>23,s[c+4*o+2]=s[c+4*o+2]*l>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(u=t[e+2*a+1]),c=4369*s,u=(240&u|u>>4)*c>>16;t[e+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,t[e+2*a+1]=240&u|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var c,u,h=255;for(u=0;u<i;++u){for(c=0;c<n;++c){var l=t[e+c];a[o+4*c]=l,h&=l}e+=r,o+=s}return 255!=h}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[c+0]|u[h+0]<<16,A=l[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[c+w]|u[h+w]<<16,_=l[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Dn]=yi,vi[Rn]=Ni,vi[Tn]=Li,vi[zn]=Ai,vi[Un]=xi,vi[Hn]=wi,vi[Wn]=Ni,vi[Vn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Vt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,c,u,h){for(var l=u+(-2&h)*n;u!=l;)r(t[e+0],i[a+0],o[s+0],c,u),r(t[e+1],i[a+0],o[s+0],c,u+n),e+=2,++a,++s,u+=2*n;1&h&&r(t[e+0],i[a+0],o[s+0],c,u)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:un(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,c=t.oc,u=t.pc+40,h=t.oc,l=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)c[u+32*r-1]=129;for(r=0;8>r;++r)h[l+32*r-1]=129,f[d+32*r-1]=129;for(0<o?c[u-1-32]=h[l-1-32]=f[d-1-32]=129:(i(c,u-32-1,127,21),i(h,l-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(c,u+32*r-4,c,u+32*r+12,4);for(r=-1;8>r;++r)n(h,l+32*r-4,h,l+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(c,u-32,g[m].y,0,16),n(h,l-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=c,w=u-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=c,w=u+Di[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),li[y](c,u),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,c,u+Di[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](h,l),di[y](f,d),b=v,y=h,w=l,255&(p=r>>0)&&(170&p?cn(b,256,y,w):hn(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?cn(v,320,p,b):hn(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,c,u+480,16),n(g[m].f,0,h,l+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,c,u+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,h,l+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,c,u,h){var l=[0],f=[0],d=0,p=null!=h?h.kd:0,g=null!=h?h:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=l,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=c&&(c[0]=b),null!=u&&(u[0]=0),c=l[0],m=f[0],d&&b&&null==h){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==u||b||(u[0]=g.xa?2:1),c=[c],m=[m],g.xa){if(5>i){y=7;break}u=c,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=u&&(u[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}u=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(c&&(c[0]=b),u&&(u[0]=t),t=1))}if(!t)return 3;if(c=c[0],m=m[0],d&&(l[0]!=c||f[0]!=m))return 3;null!=h&&(h[0]=g,h.offset=n-h.w,e(4294967286>n-h.w),e(h.offset==h.ha-i));break}return 0==y||7==y&&d&&null==h?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=c),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,c=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,c=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>n||o+c>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+c,e.U=s,e.T=c,e.da=null!=t&&0<t.da,e.da){if(!E(s,c,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,c=-2&r.j;if(0>s||0>c||0>=i||0>=o||s+i>t||c+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var u=n.width,h=n.height;if(t=n.S,0>=u||0>=h||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var l=(c=u*Ui[t])*h;if(11>t||(o=(h+1)/2*(e=(u+1)/2),12==t&&(s=(i=u)*h)),null==(h=a(l+2*o+s))){t=1;break t}n.sd=h,11>t?((u=n.f.RGBA).eb=h,u.fb=0,u.A=c,u.size=l):((u=n.f.kb).y=h,u.O=0,u.fa=c,u.Fd=l,u.f=h,u.N=0+l,u.Ab=e,u.Cd=o,u.ea=h,u.W=0+l+o,u.Db=e,u.Ed=o,12==t&&(u.F=h,u.J=0+l+2*o),u.Tc=s,u.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(c=Math.abs(t.A))*(s-1)+o<=t.size,e&=c>=o*Ui[i],e&=null!=t.eb;else{t=n.f.kb,c=(o+1)/2,l=(s+1)/2,u=Math.abs(t.fa);h=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=u*(s-1)+o<=t.Fd,e&=h*(l-1)+c<=t.Cd,e=(e&=f*(l-1)+c<=t.Ed)&u>=o&h>=c&f>=c,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Dr=64,Rr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Tr=24,zr=32,Ur=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];R(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return z(z(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return z(t,e[r-1])},t.Predictor7=function(t,e,r){return z(t,e[r+0])},t.Predictor8=function(t,e,r){return z(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return z(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return z(z(t,e[r-1]),z(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=W(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+W(n>>16&255,t>>16&255,e>>16&255)+W(n>>8&255,t>>8&255,e>>8&255)+W(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(U((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|U((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|U((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|U((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=z(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Wr=t.PredictorAdd0;t.PredictorAdd1=V,R(\"Predictor2\",\"PredictorAdd2\"),R(\"Predictor3\",\"PredictorAdd3\"),R(\"Predictor4\",\"PredictorAdd4\"),R(\"Predictor5\",\"PredictorAdd5\"),R(\"Predictor6\",\"PredictorAdd6\"),R(\"Predictor7\",\"PredictorAdd7\"),R(\"Predictor8\",\"PredictorAdd8\"),R(\"Predictor9\",\"PredictorAdd9\"),R(\"Predictor10\",\"PredictorAdd10\"),R(\"Predictor11\",\"PredictorAdd11\"),R(\"Predictor12\",\"PredictorAdd12\"),R(\"Predictor13\",\"PredictorAdd13\");var Vr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,cn,un,hn,ln,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Dn=2,Rn=3,Tn=4,zn=5,Un=6,Hn=7,Wn=8,Vn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ci=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ui=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],hi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],li=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Di=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ri=[0,2,8],Ti=[8,7,6,4,4,2,2,2,1,1,1,1],zi=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,c=new ot;s.ba=c,c.S=o,c.width=[c.width],c.height=[c.height];var u=c.width,h=c.height,l=new st;if(null==l||null==t)var f=2;else e(null!=l),f=Br(t,r,n,l.width,l.height,l.Pd,l.Qd,l.format,null);if(0!=f?u=0:(null!=u&&(u[0]=l.width[0]),null!=h&&(h[0]=l.height[0]),u=1),u){c.width=c.width[0],c.height=c.height[0],null!=i&&(i[0]=c.width),null!=a&&(a[0]=c.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Rn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(u=0>(u=n.Md)?0:100<u?255:255*u/100)){for(h=l=0;4>h;++h)12>(f=a.pb[h]).lc&&(f.ia=u*Ti[0>f.lc?0:f.lc]>>3),l|=f.ia;l&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?c.f.RGBA.eb:c.f.kb.y}else o=null;return o};var Ui=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function h(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new c;var f=[0],d=[0],p=[],g=new c,m=t,v=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n * Copyright (c) 2017 Dominik Homberger\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n https://webpjs.appspot.com\n WebPRiffParser dominikhlbg@gmail.com\n */\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){var s,c;l(t,e+=4);for(e+=8;e<t.length;){var f=u(t,e),d=l(t,e+=4);e+=4;var p=d+(1&d);switch(f){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(v=r.header={}).feature_flags=t[e];var g=e+4;v.canvas_width=1+h(t,g);g+=3;v.canvas_height=1+h(t,g);g+=3;break;case\"ALPH\":i=!0,a=p+8,o=e-8;break;case\"ANIM\":(v=r.header).bgcolor=l(t,e);g=e+4;v.loop_count=(s=t)[(c=g)+0]<<0|s[c+1]<<8;g+=2;break;case\"ANMF\":var m,v;(v=r.frames[n]={}).offset_x=2*h(t,e),e+=3,v.offset_y=2*h(t,e),e+=3,v.width=1+h(t,e),e+=3,v.height=1+h(t,e),e+=3,v.duration=h(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m>>1&1}\"ANMF\"!=f&&(e+=p)}return r}}(m,0);v.response=m,v.rgbaoutput=!0,v.dataurl=!1;var b=v.header?v.header:null,y=v.frames?v.frames:null;if(b){b.loop_counter=b.loop_count,f=[b.canvas_height],d=[b.canvas_width];for(var w=0;w<y.length&&0!=y[w].blend;w++);}var N=y[0],L=g.WebPDecodeRGBA(m,N.src_off,N.src_size,d,f);N.rgba=L,N.imgwidth=d[0],N.imgheight=f[0];for(var A=0;A<d[0]*f[0]*4;A++)p[A]=L[A];return this.width=d,this.height=f,this.data=p,this}!function(e){var r=function(){return\"function\"==typeof t},n=function(r,n,a,h){var l=4,f=s;switch(h){case e.image_compression.FAST:l=1,f=o;break;case e.image_compression.MEDIUM:l=6,f=c;break;case e.image_compression.SLOW:l=9,f=u}r=i(r,n,a,f);var d=t(r,{level:l});return e.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,c=new Uint8Array(t.length+s),u=l(),h=0;h<s;h+=1){if(o=h*e,i=t.subarray(o,o+e),n)c.set(n(i,r,a),o+h);else{for(var d,p=u.length,g=[];d<p;d+=1)g[d]=u[d](i,r,a);var m=f(g.concat());c.set(g[m],o+h)}a=i}return c},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},c=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},u=function(t,e,r){var n,i,a,o,s=[],c=t.length;s[0]=4;for(var u=0;u<c;u+=1)n=t[u-e]||0,i=r&&r[u]||0,a=r&&r[u-e]||0,o=h(n,i,a),s[u+1]=t[u]-o+256&255;return s},h=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},l=function(){return[a,o,s,c,u]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};e.processPNG=function(t,i,a,o){var s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.__addimage__.isArrayBufferView(t)){if(t=(u=new Xt(t)).imgData,c=u.bits,s=u.colorSpace,l=u.colors,-1!==[4,6].indexOf(u.colorType)){if(8===u.bits){g=(p=32==u.pixelBitlength?new Uint32Array(u.decodePixels().buffer):16==u.pixelBitlength?new Uint16Array(u.decodePixels().buffer):new Uint8Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*u.colors),m=new Uint8Array(g);var x,S=u.pixelBitlength-u.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=u.bits;m[w]=y>>>x&255}}if(16===u.bits){g=(p=new Uint32Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*(32/u.pixelBitlength)*u.colors),m=new Uint8Array(g*(32/u.pixelBitlength)),b=u.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;c=8}o!==e.image_compression.NONE&&r()?(t=n(v,u.width*u.colors,u.colors,o),d=n(m,u.width,1,o)):(t=v,d=m,L=void 0)}if(3===u.colorType&&(s=this.color_spaces.INDEXED,f=u.palette,u.transparency.indexed)){var P=u.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))h=[P.indexOf(0)];else if(k!==g){for(p=u.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,u.width,1)}}var I=function(t){var r;switch(t){case e.image_compression.FAST:r=11;break;case e.image_compression.MEDIUM:r=13;break;case e.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+l+\" /BitsPerComponent \"+c+\" /Columns \"+u.width,(this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t))&&(t=this.__addimage__.arrayBufferToBinaryString(t)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:t,index:i,filter:L,decodeParameters:A,transparency:h,palette:f,sMask:d,predictor:I,width:u.width,height:u.height,bitsPerComponent:c,colorSpace:s}}}}(M.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Kt(e),o=a.width,s=a.height,c=[];a.decodeAndBlitFrameRGBA(0,c);var u={data:c,width:o,height:s},h=new $t(100).encode(u,100);return t.processJPEG.call(this,h,r,n,i)},t.processGIF87A=t.processGIF89A}(M.API),Qt.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},Qt.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){i.log(\"bit decode error:\"+t)}},Qt.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var c=this.palette[a>>7-s&1];this.data[o+4*s]=c.blue,this.data[o+4*s+1]=c.green,this.data[o+4*s+2]=c.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},Qt.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,c=15&a,u=this.palette[s];if(this.data[o]=u.blue,this.data[o+1]=u.green,this.data[o+2]=u.red,this.data[o+3]=255,2*i+1>=this.width)break;u=this.palette[c],this.data[o+4]=u.blue,this.data[o+4+1]=u.green,this.data[o+4+2]=u.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},Qt.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},Qt.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,c=(a>>10&e)/e*255|0,u=a>>15?255:0,h=n*this.width*4+4*i;this.data[h]=c,this.data[h+1]=s,this.data[h+2]=o,this.data[h+3]=u}this.pos+=t}},Qt.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,c=(o>>5&r)/r*255|0,u=(o>>11)/e*255|0,h=i*this.width*4+4*a;this.data[h]=u,this.data[h+1]=c,this.data[h+2]=s,this.data[h+3]=255}this.pos+=t}},Qt.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},Qt.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},Qt.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new Qt(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new $t(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(M.API),te.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new te(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new $t(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(M.API),M.API.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,c=0,u=0;u<i;u+=4){var h=n[u],l=n[u+1],f=n[u+2],d=n[u+3];a[s++]=h,a[s++]=l,a[s++]=f,o[c++]=d}var p=this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:\"DeviceRGB\",bitsPerComponent:8,width:t.width,height:t.height}},M.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"North Macedonia\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},\n/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nWt=M.API,Vt=Wt.getCharWidthsArray=function(t,e){var r,n,i=(e=e||{}).font||this.internal.getFont(),a=e.fontSize||this.internal.getFontSize(),o=e.charSpace||this.internal.getCharSpace(),s=e.widths?e.widths:i.metadata.Unicode.widths,c=s.fof?s.fof:1,u=e.kerning?e.kerning:i.metadata.Unicode.kerning,h=u.fof?u.fof:1,l=!1!==e.doKerning,f=0,d=t.length,p=0,g=s[0]||c,m=[];for(r=0;r<d;r++)n=t.charCodeAt(r),\"function\"==typeof i.metadata.widthOfString?m.push((i.metadata.widthOfGlyph(i.metadata.characterToGlyph(n))+o*(1e3/a)||0)/1e3):(f=l&&\"object\"==typeof u[n]&&!isNaN(parseInt(u[n][p],10))?u[n][p]/h:0,m.push((s[n]||g)/c+f)),p=n;return m},Gt=Wt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return Wt.processArabic&&(t=Wt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Vt.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Yt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var c=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(c,a)),s=0,c=a),s+=e[a],a++;return c!==a&&i.push(t.slice(c,a)),i},Jt=function(t,e,r){r||(r={});var n,i,a,o,s,c,u,h=[],l=[h],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Vt.apply(this,[\" \",r])[0];if(c=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(c).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,c=Gt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],c&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Vt.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Yt.apply(this,[n,i,e-(f+d),e]),h.push(s.shift()),h=[s.pop()];s.length;)l.push([s.shift()]);p=i.slice(n.length-(h[0]?h[0].length:0)).reduce((function(t,e){return t+e}),0)}else h=[n];l.push(h),f=p+c,d=m}else h.push(n),f+=d+p,d=m}return u=c?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},l.map(u)},Wt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,c,u=[];for(s=0,c=n.length;s<c;s++)u=u.concat(Jt.apply(this,[n[s],o,a]));return u},\n/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){t.__fontmetrics__=t.__fontmetrics__||{};for(var e=\"klmnopqrstuvwxyz\",r={},n={},i=0;i<e.length;i++)r[e[i]]=\"0123456789abcdef\"[i],n[\"0123456789abcdef\"[i]]=e[i];var a=function(t){return\"0x\"+parseInt(t,10).toString(16)},o=t.__fontmetrics__.compress=function(t){var e,r,i,s,c=[\"{\"];for(var u in t){if(e=t[u],isNaN(parseInt(u,10))?r=\"'\"+u+\"'\":(u=parseInt(u,10),r=(r=a(u).slice(2)).slice(0,-1)+n[r.slice(-1)]),\"number\"==typeof e)e<0?(i=a(e).slice(3),s=\"-\"):(i=a(e).slice(2),s=\"\"),i=s+i.slice(0,-1)+n[i.slice(-1)];else{if(\"object\"!=typeof e)throw new Error(\"Don't know what to do with value type \"+typeof e+\".\");i=o(e)}c.push(r+i)}return c.push(\"}\"),c.join(\"\")},s=t.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,n,i,a,o={},s=1,c=o,u=[],h=\"\",l=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(u.push([c,i]),c={},i=void 0):\"}\"==a?((n=u.pop())[0][n[1]]=c,i=void 0,c=n[0]):\"-\"==a?s=-1:void 0===i?r.hasOwnProperty(a)?(h+=r[a],i=parseInt(h,16)*s,s=1,h=\"\"):h+=a:r.hasOwnProperty(a)?(l+=r[a],c[i]=parseInt(l,16)*s,s=1,i=void 0,l=\"\"):l+=a;return o},c={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:s(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},u={Unicode:{Courier:c,\"Courier-Bold\":c,\"Courier-BoldOblique\":c,\"Courier-Oblique\":c,Helvetica:c,\"Helvetica-Bold\":c,\"Helvetica-BoldOblique\":c,\"Helvetica-Oblique\":c,\"Times-Roman\":c,\"Times-Bold\":c,\"Times-BoldItalic\":c,\"Times-Italic\":c}},h={Unicode:{\"Courier-Oblique\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":s(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":s(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":s(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:s(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:s(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":s(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:s(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":s(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":s(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":s(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};t.events.push([\"addFont\",function(t){var e=t.font,r=h.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=u.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(M.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(c(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(M),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(r.canvg?Promise.resolve(r.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}M.API.addSvgAsImage=function(t,r,n,a,o,s,c,u){if(isNaN(r)||isNaN(n))throw i.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(a)||isNaN(o))throw i.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var h=document.createElement(\"canvas\");h.width=a,h.height=o;var l=h.getContext(\"2d\");l.fillStyle=\"#fff\",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL(\"image/jpeg\",1),r,n,a,o,c,u)}))}}(),M.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},M.API.viewerPreferences=function(t,e){var r;t=t||{},e=e||!1;var n,i,a,o={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},s=Object.keys(o),c=[],u=0,h=0,l=0;function f(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(o)),this.internal.viewerpreferences.isSubscribed=!1),r=this.internal.viewerpreferences.configuration,\"reset\"===t||!0===e){var d=s.length;for(l=0;l<d;l+=1)r[s[l]].value=r[s[l]].defaultValue,r[s[l]].explicitSet=!1}if(\"object\"==typeof t)for(i in t)if(a=t[i],f(s,i)&&void 0!==a){if(\"boolean\"===r[i].type&&\"boolean\"==typeof a)r[i].value=a;else if(\"name\"===r[i].type&&f(r[i].valueSet,a))r[i].value=a;else if(\"integer\"===r[i].type&&Number.isInteger(a))r[i].value=a;else if(\"array\"===r[i].type){for(u=0;u<a.length;u+=1)if(n=!0,1===a[u].length&&\"number\"==typeof a[u][0])c.push(String(a[u]-1));else if(a[u].length>1){for(h=0;h<a[u].length;h+=1)\"number\"!=typeof a[u][h]&&(n=!1);!0===n&&c.push([a[u][0]-1,a[u][1]-1].join(\" \"))}r[i].value=\"[\"+c.join(\" \")+\"]\"}else r[i].value=r[i].defaultValue;r[i].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in r)!0===r[t].explicitSet&&(\"name\"===r[t].type?e.push(\"/\"+t+\" /\"+r[t].value):e.push(\"/\"+t+\" \"+r[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=r,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(M.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var s=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),u=\"\",h=0;h<c.length;h++)u+=String.fromCharCode(c[h]);var l=a();o({data:u,addLength1:!0,objectId:l}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+I(r.fontName)),i(\"/FontFile2 \"+l+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+I(r.fontName)),i(\"/FontDescriptor \"+d+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(s)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+f+\" 0 R\"),i(\"/BaseFont /\"+I(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+p+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var s=r.metadata.rawData,c=\"\",u=0;u<s.length;u++)c+=String.fromCharCode(s[u]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var l=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:l}),i(\"endobj\");var f=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+I(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var d=0;d<r.metadata.hmtx.widths.length;d++)r.metadata.hmtx.widths[d]=parseInt(r.metadata.hmtx.widths[d]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+l+\" 0 R/BaseFont/\"+I(r.fontName)+\"/FontDescriptor \"+f+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},c=s.pdfEscape,u=s.activeFontKey,h=s.fonts,l=u,f=\"\",d=0,p=\"\",g=h[l].encoding;if(\"Identity-H\"!==h[l].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,l=u,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)h[l].metadata.hasOwnProperty(\"cmap\")&&(e=h[l].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&h[l].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(l.slice(1))<14||\"WinAnsiEncoding\"===g?m=c(f,l).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,h[l])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(M),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(M.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,c,u=e,h=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"â…\",\"â†\",\"â…\",\"â½\",\"â¾\",\"â½\",\"â‚\",\"â‚Ž\",\"â‚\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"ï¹™\",\"﹚\",\"ï¹™\",\"ï¹›\",\"﹜\",\"ï¹›\",\"ï¹\",\"﹞\",\"ï¹\",\"﹤\",\"ï¹¥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?u[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var c,u,h,l,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(c=o[s-1])&&\"AN\"!==c||\"EN\"!==(u=e[s+1])&&\"AN\"!==u?f=\"N\":m&&(u=\"AN\"),f=u===c?u:\"N\";break;case\"ES\":f=\"EN\"===(c=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(h=s+1,l=e.length;h<l&&\"ET\"===e[h];)h++;f=h<l&&\"EN\"===e[h]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(l=e.length,h=s+1;h<l&&\"NSM\"===e[h];)h++;if(h<l){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(c=e[h],p&&(\"R\"===c||\"AL\"===c)){f=\"R\";break}}}f=s<1||\"B\"===(c=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,c,u,d=-1,p=t.length,g=0,y=[],N=v?l:h,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(u=g,y[s]=w(t,L,y,s),a=240&(g=N[u][f[y[s]]]),g&=15,e[s]=c=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=c;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=c}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,c,u,h=e.length,l=0;l<h;){if(i[l]>=t){for(c=l+1;c<h&&i[c]>=t;)c++;for(u=l,s=c-1;u<s;u++,s--)o=e[u],e[u]=e[s],e[s]=o,n&&(o=n[u],n[u]=n[s],n[s]=o);l=c}l++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&c)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=c;a?(v=1,t=x(t,e,r),v=0,c=!1,t=x(t,e,r),c=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,c=!1,t=x(t,e,r),c=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,c=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"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\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"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\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"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\",\"N\",\"N\",\"N\",\"N\",\"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\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"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\",\"N\",\"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\",\"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\",\"N\",\"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\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"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\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"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\",\"NSM\",\"NSM\",\"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\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"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\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"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\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"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\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"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\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"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\",\"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\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"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\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"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\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"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\",\"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\",\"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\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),i=(t.mutex,n.lang,[]);if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(M),M.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new re(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new Ne(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ne(this.contents),this.head=new oe(this),this.name=new de(this),this.cmap=new ce(this),this.toUnicode={},this.hhea=new ue(this),this.maxp=new pe(this),this.hmtx=new ge(this),this.post=new le(this),this.os2=new he(this),this.loca=new we(this),this.glyf=new ve(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var ee,re=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ne=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,c,u,h,l,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),h=16*Math.floor(Math.log(f)/s),a=Math.floor(h/s),u=16*f-h,(n=new re).writeInt(this.scalarType),n.writeShort(f),n.writeShort(h),n.writeShort(a),n.writeShort(u),i=16*f,c=n.pos+i,o=null,d=[],e)for(l=e[p],n.writeString(p),n.writeInt(t(l)),n.writeInt(c),n.writeInt(l.length),d=d.concat(l),\"head\"===p&&(o=c),c+=l.length;c%4;)d.push(0),c++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=me.call(t);t.length%4;)t.push(0);for(n=new re(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),ie={}.hasOwnProperty,ae=function(t,e){for(var r in e)ie.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};ee=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var oe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new re).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),se=function(){function t(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),h=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),l=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===u[s]?a=r+c[s]:0!==(a=o[u[s]/2+(r-d)-(l-s)]||0)&&(a+=c[s]),this.codeMap[r]=65535&a}t.pos=h}return t.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,D,R,T,z,U,H,W,V,G,Y;switch(I=new re,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[W=t[n=a[F]]]&&(v[W]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],h=[],b=0,v={},r={},m=c=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===c||(m&&h.push(m),P.push(n),c=o),m=n;for(m&&h.push(m),h.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),l=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],u=h[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=u?O<=u:O>=u;n=_<=u?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(l),I.writeUInt16(L),U=0,q=h.length;U<q;U++)n=h[U],I.writeUInt16(n);for(I.writeUInt16(0),H=0,D=P.length;H<D;H++)n=P[H],I.writeUInt16(n);for(V=0,R=s.length;V<R;V++)o=s[V],I.writeUInt16(o);for(G=0,T=N.length;G<T;G++)y=N[G],I.writeUInt16(y);for(Y=0,z=f.length;Y<z;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),ce=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new se(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=se.encode(t,e),(n=new re).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),le=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),fe=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},de=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,c,u,h,l;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=u=0,h=r.length;u<h;i=++u)n=r[i],t.pos=n.offset,c=t.readString(n.length),a=new fe(c,n),null==s[l=n.nameID]&&(s[l]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),pe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),me=[].slice,ve=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,c,u,h;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new re(e.read(n))).readShort(),c=o.readShort(),h=o.readShort(),s=o.readShort(),u=o.readShort(),this.cache[t]=-1===a?new ye(o,c,h,s,u):new be(o,a,c,h,s,u),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),be=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),ye=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new re(me.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),we=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ae(e,ee),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var c=new Array(4*r.length),u=0;u<r.length;++u)c[4*u+3]=255&r[u],c[4*u+2]=(65280&r[u])>>8,c[4*u+1]=(16711680&r[u])>>16,c[4*u]=(4278190080&r[u])>>24;return c},e}(),Ne=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m;for(n in r=ce.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in l=r.maxGlyphID,a)d in f||(f[d]=l++);return u=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),h=Object.keys(u).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=h.length;t<e;t++)o=h[t],r.push(u[o]);return r}(),i=this.font.glyf.encode(a,p,f),c=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:c,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();M.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export default M;export{xt as AcroForm,Lt as AcroFormAppearance,gt as AcroFormButton,yt as AcroFormCheckBox,lt as AcroFormChoiceField,dt as AcroFormComboBox,pt as AcroFormEditBox,ft as AcroFormListBox,Nt as AcroFormPasswordField,mt as AcroFormPushButton,vt as AcroFormRadioButton,wt as AcroFormTextField,C as GState,O as ShadingPattern,B as TilingPattern,M as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n var w = new Worker(u);\n w.onerror = function (e) { return cb(e.error, null); };\n w.onmessage = function (e) { return cb(null, e.data); };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i)\n ++l[cd[i] - 1];\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i)\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n st.f = final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n throw 'unexpected EOF';\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n if (!noSt && pos + tl * (clb + 7) > tbts)\n break;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n throw 'invalid block type';\n if (pos > tbts)\n throw 'unexpected EOF';\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var mxa = lbt + dbt + 18;\n while (noSt || pos + mxa < tbts) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts)\n throw 'unexpected EOF';\n if (!c)\n throw 'invalid length/literal';\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n throw 'invalid distance';\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts)\n throw 'unexpected EOF';\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = pos, st.b = bt;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [new u8(0), 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e < s) {\n // write full block\n pos = wfblk(w, pos, dat.subarray(i, e));\n }\n else {\n // write final block\n w[i] = lst;\n pos = wfblk(w, pos, dat.subarray(i, s));\n }\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768\n var imod = i & 32767;\n // previous index with this value\n var pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst)\n pos = wfblk(w, pos, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new u32(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = 0xFFFFFFFF;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return c ^ 0xFFFFFFFF; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 5552, l);\n for (; i < e; ++i)\n n += d[i], m += n;\n n %= 65521, m %= 65521;\n }\n a = n, b = m;\n },\n d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n if (!opts.consume)\n dat = new u8(dat);\n w.postMessage([dat, opts], [dat.buffer]);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (t)\n throw 'stream finished';\n if (!strm.ondata)\n throw 'no stream handler';\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n throw 'invalid gzip data';\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n throw 'invalid zlib data';\n if (d[1] & 32)\n throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = gzs(this.p);\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n throw 'invalid gzip stream';\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n throw 'invalid zlib stream';\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n throw 'no stream handler';\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k;\n if (val instanceof u8)\n t[n] = [val, o];\n else if (Array.isArray(val))\n t[n] = [val[0], mrg(o, val[1])];\n else\n fltn(val, n + '/', t, o);\n }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n var l = str.length;\n if (!latin1 && typeof TextEncoder != 'undefined')\n return new TextEncoder().encode(str);\n var ar = new u8(str.length + (str.length >>> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >>> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n var r = '';\n if (!latin1 && typeof TextDecoder != 'undefined')\n return new TextDecoder().decode(dat);\n for (var i = 0; i < dat.length;) {\n var c = dat[i++];\n if (c < 128 || latin1)\n r += String.fromCharCode(c);\n else if (c < 224)\n r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n else if (c < 240)\n r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n else\n c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n var fl = fn.length, l = cmp.length;\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b] = 20, b += 2;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n d[b] = t, b += 2;\n var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n throw 'date not in range 1980-2099';\n wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n b += 4;\n wbytes(d, b, c);\n wbytes(d, b + 4, l);\n wbytes(d, b + 8, su);\n wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n if (ce != null)\n wbytes(d, b += 10, ce), b += 4;\n d.set(fn, b);\n b += fl;\n if (ce == null)\n d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n }\n catch (e) {\n return cb(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cb(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), m = file.length;\n c.p(file);\n var n = strToU8(fn), s = n.length;\n var t = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n var l = d.length;\n files[i] = {\n t: t,\n d: d,\n m: m,\n c: c.d(),\n u: fn.length != l,\n n: n,\n p: p\n };\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n if (!--lft)\n cbf();\n }\n };\n if (n.length > 65535)\n cbl('filename too long', null);\n if (!t)\n cbl(null, file);\n else if (m < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var t = p.level == 0 ? 0 : 8;\n var n = strToU8(fn), s = n.length;\n if (n.length > 65535)\n throw 'filename too long';\n var d = t ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push({\n t: t,\n d: d,\n m: file.length,\n c: c.d(),\n u: fn.length != s,\n n: n,\n o: o,\n p: p\n });\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n if (typeof cb != 'function')\n throw 'no callback';\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cb('invalid zip file', null);\n return;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (!lft)\n cb(null, {});\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = lft = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n var _loop_2 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n files[fn] = d;\n if (!--lft)\n cb(null, files);\n }\n };\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl('unknown compression type ' + c_1, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_2(i);\n }\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n throw 'invalid zip file';\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n throw 'unknown compression type ' + c_2;\n }\n return files;\n}\n","import { Konva } from './Global.js';\nexport class Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n var m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n var c = Math.cos(rad);\n var s = Math.sin(rad);\n var m11 = this.m[0] * c + this.m[2] * s;\n var m12 = this.m[1] * c + this.m[3] * s;\n var m21 = this.m[0] * -s + this.m[2] * c;\n var m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n var m11 = this.m[0] + this.m[2] * sy;\n var m12 = this.m[1] + this.m[3] * sy;\n var m21 = this.m[2] + this.m[0] * sx;\n var m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n var m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n var m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n var m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n var m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n var dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n var dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n var d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n var m0 = this.m[3] * d;\n var m1 = -this.m[1] * d;\n var m2 = -this.m[2] * d;\n var m3 = this.m[0] * d;\n var m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n var m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n var a = this.m[0];\n var b = this.m[1];\n var c = this.m[2];\n var d = this.m[3];\n var e = this.m[4];\n var f = this.m[5];\n var delta = a * d - b * c;\n let result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n var r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n var s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = Util._getRotation(result.rotation);\n return result;\n }\n}\nvar OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/, animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexport const Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n var firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n var canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n var imageObj = Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n var bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n var randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n var rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (Util._namedColorToRBA(str) ||\n Util._hex3ColorToRGBA(str) ||\n Util._hex4ColorToRGBA(str) ||\n Util._hex6ColorToRGBA(str) ||\n Util._hex8ColorToRGBA(str) ||\n Util._rgbColorToRGBA(str) ||\n Util._rgbaColorToRGBA(str) ||\n Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n var c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n var retObj = {};\n for (var key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return Util.degToRad(deg);\n },\n _radToDeg(rad) {\n Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Konva.angleDeg ? Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (var key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n var x, y, dist;\n var pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n var u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n var pc = Util.cloneObject(pt);\n var dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n var p2 = line[(i + 1) % line.length];\n var proj = Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n var px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n var n, start = [], end = [];\n if (startArray.length > endArray.length) {\n var temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n var newStart = [];\n end.forEach(function (point) {\n var pr = Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n var desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (var key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (var key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach(c => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft = topRight = bottomLeft = bottomRight = Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n }\n};\n","import { Konva } from './Global.js';\nimport { Util } from './Util.js';\nfunction _formatValue(val) {\n if (Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nexport function RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nexport function alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nexport function getNumberValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (!Util._isNumber(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nexport function getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util._isNumber(val);\n let isValidArray = Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array<number>(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nexport function getNumberOrAutoValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nexport function getStringValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (!Util._isString(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nexport function getStringOrGradientValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val.addColorStop);\n if (!(isString || isGradient)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nexport function getFunctionValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (!Util._isFunction(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nexport function getNumberArrayValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util._isArray(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util._isNumber(item)) {\n Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nexport function getBooleanValidator() {\n if (Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nexport function getComponentValidator(components) {\n if (Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util.isObject(val)) {\n Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\n","import { Util } from './Util.js';\nimport { getComponentValidator } from './Validators.js';\nvar GET = 'get', SET = 'set';\nexport const Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n Factory.addGetter(constructor, attr, def);\n Factory.addSetter(constructor, attr, validator, after);\n Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n var len = components.length, capitalize = Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr), n, component;\n constructor.prototype[getter] = function () {\n var ret = {};\n for (n = 0; n < len; n++) {\n component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n var basicValidator = getComponentValidator(components);\n constructor.prototype[setter] = function (val) {\n var oldVal = this.attrs[attr], key;\n if (validator) {\n val = validator.call(this, val);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util.error('Adding deprecated ' + attr);\n var method = GET + Util._capitalize(attr);\n var message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util.error(message);\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n Factory.addSetter(constructor, attr, validator, function () {\n Util.error(message);\n });\n Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util.each(methods, function (oldMethodName, newMethodName) {\n var method = constructor.prototype[newMethodName];\n var oldGetter = GET + Util._capitalize(oldMethodName);\n var oldSetter = SET + Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n","import { Util } from './Util.js';\nimport { Konva } from './Global.js';\nfunction simplifyArray(arr) {\n var retArr = [], len = arr.length, util = Util, n, val;\n for (n = 0; n < len; n++) {\n val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nvar COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nvar CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nexport class Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n var traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n var traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n var canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n var absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(a0, a1, a2, a3, a4, a5) {\n this._context.arc(a0, a1, a2, a3, a4, a5);\n }\n arcTo(a0, a1, a2, a3, a4) {\n this._context.arcTo(a0, a1, a2, a3, a4);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(a0, a1, a2, a3, a4, a5) {\n this._context.bezierCurveTo(a0, a1, a2, a3, a4, a5);\n }\n clearRect(a0, a1, a2, a3) {\n this._context.clearRect(a0, a1, a2, a3);\n }\n clip() {\n this._context.clip();\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(a0, a1) {\n var a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(a0, a1);\n }\n else if (a.length === 1) {\n return this._context.createImageData(a0);\n }\n }\n createLinearGradient(a0, a1, a2, a3) {\n return this._context.createLinearGradient(a0, a1, a2, a3);\n }\n createPattern(a0, a1) {\n return this._context.createPattern(a0, a1);\n }\n createRadialGradient(a0, a1, a2, a3, a4, a5) {\n return this._context.createRadialGradient(a0, a1, a2, a3, a4, a5);\n }\n drawImage(a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n var a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(a0, a1, a2);\n }\n else if (a.length === 5) {\n _context.drawImage(a0, a1, a2, a3, a4);\n }\n else if (a.length === 9) {\n _context.drawImage(a0, a1, a2, a3, a4, a5, a6, a7, a8);\n }\n }\n ellipse(a0, a1, a2, a3, a4, a5, a6, a7) {\n this._context.ellipse(a0, a1, a2, a3, a4, a5, a6, a7);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(path2d) {\n if (path2d) {\n this._context.fill(path2d);\n }\n else {\n this._context.fill();\n }\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(a0, a1, a2, a3) {\n return this._context.getImageData(a0, a1, a2, a3);\n }\n lineTo(a0, a1) {\n this._context.lineTo(a0, a1);\n }\n moveTo(a0, a1) {\n this._context.moveTo(a0, a1);\n }\n rect(a0, a1, a2, a3) {\n this._context.rect(a0, a1, a2, a3);\n }\n putImageData(a0, a1, a2) {\n this._context.putImageData(a0, a1, a2);\n }\n quadraticCurveTo(a0, a1, a2, a3) {\n this._context.quadraticCurveTo(a0, a1, a2, a3);\n }\n restore() {\n this._context.restore();\n }\n rotate(a0) {\n this._context.rotate(a0);\n }\n save() {\n this._context.save();\n }\n scale(a0, a1) {\n this._context.scale(a0, a1);\n }\n setLineDash(a0) {\n if (this._context.setLineDash) {\n this._context.setLineDash(a0);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = a0;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = a0;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a0, a1, a2, a3, a4, a5) {\n this._context.setTransform(a0, a1, a2, a3, a4, a5);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(a0, a1, a2, a3) {\n this._context.strokeText(a0, a1, a2, a3);\n }\n transform(a0, a1, a2, a3, a4, a5) {\n this._context.transform(a0, a1, a2, a3, a4, a5);\n }\n translate(a0, a1) {\n this._context.translate(a0, a1);\n }\n _enableTrace() {\n var that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n var func = function (methodName) {\n var origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n var prop = arguments[0];\n var val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n var def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nexport class SceneContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d');\n }\n _fillColor(shape) {\n var fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n var grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n var dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n var hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n var color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexport class HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n var hitStrokeWidth = shape.hitStrokeWidth();\n var strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\n","import { Util } from './Util.js';\nimport { SceneContext, HitContext } from './Context.js';\nimport { Konva } from './Global.js';\nimport { Factory } from './Factory.js';\nimport { getNumberValidator } from './Validators.js';\nvar _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n var canvas = Util.createCanvasElement();\n var context = canvas.getContext('2d');\n _pixelRatio = (function () {\n var devicePixelRatio = Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nexport class Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n var conf = config || {};\n var pixelRatio = conf.pixelRatio || Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n var previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nFactory.addGetterSetter(Canvas, 'pixelRatio', undefined, getNumberValidator());\nexport class SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.context = new SceneContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexport class HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\n","import { Konva } from './Global.js';\nimport { Util } from './Util.js';\nexport const DD = {\n get isDragging() {\n var flag = false;\n DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n var node;\n DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n var dragDistance = node.dragDistance();\n var distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n DD.justDragged = true;\n Konva._mouseListenClick = false;\n Konva._touchListenClick = false;\n Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Konva.isBrowser) {\n window.addEventListener('mouseup', DD._endDragBefore, true);\n window.addEventListener('touchend', DD._endDragBefore, true);\n window.addEventListener('mousemove', DD._drag);\n window.addEventListener('touchmove', DD._drag);\n window.addEventListener('mouseup', DD._endDragAfter, false);\n window.addEventListener('touchend', DD._endDragAfter, false);\n}\n","import { Util, Transform } from './Util.js';\nimport { Factory } from './Factory.js';\nimport { SceneCanvas, HitCanvas } from './Canvas.js';\nimport { Konva } from './Global.js';\nimport { DD } from './DragAndDrop.js';\nimport { getNumberValidator, getStringValidator, getBooleanValidator, } from './Validators.js';\nvar ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nexport class Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n var cache = this._cache.get(attr);\n var isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n var invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n var conf = config || {};\n var rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent(),\n });\n }\n var width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n width += offset * 2 + 1;\n height += offset * 2 + 1;\n x -= offset;\n y -= offset;\n var cachedSceneCanvas = new SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n }), cachedHitCanvas = new HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n var points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n var minX, minY, maxX, maxY;\n var trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n var transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n var cacheCanvas = this._getCachedSceneCanvas();\n var ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n var canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n var filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n var ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n var events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n var events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n var e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n var stopNode = this;\n this.on(event, function (evt) {\n var targets = evt.target.findAncestors(selector, true, stopNode);\n for (var i = 0; i < targets.length; i++) {\n evt = Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n var parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n var method = 'get' + Util._capitalize(attr);\n if (Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n var parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return this.attrs || {};\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n var key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util._capitalize(key);\n if (Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n var layer = this.getLayer();\n var layerUnderDrag = false;\n DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n var dragSkip = !skipDragCheck && !Konva.hitOnDragEnabled && layerUnderDrag;\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n var depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n if (that.nodeType !== UPPER_STAGE) {\n addChildren(that.getStage().getChildren());\n }\n return index;\n }\n getDepth() {\n var depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n if (!this.getStage()) {\n return null;\n }\n var pos = this.getStage().getPointerPosition();\n if (!pos) {\n return null;\n }\n var transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n var absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n var origTrans = this._clearTransform();\n this.attrs.x = origTrans.x;\n this.attrs.y = origTrans.y;\n delete origTrans.x;\n delete origTrans.y;\n this._clearCache(TRANSFORM);\n var it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n var key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n var trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n var changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n var family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n var index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n var absOpacity = this.opacity();\n var parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n var obj = {}, attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n obj.attrs = {};\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util.isObject(val) && !Util._isPlainObject(val) && !Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n obj.className = this.getClassName();\n return Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n var res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n var ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n var selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util.isValidSelector(sel)) {\n Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n var parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n var parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return undefined;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n var at;\n if (top) {\n at = new Transform();\n this._eachAncestorReverse(function (node) {\n var transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n var transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n var parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n var m = this._cache.get(TRANSFORM) || new Transform();\n m.reset();\n var x = this.x(), y = this.y(), rotation = Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n var attrs = Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n var node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n var box = this.getClientRect();\n var stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n var mimeType = config.mimeType || null, quality = config.quality || null;\n var url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n var evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n var oldName = this.name();\n var newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n var names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n var names = (this.name() || '').split(/\\s/g);\n var index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n var func = this[SET + Util._capitalize(attr)];\n if (Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n var oldVal = this.attrs[key];\n if (oldVal === val && !Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n var oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n var shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n var stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n let listeners = this._cache.get(ALL_LISTENERS);\n if (!listeners) {\n listeners = {};\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n if (!obj.eventListeners) {\n obj = Object.getPrototypeOf(obj);\n continue;\n }\n for (var event in obj.eventListeners) {\n const newEvents = obj.eventListeners[event];\n const oldEvents = listeners[event] || [];\n listeners[event] = newEvents.concat(oldEvents);\n }\n obj = Object.getPrototypeOf(obj);\n }\n this._cache.set(ALL_LISTENERS, listeners);\n }\n return listeners[eventType];\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n var pointerId = evt ? evt.pointerId : undefined;\n var stage = this.getStage();\n var ap = this.getAbsolutePosition();\n var pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n var newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n var dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DD._endDragBefore(evt);\n DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n var shouldCheckButton = evt.evt['button'] !== undefined;\n var canDrag = !shouldCheckButton || Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n var hasDraggingChild = false;\n DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n var stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n var className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Konva[className]) {\n Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, getNumberValidator());\naddGetterSetter(Node, 'y', 0, getNumberValidator());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', getStringValidator());\naddGetterSetter(Node, 'opacity', 1, getNumberValidator());\naddGetterSetter(Node, 'name', '', getStringValidator());\naddGetterSetter(Node, 'id', '', getStringValidator());\naddGetterSetter(Node, 'rotation', 0, getNumberValidator());\nFactory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, getNumberValidator());\naddGetterSetter(Node, 'scaleY', 1, getNumberValidator());\nFactory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, getNumberValidator());\naddGetterSetter(Node, 'skewY', 0, getNumberValidator());\nFactory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, getNumberValidator());\naddGetterSetter(Node, 'offsetY', 0, getNumberValidator());\naddGetterSetter(Node, 'dragDistance', null, getNumberValidator());\naddGetterSetter(Node, 'width', 0, getNumberValidator());\naddGetterSetter(Node, 'height', 0, getNumberValidator());\naddGetterSetter(Node, 'listening', true, getBooleanValidator());\naddGetterSetter(Node, 'preventDefault', true, getBooleanValidator());\naddGetterSetter(Node, 'filters', null, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, getBooleanValidator());\naddGetterSetter(Node, 'transformsEnabled', 'all', getStringValidator());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, getBooleanValidator());\nFactory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n","import { Factory } from './Factory.js';\nimport { Node } from './Node.js';\nimport { getNumberValidator } from './Validators.js';\nexport class Container extends Node {\n constructor() {\n super(...arguments);\n this.children = [];\n }\n getChildren(filterFunc) {\n if (!filterFunc) {\n return this.children || [];\n }\n const children = this.children || [];\n var results = [];\n children.forEach(function (child) {\n if (filterFunc(child)) {\n results.push(child);\n }\n });\n return results;\n }\n hasChildren() {\n return this.getChildren().length > 0;\n }\n removeChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.remove();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n destroyChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.destroy();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n add(...children) {\n if (children.length === 0) {\n return this;\n }\n if (children.length > 1) {\n for (var i = 0; i < children.length; i++) {\n this.add(children[i]);\n }\n return this;\n }\n const child = children[0];\n if (child.getParent()) {\n child.moveTo(this);\n return this;\n }\n this._validateAdd(child);\n child.index = this.getChildren().length;\n child.parent = this;\n child._clearCaches();\n this.getChildren().push(child);\n this._fire('add', {\n child: child,\n });\n this._requestDraw();\n return this;\n }\n destroy() {\n if (this.hasChildren()) {\n this.destroyChildren();\n }\n super.destroy();\n return this;\n }\n find(selector) {\n return this._generalFind(selector, false);\n }\n findOne(selector) {\n var result = this._generalFind(selector, true);\n return result.length > 0 ? result[0] : undefined;\n }\n _generalFind(selector, findOne) {\n var retArr = [];\n this._descendants((node) => {\n const valid = node._isMatch(selector);\n if (valid) {\n retArr.push(node);\n }\n if (valid && findOne) {\n return true;\n }\n return false;\n });\n return retArr;\n }\n _descendants(fn) {\n let shouldStop = false;\n const children = this.getChildren();\n for (const child of children) {\n shouldStop = fn(child);\n if (shouldStop) {\n return true;\n }\n if (!child.hasChildren()) {\n continue;\n }\n shouldStop = child._descendants(fn);\n if (shouldStop) {\n return true;\n }\n }\n return false;\n }\n toObject() {\n var obj = Node.prototype.toObject.call(this);\n obj.children = [];\n this.getChildren().forEach((child) => {\n obj.children.push(child.toObject());\n });\n return obj;\n }\n isAncestorOf(node) {\n var parent = node.getParent();\n while (parent) {\n if (parent._id === this._id) {\n return true;\n }\n parent = parent.getParent();\n }\n return false;\n }\n clone(obj) {\n var node = Node.prototype.clone.call(this, obj);\n this.getChildren().forEach(function (no) {\n node.add(no.clone());\n });\n return node;\n }\n getAllIntersections(pos) {\n var arr = [];\n this.find('Shape').forEach(function (shape) {\n if (shape.isVisible() && shape.intersects(pos)) {\n arr.push(shape);\n }\n });\n return arr;\n }\n _clearSelfAndDescendantCache(attr) {\n var _a;\n super._clearSelfAndDescendantCache(attr);\n if (this.isCached()) {\n return;\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {\n node._clearSelfAndDescendantCache(attr);\n });\n }\n _setChildrenIndices() {\n var _a;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child, n) {\n child.index = n;\n });\n this._requestDraw();\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas()), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedSceneCanvas = cachedCanvas && cachedCanvas.scene;\n var caching = canvas && canvas.isCache;\n if (!this.isVisible() && !caching) {\n return this;\n }\n if (cachedSceneCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawScene', canvas, top);\n }\n return this;\n }\n drawHit(can, top) {\n if (!this.shouldDrawHit(top)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawHit', canvas, top);\n }\n return this;\n }\n _drawChildren(drawMethod, canvas, top) {\n var _a;\n var context = canvas && canvas.getContext(), clipWidth = this.clipWidth(), clipHeight = this.clipHeight(), clipFunc = this.clipFunc(), hasClip = (clipWidth && clipHeight) || clipFunc;\n const selfCache = top === this;\n if (hasClip) {\n context.save();\n var transform = this.getAbsoluteTransform(top);\n var m = transform.getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n context.beginPath();\n if (clipFunc) {\n clipFunc.call(this, context, this);\n }\n else {\n var clipX = this.clipX();\n var clipY = this.clipY();\n context.rect(clipX, clipY, clipWidth, clipHeight);\n }\n context.clip();\n m = transform.copy().invert().getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n var hasComposition = !selfCache &&\n this.globalCompositeOperation() !== 'source-over' &&\n drawMethod === 'drawScene';\n if (hasComposition) {\n context.save();\n context._applyGlobalCompositeOperation(this);\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n child[drawMethod](canvas, top);\n });\n if (hasComposition) {\n context.restore();\n }\n if (hasClip) {\n context.restore();\n }\n }\n getClientRect(config) {\n var _a;\n config = config || {};\n var skipTransform = config.skipTransform;\n var relativeTo = config.relativeTo;\n var minX, minY, maxX, maxY;\n var selfRect = {\n x: Infinity,\n y: Infinity,\n width: 0,\n height: 0,\n };\n var that = this;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n if (!child.visible()) {\n return;\n }\n var rect = child.getClientRect({\n relativeTo: that,\n skipShadow: config.skipShadow,\n skipStroke: config.skipStroke,\n });\n if (rect.width === 0 && rect.height === 0) {\n return;\n }\n if (minX === undefined) {\n minX = rect.x;\n minY = rect.y;\n maxX = rect.x + rect.width;\n maxY = rect.y + rect.height;\n }\n else {\n minX = Math.min(minX, rect.x);\n minY = Math.min(minY, rect.y);\n maxX = Math.max(maxX, rect.x + rect.width);\n maxY = Math.max(maxY, rect.y + rect.height);\n }\n });\n var shapes = this.find('Shape');\n var hasVisible = false;\n for (var i = 0; i < shapes.length; i++) {\n var shape = shapes[i];\n if (shape._isVisible(this)) {\n hasVisible = true;\n break;\n }\n }\n if (hasVisible && minX !== undefined) {\n selfRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n else {\n selfRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (!skipTransform) {\n return this._transformedRect(selfRect, relativeTo);\n }\n return selfRect;\n }\n}\nFactory.addComponentsGetterSetter(Container, 'clip', [\n 'x',\n 'y',\n 'width',\n 'height',\n]);\nFactory.addGetterSetter(Container, 'clipX', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipY', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipWidth', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipHeight', undefined, getNumberValidator());\nFactory.addGetterSetter(Container, 'clipFunc');\n","import { Konva } from './Global.js';\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Konva._global['PointerEvent'] !== undefined;\nexport function getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nexport function createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nexport function hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nexport function setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nexport function releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\n","import { Util } from './Util.js';\nimport { Factory } from './Factory.js';\nimport { Container } from './Container.js';\nimport { Konva } from './Global.js';\nimport { SceneCanvas, HitCanvas } from './Canvas.js';\nimport { DD } from './DragAndDrop.js';\nimport { _registerNode } from './Global.js';\nimport * as PointerEvents from './PointerEvents.js';\nvar STAGE = 'Stage', STRING = 'string', PX = 'px', MOUSEOUT = 'mouseout', MOUSELEAVE = 'mouseleave', MOUSEOVER = 'mouseover', MOUSEENTER = 'mouseenter', MOUSEMOVE = 'mousemove', MOUSEDOWN = 'mousedown', MOUSEUP = 'mouseup', POINTERMOVE = 'pointermove', POINTERDOWN = 'pointerdown', POINTERUP = 'pointerup', POINTERCANCEL = 'pointercancel', LOSTPOINTERCAPTURE = 'lostpointercapture', POINTEROUT = 'pointerout', POINTERLEAVE = 'pointerleave', POINTEROVER = 'pointerover', POINTERENTER = 'pointerenter', CONTEXTMENU = 'contextmenu', TOUCHSTART = 'touchstart', TOUCHEND = 'touchend', TOUCHMOVE = 'touchmove', TOUCHCANCEL = 'touchcancel', WHEEL = 'wheel', MAX_LAYERS_NUMBER = 5, EVENTS = [\n [MOUSEENTER, '_pointerenter'],\n [MOUSEDOWN, '_pointerdown'],\n [MOUSEMOVE, '_pointermove'],\n [MOUSEUP, '_pointerup'],\n [MOUSELEAVE, '_pointerleave'],\n [TOUCHSTART, '_pointerdown'],\n [TOUCHMOVE, '_pointermove'],\n [TOUCHEND, '_pointerup'],\n [TOUCHCANCEL, '_pointercancel'],\n [MOUSEOVER, '_pointerover'],\n [WHEEL, '_wheel'],\n [CONTEXTMENU, '_contextmenu'],\n [POINTERDOWN, '_pointerdown'],\n [POINTERMOVE, '_pointermove'],\n [POINTERUP, '_pointerup'],\n [POINTERCANCEL, '_pointercancel'],\n [LOSTPOINTERCAPTURE, '_lostpointercapture'],\n];\nconst EVENTS_MAP = {\n mouse: {\n [POINTEROUT]: MOUSEOUT,\n [POINTERLEAVE]: MOUSELEAVE,\n [POINTEROVER]: MOUSEOVER,\n [POINTERENTER]: MOUSEENTER,\n [POINTERMOVE]: MOUSEMOVE,\n [POINTERDOWN]: MOUSEDOWN,\n [POINTERUP]: MOUSEUP,\n [POINTERCANCEL]: 'mousecancel',\n pointerclick: 'click',\n pointerdblclick: 'dblclick',\n },\n touch: {\n [POINTEROUT]: 'touchout',\n [POINTERLEAVE]: 'touchleave',\n [POINTEROVER]: 'touchover',\n [POINTERENTER]: 'touchenter',\n [POINTERMOVE]: TOUCHMOVE,\n [POINTERDOWN]: TOUCHSTART,\n [POINTERUP]: TOUCHEND,\n [POINTERCANCEL]: TOUCHCANCEL,\n pointerclick: 'tap',\n pointerdblclick: 'dbltap',\n },\n pointer: {\n [POINTEROUT]: POINTEROUT,\n [POINTERLEAVE]: POINTERLEAVE,\n [POINTEROVER]: POINTEROVER,\n [POINTERENTER]: POINTERENTER,\n [POINTERMOVE]: POINTERMOVE,\n [POINTERDOWN]: POINTERDOWN,\n [POINTERUP]: POINTERUP,\n [POINTERCANCEL]: POINTERCANCEL,\n pointerclick: 'pointerclick',\n pointerdblclick: 'pointerdblclick',\n },\n};\nconst getEventType = (type) => {\n if (type.indexOf('pointer') >= 0) {\n return 'pointer';\n }\n if (type.indexOf('touch') >= 0) {\n return 'touch';\n }\n return 'mouse';\n};\nconst getEventsMap = (eventType) => {\n const type = getEventType(eventType);\n if (type === 'pointer') {\n return Konva.pointerEventsEnabled && EVENTS_MAP.pointer;\n }\n if (type === 'touch') {\n return EVENTS_MAP.touch;\n }\n if (type === 'mouse') {\n return EVENTS_MAP.mouse;\n }\n};\nfunction checkNoClip(attrs = {}) {\n if (attrs.clipFunc || attrs.clipWidth || attrs.clipHeight) {\n Util.warn('Stage does not support clipping. Please use clip for Layers or Groups.');\n }\n return attrs;\n}\nconst NO_POINTERS_MESSAGE = `Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);`;\nexport const stages = [];\nexport class Stage extends Container {\n constructor(config) {\n super(checkNoClip(config));\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n this._buildDOM();\n this._bindContentEvents();\n stages.push(this);\n this.on('widthChange.konva heightChange.konva', this._resizeDOM);\n this.on('visibleChange.konva', this._checkVisibility);\n this.on('clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva', () => {\n checkNoClip(this.attrs);\n });\n this._checkVisibility();\n }\n _validateAdd(child) {\n const isLayer = child.getType() === 'Layer';\n const isFastLayer = child.getType() === 'FastLayer';\n const valid = isLayer || isFastLayer;\n if (!valid) {\n Util.throw('You may only add layers to the stage.');\n }\n }\n _checkVisibility() {\n if (!this.content) {\n return;\n }\n const style = this.visible() ? '' : 'none';\n this.content.style.display = style;\n }\n setContainer(container) {\n if (typeof container === STRING) {\n if (container.charAt(0) === '.') {\n var className = container.slice(1);\n container = document.getElementsByClassName(className)[0];\n }\n else {\n var id;\n if (container.charAt(0) !== '#') {\n id = container;\n }\n else {\n id = container.slice(1);\n }\n container = document.getElementById(id);\n }\n if (!container) {\n throw 'Can not find container in document with id ' + id;\n }\n }\n this._setAttr('container', container);\n if (this.content) {\n if (this.content.parentElement) {\n this.content.parentElement.removeChild(this.content);\n }\n container.appendChild(this.content);\n }\n return this;\n }\n shouldDrawHit() {\n return true;\n }\n clear() {\n var layers = this.children, len = layers.length, n;\n for (n = 0; n < len; n++) {\n layers[n].clear();\n }\n return this;\n }\n clone(obj) {\n if (!obj) {\n obj = {};\n }\n obj.container =\n typeof document !== 'undefined' && document.createElement('div');\n return Container.prototype.clone.call(this, obj);\n }\n destroy() {\n super.destroy();\n var content = this.content;\n if (content && Util._isInDocument(content)) {\n this.container().removeChild(content);\n }\n var index = stages.indexOf(this);\n if (index > -1) {\n stages.splice(index, 1);\n }\n Util.releaseCanvas(this.bufferCanvas._canvas, this.bufferHitCanvas._canvas);\n return this;\n }\n getPointerPosition() {\n const pos = this._pointerPositions[0] || this._changedPointerPositions[0];\n if (!pos) {\n Util.warn(NO_POINTERS_MESSAGE);\n return null;\n }\n return {\n x: pos.x,\n y: pos.y,\n };\n }\n _getPointerById(id) {\n return this._pointerPositions.find((p) => p.id === id);\n }\n getPointersPositions() {\n return this._pointerPositions;\n }\n getStage() {\n return this;\n }\n getContent() {\n return this.content;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.x = config.x || 0;\n config.y = config.y || 0;\n config.width = config.width || this.width();\n config.height = config.height || this.height();\n var canvas = new SceneCanvas({\n width: config.width,\n height: config.height,\n pixelRatio: config.pixelRatio || 1,\n });\n var _context = canvas.getContext()._context;\n var layers = this.children;\n if (config.x || config.y) {\n _context.translate(-1 * config.x, -1 * config.y);\n }\n layers.forEach(function (layer) {\n if (!layer.isVisible()) {\n return;\n }\n var layerCanvas = layer._toKonvaCanvas(config);\n _context.drawImage(layerCanvas._canvas, config.x, config.y, layerCanvas.getWidth() / layerCanvas.getPixelRatio(), layerCanvas.getHeight() / layerCanvas.getPixelRatio());\n });\n return canvas;\n }\n getIntersection(pos) {\n if (!pos) {\n return null;\n }\n var layers = this.children, len = layers.length, end = len - 1, n;\n for (n = end; n >= 0; n--) {\n const shape = layers[n].getIntersection(pos);\n if (shape) {\n return shape;\n }\n }\n return null;\n }\n _resizeDOM() {\n var width = this.width();\n var height = this.height();\n if (this.content) {\n this.content.style.width = width + PX;\n this.content.style.height = height + PX;\n }\n this.bufferCanvas.setSize(width, height);\n this.bufferHitCanvas.setSize(width, height);\n this.children.forEach((layer) => {\n layer.setSize({ width, height });\n layer.draw();\n });\n }\n add(layer, ...rest) {\n if (arguments.length > 1) {\n for (var i = 0; i < arguments.length; i++) {\n this.add(arguments[i]);\n }\n return this;\n }\n super.add(layer);\n var length = this.children.length;\n if (length > MAX_LAYERS_NUMBER) {\n Util.warn('The stage has ' +\n length +\n ' layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.');\n }\n layer.setSize({ width: this.width(), height: this.height() });\n layer.draw();\n if (Konva.isBrowser) {\n this.content.appendChild(layer.canvas._canvas);\n }\n return this;\n }\n getParent() {\n return null;\n }\n getLayer() {\n return null;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n getLayers() {\n return this.children;\n }\n _bindContentEvents() {\n if (!Konva.isBrowser) {\n return;\n }\n EVENTS.forEach(([event, methodName]) => {\n this.content.addEventListener(event, (evt) => {\n this[methodName](evt);\n }, { passive: false });\n });\n }\n _pointerenter(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n this._fire(events.pointerenter, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n _pointerover(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n _getTargetShape(evenType) {\n let shape = this[evenType + 'targetShape'];\n if (shape && !shape.getStage()) {\n shape = null;\n }\n return shape;\n }\n _pointerleave(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var targetShape = this._getTargetShape(eventType);\n var eventsEnabled = !DD.isDragging || Konva.hitOnDragEnabled;\n if (targetShape && eventsEnabled) {\n targetShape._fireAndBubble(events.pointerout, { evt: evt });\n targetShape._fireAndBubble(events.pointerleave, { evt: evt });\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this[eventType + 'targetShape'] = null;\n }\n else if (eventsEnabled) {\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this._fire(events.pointerout, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n this.pointerPos = undefined;\n this._pointerPositions = [];\n }\n _pointerdown(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n var shape = this.getIntersection(pos);\n DD.justDragged = false;\n Konva['_' + eventType + 'ListenClick'] = true;\n const hasShape = shape && shape.isListening();\n if (!hasShape) {\n return;\n }\n if (Konva.capturePointerEventsEnabled) {\n shape.setPointerCapture(pos.id);\n }\n this[eventType + 'ClickStartShape'] = shape;\n shape._fireAndBubble(events.pointerdown, {\n evt: evt,\n pointerId: pos.id,\n });\n triggeredOnShape = true;\n const isTouch = evt.type.indexOf('touch') >= 0;\n if (shape.preventDefault() && evt.cancelable && isTouch) {\n evt.preventDefault();\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerdown, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._pointerPositions[0].id,\n });\n }\n }\n _pointermove(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n if (DD.isDragging && DD.node.preventDefault() && evt.cancelable) {\n evt.preventDefault();\n }\n this.setPointersPositions(evt);\n var eventsEnabled = !DD.isDragging || Konva.hitOnDragEnabled;\n if (!eventsEnabled) {\n return;\n }\n var processedShapesIds = {};\n let triggeredOnShape = false;\n var targetShape = this._getTargetShape(eventType);\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n var differentTarget = targetShape !== shape;\n if (differentTarget && targetShape) {\n targetShape._fireAndBubble(events.pointerout, Object.assign({}, event), shape);\n targetShape._fireAndBubble(events.pointerleave, Object.assign({}, event), shape);\n }\n if (shape) {\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n if (differentTarget) {\n shape._fireAndBubble(events.pointerover, Object.assign({}, event), targetShape);\n shape._fireAndBubble(events.pointerenter, Object.assign({}, event), targetShape);\n this[eventType + 'targetShape'] = shape;\n }\n shape._fireAndBubble(events.pointermove, Object.assign({}, event));\n }\n else {\n if (targetShape) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n this[eventType + 'targetShape'] = null;\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointermove, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n }\n _pointerup(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const clickStartShape = this[eventType + 'ClickStartShape'];\n const clickEndShape = this[eventType + 'ClickEndShape'];\n var processedShapesIds = {};\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n if (shape) {\n shape.releaseCapture(pos.id);\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n let fireDblClick = false;\n if (Konva['_' + eventType + 'InDblClickWindow']) {\n fireDblClick = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n else if (!DD.justDragged) {\n Konva['_' + eventType + 'InDblClickWindow'] = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n this[eventType + 'DblTimeout'] = setTimeout(function () {\n Konva['_' + eventType + 'InDblClickWindow'] = false;\n }, Konva.dblClickWindow);\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n this[eventType + 'ClickEndShape'] = shape;\n shape._fireAndBubble(events.pointerup, Object.assign({}, event));\n if (Konva['_' + eventType + 'ListenClick'] &&\n clickStartShape &&\n clickStartShape === shape) {\n shape._fireAndBubble(events.pointerclick, Object.assign({}, event));\n if (fireDblClick && clickEndShape && clickEndShape === shape) {\n shape._fireAndBubble(events.pointerdblclick, Object.assign({}, event));\n }\n }\n }\n else {\n this[eventType + 'ClickEndShape'] = null;\n if (Konva['_' + eventType + 'ListenClick']) {\n this._fire(events.pointerclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n if (fireDblClick) {\n this._fire(events.pointerdblclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerup, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n Konva['_' + eventType + 'ListenClick'] = false;\n if (evt.cancelable && eventType !== 'touch') {\n evt.preventDefault();\n }\n }\n _contextmenu(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(CONTEXTMENU, { evt: evt });\n }\n else {\n this._fire(CONTEXTMENU, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _wheel(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(WHEEL, { evt: evt });\n }\n else {\n this._fire(WHEEL, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointercancel(evt) {\n this.setPointersPositions(evt);\n const shape = PointerEvents.getCapturedShape(evt.pointerId) ||\n this.getIntersection(this.getPointerPosition());\n if (shape) {\n shape._fireAndBubble(POINTERUP, PointerEvents.createEvent(evt));\n }\n PointerEvents.releaseCapture(evt.pointerId);\n }\n _lostpointercapture(evt) {\n PointerEvents.releaseCapture(evt.pointerId);\n }\n setPointersPositions(evt) {\n var contentPosition = this._getContentPosition(), x = null, y = null;\n evt = evt ? evt : window.event;\n if (evt.touches !== undefined) {\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n Array.prototype.forEach.call(evt.touches, (touch) => {\n this._pointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n Array.prototype.forEach.call(evt.changedTouches || evt.touches, (touch) => {\n this._changedPointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n }\n else {\n x = (evt.clientX - contentPosition.left) / contentPosition.scaleX;\n y = (evt.clientY - contentPosition.top) / contentPosition.scaleY;\n this.pointerPos = {\n x: x,\n y: y,\n };\n this._pointerPositions = [{ x, y, id: Util._getFirstPointerId(evt) }];\n this._changedPointerPositions = [\n { x, y, id: Util._getFirstPointerId(evt) },\n ];\n }\n }\n _setPointerPosition(evt) {\n Util.warn('Method _setPointerPosition is deprecated. Use \"stage.setPointersPositions(event)\" instead.');\n this.setPointersPositions(evt);\n }\n _getContentPosition() {\n if (!this.content || !this.content.getBoundingClientRect) {\n return {\n top: 0,\n left: 0,\n scaleX: 1,\n scaleY: 1,\n };\n }\n var rect = this.content.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n scaleX: rect.width / this.content.clientWidth || 1,\n scaleY: rect.height / this.content.clientHeight || 1,\n };\n }\n _buildDOM() {\n this.bufferCanvas = new SceneCanvas({\n width: this.width(),\n height: this.height(),\n });\n this.bufferHitCanvas = new HitCanvas({\n pixelRatio: 1,\n width: this.width(),\n height: this.height(),\n });\n if (!Konva.isBrowser) {\n return;\n }\n var container = this.container();\n if (!container) {\n throw 'Stage has no container. A container is required.';\n }\n container.innerHTML = '';\n this.content = document.createElement('div');\n this.content.style.position = 'relative';\n this.content.style.userSelect = 'none';\n this.content.className = 'konvajs-content';\n this.content.setAttribute('role', 'presentation');\n container.appendChild(this.content);\n this._resizeDOM();\n }\n cache() {\n Util.warn('Cache function is not allowed for stage. You may use cache only for layers, groups and shapes.');\n return this;\n }\n clearCache() {\n return this;\n }\n batchDraw() {\n this.getChildren().forEach(function (layer) {\n layer.batchDraw();\n });\n return this;\n }\n}\nStage.prototype.nodeType = STAGE;\n_registerNode(Stage);\nFactory.addGetterSetter(Stage, 'container');\n","import { Konva } from './Global.js';\nimport { Transform, Util } from './Util.js';\nimport { Factory } from './Factory.js';\nimport { Node } from './Node.js';\nimport { getNumberValidator, getNumberOrAutoValidator, getStringValidator, getBooleanValidator, getStringOrGradientValidator, } from './Validators.js';\nimport { _registerNode } from './Global.js';\nimport * as PointerEvents from './PointerEvents.js';\nvar HAS_SHADOW = 'hasShadow';\nvar SHADOW_RGBA = 'shadowRGBA';\nvar patternImage = 'patternImage';\nvar linearGradient = 'linearGradient';\nvar radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexport const shapes = {};\nfunction _fillFunc(context) {\n context.fill();\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n context.fill();\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nexport class Shape extends Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util.getRandomColor();\n if (key && !(key in shapes)) {\n break;\n }\n }\n this.colorKey = key;\n shapes[key] = this;\n }\n getContext() {\n Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n var ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n var colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillLinearGradientStartPoint();\n var end = this.fillLinearGradientEndPoint();\n var grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n var colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillRadialGradientStartPoint();\n var end = this.fillRadialGradientEndPoint();\n var grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n var rgba = Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n var stage = this.getStage(), bufferHitCanvas = stage.bufferHitCanvas, p;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, null, true);\n p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node.prototype.destroy.call(this);\n delete shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n if (!this.getStage()) {\n return false;\n }\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n var size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferCanvas, bufferContext;\n var skipBuffer = canvas.isCache;\n var cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n bufferCanvas = stage.bufferCanvas;\n bufferContext = bufferCanvas.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n var ratio = bufferCanvas.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bufferCanvas._canvas, 0, 0, bufferCanvas.width / ratio, bufferCanvas.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n var cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight(), hitImageData, hitData, len, rgbColorKey, i, alpha;\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n hitData = hitImageData.data;\n len = hitData.length;\n rgbColorKey = Util._hexToRgb(this.colorKey);\n for (i = 0; i < len; i += 4) {\n alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n_registerNode(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory.addGetterSetter(Shape, 'stroke', undefined, getStringOrGradientValidator());\nFactory.addGetterSetter(Shape, 'strokeWidth', 2, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', getNumberOrAutoValidator());\nFactory.addGetterSetter(Shape, 'strokeHitEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Shape, 'perfectDrawEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Shape, 'lineJoin');\nFactory.addGetterSetter(Shape, 'lineCap');\nFactory.addGetterSetter(Shape, 'sceneFunc');\nFactory.addGetterSetter(Shape, 'hitFunc');\nFactory.addGetterSetter(Shape, 'dash');\nFactory.addGetterSetter(Shape, 'dashOffset', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'shadowColor', undefined, getStringValidator());\nFactory.addGetterSetter(Shape, 'shadowBlur', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'shadowOpacity', 1, getNumberValidator());\nFactory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory.addGetterSetter(Shape, 'shadowOffsetX', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'shadowOffsetY', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternImage');\nFactory.addGetterSetter(Shape, 'fill', undefined, getStringOrGradientValidator());\nFactory.addGetterSetter(Shape, 'fillPatternX', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternY', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, getNumberValidator());\nFactory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory.addGetterSetter(Shape, 'fillPatternScaleX', 1, getNumberValidator());\nFactory.addGetterSetter(Shape, 'fillPatternScaleY', 1, getNumberValidator());\nFactory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n","import { Util } from './Util.js';\nimport { Container } from './Container.js';\nimport { Node } from './Node.js';\nimport { Factory } from './Factory.js';\nimport { SceneCanvas, HitCanvas } from './Canvas.js';\nimport { getBooleanValidator } from './Validators.js';\nimport { shapes } from './Shape.js';\nimport { _registerNode } from './Global.js';\nvar HASH = '#', BEFORE_DRAW = 'beforeDraw', DRAW = 'draw', INTERSECTION_OFFSETS = [\n { x: 0, y: 0 },\n { x: -1, y: -1 },\n { x: 1, y: -1 },\n { x: 1, y: 1 },\n { x: -1, y: 1 },\n], INTERSECTION_OFFSETS_LEN = INTERSECTION_OFFSETS.length;\nexport class Layer extends Container {\n constructor(config) {\n super(config);\n this.canvas = new SceneCanvas();\n this.hitCanvas = new HitCanvas({\n pixelRatio: 1,\n });\n this._waitingForDraw = false;\n this.on('visibleChange.konva', this._checkVisibility);\n this._checkVisibility();\n this.on('imageSmoothingEnabledChange.konva', this._setSmoothEnabled);\n this._setSmoothEnabled();\n }\n createPNGStream() {\n const c = this.canvas._canvas;\n return c.createPNGStream();\n }\n getCanvas() {\n return this.canvas;\n }\n getNativeCanvasElement() {\n return this.canvas._canvas;\n }\n getHitCanvas() {\n return this.hitCanvas;\n }\n getContext() {\n return this.getCanvas().getContext();\n }\n clear(bounds) {\n this.getContext().clear(bounds);\n this.getHitCanvas().getContext().clear(bounds);\n return this;\n }\n setZIndex(index) {\n super.setZIndex(index);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n if (index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n }\n return this;\n }\n moveToTop() {\n Node.prototype.moveToTop.call(this);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveUp() {\n var moved = Node.prototype.moveUp.call(this);\n if (!moved) {\n return false;\n }\n var stage = this.getStage();\n if (!stage || !stage.content) {\n return false;\n }\n stage.content.removeChild(this.getNativeCanvasElement());\n if (this.index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[this.index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveDown() {\n if (Node.prototype.moveDown.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[this.index + 1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (Node.prototype.moveToBottom.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n getLayer() {\n return this;\n }\n remove() {\n var _canvas = this.getNativeCanvasElement();\n Node.prototype.remove.call(this);\n if (_canvas && _canvas.parentNode && Util._isInDocument(_canvas)) {\n _canvas.parentNode.removeChild(_canvas);\n }\n return this;\n }\n getStage() {\n return this.parent;\n }\n setSize({ width, height }) {\n this.canvas.setSize(width, height);\n this.hitCanvas.setSize(width, height);\n this._setSmoothEnabled();\n return this;\n }\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util.throw('You may only add groups and shapes to a layer.');\n }\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.width = config.width || this.getWidth();\n config.height = config.height || this.getHeight();\n config.x = config.x !== undefined ? config.x : this.x();\n config.y = config.y !== undefined ? config.y : this.y();\n return Node.prototype._toKonvaCanvas.call(this, config);\n }\n _checkVisibility() {\n const visible = this.visible();\n if (visible) {\n this.canvas._canvas.style.display = 'block';\n }\n else {\n this.canvas._canvas.style.display = 'none';\n }\n }\n _setSmoothEnabled() {\n this.getContext()._context.imageSmoothingEnabled =\n this.imageSmoothingEnabled();\n }\n getWidth() {\n if (this.parent) {\n return this.parent.width();\n }\n }\n setWidth() {\n Util.warn('Can not change width of layer. Use \"stage.width(value)\" function instead.');\n }\n getHeight() {\n if (this.parent) {\n return this.parent.height();\n }\n }\n setHeight() {\n Util.warn('Can not change height of layer. Use \"stage.height(value)\" function instead.');\n }\n batchDraw() {\n if (!this._waitingForDraw) {\n this._waitingForDraw = true;\n Util.requestAnimFrame(() => {\n this.draw();\n this._waitingForDraw = false;\n });\n }\n return this;\n }\n getIntersection(pos) {\n if (!this.isListening() || !this.isVisible()) {\n return null;\n }\n var spiralSearchDistance = 1;\n var continueSearch = false;\n while (true) {\n for (let i = 0; i < INTERSECTION_OFFSETS_LEN; i++) {\n const intersectionOffset = INTERSECTION_OFFSETS[i];\n const obj = this._getIntersection({\n x: pos.x + intersectionOffset.x * spiralSearchDistance,\n y: pos.y + intersectionOffset.y * spiralSearchDistance,\n });\n const shape = obj.shape;\n if (shape) {\n return shape;\n }\n continueSearch = !!obj.antialiased;\n if (!obj.antialiased) {\n break;\n }\n }\n if (continueSearch) {\n spiralSearchDistance += 1;\n }\n else {\n return null;\n }\n }\n }\n _getIntersection(pos) {\n const ratio = this.hitCanvas.pixelRatio;\n const p = this.hitCanvas.context.getImageData(Math.round(pos.x * ratio), Math.round(pos.y * ratio), 1, 1).data;\n const p3 = p[3];\n if (p3 === 255) {\n const colorKey = Util._rgbToHex(p[0], p[1], p[2]);\n const shape = shapes[HASH + colorKey];\n if (shape) {\n return {\n shape: shape,\n };\n }\n return {\n antialiased: true,\n };\n }\n else if (p3 > 0) {\n return {\n antialiased: true,\n };\n }\n return {};\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas());\n this._fire(BEFORE_DRAW, {\n node: this,\n });\n if (this.clearBeforeDraw()) {\n canvas.getContext().clear();\n }\n Container.prototype.drawScene.call(this, canvas, top);\n this._fire(DRAW, {\n node: this,\n });\n return this;\n }\n drawHit(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas);\n if (layer && layer.clearBeforeDraw()) {\n layer.getHitCanvas().getContext().clear();\n }\n Container.prototype.drawHit.call(this, canvas, top);\n return this;\n }\n enableHitGraph() {\n this.hitGraphEnabled(true);\n return this;\n }\n disableHitGraph() {\n this.hitGraphEnabled(false);\n return this;\n }\n setHitGraphEnabled(val) {\n Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n this.listening(val);\n }\n getHitGraphEnabled(val) {\n Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n return this.listening();\n }\n toggleHitCanvas() {\n if (!this.parent || !this.parent['content']) {\n return;\n }\n var parent = this.parent;\n var added = !!this.hitCanvas._canvas.parentNode;\n if (added) {\n parent.content.removeChild(this.hitCanvas._canvas);\n }\n else {\n parent.content.appendChild(this.hitCanvas._canvas);\n }\n }\n destroy() {\n Util.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas);\n return super.destroy();\n }\n}\nLayer.prototype.nodeType = 'Layer';\n_registerNode(Layer);\nFactory.addGetterSetter(Layer, 'imageSmoothingEnabled', true);\nFactory.addGetterSetter(Layer, 'clearBeforeDraw', true);\nFactory.addGetterSetter(Layer, 'hitGraphEnabled', true, getBooleanValidator());\n","import { Util } from './Util.js';\nimport { Layer } from './Layer.js';\nimport { _registerNode } from './Global.js';\nexport class FastLayer extends Layer {\n constructor(attrs) {\n super(attrs);\n this.listening(false);\n Util.warn('Konva.Fast layer is deprecated. Please use \"new Konva.Layer({ listening: false })\" instead.');\n }\n}\nFastLayer.prototype.nodeType = 'FastLayer';\n_registerNode(FastLayer);\n","import { Util } from './Util.js';\nimport { Container } from './Container.js';\nimport { _registerNode } from './Global.js';\nexport class Group extends Container {\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util.throw('You may only add groups and shapes to groups.');\n }\n }\n}\nGroup.prototype.nodeType = 'Group';\n_registerNode(Group);\n","import { glob } from './Global.js';\nimport { Util } from './Util.js';\nvar now = (function () {\n if (glob.performance && glob.performance.now) {\n return function () {\n return glob.performance.now();\n };\n }\n return function () {\n return new Date().getTime();\n };\n})();\nexport class Animation {\n constructor(func, layers) {\n this.id = Animation.animIdCounter++;\n this.frame = {\n time: 0,\n timeDiff: 0,\n lastTime: now(),\n frameRate: 0,\n };\n this.func = func;\n this.setLayers(layers);\n }\n setLayers(layers) {\n var lays = [];\n if (!layers) {\n lays = [];\n }\n else if (layers.length > 0) {\n lays = layers;\n }\n else {\n lays = [layers];\n }\n this.layers = lays;\n return this;\n }\n getLayers() {\n return this.layers;\n }\n addLayer(layer) {\n var layers = this.layers, len = layers.length, n;\n for (n = 0; n < len; n++) {\n if (layers[n]._id === layer._id) {\n return false;\n }\n }\n this.layers.push(layer);\n return true;\n }\n isRunning() {\n var a = Animation, animations = a.animations, len = animations.length, n;\n for (n = 0; n < len; n++) {\n if (animations[n].id === this.id) {\n return true;\n }\n }\n return false;\n }\n start() {\n this.stop();\n this.frame.timeDiff = 0;\n this.frame.lastTime = now();\n Animation._addAnimation(this);\n return this;\n }\n stop() {\n Animation._removeAnimation(this);\n return this;\n }\n _updateFrameObject(time) {\n this.frame.timeDiff = time - this.frame.lastTime;\n this.frame.lastTime = time;\n this.frame.time += this.frame.timeDiff;\n this.frame.frameRate = 1000 / this.frame.timeDiff;\n }\n static _addAnimation(anim) {\n this.animations.push(anim);\n this._handleAnimation();\n }\n static _removeAnimation(anim) {\n var id = anim.id, animations = this.animations, len = animations.length, n;\n for (n = 0; n < len; n++) {\n if (animations[n].id === id) {\n this.animations.splice(n, 1);\n break;\n }\n }\n }\n static _runFrames() {\n var layerHash = {}, animations = this.animations, anim, layers, func, n, i, layersLen, layer, key, needRedraw;\n for (n = 0; n < animations.length; n++) {\n anim = animations[n];\n layers = anim.layers;\n func = anim.func;\n anim._updateFrameObject(now());\n layersLen = layers.length;\n if (func) {\n needRedraw = func.call(anim, anim.frame) !== false;\n }\n else {\n needRedraw = true;\n }\n if (!needRedraw) {\n continue;\n }\n for (i = 0; i < layersLen; i++) {\n layer = layers[i];\n if (layer._id !== undefined) {\n layerHash[layer._id] = layer;\n }\n }\n }\n for (key in layerHash) {\n if (!layerHash.hasOwnProperty(key)) {\n continue;\n }\n layerHash[key].batchDraw();\n }\n }\n static _animationLoop() {\n var Anim = Animation;\n if (Anim.animations.length) {\n Anim._runFrames();\n Util.requestAnimFrame(Anim._animationLoop);\n }\n else {\n Anim.animRunning = false;\n }\n }\n static _handleAnimation() {\n if (!this.animRunning) {\n this.animRunning = true;\n Util.requestAnimFrame(this._animationLoop);\n }\n }\n}\nAnimation.animations = [];\nAnimation.animIdCounter = 0;\nAnimation.animRunning = false;\n","import { Util } from './Util.js';\nimport { Animation } from './Animation.js';\nimport { Node } from './Node.js';\nimport { Konva } from './Global.js';\nvar blacklist = {\n node: 1,\n duration: 1,\n easing: 1,\n onFinish: 1,\n yoyo: 1,\n}, PAUSED = 1, PLAYING = 2, REVERSING = 3, idCounter = 0, colorAttrs = ['fill', 'stroke', 'shadowColor'];\nclass TweenEngine {\n constructor(prop, propFunc, func, begin, finish, duration, yoyo) {\n this.prop = prop;\n this.propFunc = propFunc;\n this.begin = begin;\n this._pos = begin;\n this.duration = duration;\n this._change = 0;\n this.prevPos = 0;\n this.yoyo = yoyo;\n this._time = 0;\n this._position = 0;\n this._startTime = 0;\n this._finish = 0;\n this.func = func;\n this._change = finish - this.begin;\n this.pause();\n }\n fire(str) {\n var handler = this[str];\n if (handler) {\n handler();\n }\n }\n setTime(t) {\n if (t > this.duration) {\n if (this.yoyo) {\n this._time = this.duration;\n this.reverse();\n }\n else {\n this.finish();\n }\n }\n else if (t < 0) {\n if (this.yoyo) {\n this._time = 0;\n this.play();\n }\n else {\n this.reset();\n }\n }\n else {\n this._time = t;\n this.update();\n }\n }\n getTime() {\n return this._time;\n }\n setPosition(p) {\n this.prevPos = this._pos;\n this.propFunc(p);\n this._pos = p;\n }\n getPosition(t) {\n if (t === undefined) {\n t = this._time;\n }\n return this.func(t, this.begin, this._change, this.duration);\n }\n play() {\n this.state = PLAYING;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onPlay');\n }\n reverse() {\n this.state = REVERSING;\n this._time = this.duration - this._time;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onReverse');\n }\n seek(t) {\n this.pause();\n this._time = t;\n this.update();\n this.fire('onSeek');\n }\n reset() {\n this.pause();\n this._time = 0;\n this.update();\n this.fire('onReset');\n }\n finish() {\n this.pause();\n this._time = this.duration;\n this.update();\n this.fire('onFinish');\n }\n update() {\n this.setPosition(this.getPosition(this._time));\n this.fire('onUpdate');\n }\n onEnterFrame() {\n var t = this.getTimer() - this._startTime;\n if (this.state === PLAYING) {\n this.setTime(t);\n }\n else if (this.state === REVERSING) {\n this.setTime(this.duration - t);\n }\n }\n pause() {\n this.state = PAUSED;\n this.fire('onPause');\n }\n getTimer() {\n return new Date().getTime();\n }\n}\nexport class Tween {\n constructor(config) {\n var that = this, node = config.node, nodeId = node._id, duration, easing = config.easing || Easings.Linear, yoyo = !!config.yoyo, key;\n if (typeof config.duration === 'undefined') {\n duration = 0.3;\n }\n else if (config.duration === 0) {\n duration = 0.001;\n }\n else {\n duration = config.duration;\n }\n this.node = node;\n this._id = idCounter++;\n var layers = node.getLayer() ||\n (node instanceof Konva['Stage'] ? node.getLayers() : null);\n if (!layers) {\n Util.error('Tween constructor have `node` that is not in a layer. Please add node into layer first.');\n }\n this.anim = new Animation(function () {\n that.tween.onEnterFrame();\n }, layers);\n this.tween = new TweenEngine(key, function (i) {\n that._tweenFunc(i);\n }, easing, 0, 1, duration * 1000, yoyo);\n this._addListeners();\n if (!Tween.attrs[nodeId]) {\n Tween.attrs[nodeId] = {};\n }\n if (!Tween.attrs[nodeId][this._id]) {\n Tween.attrs[nodeId][this._id] = {};\n }\n if (!Tween.tweens[nodeId]) {\n Tween.tweens[nodeId] = {};\n }\n for (key in config) {\n if (blacklist[key] === undefined) {\n this._addAttr(key, config[key]);\n }\n }\n this.reset();\n this.onFinish = config.onFinish;\n this.onReset = config.onReset;\n this.onUpdate = config.onUpdate;\n }\n _addAttr(key, end) {\n var node = this.node, nodeId = node._id, start, diff, tweenId, n, len, trueEnd, trueStart, endRGBA;\n tweenId = Tween.tweens[nodeId][key];\n if (tweenId) {\n delete Tween.attrs[nodeId][tweenId][key];\n }\n start = node.getAttr(key);\n if (Util._isArray(end)) {\n diff = [];\n len = Math.max(end.length, start.length);\n if (key === 'points' && end.length !== start.length) {\n if (end.length > start.length) {\n trueStart = start;\n start = Util._prepareArrayForTween(start, end, node.closed());\n }\n else {\n trueEnd = end;\n end = Util._prepareArrayForTween(end, start, node.closed());\n }\n }\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n diff.push(end[n] - start[n]);\n }\n else {\n var startRGBA = Util.colorToRGBA(start[n]);\n endRGBA = Util.colorToRGBA(end[n]);\n start[n] = startRGBA;\n diff.push({\n r: endRGBA.r - startRGBA.r,\n g: endRGBA.g - startRGBA.g,\n b: endRGBA.b - startRGBA.b,\n a: endRGBA.a - startRGBA.a,\n });\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n diff.push(end[n] - start[n]);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n start = Util.colorToRGBA(start);\n endRGBA = Util.colorToRGBA(end);\n diff = {\n r: endRGBA.r - start.r,\n g: endRGBA.g - start.g,\n b: endRGBA.b - start.b,\n a: endRGBA.a - start.a,\n };\n }\n else {\n diff = end - start;\n }\n Tween.attrs[nodeId][this._id][key] = {\n start: start,\n diff: diff,\n end: end,\n trueEnd: trueEnd,\n trueStart: trueStart,\n };\n Tween.tweens[nodeId][key] = this._id;\n }\n _tweenFunc(i) {\n var node = this.node, attrs = Tween.attrs[node._id][this._id], key, attr, start, diff, newVal, n, len, end;\n for (key in attrs) {\n attr = attrs[key];\n start = attr.start;\n diff = attr.diff;\n end = attr.end;\n if (Util._isArray(start)) {\n newVal = [];\n len = Math.max(start.length, end.length);\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n else {\n newVal.push('rgba(' +\n Math.round(start[n].r + diff[n].r * i) +\n ',' +\n Math.round(start[n].g + diff[n].g * i) +\n ',' +\n Math.round(start[n].b + diff[n].b * i) +\n ',' +\n (start[n].a + diff[n].a * i) +\n ')');\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n newVal =\n 'rgba(' +\n Math.round(start.r + diff.r * i) +\n ',' +\n Math.round(start.g + diff.g * i) +\n ',' +\n Math.round(start.b + diff.b * i) +\n ',' +\n (start.a + diff.a * i) +\n ')';\n }\n else {\n newVal = start + diff * i;\n }\n node.setAttr(key, newVal);\n }\n }\n _addListeners() {\n this.tween.onPlay = () => {\n this.anim.start();\n };\n this.tween.onReverse = () => {\n this.anim.start();\n };\n this.tween.onPause = () => {\n this.anim.stop();\n };\n this.tween.onFinish = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueEnd) {\n node.setAttr('points', attrs.points.trueEnd);\n }\n if (this.onFinish) {\n this.onFinish.call(this);\n }\n };\n this.tween.onReset = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueStart) {\n node.points(attrs.points.trueStart);\n }\n if (this.onReset) {\n this.onReset();\n }\n };\n this.tween.onUpdate = () => {\n if (this.onUpdate) {\n this.onUpdate.call(this);\n }\n };\n }\n play() {\n this.tween.play();\n return this;\n }\n reverse() {\n this.tween.reverse();\n return this;\n }\n reset() {\n this.tween.reset();\n return this;\n }\n seek(t) {\n this.tween.seek(t * 1000);\n return this;\n }\n pause() {\n this.tween.pause();\n return this;\n }\n finish() {\n this.tween.finish();\n return this;\n }\n destroy() {\n var nodeId = this.node._id, thisId = this._id, attrs = Tween.tweens[nodeId], key;\n this.pause();\n for (key in attrs) {\n delete Tween.tweens[nodeId][key];\n }\n delete Tween.attrs[nodeId][thisId];\n }\n}\nTween.attrs = {};\nTween.tweens = {};\nNode.prototype.to = function (params) {\n var onFinish = params.onFinish;\n params.node = this;\n params.onFinish = function () {\n this.destroy();\n if (onFinish) {\n onFinish();\n }\n };\n var tween = new Tween(params);\n tween.play();\n};\nexport const Easings = {\n BackEaseIn(t, b, c, d) {\n var s = 1.70158;\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n BackEaseOut(t, b, c, d) {\n var s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n BackEaseInOut(t, b, c, d) {\n var s = 1.70158;\n if ((t /= d / 2) < 1) {\n return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n }\n return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n },\n ElasticEaseIn(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (-(a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b);\n },\n ElasticEaseOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) +\n c +\n b);\n },\n ElasticEaseInOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n if (t < 1) {\n return (-0.5 *\n (a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) +\n b);\n }\n return (a *\n Math.pow(2, -10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p) *\n 0.5 +\n c +\n b);\n },\n BounceEaseOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n }\n else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n BounceEaseIn(t, b, c, d) {\n return c - Easings.BounceEaseOut(d - t, 0, c, d) + b;\n },\n BounceEaseInOut(t, b, c, d) {\n if (t < d / 2) {\n return Easings.BounceEaseIn(t * 2, 0, c, d) * 0.5 + b;\n }\n else {\n return Easings.BounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n },\n EaseIn(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n EaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n EaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t + b;\n }\n return (-c / 2) * (--t * (t - 2) - 1) + b;\n },\n StrongEaseIn(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n },\n StrongEaseOut(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n StrongEaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t * t * t * t + b;\n }\n return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b;\n },\n Linear(t, b, c, d) {\n return (c * t) / d + b;\n },\n};\n","import { Konva as Global } from './Global.js';\nimport { Util, Transform } from './Util.js';\nimport { Node } from './Node.js';\nimport { Container } from './Container.js';\nimport { Stage, stages } from './Stage.js';\nimport { Layer } from './Layer.js';\nimport { FastLayer } from './FastLayer.js';\nimport { Group } from './Group.js';\nimport { DD } from './DragAndDrop.js';\nimport { Shape, shapes } from './Shape.js';\nimport { Animation } from './Animation.js';\nimport { Tween, Easings } from './Tween.js';\nimport { Context } from './Context.js';\nimport { Canvas } from './Canvas.js';\nexport const Konva = Util._assign(Global, {\n Util,\n Transform,\n Node,\n Container,\n Stage,\n stages,\n Layer,\n FastLayer,\n Group,\n DD,\n Shape,\n shapes,\n Animation,\n Tween,\n Easings,\n Context,\n Canvas,\n});\nexport default Konva;\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Konva } from '../Global.js';\nimport { getNumberValidator, getBooleanValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Arc extends Shape {\n _sceneFunc(context) {\n var angle = Konva.getAngle(this.angle()), clockwise = this.clockwise();\n context.beginPath();\n context.arc(0, 0, this.outerRadius(), 0, angle, clockwise);\n context.arc(0, 0, this.innerRadius(), angle, 0, !clockwise);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n getSelfRect() {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const clockwise = this.clockwise();\n const angle = Konva.getAngle(clockwise ? 360 - this.angle() : this.angle());\n const boundLeftRatio = Math.cos(Math.min(angle, Math.PI));\n const boundRightRatio = 1;\n const boundTopRatio = Math.sin(Math.min(Math.max(Math.PI, angle), (3 * Math.PI) / 2));\n const boundBottomRatio = Math.sin(Math.min(angle, Math.PI / 2));\n const boundLeft = boundLeftRatio * (boundLeftRatio > 0 ? innerRadius : outerRadius);\n const boundRight = boundRightRatio * (boundRightRatio > 0 ? outerRadius : innerRadius);\n const boundTop = boundTopRatio * (boundTopRatio > 0 ? innerRadius : outerRadius);\n const boundBottom = boundBottomRatio * (boundBottomRatio > 0 ? outerRadius : innerRadius);\n return {\n x: boundLeft,\n y: clockwise ? -1 * boundBottom : boundTop,\n width: boundRight - boundLeft,\n height: boundBottom - boundTop,\n };\n }\n}\nArc.prototype._centroid = true;\nArc.prototype.className = 'Arc';\nArc.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n_registerNode(Arc);\nFactory.addGetterSetter(Arc, 'innerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Arc, 'outerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Arc, 'angle', 0, getNumberValidator());\nFactory.addGetterSetter(Arc, 'clockwise', false, getBooleanValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator, getNumberArrayValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nfunction getControlPoints(x0, y0, x1, y1, x2, y2, t) {\n var d01 = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2)), d12 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)), fa = (t * d01) / (d01 + d12), fb = (t * d12) / (d01 + d12), p1x = x1 - fa * (x2 - x0), p1y = y1 - fa * (y2 - y0), p2x = x1 + fb * (x2 - x0), p2y = y1 + fb * (y2 - y0);\n return [p1x, p1y, p2x, p2y];\n}\nfunction expandPoints(p, tension) {\n var len = p.length, allPoints = [], n, cp;\n for (n = 2; n < len - 2; n += 2) {\n cp = getControlPoints(p[n - 2], p[n - 1], p[n], p[n + 1], p[n + 2], p[n + 3], tension);\n if (isNaN(cp[0])) {\n continue;\n }\n allPoints.push(cp[0]);\n allPoints.push(cp[1]);\n allPoints.push(p[n]);\n allPoints.push(p[n + 1]);\n allPoints.push(cp[2]);\n allPoints.push(cp[3]);\n }\n return allPoints;\n}\nexport class Line extends Shape {\n constructor(config) {\n super(config);\n this.on('pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva', function () {\n this._clearCache('tensionPoints');\n });\n }\n _sceneFunc(context) {\n var points = this.points(), length = points.length, tension = this.tension(), closed = this.closed(), bezier = this.bezier(), tp, len, n;\n if (!length) {\n return;\n }\n context.beginPath();\n context.moveTo(points[0], points[1]);\n if (tension !== 0 && length > 4) {\n tp = this.getTensionPoints();\n len = tp.length;\n n = closed ? 0 : 4;\n if (!closed) {\n context.quadraticCurveTo(tp[0], tp[1], tp[2], tp[3]);\n }\n while (n < len - 2) {\n context.bezierCurveTo(tp[n++], tp[n++], tp[n++], tp[n++], tp[n++], tp[n++]);\n }\n if (!closed) {\n context.quadraticCurveTo(tp[len - 2], tp[len - 1], points[length - 2], points[length - 1]);\n }\n }\n else if (bezier) {\n n = 2;\n while (n < length) {\n context.bezierCurveTo(points[n++], points[n++], points[n++], points[n++], points[n++], points[n++]);\n }\n }\n else {\n for (n = 2; n < length; n += 2) {\n context.lineTo(points[n], points[n + 1]);\n }\n }\n if (closed) {\n context.closePath();\n context.fillStrokeShape(this);\n }\n else {\n context.strokeShape(this);\n }\n }\n getTensionPoints() {\n return this._getCache('tensionPoints', this._getTensionPoints);\n }\n _getTensionPoints() {\n if (this.closed()) {\n return this._getTensionPointsClosed();\n }\n else {\n return expandPoints(this.points(), this.tension());\n }\n }\n _getTensionPointsClosed() {\n var p = this.points(), len = p.length, tension = this.tension(), firstControlPoints = getControlPoints(p[len - 2], p[len - 1], p[0], p[1], p[2], p[3], tension), lastControlPoints = getControlPoints(p[len - 4], p[len - 3], p[len - 2], p[len - 1], p[0], p[1], tension), middle = expandPoints(p, tension), tp = [firstControlPoints[2], firstControlPoints[3]]\n .concat(middle)\n .concat([\n lastControlPoints[0],\n lastControlPoints[1],\n p[len - 2],\n p[len - 1],\n lastControlPoints[2],\n lastControlPoints[3],\n firstControlPoints[0],\n firstControlPoints[1],\n p[0],\n p[1],\n ]);\n return tp;\n }\n getWidth() {\n return this.getSelfRect().width;\n }\n getHeight() {\n return this.getSelfRect().height;\n }\n getSelfRect() {\n var points = this.points();\n if (points.length < 4) {\n return {\n x: points[0] || 0,\n y: points[1] || 0,\n width: 0,\n height: 0,\n };\n }\n if (this.tension() !== 0) {\n points = [\n points[0],\n points[1],\n ...this._getTensionPoints(),\n points[points.length - 2],\n points[points.length - 1],\n ];\n }\n else {\n points = this.points();\n }\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n}\nLine.prototype.className = 'Line';\nLine.prototype._attrsAffectingSize = ['points', 'bezier', 'tension'];\n_registerNode(Line);\nFactory.addGetterSetter(Line, 'closed', false);\nFactory.addGetterSetter(Line, 'bezier', false);\nFactory.addGetterSetter(Line, 'tension', 0, getNumberValidator());\nFactory.addGetterSetter(Line, 'points', [], getNumberArrayValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { _registerNode } from '../Global.js';\nexport class Path extends Shape {\n constructor(config) {\n super(config);\n this.dataArray = [];\n this.pathLength = 0;\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = 0;\n for (var i = 0; i < this.dataArray.length; ++i) {\n this.pathLength += this.dataArray[i].pathLength;\n }\n this.on('dataChange.konva', function () {\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = 0;\n for (var i = 0; i < this.dataArray.length; ++i) {\n this.pathLength += this.dataArray[i].pathLength;\n }\n });\n }\n _sceneFunc(context) {\n var ca = this.dataArray;\n context.beginPath();\n var isClosed = false;\n for (var n = 0; n < ca.length; n++) {\n var c = ca[n].command;\n var p = ca[n].points;\n switch (c) {\n case 'L':\n context.lineTo(p[0], p[1]);\n break;\n case 'M':\n context.moveTo(p[0], p[1]);\n break;\n case 'C':\n context.bezierCurveTo(p[0], p[1], p[2], p[3], p[4], p[5]);\n break;\n case 'Q':\n context.quadraticCurveTo(p[0], p[1], p[2], p[3]);\n break;\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6], fs = p[7];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(psi);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, theta, theta + dTheta, 1 - fs);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-psi);\n context.translate(-cx, -cy);\n break;\n case 'z':\n isClosed = true;\n context.closePath();\n break;\n }\n }\n if (!isClosed && !this.hasFill()) {\n context.strokeShape(this);\n }\n else {\n context.fillStrokeShape(this);\n }\n }\n getSelfRect() {\n var points = [];\n this.dataArray.forEach(function (data) {\n if (data.command === 'A') {\n var start = data.points[4];\n var dTheta = data.points[5];\n var end = data.points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n if (dTheta < 0) {\n for (let t = start - inc; t > end; t -= inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n else {\n for (let t = start + inc; t < end; t += inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n }\n else if (data.command === 'C') {\n for (let t = 0.0; t <= 1; t += 0.01) {\n const point = Path.getPointOnCubicBezier(t, data.start.x, data.start.y, data.points[0], data.points[1], data.points[2], data.points[3], data.points[4], data.points[5]);\n points.push(point.x, point.y);\n }\n }\n else {\n points = points.concat(data.points);\n }\n });\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n if (!isNaN(x)) {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n }\n if (!isNaN(y)) {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getLength() {\n return this.pathLength;\n }\n getPointAtLength(length) {\n var point, i = 0, ii = this.dataArray.length;\n if (!ii) {\n return null;\n }\n while (i < ii && length > this.dataArray[i].pathLength) {\n length -= this.dataArray[i].pathLength;\n ++i;\n }\n if (i === ii) {\n point = this.dataArray[i - 1].points.slice(-2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n if (length < 0.01) {\n point = this.dataArray[i].points.slice(0, 2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n var cp = this.dataArray[i];\n var p = cp.points;\n switch (cp.command) {\n case 'L':\n return Path.getPointOnLine(length, cp.start.x, cp.start.y, p[0], p[1]);\n case 'C':\n return Path.getPointOnCubicBezier(length / cp.pathLength, cp.start.x, cp.start.y, p[0], p[1], p[2], p[3], p[4], p[5]);\n case 'Q':\n return Path.getPointOnQuadraticBezier(length / cp.pathLength, cp.start.x, cp.start.y, p[0], p[1], p[2], p[3]);\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6];\n theta += (dTheta * length) / cp.pathLength;\n return Path.getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi);\n }\n return null;\n }\n static getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n static getPointOnLine(dist, P1x, P1y, P2x, P2y, fromX, fromY) {\n if (fromX === undefined) {\n fromX = P1x;\n }\n if (fromY === undefined) {\n fromY = P1y;\n }\n var m = (P2y - P1y) / (P2x - P1x + 0.00000001);\n var run = Math.sqrt((dist * dist) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n var rise = m * run;\n var pt;\n if (P2x === P1x) {\n pt = {\n x: fromX,\n y: fromY + rise,\n };\n }\n else if ((fromY - P1y) / (fromX - P1x + 0.00000001) === m) {\n pt = {\n x: fromX + run,\n y: fromY + rise,\n };\n }\n else {\n var ix, iy;\n var len = this.getLineLength(P1x, P1y, P2x, P2y);\n var u = (fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y);\n u = u / (len * len);\n ix = P1x + u * (P2x - P1x);\n iy = P1y + u * (P2y - P1y);\n var pRise = this.getLineLength(fromX, fromY, ix, iy);\n var pRun = Math.sqrt(dist * dist - pRise * pRise);\n run = Math.sqrt((pRun * pRun) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n rise = m * run;\n pt = {\n x: ix + run,\n y: iy + rise,\n };\n }\n return pt;\n }\n static getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n var x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);\n var y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n var x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);\n var y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n var cosPsi = Math.cos(psi), sinPsi = Math.sin(psi);\n var pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta),\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi),\n };\n }\n static parsePathData(data) {\n if (!data) {\n return [];\n }\n var cs = data;\n var cc = [\n 'm',\n 'M',\n 'l',\n 'L',\n 'v',\n 'V',\n 'h',\n 'H',\n 'z',\n 'Z',\n 'c',\n 'C',\n 'q',\n 'Q',\n 't',\n 'T',\n 's',\n 'S',\n 'a',\n 'A',\n ];\n cs = cs.replace(new RegExp(' ', 'g'), ',');\n for (var n = 0; n < cc.length; n++) {\n cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n }\n var arr = cs.split('|');\n var ca = [];\n var coords = [];\n var cpx = 0;\n var cpy = 0;\n var re = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi;\n var match;\n for (n = 1; n < arr.length; n++) {\n var str = arr[n];\n var c = str.charAt(0);\n str = str.slice(1);\n coords.length = 0;\n while ((match = re.exec(str))) {\n coords.push(match[0]);\n }\n var p = [];\n for (var j = 0, jlen = coords.length; j < jlen; j++) {\n if (coords[j] === '00') {\n p.push(0, 0);\n continue;\n }\n var parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n p.push(parsed);\n }\n else {\n p.push(0);\n }\n }\n while (p.length > 0) {\n if (isNaN(p[0])) {\n break;\n }\n var cmd = null;\n var points = [];\n var startX = cpx, startY = cpy;\n var prevCmd, ctlPtx, ctlPty;\n var rx, ry, psi, fa, fs, x1, y1;\n switch (c) {\n case 'l':\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'L':\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'm':\n var dx = p.shift();\n var dy = p.shift();\n cpx += dx;\n cpy += dy;\n cmd = 'M';\n if (ca.length > 2 && ca[ca.length - 1].command === 'z') {\n for (var idx = ca.length - 2; idx >= 0; idx--) {\n if (ca[idx].command === 'M') {\n cpx = ca[idx].points[0] + dx;\n cpy = ca[idx].points[1] + dy;\n break;\n }\n }\n }\n points.push(cpx, cpy);\n c = 'l';\n break;\n case 'M':\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'M';\n points.push(cpx, cpy);\n c = 'L';\n break;\n case 'h':\n cpx += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'H':\n cpx = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'v':\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'V':\n cpy = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'C':\n points.push(p.shift(), p.shift(), p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'c':\n points.push(cpx + p.shift(), cpy + p.shift(), cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'Q':\n points.push(p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'q':\n points.push(cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n case 'a':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n }\n ca.push({\n command: cmd || c,\n points: points,\n start: {\n x: startX,\n y: startY,\n },\n pathLength: this.calcLength(startX, startY, cmd || c, points),\n });\n }\n if (c === 'z' || c === 'Z') {\n ca.push({\n command: 'z',\n points: [],\n start: undefined,\n pathLength: 0,\n });\n }\n }\n return ca;\n }\n static calcLength(x, y, cmd, points) {\n var len, p1, p2, t;\n var path = Path;\n switch (cmd) {\n case 'L':\n return path.getLineLength(x, y, points[0], points[1]);\n case 'C':\n len = 0.0;\n p1 = path.getPointOnCubicBezier(0, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n for (t = 0.01; t <= 1; t += 0.01) {\n p2 = path.getPointOnCubicBezier(t, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n return len;\n case 'Q':\n len = 0.0;\n p1 = path.getPointOnQuadraticBezier(0, x, y, points[0], points[1], points[2], points[3]);\n for (t = 0.01; t <= 1; t += 0.01) {\n p2 = path.getPointOnQuadraticBezier(t, x, y, points[0], points[1], points[2], points[3]);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n return len;\n case 'A':\n len = 0.0;\n var start = points[4];\n var dTheta = points[5];\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n p1 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n if (dTheta < 0) {\n for (t = start - inc; t > end; t -= inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n else {\n for (t = start + inc; t < end; t += inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n return 0;\n }\n static convertEndpointToCenterParameterization(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg) {\n var psi = psiDeg * (Math.PI / 180.0);\n var xp = (Math.cos(psi) * (x1 - x2)) / 2.0 + (Math.sin(psi) * (y1 - y2)) / 2.0;\n var yp = (-1 * Math.sin(psi) * (x1 - x2)) / 2.0 +\n (Math.cos(psi) * (y1 - y2)) / 2.0;\n var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n var f = Math.sqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) /\n (rx * rx * (yp * yp) + ry * ry * (xp * xp)));\n if (fa === fs) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n var cxp = (f * rx * yp) / ry;\n var cyp = (f * -ry * xp) / rx;\n var cx = (x1 + x2) / 2.0 + Math.cos(psi) * cxp - Math.sin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + Math.sin(psi) * cxp + Math.cos(psi) * cyp;\n var vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n };\n var vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n };\n var vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n };\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return [cx, cy, rx, ry, theta, dTheta, psi, fs];\n }\n}\nPath.prototype.className = 'Path';\nPath.prototype._attrsAffectingSize = ['data'];\n_registerNode(Path);\nFactory.addGetterSetter(Path, 'data');\n","import { Factory } from '../Factory.js';\nimport { Line } from './Line.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nimport { Path } from './Path.js';\nexport class Arrow extends Line {\n _sceneFunc(ctx) {\n super._sceneFunc(ctx);\n var PI2 = Math.PI * 2;\n var points = this.points();\n var tp = points;\n var fromTension = this.tension() !== 0 && points.length > 4;\n if (fromTension) {\n tp = this.getTensionPoints();\n }\n var length = this.pointerLength();\n var n = points.length;\n var dx, dy;\n if (fromTension) {\n const lp = [\n tp[tp.length - 4],\n tp[tp.length - 3],\n tp[tp.length - 2],\n tp[tp.length - 1],\n points[n - 2],\n points[n - 1],\n ];\n const lastLength = Path.calcLength(tp[tp.length - 4], tp[tp.length - 3], 'C', lp);\n const previous = Path.getPointOnQuadraticBezier(Math.min(1, 1 - length / lastLength), lp[0], lp[1], lp[2], lp[3], lp[4], lp[5]);\n dx = points[n - 2] - previous.x;\n dy = points[n - 1] - previous.y;\n }\n else {\n dx = points[n - 2] - points[n - 4];\n dy = points[n - 1] - points[n - 3];\n }\n var radians = (Math.atan2(dy, dx) + PI2) % PI2;\n var width = this.pointerWidth();\n if (this.pointerAtEnding()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[n - 2], points[n - 1]);\n ctx.rotate(radians);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n if (this.pointerAtBeginning()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[0], points[1]);\n if (fromTension) {\n dx = (tp[0] + tp[2]) / 2 - points[0];\n dy = (tp[1] + tp[3]) / 2 - points[1];\n }\n else {\n dx = points[2] - points[0];\n dy = points[3] - points[1];\n }\n ctx.rotate((Math.atan2(-dy, -dx) + PI2) % PI2);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n }\n __fillStroke(ctx) {\n var isDashEnabled = this.dashEnabled();\n if (isDashEnabled) {\n this.attrs.dashEnabled = false;\n ctx.setLineDash([]);\n }\n ctx.fillStrokeShape(this);\n if (isDashEnabled) {\n this.attrs.dashEnabled = true;\n }\n }\n getSelfRect() {\n const lineRect = super.getSelfRect();\n const offset = this.pointerWidth() / 2;\n return {\n x: lineRect.x - offset,\n y: lineRect.y - offset,\n width: lineRect.width + offset * 2,\n height: lineRect.height + offset * 2,\n };\n }\n}\nArrow.prototype.className = 'Arrow';\n_registerNode(Arrow);\nFactory.addGetterSetter(Arrow, 'pointerLength', 10, getNumberValidator());\nFactory.addGetterSetter(Arrow, 'pointerWidth', 10, getNumberValidator());\nFactory.addGetterSetter(Arrow, 'pointerAtBeginning', false);\nFactory.addGetterSetter(Arrow, 'pointerAtEnding', true);\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Circle extends Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.attrs.radius || 0, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n if (this.radius() !== width / 2) {\n this.radius(width / 2);\n }\n }\n setHeight(height) {\n if (this.radius() !== height / 2) {\n this.radius(height / 2);\n }\n }\n}\nCircle.prototype._centroid = true;\nCircle.prototype.className = 'Circle';\nCircle.prototype._attrsAffectingSize = ['radius'];\n_registerNode(Circle);\nFactory.addGetterSetter(Circle, 'radius', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Ellipse extends Shape {\n _sceneFunc(context) {\n var rx = this.radiusX(), ry = this.radiusY();\n context.beginPath();\n context.save();\n if (rx !== ry) {\n context.scale(1, ry / rx);\n }\n context.arc(0, 0, rx, 0, Math.PI * 2, false);\n context.restore();\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radiusX() * 2;\n }\n getHeight() {\n return this.radiusY() * 2;\n }\n setWidth(width) {\n this.radiusX(width / 2);\n }\n setHeight(height) {\n this.radiusY(height / 2);\n }\n}\nEllipse.prototype.className = 'Ellipse';\nEllipse.prototype._centroid = true;\nEllipse.prototype._attrsAffectingSize = ['radiusX', 'radiusY'];\n_registerNode(Ellipse);\nFactory.addComponentsGetterSetter(Ellipse, 'radius', ['x', 'y']);\nFactory.addGetterSetter(Ellipse, 'radiusX', 0, getNumberValidator());\nFactory.addGetterSetter(Ellipse, 'radiusY', 0, getNumberValidator());\n","import { Util } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { _registerNode } from '../Global.js';\nimport { getNumberOrArrayOfNumbersValidator, getNumberValidator, } from '../Validators.js';\nexport class Image extends Shape {\n constructor(attrs) {\n super(attrs);\n this.on('imageChange.konva', () => {\n this._setImageLoad();\n });\n this._setImageLoad();\n }\n _setImageLoad() {\n const image = this.image();\n if (image && image.complete) {\n return;\n }\n if (image && image.readyState === 4) {\n return;\n }\n if (image && image['addEventListener']) {\n image['addEventListener']('load', () => {\n this._requestDraw();\n });\n }\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _sceneFunc(context) {\n const width = this.getWidth();\n const height = this.getHeight();\n const cornerRadius = this.cornerRadius();\n const image = this.attrs.image;\n let params;\n if (image) {\n const cropWidth = this.attrs.cropWidth;\n const cropHeight = this.attrs.cropHeight;\n if (cropWidth && cropHeight) {\n params = [\n image,\n this.cropX(),\n this.cropY(),\n cropWidth,\n cropHeight,\n 0,\n 0,\n width,\n height,\n ];\n }\n else {\n params = [image, 0, 0, width, height];\n }\n }\n if (this.hasFill() || this.hasStroke() || cornerRadius) {\n context.beginPath();\n cornerRadius\n ? Util.drawRoundedRectPath(context, width, height, cornerRadius)\n : context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (cornerRadius) {\n context.clip();\n }\n context.drawImage.apply(context, params);\n }\n }\n _hitFunc(context) {\n var width = this.width(), height = this.height(), cornerRadius = this.cornerRadius();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n var _a, _b;\n return (_a = this.attrs.width) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.width;\n }\n getHeight() {\n var _a, _b;\n return (_a = this.attrs.height) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.height;\n }\n static fromURL(url, callback, onError = null) {\n var img = Util.createImageElement();\n img.onload = function () {\n var image = new Image({\n image: img,\n });\n callback(image);\n };\n img.onerror = onError;\n img.crossOrigin = 'Anonymous';\n img.src = url;\n }\n}\nImage.prototype.className = 'Image';\n_registerNode(Image);\nFactory.addGetterSetter(Image, 'cornerRadius', 0, getNumberOrArrayOfNumbersValidator(4));\nFactory.addGetterSetter(Image, 'image');\nFactory.addComponentsGetterSetter(Image, 'crop', ['x', 'y', 'width', 'height']);\nFactory.addGetterSetter(Image, 'cropX', 0, getNumberValidator());\nFactory.addGetterSetter(Image, 'cropY', 0, getNumberValidator());\nFactory.addGetterSetter(Image, 'cropWidth', 0, getNumberValidator());\nFactory.addGetterSetter(Image, 'cropHeight', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Group } from '../Group.js';\nimport { getNumberOrArrayOfNumbersValidator, getNumberValidator, } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'padding',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'pointerDirection',\n 'pointerWidth',\n 'pointerHeight',\n], CHANGE_KONVA = 'Change.konva', NONE = 'none', UP = 'up', RIGHT = 'right', DOWN = 'down', LEFT = 'left', attrChangeListLen = ATTR_CHANGE_LIST.length;\nexport class Label extends Group {\n constructor(config) {\n super(config);\n this.on('add.konva', function (evt) {\n this._addListeners(evt.child);\n this._sync();\n });\n }\n getText() {\n return this.find('Text')[0];\n }\n getTag() {\n return this.find('Tag')[0];\n }\n _addListeners(text) {\n var that = this, n;\n var func = function () {\n that._sync();\n };\n for (n = 0; n < attrChangeListLen; n++) {\n text.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, func);\n }\n }\n getWidth() {\n return this.getText().width();\n }\n getHeight() {\n return this.getText().height();\n }\n _sync() {\n var text = this.getText(), tag = this.getTag(), width, height, pointerDirection, pointerWidth, x, y, pointerHeight;\n if (text && tag) {\n width = text.width();\n height = text.height();\n pointerDirection = tag.pointerDirection();\n pointerWidth = tag.pointerWidth();\n pointerHeight = tag.pointerHeight();\n x = 0;\n y = 0;\n switch (pointerDirection) {\n case UP:\n x = width / 2;\n y = -1 * pointerHeight;\n break;\n case RIGHT:\n x = width + pointerWidth;\n y = height / 2;\n break;\n case DOWN:\n x = width / 2;\n y = height + pointerHeight;\n break;\n case LEFT:\n x = -1 * pointerWidth;\n y = height / 2;\n break;\n }\n tag.setAttrs({\n x: -1 * x,\n y: -1 * y,\n width: width,\n height: height,\n });\n text.setAttrs({\n x: -1 * x,\n y: -1 * y,\n });\n }\n }\n}\nLabel.prototype.className = 'Label';\n_registerNode(Label);\nexport class Tag extends Shape {\n _sceneFunc(context) {\n var width = this.width(), height = this.height(), pointerDirection = this.pointerDirection(), pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), cornerRadius = this.cornerRadius();\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.beginPath();\n context.moveTo(topLeft, 0);\n if (pointerDirection === UP) {\n context.lineTo((width - pointerWidth) / 2, 0);\n context.lineTo(width / 2, -1 * pointerHeight);\n context.lineTo((width + pointerWidth) / 2, 0);\n }\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n if (pointerDirection === RIGHT) {\n context.lineTo(width, (height - pointerHeight) / 2);\n context.lineTo(width + pointerWidth, height / 2);\n context.lineTo(width, (height + pointerHeight) / 2);\n }\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n if (pointerDirection === DOWN) {\n context.lineTo((width + pointerWidth) / 2, height);\n context.lineTo(width / 2, height + pointerHeight);\n context.lineTo((width - pointerWidth) / 2, height);\n }\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n if (pointerDirection === LEFT) {\n context.lineTo(0, (height + pointerHeight) / 2);\n context.lineTo(-1 * pointerWidth, height / 2);\n context.lineTo(0, (height - pointerHeight) / 2);\n }\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getSelfRect() {\n var x = 0, y = 0, pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), direction = this.pointerDirection(), width = this.width(), height = this.height();\n if (direction === UP) {\n y -= pointerHeight;\n height += pointerHeight;\n }\n else if (direction === DOWN) {\n height += pointerHeight;\n }\n else if (direction === LEFT) {\n x -= pointerWidth * 1.5;\n width += pointerWidth;\n }\n else if (direction === RIGHT) {\n width += pointerWidth * 1.5;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n }\n}\nTag.prototype.className = 'Tag';\n_registerNode(Tag);\nFactory.addGetterSetter(Tag, 'pointerDirection', NONE);\nFactory.addGetterSetter(Tag, 'pointerWidth', 0, getNumberValidator());\nFactory.addGetterSetter(Tag, 'pointerHeight', 0, getNumberValidator());\nFactory.addGetterSetter(Tag, 'cornerRadius', 0, getNumberOrArrayOfNumbersValidator(4));\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { _registerNode } from '../Global.js';\nimport { Util } from '../Util.js';\nimport { getNumberOrArrayOfNumbersValidator } from '../Validators.js';\nexport class Rect extends Shape {\n _sceneFunc(context) {\n var cornerRadius = this.cornerRadius(), width = this.width(), height = this.height();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n}\nRect.prototype.className = 'Rect';\n_registerNode(Rect);\nFactory.addGetterSetter(Rect, 'cornerRadius', 0, getNumberOrArrayOfNumbersValidator(4));\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class RegularPolygon extends Shape {\n _sceneFunc(context) {\n const points = this._getPoints();\n context.beginPath();\n context.moveTo(points[0].x, points[0].y);\n for (var n = 1; n < points.length; n++) {\n context.lineTo(points[n].x, points[n].y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n _getPoints() {\n const sides = this.attrs.sides;\n const radius = this.attrs.radius || 0;\n const points = [];\n for (var n = 0; n < sides; n++) {\n points.push({\n x: radius * Math.sin((n * 2 * Math.PI) / sides),\n y: -1 * radius * Math.cos((n * 2 * Math.PI) / sides),\n });\n }\n return points;\n }\n getSelfRect() {\n const points = this._getPoints();\n var minX = points[0].x;\n var maxX = points[0].y;\n var minY = points[0].x;\n var maxY = points[0].y;\n points.forEach((point) => {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minY = Math.min(minY, point.y);\n maxY = Math.max(maxY, point.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nRegularPolygon.prototype.className = 'RegularPolygon';\nRegularPolygon.prototype._centroid = true;\nRegularPolygon.prototype._attrsAffectingSize = ['radius'];\n_registerNode(RegularPolygon);\nFactory.addGetterSetter(RegularPolygon, 'radius', 0, getNumberValidator());\nFactory.addGetterSetter(RegularPolygon, 'sides', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar PIx2 = Math.PI * 2;\nexport class Ring extends Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.innerRadius(), 0, PIx2, false);\n context.moveTo(this.outerRadius(), 0);\n context.arc(0, 0, this.outerRadius(), PIx2, 0, true);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nRing.prototype.className = 'Ring';\nRing.prototype._centroid = true;\nRing.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n_registerNode(Ring);\nFactory.addGetterSetter(Ring, 'innerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Ring, 'outerRadius', 0, getNumberValidator());\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Animation } from '../Animation.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Sprite extends Shape {\n constructor(config) {\n super(config);\n this._updated = true;\n this.anim = new Animation(() => {\n var updated = this._updated;\n this._updated = false;\n return updated;\n });\n this.on('animationChange.konva', function () {\n this.frameIndex(0);\n });\n this.on('frameIndexChange.konva', function () {\n this._updated = true;\n });\n this.on('frameRateChange.konva', function () {\n if (!this.anim.isRunning()) {\n return;\n }\n clearInterval(this.interval);\n this._setInterval();\n });\n }\n _sceneFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), x = set[ix4 + 0], y = set[ix4 + 1], width = set[ix4 + 2], height = set[ix4 + 3], image = this.image();\n if (this.hasFill() || this.hasStroke()) {\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (offsets) {\n var offset = offsets[anim], ix2 = index * 2;\n context.drawImage(image, x, y, width, height, offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.drawImage(image, x, y, width, height, 0, 0, width, height);\n }\n }\n }\n _hitFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), width = set[ix4 + 2], height = set[ix4 + 3];\n context.beginPath();\n if (offsets) {\n var offset = offsets[anim];\n var ix2 = index * 2;\n context.rect(offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.rect(0, 0, width, height);\n }\n context.closePath();\n context.fillShape(this);\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _setInterval() {\n var that = this;\n this.interval = setInterval(function () {\n that._updateIndex();\n }, 1000 / this.frameRate());\n }\n start() {\n if (this.isRunning()) {\n return;\n }\n var layer = this.getLayer();\n this.anim.setLayers(layer);\n this._setInterval();\n this.anim.start();\n }\n stop() {\n this.anim.stop();\n clearInterval(this.interval);\n }\n isRunning() {\n return this.anim.isRunning();\n }\n _updateIndex() {\n var index = this.frameIndex(), animation = this.animation(), animations = this.animations(), anim = animations[animation], len = anim.length / 4;\n if (index < len - 1) {\n this.frameIndex(index + 1);\n }\n else {\n this.frameIndex(0);\n }\n }\n}\nSprite.prototype.className = 'Sprite';\n_registerNode(Sprite);\nFactory.addGetterSetter(Sprite, 'animation');\nFactory.addGetterSetter(Sprite, 'animations');\nFactory.addGetterSetter(Sprite, 'frameOffsets');\nFactory.addGetterSetter(Sprite, 'image');\nFactory.addGetterSetter(Sprite, 'frameIndex', 0, getNumberValidator());\nFactory.addGetterSetter(Sprite, 'frameRate', 17, getNumberValidator());\nFactory.backCompat(Sprite, {\n index: 'frameIndex',\n getIndex: 'getFrameIndex',\n setIndex: 'setFrameIndex',\n});\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Star extends Shape {\n _sceneFunc(context) {\n var innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints();\n context.beginPath();\n context.moveTo(0, 0 - outerRadius);\n for (var n = 1; n < numPoints * 2; n++) {\n var radius = n % 2 === 0 ? outerRadius : innerRadius;\n var x = radius * Math.sin((n * Math.PI) / numPoints);\n var y = -1 * radius * Math.cos((n * Math.PI) / numPoints);\n context.lineTo(x, y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nStar.prototype.className = 'Star';\nStar.prototype._centroid = true;\nStar.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n_registerNode(Star);\nFactory.addGetterSetter(Star, 'numPoints', 5, getNumberValidator());\nFactory.addGetterSetter(Star, 'innerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Star, 'outerRadius', 0, getNumberValidator());\n","import { Util } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { getNumberValidator, getStringValidator, getNumberOrAutoValidator, getBooleanValidator, } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport function stringToArray(string) {\n return Array.from(string);\n}\nvar AUTO = 'auto', CENTER = 'center', JUSTIFY = 'justify', CHANGE_KONVA = 'Change.konva', CONTEXT_2D = '2d', DASH = '-', LEFT = 'left', TEXT = 'text', TEXT_UPPER = 'Text', TOP = 'top', BOTTOM = 'bottom', MIDDLE = 'middle', NORMAL = 'normal', PX_SPACE = 'px ', SPACE = ' ', RIGHT = 'right', WORD = 'word', CHAR = 'char', NONE = 'none', ELLIPSIS = '…', ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'fontVariant',\n 'padding',\n 'align',\n 'verticalAlign',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'wrap',\n 'ellipsis',\n 'letterSpacing',\n], attrChangeListLen = ATTR_CHANGE_LIST.length;\nfunction normalizeFontFamily(fontFamily) {\n return fontFamily\n .split(',')\n .map((family) => {\n family = family.trim();\n const hasSpace = family.indexOf(' ') >= 0;\n const hasQuotes = family.indexOf('\"') >= 0 || family.indexOf(\"'\") >= 0;\n if (hasSpace && !hasQuotes) {\n family = `\"${family}\"`;\n }\n return family;\n })\n .join(', ');\n}\nvar dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util.createCanvasElement().getContext(CONTEXT_2D);\n return dummyContext;\n}\nfunction _fillFunc(context) {\n context.fillText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction checkDefaultFill(config) {\n config = config || {};\n if (!config.fillLinearGradientColorStops &&\n !config.fillRadialGradientColorStops &&\n !config.fillPatternImage) {\n config.fill = config.fill || 'black';\n }\n return config;\n}\nexport class Text extends Shape {\n constructor(config) {\n super(checkDefaultFill(config));\n this._partialTextX = 0;\n this._partialTextY = 0;\n for (var n = 0; n < attrChangeListLen; n++) {\n this.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, this._setTextData);\n }\n this._setTextData();\n }\n _sceneFunc(context) {\n var textArr = this.textArr, textArrLen = textArr.length;\n if (!this.text()) {\n return;\n }\n var padding = this.padding(), fontSize = this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, verticalAlign = this.verticalAlign(), alignY = 0, align = this.align(), totalWidth = this.getWidth(), letterSpacing = this.letterSpacing(), fill = this.fill(), textDecoration = this.textDecoration(), shouldUnderline = textDecoration.indexOf('underline') !== -1, shouldLineThrough = textDecoration.indexOf('line-through') !== -1, n;\n var translateY = 0;\n var translateY = lineHeightPx / 2;\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', MIDDLE);\n context.setAttr('textAlign', LEFT);\n if (verticalAlign === MIDDLE) {\n alignY = (this.getHeight() - textArrLen * lineHeightPx - padding * 2) / 2;\n }\n else if (verticalAlign === BOTTOM) {\n alignY = this.getHeight() - textArrLen * lineHeightPx - padding * 2;\n }\n context.translate(padding, alignY + padding);\n for (n = 0; n < textArrLen; n++) {\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n var obj = textArr[n], text = obj.text, width = obj.width, lastLine = obj.lastInParagraph, spacesNumber, oneWord, lineWidth;\n context.save();\n if (align === RIGHT) {\n lineTranslateX += totalWidth - width - padding * 2;\n }\n else if (align === CENTER) {\n lineTranslateX += (totalWidth - width - padding * 2) / 2;\n }\n if (shouldUnderline) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY + Math.round(fontSize / 2));\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY + Math.round(fontSize / 2));\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (shouldLineThrough) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && lastLine && !oneWord\n ? totalWidth - padding * 2\n : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (letterSpacing !== 0 || align === JUSTIFY) {\n spacesNumber = text.split(' ').length - 1;\n var array = stringToArray(text);\n for (var li = 0; li < array.length; li++) {\n var letter = array[li];\n if (letter === ' ' && !lastLine && align === JUSTIFY) {\n lineTranslateX += (totalWidth - padding * 2 - width) / spacesNumber;\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = letter;\n context.fillStrokeShape(this);\n lineTranslateX += this.measureSize(letter).width + letterSpacing;\n }\n }\n else {\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = text;\n context.fillStrokeShape(this);\n }\n context.restore();\n if (textArrLen > 1) {\n translateY += lineHeightPx;\n }\n }\n }\n _hitFunc(context) {\n var width = this.getWidth(), height = this.getHeight();\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n setText(text) {\n var str = Util._isString(text)\n ? text\n : text === null || text === undefined\n ? ''\n : text + '';\n this._setAttr(TEXT, str);\n return this;\n }\n getWidth() {\n var isAuto = this.attrs.width === AUTO || this.attrs.width === undefined;\n return isAuto ? this.getTextWidth() + this.padding() * 2 : this.attrs.width;\n }\n getHeight() {\n var isAuto = this.attrs.height === AUTO || this.attrs.height === undefined;\n return isAuto\n ? this.fontSize() * this.textArr.length * this.lineHeight() +\n this.padding() * 2\n : this.attrs.height;\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n measureSize(text) {\n var _context = getDummyContext(), fontSize = this.fontSize(), metrics;\n _context.save();\n _context.font = this._getContextFont();\n metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: fontSize,\n };\n }\n _getContextFont() {\n return (this.fontStyle() +\n SPACE +\n this.fontVariant() +\n SPACE +\n (this.fontSize() + PX_SPACE) +\n normalizeFontFamily(this.fontFamily()));\n }\n _addTextLine(line) {\n const align = this.align();\n if (align === JUSTIFY) {\n line = line.trim();\n }\n var width = this._getTextWidth(line);\n return this.textArr.push({\n text: line,\n width: width,\n lastInParagraph: false,\n });\n }\n _getTextWidth(text) {\n var letterSpacing = this.letterSpacing();\n var length = text.length;\n return (getDummyContext().measureText(text).width +\n (length ? letterSpacing * (length - 1) : 0));\n }\n _setTextData() {\n var lines = this.text().split('\\n'), fontSize = +this.fontSize(), textWidth = 0, lineHeightPx = this.lineHeight() * fontSize, width = this.attrs.width, height = this.attrs.height, fixedWidth = width !== AUTO && width !== undefined, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxWidth = width - padding * 2, maxHeightPx = height - padding * 2, currentHeightPx = 0, wrap = this.wrap(), shouldWrap = wrap !== NONE, wrapAtWord = wrap !== CHAR && shouldWrap, shouldAddEllipsis = this.ellipsis();\n this.textArr = [];\n getDummyContext().font = this._getContextFont();\n var additionalWidth = shouldAddEllipsis ? this._getTextWidth(ELLIPSIS) : 0;\n for (var i = 0, max = lines.length; i < max; ++i) {\n var line = lines[i];\n var lineWidth = this._getTextWidth(line);\n if (fixedWidth && lineWidth > maxWidth) {\n while (line.length > 0) {\n var low = 0, high = line.length, match = '', matchWidth = 0;\n while (low < high) {\n var mid = (low + high) >>> 1, substr = line.slice(0, mid + 1), substrWidth = this._getTextWidth(substr) + additionalWidth;\n if (substrWidth <= maxWidth) {\n low = mid + 1;\n match = substr;\n matchWidth = substrWidth;\n }\n else {\n high = mid;\n }\n }\n if (match) {\n if (wrapAtWord) {\n var wrapIndex;\n var nextChar = line[match.length];\n var nextIsSpaceOrDash = nextChar === SPACE || nextChar === DASH;\n if (nextIsSpaceOrDash && matchWidth <= maxWidth) {\n wrapIndex = match.length;\n }\n else {\n wrapIndex =\n Math.max(match.lastIndexOf(SPACE), match.lastIndexOf(DASH)) +\n 1;\n }\n if (wrapIndex > 0) {\n low = wrapIndex;\n match = match.slice(0, low);\n matchWidth = this._getTextWidth(match);\n }\n }\n match = match.trimRight();\n this._addTextLine(match);\n textWidth = Math.max(textWidth, matchWidth);\n currentHeightPx += lineHeightPx;\n var shouldHandleEllipsis = this._shouldHandleEllipsis(currentHeightPx);\n if (shouldHandleEllipsis) {\n this._tryToAddEllipsisToLastLine();\n break;\n }\n line = line.slice(low);\n line = line.trimLeft();\n if (line.length > 0) {\n lineWidth = this._getTextWidth(line);\n if (lineWidth <= maxWidth) {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n break;\n }\n }\n }\n else {\n break;\n }\n }\n }\n else {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n if (this._shouldHandleEllipsis(currentHeightPx) && i < max - 1) {\n this._tryToAddEllipsisToLastLine();\n }\n }\n if (this.textArr[this.textArr.length - 1]) {\n this.textArr[this.textArr.length - 1].lastInParagraph = true;\n }\n if (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx) {\n break;\n }\n }\n this.textHeight = fontSize;\n this.textWidth = textWidth;\n }\n _shouldHandleEllipsis(currentHeightPx) {\n var fontSize = +this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, height = this.attrs.height, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxHeightPx = height - padding * 2, wrap = this.wrap(), shouldWrap = wrap !== NONE;\n return (!shouldWrap ||\n (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx));\n }\n _tryToAddEllipsisToLastLine() {\n var width = this.attrs.width, fixedWidth = width !== AUTO && width !== undefined, padding = this.padding(), maxWidth = width - padding * 2, shouldAddEllipsis = this.ellipsis();\n var lastLine = this.textArr[this.textArr.length - 1];\n if (!lastLine || !shouldAddEllipsis) {\n return;\n }\n if (fixedWidth) {\n var haveSpace = this._getTextWidth(lastLine.text + ELLIPSIS) < maxWidth;\n if (!haveSpace) {\n lastLine.text = lastLine.text.slice(0, lastLine.text.length - 3);\n }\n }\n this.textArr.splice(this.textArr.length - 1, 1);\n this._addTextLine(lastLine.text + ELLIPSIS);\n }\n getStrokeScaleEnabled() {\n return true;\n }\n}\nText.prototype._fillFunc = _fillFunc;\nText.prototype._strokeFunc = _strokeFunc;\nText.prototype.className = TEXT_UPPER;\nText.prototype._attrsAffectingSize = [\n 'text',\n 'fontSize',\n 'padding',\n 'wrap',\n 'lineHeight',\n 'letterSpacing',\n];\n_registerNode(Text);\nFactory.overWriteSetter(Text, 'width', getNumberOrAutoValidator());\nFactory.overWriteSetter(Text, 'height', getNumberOrAutoValidator());\nFactory.addGetterSetter(Text, 'fontFamily', 'Arial');\nFactory.addGetterSetter(Text, 'fontSize', 12, getNumberValidator());\nFactory.addGetterSetter(Text, 'fontStyle', NORMAL);\nFactory.addGetterSetter(Text, 'fontVariant', NORMAL);\nFactory.addGetterSetter(Text, 'padding', 0, getNumberValidator());\nFactory.addGetterSetter(Text, 'align', LEFT);\nFactory.addGetterSetter(Text, 'verticalAlign', TOP);\nFactory.addGetterSetter(Text, 'lineHeight', 1, getNumberValidator());\nFactory.addGetterSetter(Text, 'wrap', WORD);\nFactory.addGetterSetter(Text, 'ellipsis', false, getBooleanValidator());\nFactory.addGetterSetter(Text, 'letterSpacing', 0, getNumberValidator());\nFactory.addGetterSetter(Text, 'text', '', getStringValidator());\nFactory.addGetterSetter(Text, 'textDecoration', '');\n","import { Util } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Path } from './Path.js';\nimport { Text, stringToArray } from './Text.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar EMPTY_STRING = '', NORMAL = 'normal';\nfunction _fillFunc(context) {\n context.fillText(this.partialText, 0, 0);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this.partialText, 0, 0);\n}\nexport class TextPath extends Shape {\n constructor(config) {\n super(config);\n this.dummyCanvas = Util.createCanvasElement();\n this.dataArray = [];\n this.dataArray = Path.parsePathData(this.attrs.data);\n this.on('dataChange.konva', function () {\n this.dataArray = Path.parsePathData(this.attrs.data);\n this._setTextData();\n });\n this.on('textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva', this._setTextData);\n this._setTextData();\n }\n _sceneFunc(context) {\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', this.textBaseline());\n context.setAttr('textAlign', 'left');\n context.save();\n var textDecoration = this.textDecoration();\n var fill = this.fill();\n var fontSize = this.fontSize();\n var glyphInfo = this.glyphInfo;\n if (textDecoration === 'underline') {\n context.beginPath();\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n context.save();\n var p0 = glyphInfo[i].p0;\n context.translate(p0.x, p0.y);\n context.rotate(glyphInfo[i].rotation);\n this.partialText = glyphInfo[i].text;\n context.fillStrokeShape(this);\n if (textDecoration === 'underline') {\n if (i === 0) {\n context.moveTo(0, fontSize / 2 + 1);\n }\n context.lineTo(fontSize, fontSize / 2 + 1);\n }\n context.restore();\n }\n if (textDecoration === 'underline') {\n context.strokeStyle = fill;\n context.lineWidth = fontSize / 20;\n context.stroke();\n }\n context.restore();\n }\n _hitFunc(context) {\n context.beginPath();\n var glyphInfo = this.glyphInfo;\n if (glyphInfo.length >= 1) {\n var p0 = glyphInfo[0].p0;\n context.moveTo(p0.x, p0.y);\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n var p1 = glyphInfo[i].p1;\n context.lineTo(p1.x, p1.y);\n }\n context.setAttr('lineWidth', this.fontSize());\n context.setAttr('strokeStyle', this.colorKey);\n context.stroke();\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n setText(text) {\n return Text.prototype.setText.call(this, text);\n }\n _getContextFont() {\n return Text.prototype._getContextFont.call(this);\n }\n _getTextSize(text) {\n var dummyCanvas = this.dummyCanvas;\n var _context = dummyCanvas.getContext('2d');\n _context.save();\n _context.font = this._getContextFont();\n var metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: parseInt(this.attrs.fontSize, 10),\n };\n }\n _setTextData() {\n var that = this;\n var size = this._getTextSize(this.attrs.text);\n var letterSpacing = this.letterSpacing();\n var align = this.align();\n var kerningFunc = this.kerningFunc();\n this.textWidth = size.width;\n this.textHeight = size.height;\n var textFullWidth = Math.max(this.textWidth + ((this.attrs.text || '').length - 1) * letterSpacing, 0);\n this.glyphInfo = [];\n var fullPathWidth = 0;\n for (var l = 0; l < that.dataArray.length; l++) {\n if (that.dataArray[l].pathLength > 0) {\n fullPathWidth += that.dataArray[l].pathLength;\n }\n }\n var offset = 0;\n if (align === 'center') {\n offset = Math.max(0, fullPathWidth / 2 - textFullWidth / 2);\n }\n if (align === 'right') {\n offset = Math.max(0, fullPathWidth - textFullWidth);\n }\n var charArr = stringToArray(this.text());\n var spacesNumber = this.text().split(' ').length - 1;\n var p0, p1, pathCmd;\n var pIndex = -1;\n var currentT = 0;\n var getNextPathSegment = function () {\n currentT = 0;\n var pathData = that.dataArray;\n for (var j = pIndex + 1; j < pathData.length; j++) {\n if (pathData[j].pathLength > 0) {\n pIndex = j;\n return pathData[j];\n }\n else if (pathData[j].command === 'M') {\n p0 = {\n x: pathData[j].points[0],\n y: pathData[j].points[1],\n };\n }\n }\n return {};\n };\n var findSegmentToFitCharacter = function (c) {\n var glyphWidth = that._getTextSize(c).width + letterSpacing;\n if (c === ' ' && align === 'justify') {\n glyphWidth += (fullPathWidth - textFullWidth) / spacesNumber;\n }\n var currLen = 0;\n var attempts = 0;\n p1 = undefined;\n while (Math.abs(glyphWidth - currLen) / glyphWidth > 0.01 &&\n attempts < 20) {\n attempts++;\n var cumulativePathLength = currLen;\n while (pathCmd === undefined) {\n pathCmd = getNextPathSegment();\n if (pathCmd &&\n cumulativePathLength + pathCmd.pathLength < glyphWidth) {\n cumulativePathLength += pathCmd.pathLength;\n pathCmd = undefined;\n }\n }\n if (Object.keys(pathCmd).length === 0 || p0 === undefined) {\n return undefined;\n }\n var needNewSegment = false;\n switch (pathCmd.command) {\n case 'L':\n if (Path.getLineLength(p0.x, p0.y, pathCmd.points[0], pathCmd.points[1]) > glyphWidth) {\n p1 = Path.getPointOnLine(glyphWidth, p0.x, p0.y, pathCmd.points[0], pathCmd.points[1], p0.x, p0.y);\n }\n else {\n pathCmd = undefined;\n }\n break;\n case 'A':\n var start = pathCmd.points[4];\n var dTheta = pathCmd.points[5];\n var end = pathCmd.points[4] + dTheta;\n if (currentT === 0) {\n currentT = start + 0.00000001;\n }\n else if (glyphWidth > currLen) {\n currentT += ((Math.PI / 180.0) * dTheta) / Math.abs(dTheta);\n }\n else {\n currentT -= ((Math.PI / 360.0) * dTheta) / Math.abs(dTheta);\n }\n if ((dTheta < 0 && currentT < end) ||\n (dTheta >= 0 && currentT > end)) {\n currentT = end;\n needNewSegment = true;\n }\n p1 = Path.getPointOnEllipticalArc(pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3], currentT, pathCmd.points[6]);\n break;\n case 'C':\n if (currentT === 0) {\n if (glyphWidth > pathCmd.pathLength) {\n currentT = 0.00000001;\n }\n else {\n currentT = glyphWidth / pathCmd.pathLength;\n }\n }\n else if (glyphWidth > currLen) {\n currentT += (glyphWidth - currLen) / pathCmd.pathLength / 2;\n }\n else {\n currentT = Math.max(currentT - (currLen - glyphWidth) / pathCmd.pathLength / 2, 0);\n }\n if (currentT > 1.0) {\n currentT = 1.0;\n needNewSegment = true;\n }\n p1 = Path.getPointOnCubicBezier(currentT, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3], pathCmd.points[4], pathCmd.points[5]);\n break;\n case 'Q':\n if (currentT === 0) {\n currentT = glyphWidth / pathCmd.pathLength;\n }\n else if (glyphWidth > currLen) {\n currentT += (glyphWidth - currLen) / pathCmd.pathLength;\n }\n else {\n currentT -= (currLen - glyphWidth) / pathCmd.pathLength;\n }\n if (currentT > 1.0) {\n currentT = 1.0;\n needNewSegment = true;\n }\n p1 = Path.getPointOnQuadraticBezier(currentT, pathCmd.start.x, pathCmd.start.y, pathCmd.points[0], pathCmd.points[1], pathCmd.points[2], pathCmd.points[3]);\n break;\n }\n if (p1 !== undefined) {\n currLen = Path.getLineLength(p0.x, p0.y, p1.x, p1.y);\n }\n if (needNewSegment) {\n needNewSegment = false;\n pathCmd = undefined;\n }\n }\n };\n var testChar = 'C';\n var glyphWidth = that._getTextSize(testChar).width + letterSpacing;\n var lettersInOffset = offset / glyphWidth - 1;\n for (var k = 0; k < lettersInOffset; k++) {\n findSegmentToFitCharacter(testChar);\n if (p0 === undefined || p1 === undefined) {\n break;\n }\n p0 = p1;\n }\n for (var i = 0; i < charArr.length; i++) {\n findSegmentToFitCharacter(charArr[i]);\n if (p0 === undefined || p1 === undefined) {\n break;\n }\n var width = Path.getLineLength(p0.x, p0.y, p1.x, p1.y);\n var kern = 0;\n if (kerningFunc) {\n try {\n kern = kerningFunc(charArr[i - 1], charArr[i]) * this.fontSize();\n }\n catch (e) {\n kern = 0;\n }\n }\n p0.x += kern;\n p1.x += kern;\n this.textWidth += kern;\n var midpoint = Path.getPointOnLine(kern + width / 2.0, p0.x, p0.y, p1.x, p1.y);\n var rotation = Math.atan2(p1.y - p0.y, p1.x - p0.x);\n this.glyphInfo.push({\n transposeX: midpoint.x,\n transposeY: midpoint.y,\n text: charArr[i],\n rotation: rotation,\n p0: p0,\n p1: p1,\n });\n p0 = p1;\n }\n }\n getSelfRect() {\n if (!this.glyphInfo.length) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n var points = [];\n this.glyphInfo.forEach(function (info) {\n points.push(info.p0.x);\n points.push(info.p0.y);\n points.push(info.p1.x);\n points.push(info.p1.y);\n });\n var minX = points[0] || 0;\n var maxX = points[0] || 0;\n var minY = points[1] || 0;\n var maxY = points[1] || 0;\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n var fontSize = this.fontSize();\n return {\n x: minX - fontSize / 2,\n y: minY - fontSize / 2,\n width: maxX - minX + fontSize,\n height: maxY - minY + fontSize,\n };\n }\n destroy() {\n Util.releaseCanvas(this.dummyCanvas);\n return super.destroy();\n }\n}\nTextPath.prototype._fillFunc = _fillFunc;\nTextPath.prototype._strokeFunc = _strokeFunc;\nTextPath.prototype._fillFuncHit = _fillFunc;\nTextPath.prototype._strokeFuncHit = _strokeFunc;\nTextPath.prototype.className = 'TextPath';\nTextPath.prototype._attrsAffectingSize = ['text', 'fontSize', 'data'];\n_registerNode(TextPath);\nFactory.addGetterSetter(TextPath, 'data');\nFactory.addGetterSetter(TextPath, 'fontFamily', 'Arial');\nFactory.addGetterSetter(TextPath, 'fontSize', 12, getNumberValidator());\nFactory.addGetterSetter(TextPath, 'fontStyle', NORMAL);\nFactory.addGetterSetter(TextPath, 'align', 'left');\nFactory.addGetterSetter(TextPath, 'letterSpacing', 0, getNumberValidator());\nFactory.addGetterSetter(TextPath, 'textBaseline', 'middle');\nFactory.addGetterSetter(TextPath, 'fontVariant', NORMAL);\nFactory.addGetterSetter(TextPath, 'text', EMPTY_STRING);\nFactory.addGetterSetter(TextPath, 'textDecoration', null);\nFactory.addGetterSetter(TextPath, 'kerningFunc', null);\n","import { Util, Transform } from '../Util.js';\nimport { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { Shape } from '../Shape.js';\nimport { Rect } from './Rect.js';\nimport { Group } from '../Group.js';\nimport { Konva } from '../Global.js';\nimport { getBooleanValidator, getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nvar EVENTS_NAME = 'tr-konva';\nvar ATTR_CHANGE_LIST = [\n 'resizeEnabledChange',\n 'rotateAnchorOffsetChange',\n 'rotateEnabledChange',\n 'enabledAnchorsChange',\n 'anchorSizeChange',\n 'borderEnabledChange',\n 'borderStrokeChange',\n 'borderStrokeWidthChange',\n 'borderDashChange',\n 'anchorStrokeChange',\n 'anchorStrokeWidthChange',\n 'anchorFillChange',\n 'anchorCornerRadiusChange',\n 'ignoreStrokeChange',\n]\n .map((e) => e + `.${EVENTS_NAME}`)\n .join(' ');\nvar NODES_RECT = 'nodesRect';\nvar TRANSFORM_CHANGE_STR = [\n 'widthChange',\n 'heightChange',\n 'scaleXChange',\n 'scaleYChange',\n 'skewXChange',\n 'skewYChange',\n 'rotationChange',\n 'offsetXChange',\n 'offsetYChange',\n 'transformsEnabledChange',\n 'strokeWidthChange',\n];\nvar ANGLES = {\n 'top-left': -45,\n 'top-center': 0,\n 'top-right': 45,\n 'middle-right': -90,\n 'middle-left': 90,\n 'bottom-left': -135,\n 'bottom-center': 180,\n 'bottom-right': 135,\n};\nconst TOUCH_DEVICE = 'ontouchstart' in Konva._global;\nfunction getCursor(anchorName, rad) {\n if (anchorName === 'rotater') {\n return 'crosshair';\n }\n rad += Util.degToRad(ANGLES[anchorName] || 0);\n var angle = ((Util.radToDeg(rad) % 360) + 360) % 360;\n if (Util._inRange(angle, 315 + 22.5, 360) || Util._inRange(angle, 0, 22.5)) {\n return 'ns-resize';\n }\n else if (Util._inRange(angle, 45 - 22.5, 45 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util._inRange(angle, 90 - 22.5, 90 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util._inRange(angle, 135 - 22.5, 135 + 22.5)) {\n return 'nwse-resize';\n }\n else if (Util._inRange(angle, 180 - 22.5, 180 + 22.5)) {\n return 'ns-resize';\n }\n else if (Util._inRange(angle, 225 - 22.5, 225 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util._inRange(angle, 270 - 22.5, 270 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util._inRange(angle, 315 - 22.5, 315 + 22.5)) {\n return 'nwse-resize';\n }\n else {\n Util.error('Transformer has unknown angle for cursor detection: ' + angle);\n return 'pointer';\n }\n}\nvar ANCHORS_NAMES = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'middle-right',\n 'middle-left',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n];\nvar MAX_SAFE_INTEGER = 100000000;\nfunction getCenter(shape) {\n return {\n x: shape.x +\n (shape.width / 2) * Math.cos(shape.rotation) +\n (shape.height / 2) * Math.sin(-shape.rotation),\n y: shape.y +\n (shape.height / 2) * Math.cos(shape.rotation) +\n (shape.width / 2) * Math.sin(shape.rotation),\n };\n}\nfunction rotateAroundPoint(shape, angleRad, point) {\n const x = point.x +\n (shape.x - point.x) * Math.cos(angleRad) -\n (shape.y - point.y) * Math.sin(angleRad);\n const y = point.y +\n (shape.x - point.x) * Math.sin(angleRad) +\n (shape.y - point.y) * Math.cos(angleRad);\n return Object.assign(Object.assign({}, shape), { rotation: shape.rotation + angleRad, x,\n y });\n}\nfunction rotateAroundCenter(shape, deltaRad) {\n const center = getCenter(shape);\n return rotateAroundPoint(shape, deltaRad, center);\n}\nfunction getSnap(snaps, newRotationRad, tol) {\n let snapped = newRotationRad;\n for (let i = 0; i < snaps.length; i++) {\n const angle = Konva.getAngle(snaps[i]);\n const absDiff = Math.abs(angle - newRotationRad) % (Math.PI * 2);\n const dif = Math.min(absDiff, Math.PI * 2 - absDiff);\n if (dif < tol) {\n snapped = angle;\n }\n }\n return snapped;\n}\nexport class Transformer extends Group {\n constructor(config) {\n super(config);\n this._transforming = false;\n this._createElements();\n this._handleMouseMove = this._handleMouseMove.bind(this);\n this._handleMouseUp = this._handleMouseUp.bind(this);\n this.update = this.update.bind(this);\n this.on(ATTR_CHANGE_LIST, this.update);\n if (this.getNode()) {\n this.update();\n }\n }\n attachTo(node) {\n this.setNode(node);\n return this;\n }\n setNode(node) {\n Util.warn('tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead.');\n return this.setNodes([node]);\n }\n getNode() {\n return this._nodes && this._nodes[0];\n }\n _getEventNamespace() {\n return EVENTS_NAME + this._id;\n }\n setNodes(nodes = []) {\n if (this._nodes && this._nodes.length) {\n this.detach();\n }\n const filteredNodes = nodes.filter((node) => {\n if (node.isAncestorOf(this)) {\n Util.error('Konva.Transformer cannot be an a child of the node you are trying to attach');\n return false;\n }\n return true;\n });\n this._nodes = nodes = filteredNodes;\n if (nodes.length === 1 && this.useSingleNodeRotation()) {\n this.rotation(nodes[0].getAbsoluteRotation());\n }\n else {\n this.rotation(0);\n }\n this._nodes.forEach((node) => {\n const onChange = () => {\n if (this.nodes().length === 1 && this.useSingleNodeRotation()) {\n this.rotation(this.nodes()[0].getAbsoluteRotation());\n }\n this._resetTransformCache();\n if (!this._transforming && !this.isDragging()) {\n this.update();\n }\n };\n const additionalEvents = node._attrsAffectingSize\n .map((prop) => prop + 'Change.' + this._getEventNamespace())\n .join(' ');\n node.on(additionalEvents, onChange);\n node.on(TRANSFORM_CHANGE_STR.map((e) => e + `.${this._getEventNamespace()}`).join(' '), onChange);\n node.on(`absoluteTransformChange.${this._getEventNamespace()}`, onChange);\n this._proxyDrag(node);\n });\n this._resetTransformCache();\n var elementsCreated = !!this.findOne('.top-left');\n if (elementsCreated) {\n this.update();\n }\n return this;\n }\n _proxyDrag(node) {\n let lastPos;\n node.on(`dragstart.${this._getEventNamespace()}`, (e) => {\n lastPos = node.getAbsolutePosition();\n if (!this.isDragging() && node !== this.findOne('.back')) {\n this.startDrag(e, false);\n }\n });\n node.on(`dragmove.${this._getEventNamespace()}`, (e) => {\n if (!lastPos) {\n return;\n }\n const abs = node.getAbsolutePosition();\n const dx = abs.x - lastPos.x;\n const dy = abs.y - lastPos.y;\n this.nodes().forEach((otherNode) => {\n if (otherNode === node) {\n return;\n }\n if (otherNode.isDragging()) {\n return;\n }\n const otherAbs = otherNode.getAbsolutePosition();\n otherNode.setAbsolutePosition({\n x: otherAbs.x + dx,\n y: otherAbs.y + dy,\n });\n otherNode.startDrag(e);\n });\n lastPos = null;\n });\n }\n getNodes() {\n return this._nodes || [];\n }\n getActiveAnchor() {\n return this._movingAnchorName;\n }\n detach() {\n if (this._nodes) {\n this._nodes.forEach((node) => {\n node.off('.' + this._getEventNamespace());\n });\n }\n this._nodes = [];\n this._resetTransformCache();\n }\n _resetTransformCache() {\n this._clearCache(NODES_RECT);\n this._clearCache('transform');\n this._clearSelfAndDescendantCache('absoluteTransform');\n }\n _getNodeRect() {\n return this._getCache(NODES_RECT, this.__getNodeRect);\n }\n __getNodeShape(node, rot = this.rotation(), relative) {\n var rect = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var absScale = node.getAbsoluteScale(relative);\n var absPos = node.getAbsolutePosition(relative);\n var dx = rect.x * absScale.x - node.offsetX() * absScale.x;\n var dy = rect.y * absScale.y - node.offsetY() * absScale.y;\n const rotation = (Konva.getAngle(node.getAbsoluteRotation()) + Math.PI * 2) %\n (Math.PI * 2);\n const box = {\n x: absPos.x + dx * Math.cos(rotation) + dy * Math.sin(-rotation),\n y: absPos.y + dy * Math.cos(rotation) + dx * Math.sin(rotation),\n width: rect.width * absScale.x,\n height: rect.height * absScale.y,\n rotation: rotation,\n };\n return rotateAroundPoint(box, -Konva.getAngle(rot), {\n x: 0,\n y: 0,\n });\n }\n __getNodeRect() {\n var node = this.getNode();\n if (!node) {\n return {\n x: -MAX_SAFE_INTEGER,\n y: -MAX_SAFE_INTEGER,\n width: 0,\n height: 0,\n rotation: 0,\n };\n }\n const totalPoints = [];\n this.nodes().map((node) => {\n const box = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n var trans = node.getAbsoluteTransform();\n points.forEach(function (point) {\n var transformed = trans.point(point);\n totalPoints.push(transformed);\n });\n });\n const tr = new Transform();\n tr.rotate(-Konva.getAngle(this.rotation()));\n var minX, minY, maxX, maxY;\n totalPoints.forEach(function (point) {\n var transformed = tr.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n tr.invert();\n const p = tr.point({ x: minX, y: minY });\n return {\n x: p.x,\n y: p.y,\n width: maxX - minX,\n height: maxY - minY,\n rotation: Konva.getAngle(this.rotation()),\n };\n }\n getX() {\n return this._getNodeRect().x;\n }\n getY() {\n return this._getNodeRect().y;\n }\n getWidth() {\n return this._getNodeRect().width;\n }\n getHeight() {\n return this._getNodeRect().height;\n }\n _createElements() {\n this._createBack();\n ANCHORS_NAMES.forEach(function (name) {\n this._createAnchor(name);\n }.bind(this));\n this._createAnchor('rotater');\n }\n _createAnchor(name) {\n var anchor = new Rect({\n stroke: 'rgb(0, 161, 255)',\n fill: 'white',\n strokeWidth: 1,\n name: name + ' _anchor',\n dragDistance: 0,\n draggable: true,\n hitStrokeWidth: TOUCH_DEVICE ? 10 : 'auto',\n });\n var self = this;\n anchor.on('mousedown touchstart', function (e) {\n self._handleMouseDown(e);\n });\n anchor.on('dragstart', (e) => {\n anchor.stopDrag();\n e.cancelBubble = true;\n });\n anchor.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n anchor.on('mouseenter', () => {\n var rad = Konva.getAngle(this.rotation());\n var cursor = getCursor(name, rad);\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = cursor);\n this._cursorChange = true;\n });\n anchor.on('mouseout', () => {\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = '');\n this._cursorChange = false;\n });\n this.add(anchor);\n }\n _createBack() {\n var back = new Shape({\n name: 'back',\n width: 0,\n height: 0,\n draggable: true,\n sceneFunc(ctx) {\n var tr = this.getParent();\n var padding = tr.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, this.width() + padding * 2, this.height() + padding * 2);\n ctx.moveTo(this.width() / 2, -padding);\n if (tr.rotateEnabled()) {\n ctx.lineTo(this.width() / 2, -tr.rotateAnchorOffset() * Util._sign(this.height()) - padding);\n }\n ctx.fillStrokeShape(this);\n },\n hitFunc: (ctx, shape) => {\n if (!this.shouldOverdrawWholeArea()) {\n return;\n }\n var padding = this.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.fillStrokeShape(shape);\n },\n });\n this.add(back);\n this._proxyDrag(back);\n back.on('dragstart', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragmove', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n this.on('dragmove', (e) => {\n this.update();\n });\n }\n _handleMouseDown(e) {\n this._movingAnchorName = e.target.name().split(' ')[0];\n var attrs = this._getNodeRect();\n var width = attrs.width;\n var height = attrs.height;\n var hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n this.sin = Math.abs(height / hypotenuse);\n this.cos = Math.abs(width / hypotenuse);\n if (typeof window !== 'undefined') {\n window.addEventListener('mousemove', this._handleMouseMove);\n window.addEventListener('touchmove', this._handleMouseMove);\n window.addEventListener('mouseup', this._handleMouseUp, true);\n window.addEventListener('touchend', this._handleMouseUp, true);\n }\n this._transforming = true;\n var ap = e.target.getAbsolutePosition();\n var pos = e.target.getStage().getPointerPosition();\n this._anchorDragOffset = {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n };\n this._fire('transformstart', { evt: e.evt, target: this.getNode() });\n this._nodes.forEach((target) => {\n target._fire('transformstart', { evt: e.evt, target });\n });\n }\n _handleMouseMove(e) {\n var x, y, newHypotenuse;\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n var stage = anchorNode.getStage();\n stage.setPointersPositions(e);\n const pp = stage.getPointerPosition();\n let newNodePos = {\n x: pp.x - this._anchorDragOffset.x,\n y: pp.y - this._anchorDragOffset.y,\n };\n const oldAbs = anchorNode.getAbsolutePosition();\n if (this.anchorDragBoundFunc()) {\n newNodePos = this.anchorDragBoundFunc()(oldAbs, newNodePos, e);\n }\n anchorNode.setAbsolutePosition(newNodePos);\n const newAbs = anchorNode.getAbsolutePosition();\n if (oldAbs.x === newAbs.x && oldAbs.y === newAbs.y) {\n return;\n }\n if (this._movingAnchorName === 'rotater') {\n var attrs = this._getNodeRect();\n x = anchorNode.x() - attrs.width / 2;\n y = -anchorNode.y() + attrs.height / 2;\n let delta = Math.atan2(-y, x) + Math.PI / 2;\n if (attrs.height < 0) {\n delta -= Math.PI;\n }\n var oldRotation = Konva.getAngle(this.rotation());\n const newRotation = oldRotation + delta;\n const tol = Konva.getAngle(this.rotationSnapTolerance());\n const snappedRot = getSnap(this.rotationSnaps(), newRotation, tol);\n const diff = snappedRot - attrs.rotation;\n const shape = rotateAroundCenter(attrs, diff);\n this._fitNodesInto(shape, e);\n return;\n }\n var keepProportion = this.keepRatio() || e.shiftKey;\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (this._movingAnchorName === 'top-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-right').x(),\n y: this.findOne('.bottom-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-left').x() > comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-left').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-left').x(comparePoint.x - x);\n this.findOne('.top-left').y(comparePoint.y - y);\n }\n }\n else if (this._movingAnchorName === 'top-center') {\n this.findOne('.top-left').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'top-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-left').x(),\n y: this.findOne('.bottom-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-right').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-right').x(comparePoint.x + x);\n this.findOne('.top-right').y(comparePoint.y - y);\n }\n var pos = anchorNode.position();\n this.findOne('.top-left').y(pos.y);\n this.findOne('.bottom-right').x(pos.x);\n }\n else if (this._movingAnchorName === 'middle-left') {\n this.findOne('.top-left').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'middle-right') {\n this.findOne('.bottom-right').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'bottom-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-right').x(),\n y: this.findOne('.top-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = comparePoint.x < anchorNode.x() ? -1 : 1;\n var reverseY = anchorNode.y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n anchorNode.x(comparePoint.x - x);\n anchorNode.y(comparePoint.y + y);\n }\n pos = anchorNode.position();\n this.findOne('.top-left').x(pos.x);\n this.findOne('.bottom-right').y(pos.y);\n }\n else if (this._movingAnchorName === 'bottom-center') {\n this.findOne('.bottom-right').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'bottom-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-left').x(),\n y: this.findOne('.top-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = this.findOne('.bottom-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.bottom-right').y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.bottom-right').x(comparePoint.x + x);\n this.findOne('.bottom-right').y(comparePoint.y + y);\n }\n }\n else {\n console.error(new Error('Wrong position argument of selection resizer: ' +\n this._movingAnchorName));\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (centeredScaling) {\n var topLeft = this.findOne('.top-left');\n var bottomRight = this.findOne('.bottom-right');\n var topOffsetX = topLeft.x();\n var topOffsetY = topLeft.y();\n var bottomOffsetX = this.getWidth() - bottomRight.x();\n var bottomOffsetY = this.getHeight() - bottomRight.y();\n bottomRight.move({\n x: -topOffsetX,\n y: -topOffsetY,\n });\n topLeft.move({\n x: bottomOffsetX,\n y: bottomOffsetY,\n });\n }\n var absPos = this.findOne('.top-left').getAbsolutePosition();\n x = absPos.x;\n y = absPos.y;\n var width = this.findOne('.bottom-right').x() - this.findOne('.top-left').x();\n var height = this.findOne('.bottom-right').y() - this.findOne('.top-left').y();\n this._fitNodesInto({\n x: x,\n y: y,\n width: width,\n height: height,\n rotation: Konva.getAngle(this.rotation()),\n }, e);\n }\n _handleMouseUp(e) {\n this._removeEvents(e);\n }\n getAbsoluteTransform() {\n return this.getTransform();\n }\n _removeEvents(e) {\n if (this._transforming) {\n this._transforming = false;\n if (typeof window !== 'undefined') {\n window.removeEventListener('mousemove', this._handleMouseMove);\n window.removeEventListener('touchmove', this._handleMouseMove);\n window.removeEventListener('mouseup', this._handleMouseUp, true);\n window.removeEventListener('touchend', this._handleMouseUp, true);\n }\n var node = this.getNode();\n this._fire('transformend', { evt: e, target: node });\n if (node) {\n this._nodes.forEach((target) => {\n target._fire('transformend', { evt: e, target });\n });\n }\n this._movingAnchorName = null;\n }\n }\n _fitNodesInto(newAttrs, evt) {\n var oldAttrs = this._getNodeRect();\n const minSize = 1;\n if (Util._inRange(newAttrs.width, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n if (Util._inRange(newAttrs.height, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n const allowNegativeScale = this.flipEnabled();\n var t = new Transform();\n t.rotate(Konva.getAngle(this.rotation()));\n if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('left') >= 0) {\n const offset = t.point({\n x: -this.padding() * 2,\n y: 0,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n newAttrs.width += this.padding() * 2;\n this._movingAnchorName = this._movingAnchorName.replace('left', 'right');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n else if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('right') >= 0) {\n const offset = t.point({\n x: this.padding() * 2,\n y: 0,\n });\n this._movingAnchorName = this._movingAnchorName.replace('right', 'left');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.width += this.padding() * 2;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('top') >= 0) {\n const offset = t.point({\n x: 0,\n y: -this.padding() * 2,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n this._movingAnchorName = this._movingAnchorName.replace('top', 'bottom');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n else if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('bottom') >= 0) {\n const offset = t.point({\n x: 0,\n y: this.padding() * 2,\n });\n this._movingAnchorName = this._movingAnchorName.replace('bottom', 'top');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n if (!allowNegativeScale) {\n this.update();\n return;\n }\n }\n if (this.boundBoxFunc()) {\n const bounded = this.boundBoxFunc()(oldAttrs, newAttrs);\n if (bounded) {\n newAttrs = bounded;\n }\n else {\n Util.warn('boundBoxFunc returned falsy. You should return new bound rect from it!');\n }\n }\n const baseSize = 10000000;\n const oldTr = new Transform();\n oldTr.translate(oldAttrs.x, oldAttrs.y);\n oldTr.rotate(oldAttrs.rotation);\n oldTr.scale(oldAttrs.width / baseSize, oldAttrs.height / baseSize);\n const newTr = new Transform();\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.scale(newAttrs.width / baseSize, newAttrs.height / baseSize);\n const delta = newTr.multiply(oldTr.invert());\n this._nodes.forEach((node) => {\n var _a;\n const parentTransform = node.getParent().getAbsoluteTransform();\n const localTransform = node.getTransform().copy();\n localTransform.translate(node.offsetX(), node.offsetY());\n const newLocalTransform = new Transform();\n newLocalTransform\n .multiply(parentTransform.copy().invert())\n .multiply(delta)\n .multiply(parentTransform)\n .multiply(localTransform);\n const attrs = newLocalTransform.decompose();\n node.setAttrs(attrs);\n this._fire('transform', { evt: evt, target: node });\n node._fire('transform', { evt: evt, target: node });\n (_a = node.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n this.rotation(Util._getRotation(newAttrs.rotation));\n this._resetTransformCache();\n this.update();\n this.getLayer().batchDraw();\n }\n forceUpdate() {\n this._resetTransformCache();\n this.update();\n }\n _batchChangeChild(selector, attrs) {\n const anchor = this.findOne(selector);\n anchor.setAttrs(attrs);\n }\n update() {\n var _a;\n var attrs = this._getNodeRect();\n this.rotation(Util._getRotation(attrs.rotation));\n var width = attrs.width;\n var height = attrs.height;\n var enabledAnchors = this.enabledAnchors();\n var resizeEnabled = this.resizeEnabled();\n var padding = this.padding();\n var anchorSize = this.anchorSize();\n this.find('._anchor').forEach((node) => {\n node.setAttrs({\n width: anchorSize,\n height: anchorSize,\n offsetX: anchorSize / 2,\n offsetY: anchorSize / 2,\n stroke: this.anchorStroke(),\n strokeWidth: this.anchorStrokeWidth(),\n fill: this.anchorFill(),\n cornerRadius: this.anchorCornerRadius(),\n });\n });\n this._batchChangeChild('.top-left', {\n x: 0,\n y: 0,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-left') >= 0,\n });\n this._batchChangeChild('.top-center', {\n x: width / 2,\n y: 0,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-center') >= 0,\n });\n this._batchChangeChild('.top-right', {\n x: width,\n y: 0,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-right') >= 0,\n });\n this._batchChangeChild('.middle-left', {\n x: 0,\n y: height / 2,\n offsetX: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-left') >= 0,\n });\n this._batchChangeChild('.middle-right', {\n x: width,\n y: height / 2,\n offsetX: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-right') >= 0,\n });\n this._batchChangeChild('.bottom-left', {\n x: 0,\n y: height,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-left') >= 0,\n });\n this._batchChangeChild('.bottom-center', {\n x: width / 2,\n y: height,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-center') >= 0,\n });\n this._batchChangeChild('.bottom-right', {\n x: width,\n y: height,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-right') >= 0,\n });\n this._batchChangeChild('.rotater', {\n x: width / 2,\n y: -this.rotateAnchorOffset() * Util._sign(height) - padding,\n visible: this.rotateEnabled(),\n });\n this._batchChangeChild('.back', {\n width: width,\n height: height,\n visible: this.borderEnabled(),\n stroke: this.borderStroke(),\n strokeWidth: this.borderStrokeWidth(),\n dash: this.borderDash(),\n x: 0,\n y: 0,\n });\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n }\n isTransforming() {\n return this._transforming;\n }\n stopTransform() {\n if (this._transforming) {\n this._removeEvents();\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n if (anchorNode) {\n anchorNode.stopDrag();\n }\n }\n }\n destroy() {\n if (this.getStage() && this._cursorChange) {\n this.getStage().content && (this.getStage().content.style.cursor = '');\n }\n Group.prototype.destroy.call(this);\n this.detach();\n this._removeEvents();\n return this;\n }\n toObject() {\n return Node.prototype.toObject.call(this);\n }\n clone(obj) {\n var node = Node.prototype.clone.call(this, obj);\n return node;\n }\n getClientRect() {\n if (this.nodes().length > 0) {\n return super.getClientRect();\n }\n else {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n }\n}\nfunction validateAnchors(val) {\n if (!(val instanceof Array)) {\n Util.warn('enabledAnchors value should be an array');\n }\n if (val instanceof Array) {\n val.forEach(function (name) {\n if (ANCHORS_NAMES.indexOf(name) === -1) {\n Util.warn('Unknown anchor name: ' +\n name +\n '. Available names are: ' +\n ANCHORS_NAMES.join(', '));\n }\n });\n }\n return val || [];\n}\nTransformer.prototype.className = 'Transformer';\n_registerNode(Transformer);\nFactory.addGetterSetter(Transformer, 'enabledAnchors', ANCHORS_NAMES, validateAnchors);\nFactory.addGetterSetter(Transformer, 'flipEnabled', true, getBooleanValidator());\nFactory.addGetterSetter(Transformer, 'resizeEnabled', true);\nFactory.addGetterSetter(Transformer, 'anchorSize', 10, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'rotateEnabled', true);\nFactory.addGetterSetter(Transformer, 'rotationSnaps', []);\nFactory.addGetterSetter(Transformer, 'rotateAnchorOffset', 50, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'rotationSnapTolerance', 5, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'borderEnabled', true);\nFactory.addGetterSetter(Transformer, 'anchorStroke', 'rgb(0, 161, 255)');\nFactory.addGetterSetter(Transformer, 'anchorStrokeWidth', 1, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'anchorFill', 'white');\nFactory.addGetterSetter(Transformer, 'anchorCornerRadius', 0, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'borderStroke', 'rgb(0, 161, 255)');\nFactory.addGetterSetter(Transformer, 'borderStrokeWidth', 1, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'borderDash');\nFactory.addGetterSetter(Transformer, 'keepRatio', true);\nFactory.addGetterSetter(Transformer, 'centeredScaling', false);\nFactory.addGetterSetter(Transformer, 'ignoreStroke', false);\nFactory.addGetterSetter(Transformer, 'padding', 0, getNumberValidator());\nFactory.addGetterSetter(Transformer, 'node');\nFactory.addGetterSetter(Transformer, 'nodes');\nFactory.addGetterSetter(Transformer, 'boundBoxFunc');\nFactory.addGetterSetter(Transformer, 'anchorDragBoundFunc');\nFactory.addGetterSetter(Transformer, 'shouldOverdrawWholeArea', false);\nFactory.addGetterSetter(Transformer, 'useSingleNodeRotation', true);\nFactory.backCompat(Transformer, {\n lineEnabled: 'borderEnabled',\n rotateHandlerOffset: 'rotateAnchorOffset',\n enabledHandlers: 'enabledAnchors',\n});\n","import { Factory } from '../Factory.js';\nimport { Shape } from '../Shape.js';\nimport { Konva } from '../Global.js';\nimport { getNumberValidator } from '../Validators.js';\nimport { _registerNode } from '../Global.js';\nexport class Wedge extends Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.radius(), 0, Konva.getAngle(this.angle()), this.clockwise());\n context.lineTo(0, 0);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nWedge.prototype.className = 'Wedge';\nWedge.prototype._centroid = true;\nWedge.prototype._attrsAffectingSize = ['radius'];\n_registerNode(Wedge);\nFactory.addGetterSetter(Wedge, 'radius', 0, getNumberValidator());\nFactory.addGetterSetter(Wedge, 'angle', 0, getNumberValidator());\nFactory.addGetterSetter(Wedge, 'clockwise', false);\nFactory.backCompat(Wedge, {\n angleDeg: 'angle',\n getAngleDeg: 'getAngle',\n setAngleDeg: 'setAngle',\n});\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nfunction BlurStack() {\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n}\nvar mul_table = [\n 512,\n 512,\n 456,\n 512,\n 328,\n 456,\n 335,\n 512,\n 405,\n 328,\n 271,\n 456,\n 388,\n 335,\n 292,\n 512,\n 454,\n 405,\n 364,\n 328,\n 298,\n 271,\n 496,\n 456,\n 420,\n 388,\n 360,\n 335,\n 312,\n 292,\n 273,\n 512,\n 482,\n 454,\n 428,\n 405,\n 383,\n 364,\n 345,\n 328,\n 312,\n 298,\n 284,\n 271,\n 259,\n 496,\n 475,\n 456,\n 437,\n 420,\n 404,\n 388,\n 374,\n 360,\n 347,\n 335,\n 323,\n 312,\n 302,\n 292,\n 282,\n 273,\n 265,\n 512,\n 497,\n 482,\n 468,\n 454,\n 441,\n 428,\n 417,\n 405,\n 394,\n 383,\n 373,\n 364,\n 354,\n 345,\n 337,\n 328,\n 320,\n 312,\n 305,\n 298,\n 291,\n 284,\n 278,\n 271,\n 265,\n 259,\n 507,\n 496,\n 485,\n 475,\n 465,\n 456,\n 446,\n 437,\n 428,\n 420,\n 412,\n 404,\n 396,\n 388,\n 381,\n 374,\n 367,\n 360,\n 354,\n 347,\n 341,\n 335,\n 329,\n 323,\n 318,\n 312,\n 307,\n 302,\n 297,\n 292,\n 287,\n 282,\n 278,\n 273,\n 269,\n 265,\n 261,\n 512,\n 505,\n 497,\n 489,\n 482,\n 475,\n 468,\n 461,\n 454,\n 447,\n 441,\n 435,\n 428,\n 422,\n 417,\n 411,\n 405,\n 399,\n 394,\n 389,\n 383,\n 378,\n 373,\n 368,\n 364,\n 359,\n 354,\n 350,\n 345,\n 341,\n 337,\n 332,\n 328,\n 324,\n 320,\n 316,\n 312,\n 309,\n 305,\n 301,\n 298,\n 294,\n 291,\n 287,\n 284,\n 281,\n 278,\n 274,\n 271,\n 268,\n 265,\n 262,\n 259,\n 257,\n 507,\n 501,\n 496,\n 491,\n 485,\n 480,\n 475,\n 470,\n 465,\n 460,\n 456,\n 451,\n 446,\n 442,\n 437,\n 433,\n 428,\n 424,\n 420,\n 416,\n 412,\n 408,\n 404,\n 400,\n 396,\n 392,\n 388,\n 385,\n 381,\n 377,\n 374,\n 370,\n 367,\n 363,\n 360,\n 357,\n 354,\n 350,\n 347,\n 344,\n 341,\n 338,\n 335,\n 332,\n 329,\n 326,\n 323,\n 320,\n 318,\n 315,\n 312,\n 310,\n 307,\n 304,\n 302,\n 299,\n 297,\n 294,\n 292,\n 289,\n 287,\n 285,\n 282,\n 280,\n 278,\n 275,\n 273,\n 271,\n 269,\n 267,\n 265,\n 263,\n 261,\n 259,\n];\nvar shg_table = [\n 9,\n 11,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 21,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 22,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 23,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n 24,\n];\nfunction filterGaussBlurRGBA(imageData, radius) {\n var pixels = imageData.data, width = imageData.width, height = imageData.height;\n var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;\n var div = radius + radius + 1, widthMinus1 = width - 1, heightMinus1 = height - 1, radiusPlus1 = radius + 1, sumFactor = (radiusPlus1 * (radiusPlus1 + 1)) / 2, stackStart = new BlurStack(), stackEnd = null, stack = stackStart, stackIn = null, stackOut = null, mul_sum = mul_table[radius], shg_sum = shg_table[radius];\n for (i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n stack.next = stackStart;\n yw = yi = 0;\n for (y = 0; y < height; y++) {\n r_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n for (i = 1; i < radiusPlus1; i++) {\n p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[p + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[p + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[p + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n }\n stackIn = stackStart;\n stackOut = stackEnd;\n for (x = 0; x < width; x++) {\n pixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa !== 0) {\n pa = 255 / pa;\n pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\n r_in_sum += stackIn.r = pixels[p];\n g_in_sum += stackIn.g = pixels[p + 1];\n b_in_sum += stackIn.b = pixels[p + 2];\n a_in_sum += stackIn.a = pixels[p + 3];\n r_sum += r_in_sum;\n g_sum += g_in_sum;\n b_sum += b_in_sum;\n a_sum += a_in_sum;\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += 4;\n }\n yw += width;\n }\n for (x = 0; x < width; x++) {\n g_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;\n yi = x << 2;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n yp = width;\n for (i = 1; i <= radius; i++) {\n yi = (yp + x) << 2;\n r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n if (i < heightMinus1) {\n yp += width;\n }\n }\n yi = x;\n stackIn = stackStart;\n stackOut = stackEnd;\n for (y = 0; y < height; y++) {\n p = yi << 2;\n pixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa > 0) {\n pa = 255 / pa;\n pixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p =\n (x +\n ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width) <<\n 2;\n r_sum += r_in_sum += stackIn.r = pixels[p];\n g_sum += g_in_sum += stackIn.g = pixels[p + 1];\n b_sum += b_in_sum += stackIn.b = pixels[p + 2];\n a_sum += a_in_sum += stackIn.a = pixels[p + 3];\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n}\nexport const Blur = function Blur(imageData) {\n var radius = Math.round(this.blurRadius());\n if (radius > 0) {\n filterGaussBlurRGBA(imageData, radius);\n }\n};\nFactory.addGetterSetter(Node, 'blurRadius', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Brighten = function (imageData) {\n var brightness = this.brightness() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] += brightness;\n data[i + 1] += brightness;\n data[i + 2] += brightness;\n }\n};\nFactory.addGetterSetter(Node, 'brightness', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Contrast = function (imageData) {\n var adjust = Math.pow((this.contrast() + 100) / 100, 2);\n var data = imageData.data, nPixels = data.length, red = 150, green = 150, blue = 150, i;\n for (i = 0; i < nPixels; i += 4) {\n red = data[i];\n green = data[i + 1];\n blue = data[i + 2];\n red /= 255;\n red -= 0.5;\n red *= adjust;\n red += 0.5;\n red *= 255;\n green /= 255;\n green -= 0.5;\n green *= adjust;\n green += 0.5;\n green *= 255;\n blue /= 255;\n blue -= 0.5;\n blue *= adjust;\n blue += 0.5;\n blue *= 255;\n red = red < 0 ? 0 : red > 255 ? 255 : red;\n green = green < 0 ? 0 : green > 255 ? 255 : green;\n blue = blue < 0 ? 0 : blue > 255 ? 255 : blue;\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n }\n};\nFactory.addGetterSetter(Node, 'contrast', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nfunction remap(fromValue, fromMin, fromMax, toMin, toMax) {\n var fromRange = fromMax - fromMin, toRange = toMax - toMin, toValue;\n if (fromRange === 0) {\n return toMin + toRange / 2;\n }\n if (toRange === 0) {\n return toMin;\n }\n toValue = (fromValue - fromMin) / fromRange;\n toValue = toRange * toValue + toMin;\n return toValue;\n}\nexport const Enhance = function (imageData) {\n var data = imageData.data, nSubPixels = data.length, rMin = data[0], rMax = rMin, r, gMin = data[1], gMax = gMin, g, bMin = data[2], bMax = bMin, b, i;\n var enhanceAmount = this.enhance();\n if (enhanceAmount === 0) {\n return;\n }\n for (i = 0; i < nSubPixels; i += 4) {\n r = data[i + 0];\n if (r < rMin) {\n rMin = r;\n }\n else if (r > rMax) {\n rMax = r;\n }\n g = data[i + 1];\n if (g < gMin) {\n gMin = g;\n }\n else if (g > gMax) {\n gMax = g;\n }\n b = data[i + 2];\n if (b < bMin) {\n bMin = b;\n }\n else if (b > bMax) {\n bMax = b;\n }\n }\n if (rMax === rMin) {\n rMax = 255;\n rMin = 0;\n }\n if (gMax === gMin) {\n gMax = 255;\n gMin = 0;\n }\n if (bMax === bMin) {\n bMax = 255;\n bMin = 0;\n }\n var rMid, rGoalMax, rGoalMin, gMid, gGoalMax, gGoalMin, bMid, bGoalMax, bGoalMin;\n if (enhanceAmount > 0) {\n rGoalMax = rMax + enhanceAmount * (255 - rMax);\n rGoalMin = rMin - enhanceAmount * (rMin - 0);\n gGoalMax = gMax + enhanceAmount * (255 - gMax);\n gGoalMin = gMin - enhanceAmount * (gMin - 0);\n bGoalMax = bMax + enhanceAmount * (255 - bMax);\n bGoalMin = bMin - enhanceAmount * (bMin - 0);\n }\n else {\n rMid = (rMax + rMin) * 0.5;\n rGoalMax = rMax + enhanceAmount * (rMax - rMid);\n rGoalMin = rMin + enhanceAmount * (rMin - rMid);\n gMid = (gMax + gMin) * 0.5;\n gGoalMax = gMax + enhanceAmount * (gMax - gMid);\n gGoalMin = gMin + enhanceAmount * (gMin - gMid);\n bMid = (bMax + bMin) * 0.5;\n bGoalMax = bMax + enhanceAmount * (bMax - bMid);\n bGoalMin = bMin + enhanceAmount * (bMin - bMid);\n }\n for (i = 0; i < nSubPixels; i += 4) {\n data[i + 0] = remap(data[i + 0], rMin, rMax, rGoalMin, rGoalMax);\n data[i + 1] = remap(data[i + 1], gMin, gMax, gGoalMin, gGoalMax);\n data[i + 2] = remap(data[i + 2], bMin, bMax, bGoalMin, bGoalMax);\n }\n};\nFactory.addGetterSetter(Node, 'enhance', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { Util } from '../Util.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Emboss = function (imageData) {\n var strength = this.embossStrength() * 10, greyLevel = this.embossWhiteLevel() * 255, direction = this.embossDirection(), blend = this.embossBlend(), dirY = 0, dirX = 0, data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n switch (direction) {\n case 'top-left':\n dirY = -1;\n dirX = -1;\n break;\n case 'top':\n dirY = -1;\n dirX = 0;\n break;\n case 'top-right':\n dirY = -1;\n dirX = 1;\n break;\n case 'right':\n dirY = 0;\n dirX = 1;\n break;\n case 'bottom-right':\n dirY = 1;\n dirX = 1;\n break;\n case 'bottom':\n dirY = 1;\n dirX = 0;\n break;\n case 'bottom-left':\n dirY = 1;\n dirX = -1;\n break;\n case 'left':\n dirY = 0;\n dirX = -1;\n break;\n default:\n Util.error('Unknown emboss direction: ' + direction);\n }\n do {\n var offsetY = (y - 1) * w4;\n var otherY = dirY;\n if (y + otherY < 1) {\n otherY = 0;\n }\n if (y + otherY > h) {\n otherY = 0;\n }\n var offsetYOther = (y - 1 + otherY) * w * 4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var otherX = dirX;\n if (x + otherX < 1) {\n otherX = 0;\n }\n if (x + otherX > w) {\n otherX = 0;\n }\n var offsetOther = offsetYOther + (x - 1 + otherX) * 4;\n var dR = data[offset] - data[offsetOther];\n var dG = data[offset + 1] - data[offsetOther + 1];\n var dB = data[offset + 2] - data[offsetOther + 2];\n var dif = dR;\n var absDif = dif > 0 ? dif : -dif;\n var absG = dG > 0 ? dG : -dG;\n var absB = dB > 0 ? dB : -dB;\n if (absG > absDif) {\n dif = dG;\n }\n if (absB > absDif) {\n dif = dB;\n }\n dif *= strength;\n if (blend) {\n var r = data[offset] + dif;\n var g = data[offset + 1] + dif;\n var b = data[offset + 2] + dif;\n data[offset] = r > 255 ? 255 : r < 0 ? 0 : r;\n data[offset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n data[offset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n }\n else {\n var grey = greyLevel - dif;\n if (grey < 0) {\n grey = 0;\n }\n else if (grey > 255) {\n grey = 255;\n }\n data[offset] = data[offset + 1] = data[offset + 2] = grey;\n }\n } while (--x);\n } while (--y);\n};\nFactory.addGetterSetter(Node, 'embossStrength', 0.5, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'embossWhiteLevel', 0.5, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'embossDirection', 'top-left', null, Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'embossBlend', false, null, Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nFactory.addGetterSetter(Node, 'hue', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'saturation', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'luminance', 0, getNumberValidator(), Factory.afterSetFilter);\nexport const HSL = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = 1, s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, l = this.luminance() * 127, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b + l;\n data[i + 1] = gr * r + gg * g + gb * b + l;\n data[i + 2] = br * r + bg * g + bb * b + l;\n data[i + 3] = a;\n }\n};\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const HSV = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = Math.pow(2, this.value()), s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b;\n data[i + 1] = gr * r + gg * g + gb * b;\n data[i + 2] = br * r + bg * g + bb * b;\n data[i + 3] = a;\n }\n};\nFactory.addGetterSetter(Node, 'hue', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'saturation', 0, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'value', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nfunction pixelAt(idata, x, y) {\n var idx = (y * idata.width + x) * 4;\n var d = [];\n d.push(idata.data[idx++], idata.data[idx++], idata.data[idx++], idata.data[idx++]);\n return d;\n}\nfunction rgbDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) +\n Math.pow(p1[1] - p2[1], 2) +\n Math.pow(p1[2] - p2[2], 2));\n}\nfunction rgbMean(pTab) {\n var m = [0, 0, 0];\n for (var i = 0; i < pTab.length; i++) {\n m[0] += pTab[i][0];\n m[1] += pTab[i][1];\n m[2] += pTab[i][2];\n }\n m[0] /= pTab.length;\n m[1] /= pTab.length;\n m[2] /= pTab.length;\n return m;\n}\nfunction backgroundMask(idata, threshold) {\n var rgbv_no = pixelAt(idata, 0, 0);\n var rgbv_ne = pixelAt(idata, idata.width - 1, 0);\n var rgbv_so = pixelAt(idata, 0, idata.height - 1);\n var rgbv_se = pixelAt(idata, idata.width - 1, idata.height - 1);\n var thres = threshold || 10;\n if (rgbDistance(rgbv_no, rgbv_ne) < thres &&\n rgbDistance(rgbv_ne, rgbv_se) < thres &&\n rgbDistance(rgbv_se, rgbv_so) < thres &&\n rgbDistance(rgbv_so, rgbv_no) < thres) {\n var mean = rgbMean([rgbv_ne, rgbv_no, rgbv_se, rgbv_so]);\n var mask = [];\n for (var i = 0; i < idata.width * idata.height; i++) {\n var d = rgbDistance(mean, [\n idata.data[i * 4],\n idata.data[i * 4 + 1],\n idata.data[i * 4 + 2],\n ]);\n mask[i] = d < thres ? 0 : 255;\n }\n return mask;\n }\n}\nfunction applyMask(idata, mask) {\n for (var i = 0; i < idata.width * idata.height; i++) {\n idata.data[4 * i + 3] = mask[i];\n }\n}\nfunction erodeMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 0, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a === 255 * 8 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction dilateMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a >= 255 * 4 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction smoothEdgeMask(mask, sw, sh) {\n var weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a;\n }\n }\n return maskResult;\n}\nexport const Mask = function (imageData) {\n var threshold = this.threshold(), mask = backgroundMask(imageData, threshold);\n if (mask) {\n mask = erodeMask(mask, imageData.width, imageData.height);\n mask = dilateMask(mask, imageData.width, imageData.height);\n mask = smoothEdgeMask(mask, imageData.width, imageData.height);\n applyMask(imageData, mask);\n }\n return imageData;\n};\nFactory.addGetterSetter(Node, 'threshold', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { Util } from '../Util.js';\nimport { getNumberValidator } from '../Validators.js';\nvar ToPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta;\n var conversion = ((360 / tSize) * Math.PI) / 180, sin, cos;\n for (theta = 0; theta < tSize; theta += 1) {\n sin = Math.sin(theta * conversion);\n cos = Math.cos(theta * conversion);\n for (radius = 0; radius < rSize; radius += 1) {\n x = Math.floor(xMid + ((rMax * radius) / rSize) * cos);\n y = Math.floor(yMid + ((rMax * radius) / rSize) * sin);\n i = (y * xSize + x) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (theta + radius * xSize) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nvar FromPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, dx, dy, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta, phaseShift = opt.polarRotation || 0;\n var x1, y1;\n for (x = 0; x < xSize; x += 1) {\n for (y = 0; y < ySize; y += 1) {\n dx = x - xMid;\n dy = y - yMid;\n radius = (Math.sqrt(dx * dx + dy * dy) * rSize) / rMax;\n theta = ((Math.atan2(dy, dx) * 180) / Math.PI + 360 + phaseShift) % 360;\n theta = (theta * tSize) / 360;\n x1 = Math.floor(theta);\n y1 = Math.floor(radius);\n i = (y1 * xSize + x1) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (y * xSize + x) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nexport const Kaleidoscope = function (imageData) {\n var xSize = imageData.width, ySize = imageData.height;\n var x, y, xoff, i, r, g, b, a, srcPos, dstPos;\n var power = Math.round(this.kaleidoscopePower());\n var angle = Math.round(this.kaleidoscopeAngle());\n var offset = Math.floor((xSize * (angle % 360)) / 360);\n if (power < 1) {\n return;\n }\n var tempCanvas = Util.createCanvasElement();\n tempCanvas.width = xSize;\n tempCanvas.height = ySize;\n var scratchData = tempCanvas\n .getContext('2d')\n .getImageData(0, 0, xSize, ySize);\n Util.releaseCanvas(tempCanvas);\n ToPolar(imageData, scratchData, {\n polarCenterX: xSize / 2,\n polarCenterY: ySize / 2,\n });\n var minSectionSize = xSize / Math.pow(2, power);\n while (minSectionSize <= 8) {\n minSectionSize = minSectionSize * 2;\n power -= 1;\n }\n minSectionSize = Math.ceil(minSectionSize);\n var sectionSize = minSectionSize;\n var xStart = 0, xEnd = sectionSize, xDelta = 1;\n if (offset + minSectionSize > xSize) {\n xStart = sectionSize;\n xEnd = 0;\n xDelta = -1;\n }\n for (y = 0; y < ySize; y += 1) {\n for (x = xStart; x !== xEnd; x += xDelta) {\n xoff = Math.round(x + offset) % xSize;\n srcPos = (xSize * y + xoff) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + x) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n }\n for (y = 0; y < ySize; y += 1) {\n sectionSize = Math.floor(minSectionSize);\n for (i = 0; i < power; i += 1) {\n for (x = 0; x < sectionSize + 1; x += 1) {\n srcPos = (xSize * y + x) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + sectionSize * 2 - x - 1) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n sectionSize *= 2;\n }\n }\n FromPolar(scratchData, imageData, { polarRotation: 0 });\n};\nFactory.addGetterSetter(Node, 'kaleidoscopePower', 2, getNumberValidator(), Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'kaleidoscopeAngle', 0, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Noise = function (imageData) {\n var amount = this.noise() * 255, data = imageData.data, nPixels = data.length, half = amount / 2, i;\n for (i = 0; i < nPixels; i += 4) {\n data[i + 0] += half - 2 * half * Math.random();\n data[i + 1] += half - 2 * half * Math.random();\n data[i + 2] += half - 2 * half * Math.random();\n }\n};\nFactory.addGetterSetter(Node, 'noise', 0.2, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Util } from '../Util.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Pixelate = function (imageData) {\n var pixelSize = Math.ceil(this.pixelSize()), width = imageData.width, height = imageData.height, x, y, i, red, green, blue, alpha, nBinsX = Math.ceil(width / pixelSize), nBinsY = Math.ceil(height / pixelSize), xBinStart, xBinEnd, yBinStart, yBinEnd, xBin, yBin, pixelsInBin, data = imageData.data;\n if (pixelSize <= 0) {\n Util.error('pixelSize value can not be <= 0');\n return;\n }\n for (xBin = 0; xBin < nBinsX; xBin += 1) {\n for (yBin = 0; yBin < nBinsY; yBin += 1) {\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n xBinStart = xBin * pixelSize;\n xBinEnd = xBinStart + pixelSize;\n yBinStart = yBin * pixelSize;\n yBinEnd = yBinStart + pixelSize;\n pixelsInBin = 0;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n red += data[i + 0];\n green += data[i + 1];\n blue += data[i + 2];\n alpha += data[i + 3];\n pixelsInBin += 1;\n }\n }\n red = red / pixelsInBin;\n green = green / pixelsInBin;\n blue = blue / pixelsInBin;\n alpha = alpha / pixelsInBin;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n data[i + 0] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = alpha;\n }\n }\n }\n }\n};\nFactory.addGetterSetter(Node, 'pixelSize', 8, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Posterize = function (imageData) {\n var levels = Math.round(this.levels() * 254) + 1, data = imageData.data, len = data.length, scale = 255 / levels, i;\n for (i = 0; i < len; i += 1) {\n data[i] = Math.floor(data[i] / scale) * scale;\n }\n};\nFactory.addGetterSetter(Node, 'levels', 0.5, getNumberValidator(), Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { RGBComponent } from '../Validators.js';\nexport const RGB = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), i, brightness;\n for (i = 0; i < nPixels; i += 4) {\n brightness =\n (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]) / 255;\n data[i] = brightness * red;\n data[i + 1] = brightness * green;\n data[i + 2] = brightness * blue;\n data[i + 3] = data[i + 3];\n }\n};\nFactory.addGetterSetter(Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'blue', 0, RGBComponent, Factory.afterSetFilter);\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { RGBComponent } from '../Validators.js';\nexport const RGBA = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), alpha = this.alpha(), i, ia;\n for (i = 0; i < nPixels; i += 4) {\n ia = 1 - alpha;\n data[i] = red * alpha + data[i] * ia;\n data[i + 1] = green * alpha + data[i + 1] * ia;\n data[i + 2] = blue * alpha + data[i + 2] * ia;\n }\n};\nFactory.addGetterSetter(Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory.addGetterSetter(Node, 'blue', 0, RGBComponent, Factory.afterSetFilter);\nFactory.addGetterSetter(Node, 'alpha', 1, function (val) {\n this._filterUpToDate = false;\n if (val > 1) {\n return 1;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return val;\n }\n});\n","import { Factory } from '../Factory.js';\nimport { Node } from '../Node.js';\nimport { getNumberValidator } from '../Validators.js';\nexport const Threshold = function (imageData) {\n var level = this.threshold() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 1) {\n data[i] = data[i] < level ? 0 : 255;\n }\n};\nFactory.addGetterSetter(Node, 'threshold', 0.5, getNumberValidator(), Factory.afterSetFilter);\n","import { Konva as Core } from './_CoreInternals.js';\nimport { Arc } from './shapes/Arc.js';\nimport { Arrow } from './shapes/Arrow.js';\nimport { Circle } from './shapes/Circle.js';\nimport { Ellipse } from './shapes/Ellipse.js';\nimport { Image } from './shapes/Image.js';\nimport { Label, Tag } from './shapes/Label.js';\nimport { Line } from './shapes/Line.js';\nimport { Path } from './shapes/Path.js';\nimport { Rect } from './shapes/Rect.js';\nimport { RegularPolygon } from './shapes/RegularPolygon.js';\nimport { Ring } from './shapes/Ring.js';\nimport { Sprite } from './shapes/Sprite.js';\nimport { Star } from './shapes/Star.js';\nimport { Text } from './shapes/Text.js';\nimport { TextPath } from './shapes/TextPath.js';\nimport { Transformer } from './shapes/Transformer.js';\nimport { Wedge } from './shapes/Wedge.js';\nimport { Blur } from './filters/Blur.js';\nimport { Brighten } from './filters/Brighten.js';\nimport { Contrast } from './filters/Contrast.js';\nimport { Emboss } from './filters/Emboss.js';\nimport { Enhance } from './filters/Enhance.js';\nimport { Grayscale } from './filters/Grayscale.js';\nimport { HSL } from './filters/HSL.js';\nimport { HSV } from './filters/HSV.js';\nimport { Invert } from './filters/Invert.js';\nimport { Kaleidoscope } from './filters/Kaleidoscope.js';\nimport { Mask } from './filters/Mask.js';\nimport { Noise } from './filters/Noise.js';\nimport { Pixelate } from './filters/Pixelate.js';\nimport { Posterize } from './filters/Posterize.js';\nimport { RGB } from './filters/RGB.js';\nimport { RGBA } from './filters/RGBA.js';\nimport { Sepia } from './filters/Sepia.js';\nimport { Solarize } from './filters/Solarize.js';\nimport { Threshold } from './filters/Threshold.js';\nexport const Konva = Core.Util._assign(Core, {\n Arc,\n Arrow,\n Circle,\n Ellipse,\n Image,\n Label,\n Tag,\n Line,\n Path,\n Rect,\n RegularPolygon,\n Ring,\n Sprite,\n Star,\n Text,\n TextPath,\n Transformer,\n Wedge,\n Filters: {\n Blur,\n Brighten,\n Contrast,\n Emboss,\n Enhance,\n Grayscale,\n HSL,\n HSV,\n Invert,\n Kaleidoscope,\n Mask,\n Noise,\n Pixelate,\n Posterize,\n RGB,\n RGBA,\n Sepia,\n Solarize,\n Threshold,\n },\n});\n","export const Grayscale = function (imageData) {\n var data = imageData.data, len = data.length, i, brightness;\n for (i = 0; i < len; i += 4) {\n brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n data[i] = brightness;\n data[i + 1] = brightness;\n data[i + 2] = brightness;\n }\n};\n","export const Invert = function (imageData) {\n var data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n};\n","export const Sepia = function (imageData) {\n var data = imageData.data, nPixels = data.length, i, r, g, b;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n data[i + 0] = Math.min(255, r * 0.393 + g * 0.769 + b * 0.189);\n data[i + 1] = Math.min(255, r * 0.349 + g * 0.686 + b * 0.168);\n data[i + 2] = Math.min(255, r * 0.272 + g * 0.534 + b * 0.131);\n }\n};\n","export const Solarize = function (imageData) {\n var data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n do {\n var offsetY = (y - 1) * w4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var r = data[offset];\n var g = data[offset + 1];\n var b = data[offset + 2];\n if (r > 127) {\n r = 255 - r;\n }\n if (g > 127) {\n g = 255 - g;\n }\n if (b > 127) {\n b = 255 - b;\n }\n data[offset] = r;\n data[offset + 1] = g;\n data[offset + 2] = b;\n } while (--x);\n } while (--y);\n};\n","import { Konva } from './_FullInternals.js';\nexport default Konva;\n"],"sourceRoot":""}