2022-01-17 14:46:45 +01:00
2022-02-13 09:50:27 +01:00
var CanvasKitInit = ( ( ) => {
2022-01-17 14:46:45 +01:00
var _scriptDir = typeof document !== 'undefined' && document . currentScript ? document . currentScript . src : undefined ;
if ( typeof _ _filename !== 'undefined' ) _scriptDir = _scriptDir || _ _filename ;
return (
function ( CanvasKitInit ) {
CanvasKitInit = CanvasKitInit || { } ;
2022-09-11 16:33:34 +02:00
null ; var v ; v || ( v = typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : { } ) ; var da , fa ; v . ready = new Promise ( function ( a , b ) { da = a ; fa = b } ) ;
( function ( a ) { a . Wd = a . Wd || [ ] ; a . Wd . push ( function ( ) { a . MakeSWCanvasSurface = function ( b ) { var c = b ; if ( "CANVAS" !== c . tagName && ( c = document . getElementById ( b ) , ! c ) ) throw "Canvas with id " + b + " was not found" ; if ( b = a . MakeSurface ( c . width , c . height ) ) b . Od = c ; return b } ; a . MakeCanvasSurface || ( a . MakeCanvasSurface = a . MakeSWCanvasSurface ) ; a . MakeSurface = function ( b , c ) { var f = { width : b , height : c , colorType : a . ColorType . RGBA _8888 , alphaType : a . AlphaType . Unpremul , colorSpace : a . ColorSpace . SRGB } , h = b * c * 4 , m = a . _malloc ( h ) ; if ( f = a . Surface . _makeRasterDirect ( f ,
m , 4 * b ) ) f . Od = null , f . Ff = b , f . Bf = c , f . Df = h , f . af = m , f . getCanvas ( ) . clear ( a . TRANSPARENT ) ; return f } ; a . MakeRasterDirectSurface = function ( b , c , f ) { return a . Surface . _makeRasterDirect ( b , c . byteOffset , f ) } ; a . Surface . prototype . flush = function ( b ) { a . Pd ( this . Nd ) ; this . _flush ( ) ; if ( this . Od ) { var c = new Uint8ClampedArray ( a . HEAPU8 . buffer , this . af , this . Df ) ; c = new ImageData ( c , this . Ff , this . Bf ) ; b ? this . Od . getContext ( "2d" ) . putImageData ( c , 0 , 0 , b [ 0 ] , b [ 1 ] , b [ 2 ] - b [ 0 ] , b [ 3 ] - b [ 1 ] ) : this . Od . getContext ( "2d" ) . putImageData ( c , 0 , 0 ) } } ; a . Surface . prototype . dispose =
function ( ) { this . af && a . _free ( this . af ) ; this . delete ( ) } ; a . Pd = a . Pd || function ( ) { } } ) } ) ( v ) ;
( function ( a ) { a . Wd = a . Wd || [ ] ; a . Wd . push ( function ( ) { function b ( n , q , x ) { return n && n . hasOwnProperty ( q ) ? n [ q ] : x } function c ( n ) { var q = ha ( ka ) ; ka [ q ] = n ; return q } function f ( n ) { return n . naturalHeight || n . videoHeight || n . displayHeight || n . height } function h ( n ) { return n . naturalWidth || n . videoWidth || n . displayWidth || n . width } function m ( n , q , x , C ) { n . bindTexture ( n . TEXTURE _2D , q ) ; C || x . alphaType !== a . AlphaType . Premul || n . pixelStorei ( n . UNPACK _PREMULTIPLY _ALPHA _WEBGL , ! 0 ) ; return q } function t ( n , q , x ) { x || q . alphaType !== a . AlphaType . Premul ||
n . pixelStorei ( n . UNPACK _PREMULTIPLY _ALPHA _WEBGL , ! 1 ) ; n . bindTexture ( n . TEXTURE _2D , null ) } a . GetWebGLContext = function ( n , q ) { if ( ! n ) throw "null canvas passed into makeWebGLContext" ; var x = { alpha : b ( q , "alpha" , 1 ) , depth : b ( q , "depth" , 1 ) , stencil : b ( q , "stencil" , 8 ) , antialias : b ( q , "antialias" , 0 ) , premultipliedAlpha : b ( q , "premultipliedAlpha" , 1 ) , preserveDrawingBuffer : b ( q , "preserveDrawingBuffer" , 0 ) , preferLowPowerToHighPerformance : b ( q , "preferLowPowerToHighPerformance" , 0 ) , failIfMajorPerformanceCaveat : b ( q , "failIfMajorPerformanceCaveat" ,
0 ) , enableExtensionsByDefault : b ( q , "enableExtensionsByDefault" , 1 ) , explicitSwapControl : b ( q , "explicitSwapControl" , 0 ) , renderViaOffscreenBackBuffer : b ( q , "renderViaOffscreenBackBuffer" , 0 ) } ; x . majorVersion = q && q . majorVersion ? q . majorVersion : "undefined" !== typeof WebGL2RenderingContext ? 2 : 1 ; if ( x . explicitSwapControl ) throw "explicitSwapControl is not supported" ; n = la ( n , x ) ; if ( ! n ) return 0 ; ma ( n ) ; return n } ; a . deleteContext = function ( n ) { w === na [ n ] && ( w = null ) ; "object" == typeof JSEvents && JSEvents . Ag ( na [ n ] . ke . canvas ) ; na [ n ] && na [ n ] . ke . canvas &&
( na [ n ] . ke . canvas . yf = void 0 ) ; na [ n ] = null } ; a . _setTextureCleanup ( { deleteTexture : function ( n , q ) { var x = ka [ q ] ; x && na [ n ] . ke . deleteTexture ( x ) ; ka [ q ] = null } } ) ; a . zf = function ( n ) { if ( ! this . Pd ( n ) ) return null ; var q = this . _MakeGrContext ( ) ; if ( ! q ) return null ; q . Nd = n ; return q } ; a . MakeGrContext = a . zf ; a . MakeOnScreenGLSurface = function ( n , q , x , C ) { if ( ! this . Pd ( n . Nd ) ) return null ; q = this . _MakeOnScreenGLSurface ( n , q , x , C ) ; if ( ! q ) return null ; q . Nd = n . Nd ; return q } ; a . MakeRenderTarget = function ( ) { var n = arguments [ 0 ] ; if ( ! this . Pd ( n . Nd ) ) return null ;
if ( 3 === arguments . length ) { var q = this . _MakeRenderTargetWH ( n , arguments [ 1 ] , arguments [ 2 ] ) ; if ( ! q ) return null } else if ( 2 === arguments . length ) { if ( q = this . _MakeRenderTargetII ( n , arguments [ 1 ] ) , ! q ) return null } else return null ; q . Nd = n . Nd ; return q } ; a . MakeWebGLCanvasSurface = function ( n , q , x ) { q = q || null ; var C = n , H = "undefined" !== typeof OffscreenCanvas && C instanceof OffscreenCanvas ; if ( ! ( "undefined" !== typeof HTMLCanvasElement && C instanceof HTMLCanvasElement || H || ( C = document . getElementById ( n ) , C ) ) ) throw "Canvas with id " + n + " was not found" ;
n = this . GetWebGLContext ( C , x ) ; if ( ! n || 0 > n ) throw "failed to create webgl context: err " + n ; n = this . MakeGrContext ( n ) ; q = this . MakeOnScreenGLSurface ( n , C . width , C . height , q ) ; return q ? q : ( q = C . cloneNode ( ! 0 ) , C . parentNode . replaceChild ( q , C ) , q . classList . add ( "ck-replaced" ) , a . MakeSWCanvasSurface ( q ) ) } ; a . MakeCanvasSurface = a . MakeWebGLCanvasSurface ; a . Surface . prototype . makeImageFromTexture = function ( n , q ) { a . Pd ( this . Nd ) ; n = c ( n ) ; if ( q = this . _makeImageFromTexture ( this . Nd , n , q ) ) q . Me = n ; return q } ; a . Surface . prototype . makeImageFromTextureSource =
function ( n , q , x ) { q || ( q = { height : f ( n ) , width : h ( n ) , colorType : a . ColorType . RGBA _8888 , alphaType : x ? a . AlphaType . Premul : a . AlphaType . Unpremul } ) ; q . colorSpace || ( q . colorSpace = a . ColorSpace . SRGB ) ; a . Pd ( this . Nd ) ; var C = w . ke ; x = m ( C , C . createTexture ( ) , q , x ) ; 2 === w . version ? C . texImage2D ( C . TEXTURE _2D , 0 , C . RGBA , q . width , q . height , 0 , C . RGBA , C . UNSIGNED _BYTE , n ) : C . texImage2D ( C . TEXTURE _2D , 0 , C . RGBA , C . RGBA , C . UNSIGNED _BYTE , n ) ; t ( C , q ) ; return this . makeImageFromTexture ( x , q ) } ; a . Surface . prototype . updateTextureFromSource = function ( n , q , x ) { if ( n . Me ) { a . Pd ( this . Nd ) ;
var C = n . getImageInfo ( ) , H = w . ke , M = m ( H , ka [ n . Me ] , C , x ) ; 2 === w . version ? H . texImage2D ( H . TEXTURE _2D , 0 , H . RGBA , h ( q ) , f ( q ) , 0 , H . RGBA , H . UNSIGNED _BYTE , q ) : H . texImage2D ( H . TEXTURE _2D , 0 , H . RGBA , H . RGBA , H . UNSIGNED _BYTE , q ) ; t ( H , C , x ) ; this . _resetContext ( ) ; ka [ n . Me ] = null ; n . Me = c ( M ) ; C . colorSpace = n . getColorSpace ( ) ; q = this . _makeImageFromTexture ( this . Nd , n . Me , C ) ; x = n . Md . Ud ; H = n . Md . ae ; n . Md . Ud = q . Md . Ud ; n . Md . ae = q . Md . ae ; q . Md . Ud = x ; q . Md . ae = H ; q . delete ( ) ; C . colorSpace . delete ( ) } } ; a . MakeLazyImageFromTextureSource = function ( n , q , x ) { q || ( q = { height : f ( n ) ,
width : h ( n ) , colorType : a . ColorType . RGBA _8888 , alphaType : x ? a . AlphaType . Premul : a . AlphaType . Unpremul } ) ; q . colorSpace || ( q . colorSpace = a . ColorSpace . SRGB ) ; var C = { makeTexture : function ( ) { var H = w , M = H . ke , A = m ( M , M . createTexture ( ) , q , x ) ; 2 === H . version ? M . texImage2D ( M . TEXTURE _2D , 0 , M . RGBA , q . width , q . height , 0 , M . RGBA , M . UNSIGNED _BYTE , n ) : M . texImage2D ( M . TEXTURE _2D , 0 , M . RGBA , M . RGBA , M . UNSIGNED _BYTE , n ) ; t ( M , q , x ) ; return c ( A ) } , freeSrc : function ( ) { } } ; "VideoFrame" === n . constructor . name && ( C . freeSrc = function ( ) { n . close ( ) } ) ; return a . Image . _makeFromGenerator ( q ,
C ) } ; a . Pd = function ( n ) { return n ? ma ( n ) : ! 1 } } ) } ) ( v ) ;
( function ( a ) { function b ( e , d , g , l , r ) { for ( var y = 0 ; y < e . length ; y ++ ) d [ y * g + ( y * r + l + g ) % g ] = e [ y ] ; return d } function c ( e ) { for ( var d = e * e , g = Array ( d ) ; d -- ; ) g [ d ] = 0 === d % ( e + 1 ) ? 1 : 0 ; return g } function f ( e ) { return e ? e . constructor === Float32Array && 4 === e . length : ! 1 } function h ( e ) { return ( n ( 255 * e [ 3 ] ) << 24 | n ( 255 * e [ 0 ] ) << 16 | n ( 255 * e [ 1 ] ) << 8 | n ( 255 * e [ 2 ] ) << 0 ) >>> 0 } function m ( e ) { if ( e && e . _ck ) return e ; if ( e instanceof Float32Array ) { for ( var d = Math . floor ( e . length / 4 ) , g = new Uint32Array ( d ) , l = 0 ; l < d ; l ++ ) g [ l ] = h ( e . slice ( 4 * l , 4 * ( l + 1 ) ) ) ; return g } if ( e instanceof
Uint32Array ) return e ; if ( e instanceof Array && e [ 0 ] instanceof Float32Array ) return e . map ( h ) } function t ( e ) { if ( void 0 === e ) return 1 ; var d = parseFloat ( e ) ; return e && - 1 !== e . indexOf ( "%" ) ? d / 100 : d } function n ( e ) { return Math . round ( Math . max ( 0 , Math . min ( e || 0 , 255 ) ) ) } function q ( e , d ) { d && d . _ck || a . _free ( e ) } function x ( e , d , g ) { if ( ! e || ! e . length ) return V ; if ( e && e . _ck ) return e . byteOffset ; var l = a [ d ] . BYTES _PER _ELEMENT ; g || ( g = a . _malloc ( e . length * l ) ) ; a [ d ] . set ( e , g / l ) ; return g } function C ( e ) { var d = { de : V , count : e . length , colorType : a . ColorType . RGBA _F32 } ;
if ( e instanceof Float32Array ) d . de = x ( e , "HEAPF32" ) , d . count = e . length / 4 ; else if ( e instanceof Uint32Array ) d . de = x ( e , "HEAPU32" ) , d . colorType = a . ColorType . RGBA _8888 ; else if ( e instanceof Array ) { if ( e && e . length ) { for ( var g = a . _malloc ( 16 * e . length ) , l = 0 , r = g / 4 , y = 0 ; y < e . length ; y ++ ) for ( var E = 0 ; 4 > E ; E ++ ) a . HEAPF32 [ r + l ] = e [ y ] [ E ] , l ++ ; e = g } else e = V ; d . de = e } else throw "Invalid argument to copyFlexibleColorArray, Not a color array " + typeof e ; return d } function H ( e ) { if ( ! e ) return V ; var d = Vb . toTypedArray ( ) ; if ( e . length ) { if ( 6 === e . length ||
9 === e . length ) return x ( e , "HEAPF32" , Oa ) , 6 === e . length && a . HEAPF32 . set ( zd , 6 + Oa / 4 ) , Oa ; if ( 16 === e . length ) return d [ 0 ] = e [ 0 ] , d [ 1 ] = e [ 1 ] , d [ 2 ] = e [ 3 ] , d [ 3 ] = e [ 4 ] , d [ 4 ] = e [ 5 ] , d [ 5 ] = e [ 7 ] , d [ 6 ] = e [ 12 ] , d [ 7 ] = e [ 13 ] , d [ 8 ] = e [ 15 ] , Oa ; throw "invalid matrix size" ; } if ( void 0 === e . m11 ) throw "invalid matrix argument" ; d [ 0 ] = e . m11 ; d [ 1 ] = e . m21 ; d [ 2 ] = e . m41 ; d [ 3 ] = e . m12 ; d [ 4 ] = e . m22 ; d [ 5 ] = e . m42 ; d [ 6 ] = e . m14 ; d [ 7 ] = e . m24 ; d [ 8 ] = e . m44 ; return Oa } function M ( e ) { if ( ! e ) return V ; var d = Wb . toTypedArray ( ) ; if ( e . length ) { if ( 16 !== e . length && 6 !== e . length && 9 !== e . length ) throw "invalid matrix size" ;
if ( 16 === e . length ) return x ( e , "HEAPF32" , $a ) ; d . fill ( 0 ) ; d [ 0 ] = e [ 0 ] ; d [ 1 ] = e [ 1 ] ; d [ 3 ] = e [ 2 ] ; d [ 4 ] = e [ 3 ] ; d [ 5 ] = e [ 4 ] ; d [ 7 ] = e [ 5 ] ; d [ 10 ] = 1 ; d [ 12 ] = e [ 6 ] ; d [ 13 ] = e [ 7 ] ; d [ 15 ] = e [ 8 ] ; 6 === e . length && ( d [ 12 ] = 0 , d [ 13 ] = 0 , d [ 15 ] = 1 ) ; return $a } if ( void 0 === e . m11 ) throw "invalid matrix argument" ; d [ 0 ] = e . m11 ; d [ 1 ] = e . m21 ; d [ 2 ] = e . m31 ; d [ 3 ] = e . m41 ; d [ 4 ] = e . m12 ; d [ 5 ] = e . m22 ; d [ 6 ] = e . m32 ; d [ 7 ] = e . m42 ; d [ 8 ] = e . m13 ; d [ 9 ] = e . m23 ; d [ 10 ] = e . m33 ; d [ 11 ] = e . m43 ; d [ 12 ] = e . m14 ; d [ 13 ] = e . m24 ; d [ 14 ] = e . m34 ; d [ 15 ] = e . m44 ; return $a } function A ( e , d ) { return x ( e , "HEAPF32" , d || fb ) } function N ( e ,
d , g , l ) { var r = Xb . toTypedArray ( ) ; r [ 0 ] = e ; r [ 1 ] = d ; r [ 2 ] = g ; r [ 3 ] = l ; return fb } function S ( e ) { for ( var d = new Float32Array ( 4 ) , g = 0 ; 4 > g ; g ++ ) d [ g ] = a . HEAPF32 [ e / 4 + g ] ; return d } function T ( e , d ) { return x ( e , "HEAPF32" , d || ia ) } function pa ( e , d ) { return x ( e , "HEAPF32" , d || Yb ) } function ta ( ) { for ( var e = 0 , d = 0 ; d < arguments . length - 1 ; d += 2 ) e += arguments [ d ] * arguments [ d + 1 ] ; return e } function gb ( e , d , g ) { for ( var l = Array ( e . length ) , r = 0 ; r < g ; r ++ ) for ( var y = 0 ; y < g ; y ++ ) { for ( var E = 0 , K = 0 ; K < g ; K ++ ) E += e [ g * r + K ] * d [ g * K + y ] ; l [ r * g + y ] = E } return l } function hb ( e , d ) { for ( var g =
gb ( d [ 0 ] , d [ 1 ] , e ) , l = 2 ; l < d . length ; ) g = gb ( g , d [ l ] , e ) , l ++ ; return g } a . Color = function ( e , d , g , l ) { void 0 === l && ( l = 1 ) ; return a . Color4f ( n ( e ) / 255 , n ( d ) / 255 , n ( g ) / 255 , l ) } ; a . ColorAsInt = function ( e , d , g , l ) { void 0 === l && ( l = 255 ) ; return ( n ( l ) << 24 | n ( e ) << 16 | n ( d ) << 8 | n ( g ) << 0 & 268435455 ) >>> 0 } ; a . Color4f = function ( e , d , g , l ) { void 0 === l && ( l = 1 ) ; return Float32Array . of ( e , d , g , l ) } ; Object . defineProperty ( a , "TRANSPARENT" , { get : function ( ) { return a . Color4f ( 0 , 0 , 0 , 0 ) } } ) ; Object . defineProperty ( a , "BLACK" , { get : function ( ) { return a . Color4f ( 0 , 0 , 0 , 1 ) } } ) ; Object . defineProperty ( a ,
"WHITE" , { get : function ( ) { return a . Color4f ( 1 , 1 , 1 , 1 ) } } ) ; Object . defineProperty ( a , "RED" , { get : function ( ) { return a . Color4f ( 1 , 0 , 0 , 1 ) } } ) ; Object . defineProperty ( a , "GREEN" , { get : function ( ) { return a . Color4f ( 0 , 1 , 0 , 1 ) } } ) ; Object . defineProperty ( a , "BLUE" , { get : function ( ) { return a . Color4f ( 0 , 0 , 1 , 1 ) } } ) ; Object . defineProperty ( a , "YELLOW" , { get : function ( ) { return a . Color4f ( 1 , 1 , 0 , 1 ) } } ) ; Object . defineProperty ( a , "CYAN" , { get : function ( ) { return a . Color4f ( 0 , 1 , 1 , 1 ) } } ) ; Object . defineProperty ( a , "MAGENTA" , { get : function ( ) { return a . Color4f ( 1 ,
0 , 1 , 1 ) } } ) ; a . getColorComponents = function ( e ) { return [ Math . floor ( 255 * e [ 0 ] ) , Math . floor ( 255 * e [ 1 ] ) , Math . floor ( 255 * e [ 2 ] ) , e [ 3 ] ] } ; a . parseColorString = function ( e , d ) { e = e . toLowerCase ( ) ; if ( e . startsWith ( "#" ) ) { d = 255 ; switch ( e . length ) { case 9 : d = parseInt ( e . slice ( 7 , 9 ) , 16 ) ; case 7 : var g = parseInt ( e . slice ( 1 , 3 ) , 16 ) ; var l = parseInt ( e . slice ( 3 , 5 ) , 16 ) ; var r = parseInt ( e . slice ( 5 , 7 ) , 16 ) ; break ; case 5 : d = 17 * parseInt ( e . slice ( 4 , 5 ) , 16 ) ; case 4 : g = 17 * parseInt ( e . slice ( 1 , 2 ) , 16 ) , l = 17 * parseInt ( e . slice ( 2 , 3 ) , 16 ) , r = 17 * parseInt ( e . slice ( 3 , 4 ) , 16 ) } return a . Color ( g ,
l , r , d / 255 ) } return e . startsWith ( "rgba" ) ? ( e = e . slice ( 5 , - 1 ) , e = e . split ( "," ) , a . Color ( + e [ 0 ] , + e [ 1 ] , + e [ 2 ] , t ( e [ 3 ] ) ) ) : e . startsWith ( "rgb" ) ? ( e = e . slice ( 4 , - 1 ) , e = e . split ( "," ) , a . Color ( + e [ 0 ] , + e [ 1 ] , + e [ 2 ] , t ( e [ 3 ] ) ) ) : e . startsWith ( "gray(" ) || e . startsWith ( "hsl" ) || ! d || ( e = d [ e ] , void 0 === e ) ? a . BLACK : e } ; a . multiplyByAlpha = function ( e , d ) { e = e . slice ( ) ; e [ 3 ] = Math . max ( 0 , Math . min ( e [ 3 ] * d , 1 ) ) ; return e } ; a . Malloc = function ( e , d ) { var g = a . _malloc ( d * e . BYTES _PER _ELEMENT ) ; return { _ck : ! 0 , length : d , byteOffset : g , se : null , subarray : function ( l , r ) { l = this . toTypedArray ( ) . subarray ( l ,
r ) ; l . _ck = ! 0 ; return l } , toTypedArray : function ( ) { if ( this . se && this . se . length ) return this . se ; this . se = new e ( a . HEAPU8 . buffer , g , d ) ; this . se . _ck = ! 0 ; return this . se } } } ; a . Free = function ( e ) { a . _free ( e . byteOffset ) ; e . byteOffset = V ; e . toTypedArray = null ; e . se = null } ; var Oa = V , Vb , $a = V , Wb , fb = V , Xb , Ha , ia = V , Cc , Ta = V , Dc , Zb = V , Ec , $b = V , ac , xb = V , Fc , Yb = V , Gc , Hc = V , zd = Float32Array . of ( 0 , 0 , 1 ) , V = 0 ; a . onRuntimeInitialized = function ( ) { function e ( d , g , l , r , y , E ) { E || ( E = 4 * r . width , r . colorType === a . ColorType . RGBA _F16 ? E *= 2 : r . colorType === a . ColorType . RGBA _F32 &&
( E *= 4 ) ) ; var K = E * r . height ; var O = y ? y . byteOffset : a . _malloc ( K ) ; if ( ! d . _readPixels ( r , O , E , g , l ) ) return y || a . _free ( O ) , null ; if ( y ) return y . toTypedArray ( ) ; switch ( r . colorType ) { case a . ColorType . RGBA _8888 : case a . ColorType . RGBA _F16 : d = ( new Uint8Array ( a . HEAPU8 . buffer , O , K ) ) . slice ( ) ; break ; case a . ColorType . RGBA _F32 : d = ( new Float32Array ( a . HEAPU8 . buffer , O , K ) ) . slice ( ) ; break ; default : return null } a . _free ( O ) ; return d } Xb = a . Malloc ( Float32Array , 4 ) ; fb = Xb . byteOffset ; Wb = a . Malloc ( Float32Array , 16 ) ; $a = Wb . byteOffset ; Vb = a . Malloc ( Float32Array ,
9 ) ; Oa = Vb . byteOffset ; Fc = a . Malloc ( Float32Array , 12 ) ; Yb = Fc . byteOffset ; Gc = a . Malloc ( Float32Array , 12 ) ; Hc = Gc . byteOffset ; Ha = a . Malloc ( Float32Array , 4 ) ; ia = Ha . byteOffset ; Cc = a . Malloc ( Float32Array , 4 ) ; Ta = Cc . byteOffset ; Dc = a . Malloc ( Float32Array , 3 ) ; Zb = Dc . byteOffset ; Ec = a . Malloc ( Float32Array , 3 ) ; $b = Ec . byteOffset ; ac = a . Malloc ( Int32Array , 4 ) ; xb = ac . byteOffset ; a . ColorSpace . SRGB = a . ColorSpace . _MakeSRGB ( ) ; a . ColorSpace . DISPLAY _P3 = a . ColorSpace . _MakeDisplayP3 ( ) ; a . ColorSpace . ADOBE _RGB = a . ColorSpace . _MakeAdobeRGB ( ) ; a . GlyphRunFlags = { IsWhiteSpace : a . _GlyphRunFlags _isWhiteSpace } ;
a . Path . MakeFromCmds = function ( d ) { var g = x ( d , "HEAPF32" ) , l = a . Path . _MakeFromCmds ( g , d . length ) ; q ( g , d ) ; return l } ; a . Path . MakeFromVerbsPointsWeights = function ( d , g , l ) { var r = x ( d , "HEAPU8" ) , y = x ( g , "HEAPF32" ) , E = x ( l , "HEAPF32" ) , K = a . Path . _MakeFromVerbsPointsWeights ( r , d . length , y , g . length , E , l && l . length || 0 ) ; q ( r , d ) ; q ( y , g ) ; q ( E , l ) ; return K } ; a . Path . prototype . addArc = function ( d , g , l ) { d = T ( d ) ; this . _addArc ( d , g , l ) ; return this } ; a . Path . prototype . addOval = function ( d , g , l ) { void 0 === l && ( l = 1 ) ; d = T ( d ) ; this . _addOval ( d , ! ! g , l ) ; return this } ; a . Path . prototype . addPath =
function ( ) { var d = Array . prototype . slice . call ( arguments ) , g = d [ 0 ] , l = ! 1 ; "boolean" === typeof d [ d . length - 1 ] && ( l = d . pop ( ) ) ; if ( 1 === d . length ) this . _addPath ( g , 1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , l ) ; else if ( 2 === d . length ) d = d [ 1 ] , this . _addPath ( g , d [ 0 ] , d [ 1 ] , d [ 2 ] , d [ 3 ] , d [ 4 ] , d [ 5 ] , d [ 6 ] || 0 , d [ 7 ] || 0 , d [ 8 ] || 1 , l ) ; else if ( 7 === d . length || 10 === d . length ) this . _addPath ( g , d [ 1 ] , d [ 2 ] , d [ 3 ] , d [ 4 ] , d [ 5 ] , d [ 6 ] , d [ 7 ] || 0 , d [ 8 ] || 0 , d [ 9 ] || 1 , l ) ; else return null ; return this } ; a . Path . prototype . addPoly = function ( d , g ) { var l = x ( d , "HEAPF32" ) ; this . _addPoly ( l , d . length / 2 , g ) ; q ( l , d ) ;
return this } ; a . Path . prototype . addRect = function ( d , g ) { d = T ( d ) ; this . _addRect ( d , ! ! g ) ; return this } ; a . Path . prototype . addRRect = function ( d , g ) { d = pa ( d ) ; this . _addRRect ( d , ! ! g ) ; return this } ; a . Path . prototype . addVerbsPointsWeights = function ( d , g , l ) { var r = x ( d , "HEAPU8" ) , y = x ( g , "HEAPF32" ) , E = x ( l , "HEAPF32" ) ; this . _addVerbsPointsWeights ( r , d . length , y , g . length , E , l && l . length || 0 ) ; q ( r , d ) ; q ( y , g ) ; q ( E , l ) } ; a . Path . prototype . arc = function ( d , g , l , r , y , E ) { d = a . LTRBRect ( d - l , g - l , d + l , g + l ) ; y = ( y - r ) / Math . PI * 180 - 360 * ! ! E ; E = new a . Path ; E . addArc ( d , r /
Math . PI * 180 , y ) ; this . addPath ( E , ! 0 ) ; E . delete ( ) ; return this } ; a . Path . prototype . arcToOval = function ( d , g , l , r ) { d = T ( d ) ; this . _arcToOval ( d , g , l , r ) ; return this } ; a . Path . prototype . arcToRotated = function ( d , g , l , r , y , E , K ) { this . _arcToRotated ( d , g , l , ! ! r , ! ! y , E , K ) ; return this } ; a . Path . prototype . arcToTangent = function ( d , g , l , r , y ) { this . _arcToTangent ( d , g , l , r , y ) ; return this } ; a . Path . prototype . close = function ( ) { this . _close ( ) ; return this } ; a . Path . prototype . conicTo = function ( d , g , l , r , y ) { this . _conicTo ( d , g , l , r , y ) ; return this } ; a . Path . prototype . computeTightBounds =
function ( d ) { this . _computeTightBounds ( ia ) ; var g = Ha . toTypedArray ( ) ; return d ? ( d . set ( g ) , d ) : g . slice ( ) } ; a . Path . prototype . cubicTo = function ( d , g , l , r , y , E ) { this . _cubicTo ( d , g , l , r , y , E ) ; return this } ; a . Path . prototype . dash = function ( d , g , l ) { return this . _dash ( d , g , l ) ? this : null } ; a . Path . prototype . getBounds = function ( d ) { this . _getBounds ( ia ) ; var g = Ha . toTypedArray ( ) ; return d ? ( d . set ( g ) , d ) : g . slice ( ) } ; a . Path . prototype . lineTo = function ( d , g ) { this . _lineTo ( d , g ) ; return this } ; a . Path . prototype . moveTo = function ( d , g ) { this . _moveTo ( d , g ) ; return this } ;
a . Path . prototype . offset = function ( d , g ) { this . _transform ( 1 , 0 , d , 0 , 1 , g , 0 , 0 , 1 ) ; return this } ; a . Path . prototype . quadTo = function ( d , g , l , r ) { this . _quadTo ( d , g , l , r ) ; return this } ; a . Path . prototype . rArcTo = function ( d , g , l , r , y , E , K ) { this . _rArcTo ( d , g , l , r , y , E , K ) ; return this } ; a . Path . prototype . rConicTo = function ( d , g , l , r , y ) { this . _rConicTo ( d , g , l , r , y ) ; return this } ; a . Path . prototype . rCubicTo = function ( d , g , l , r , y , E ) { this . _rCubicTo ( d , g , l , r , y , E ) ; return this } ; a . Path . prototype . rLineTo = function ( d , g ) { this . _rLineTo ( d , g ) ; return this } ; a . Path . prototype . rMoveTo =
function ( d , g ) { this . _rMoveTo ( d , g ) ; return this } ; a . Path . prototype . rQuadTo = function ( d , g , l , r ) { this . _rQuadTo ( d , g , l , r ) ; return this } ; a . Path . prototype . stroke = function ( d ) { d = d || { } ; d . width = d . width || 1 ; d . miter _limit = d . miter _limit || 4 ; d . cap = d . cap || a . StrokeCap . Butt ; d . join = d . join || a . StrokeJoin . Miter ; d . precision = d . precision || 1 ; return this . _stroke ( d ) ? this : null } ; a . Path . prototype . transform = function ( ) { if ( 1 === arguments . length ) { var d = arguments [ 0 ] ; this . _transform ( d [ 0 ] , d [ 1 ] , d [ 2 ] , d [ 3 ] , d [ 4 ] , d [ 5 ] , d [ 6 ] || 0 , d [ 7 ] || 0 , d [ 8 ] || 1 ) } else if ( 6 ===
arguments . length || 9 === arguments . length ) d = arguments , this . _transform ( d [ 0 ] , d [ 1 ] , d [ 2 ] , d [ 3 ] , d [ 4 ] , d [ 5 ] , d [ 6 ] || 0 , d [ 7 ] || 0 , d [ 8 ] || 1 ) ; else throw "transform expected to take 1 or 9 arguments. Got " + arguments . length ; return this } ; a . Path . prototype . trim = function ( d , g , l ) { return this . _trim ( d , g , ! ! l ) ? this : null } ; a . Image . prototype . makeShaderCubic = function ( d , g , l , r , y ) { y = H ( y ) ; return this . _makeShaderCubic ( d , g , l , r , y ) } ; a . Image . prototype . makeShaderOptions = function ( d , g , l , r , y ) { y = H ( y ) ; return this . _makeShaderOptions ( d , g , l , r , y ) } ; a . Image . prototype . readPixels =
function ( d , g , l , r , y ) { return e ( this , d , g , l , r , y ) } ; a . Canvas . prototype . clear = function ( d ) { a . Pd ( this . Nd ) ; d = A ( d ) ; this . _clear ( d ) } ; a . Canvas . prototype . clipRRect = function ( d , g , l ) { a . Pd ( this . Nd ) ; d = pa ( d ) ; this . _clipRRect ( d , g , l ) } ; a . Canvas . prototype . clipRect = function ( d , g , l ) { a . Pd ( this . Nd ) ; d = T ( d ) ; this . _clipRect ( d , g , l ) } ; a . Canvas . prototype . concat = function ( d ) { a . Pd ( this . Nd ) ; d = M ( d ) ; this . _concat ( d ) } ; a . Canvas . prototype . drawArc = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; d = T ( d ) ; this . _drawArc ( d , g , l , r , y ) } ; a . Canvas . prototype . drawAtlas = function ( d ,
g , l , r , y , E , K ) { if ( d && r && g && l && g . length === l . length ) { a . Pd ( this . Nd ) ; y || ( y = a . BlendMode . SrcOver ) ; var O = x ( g , "HEAPF32" ) , Q = x ( l , "HEAPF32" ) , W = l . length / 4 , u = x ( m ( E ) , "HEAPU32" ) ; if ( K && "B" in K && "C" in K ) this . _drawAtlasCubic ( d , Q , O , u , W , y , K . B , K . C , r ) ; else { let I = a . FilterMode . Linear , R = a . MipmapMode . None ; K && ( I = K . filter , "mipmap" in K && ( R = K . mipmap ) ) ; this . _drawAtlasOptions ( d , Q , O , u , W , y , I , R , r ) } q ( O , g ) ; q ( Q , l ) ; q ( u , E ) } } ; a . Canvas . prototype . drawCircle = function ( d , g , l , r ) { a . Pd ( this . Nd ) ; this . _drawCircle ( d , g , l , r ) } ; a . Canvas . prototype . drawColor =
function ( d , g ) { a . Pd ( this . Nd ) ; d = A ( d ) ; void 0 !== g ? this . _drawColor ( d , g ) : this . _drawColor ( d ) } ; a . Canvas . prototype . drawColorInt = function ( d , g ) { a . Pd ( this . Nd ) ; this . _drawColorInt ( d , g || a . BlendMode . SrcOver ) } ; a . Canvas . prototype . drawColorComponents = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; d = N ( d , g , l , r ) ; void 0 !== y ? this . _drawColor ( d , y ) : this . _drawColor ( d ) } ; a . Canvas . prototype . drawDRRect = function ( d , g , l ) { a . Pd ( this . Nd ) ; d = pa ( d , Yb ) ; g = pa ( g , Hc ) ; this . _drawDRRect ( d , g , l ) } ; a . Canvas . prototype . drawImage = function ( d , g , l , r ) { a . Pd ( this . Nd ) ; this . _drawImage ( d ,
g , l , r || null ) } ; a . Canvas . prototype . drawImageCubic = function ( d , g , l , r , y , E ) { a . Pd ( this . Nd ) ; this . _drawImageCubic ( d , g , l , r , y , E || null ) } ; a . Canvas . prototype . drawImageOptions = function ( d , g , l , r , y , E ) { a . Pd ( this . Nd ) ; this . _drawImageOptions ( d , g , l , r , y , E || null ) } ; a . Canvas . prototype . drawImageNine = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; g = x ( g , "HEAP32" , xb ) ; l = T ( l ) ; this . _drawImageNine ( d , g , l , r , y || null ) } ; a . Canvas . prototype . drawImageRect = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; T ( g , ia ) ; T ( l , Ta ) ; this . _drawImageRect ( d , ia , Ta , r , ! ! y ) } ; a . Canvas . prototype . drawImageRectCubic =
function ( d , g , l , r , y , E ) { a . Pd ( this . Nd ) ; T ( g , ia ) ; T ( l , Ta ) ; this . _drawImageRectCubic ( d , ia , Ta , r , y , E || null ) } ; a . Canvas . prototype . drawImageRectOptions = function ( d , g , l , r , y , E ) { a . Pd ( this . Nd ) ; T ( g , ia ) ; T ( l , Ta ) ; this . _drawImageRectOptions ( d , ia , Ta , r , y , E || null ) } ; a . Canvas . prototype . drawLine = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; this . _drawLine ( d , g , l , r , y ) } ; a . Canvas . prototype . drawOval = function ( d , g ) { a . Pd ( this . Nd ) ; d = T ( d ) ; this . _drawOval ( d , g ) } ; a . Canvas . prototype . drawPaint = function ( d ) { a . Pd ( this . Nd ) ; this . _drawPaint ( d ) } ; a . Canvas . prototype . drawParagraph =
function ( d , g , l ) { a . Pd ( this . Nd ) ; this . _drawParagraph ( d , g , l ) } ; a . Canvas . prototype . drawPatch = function ( d , g , l , r , y ) { if ( 24 > d . length ) throw "Need 12 cubic points" ; if ( g && 4 > g . length ) throw "Need 4 colors" ; if ( l && 8 > l . length ) throw "Need 4 shader coordinates" ; a . Pd ( this . Nd ) ; const E = x ( d , "HEAPF32" ) , K = g ? x ( m ( g ) , "HEAPU32" ) : V , O = l ? x ( l , "HEAPF32" ) : V ; r || ( r = a . BlendMode . Modulate ) ; this . _drawPatch ( E , K , O , r , y ) ; q ( O , l ) ; q ( K , g ) ; q ( E , d ) } ; a . Canvas . prototype . drawPath = function ( d , g ) { a . Pd ( this . Nd ) ; this . _drawPath ( d , g ) } ; a . Canvas . prototype . drawPicture =
function ( d ) { a . Pd ( this . Nd ) ; this . _drawPicture ( d ) } ; a . Canvas . prototype . drawPoints = function ( d , g , l ) { a . Pd ( this . Nd ) ; var r = x ( g , "HEAPF32" ) ; this . _drawPoints ( d , r , g . length / 2 , l ) ; q ( r , g ) } ; a . Canvas . prototype . drawRRect = function ( d , g ) { a . Pd ( this . Nd ) ; d = pa ( d ) ; this . _drawRRect ( d , g ) } ; a . Canvas . prototype . drawRect = function ( d , g ) { a . Pd ( this . Nd ) ; d = T ( d ) ; this . _drawRect ( d , g ) } ; a . Canvas . prototype . drawRect4f = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; this . _drawRect4f ( d , g , l , r , y ) } ; a . Canvas . prototype . drawShadow = function ( d , g , l , r , y , E , K ) { a . Pd ( this . Nd ) ;
var O = x ( y , "HEAPF32" ) , Q = x ( E , "HEAPF32" ) ; g = x ( g , "HEAPF32" , Zb ) ; l = x ( l , "HEAPF32" , $b ) ; this . _drawShadow ( d , g , l , r , O , Q , K ) ; q ( O , y ) ; q ( Q , E ) } ; a . getShadowLocalBounds = function ( d , g , l , r , y , E , K ) { d = H ( d ) ; l = x ( l , "HEAPF32" , Zb ) ; r = x ( r , "HEAPF32" , $b ) ; if ( ! this . _getShadowLocalBounds ( d , g , l , r , y , E , ia ) ) return null ; g = Ha . toTypedArray ( ) ; return K ? ( K . set ( g ) , K ) : g . slice ( ) } ; a . Canvas . prototype . drawTextBlob = function ( d , g , l , r ) { a . Pd ( this . Nd ) ; this . _drawTextBlob ( d , g , l , r ) } ; a . Canvas . prototype . drawVertices = function ( d , g , l ) { a . Pd ( this . Nd ) ; this . _drawVertices ( d ,
g , l ) } ; a . Canvas . prototype . getDeviceClipBounds = function ( d ) { this . _getDeviceClipBounds ( xb ) ; var g = ac . toTypedArray ( ) ; d ? d . set ( g ) : d = g . slice ( ) ; return d } ; a . Canvas . prototype . getLocalToDevice = function ( ) { this . _getLocalToDevice ( $a ) ; for ( var d = $a , g = Array ( 16 ) , l = 0 ; 16 > l ; l ++ ) g [ l ] = a . HEAPF32 [ d / 4 + l ] ; return g } ; a . Canvas . prototype . getTotalMatrix = function ( ) { this . _getTotalMatrix ( Oa ) ; for ( var d = Array ( 9 ) , g = 0 ; 9 > g ; g ++ ) d [ g ] = a . HEAPF32 [ Oa / 4 + g ] ; return d } ; a . Canvas . prototype . makeSurface = function ( d ) { d = this . _makeSurface ( d ) ; d . Nd = this . Nd ;
return d } ; a . Canvas . prototype . readPixels = function ( d , g , l , r , y ) { a . Pd ( this . Nd ) ; return e ( this , d , g , l , r , y ) } ; a . Canvas . prototype . saveLayer = function ( d , g , l , r ) { g = T ( g ) ; return this . _saveLayer ( d || null , g , l || null , r || 0 ) } ; a . Canvas . prototype . writePixels = function ( d , g , l , r , y , E , K , O ) { if ( d . byteLength % ( g * l ) ) throw "pixels length must be a multiple of the srcWidth * srcHeight" ; a . Pd ( this . Nd ) ; var Q = d . byteLength / ( g * l ) ; E = E || a . AlphaType . Unpremul ; K = K || a . ColorType . RGBA _8888 ; O = O || a . ColorSpace . SRGB ; var W = Q * g ; Q = x ( d , "HEAPU8" ) ; g = this . _writePixels ( { width : g ,
height : l , colorType : K , alphaType : E , colorSpace : O } , Q , W , r , y ) ; q ( Q , d ) ; return g } ; a . ColorFilter . MakeBlend = function ( d , g ) { d = A ( d ) ; return a . ColorFilter . _MakeBlend ( d , g ) } ; a . ColorFilter . MakeMatrix = function ( d ) { if ( ! d || 20 !== d . length ) throw "invalid color matrix" ; var g = x ( d , "HEAPF32" ) , l = a . ColorFilter . _makeMatrix ( g ) ; q ( g , d ) ; return l } ; a . ContourMeasure . prototype . getPosTan = function ( d , g ) { this . _getPosTan ( d , ia ) ; d = Ha . toTypedArray ( ) ; return g ? ( g . set ( d ) , g ) : d . slice ( ) } ; a . ImageFilter . MakeMatrixTransform = function ( d , g , l ) { d = H ( d ) ; if ( "B" in
g && "C" in g ) return a . ImageFilter . _MakeMatrixTransformCubic ( d , g . ug , g . vg , l ) ; const r = g . filter ; let y = a . MipmapMode . None ; "mipmap" in g && ( y = g . mipmap ) ; return a . ImageFilter . _MakeMatrixTransformOptions ( d , r , y , l ) } ; a . Paint . prototype . getColor = function ( ) { this . _getColor ( fb ) ; return S ( fb ) } ; a . Paint . prototype . setColor = function ( d , g ) { g = g || null ; d = A ( d ) ; this . _setColor ( d , g ) } ; a . Paint . prototype . setColorComponents = function ( d , g , l , r , y ) { y = y || null ; d = N ( d , g , l , r ) ; this . _setColor ( d , y ) } ; a . Path . prototype . getPoint = function ( d , g ) { this . _getPoint ( d ,
ia ) ; d = Ha . toTypedArray ( ) ; return g ? ( g [ 0 ] = d [ 0 ] , g [ 1 ] = d [ 1 ] , g ) : d . slice ( 0 , 2 ) } ; a . Picture . prototype . makeShader = function ( d , g , l , r , y ) { r = H ( r ) ; y = T ( y ) ; return this . _makeShader ( d , g , l , r , y ) } ; a . PictureRecorder . prototype . beginRecording = function ( d ) { d = T ( d ) ; return this . _beginRecording ( d ) } ; a . Surface . prototype . getCanvas = function ( ) { var d = this . _getCanvas ( ) ; d . Nd = this . Nd ; return d } ; a . Surface . prototype . makeImageSnapshot = function ( d ) { a . Pd ( this . Nd ) ; d = x ( d , "HEAP32" , xb ) ; return this . _makeImageSnapshot ( d ) } ; a . Surface . prototype . makeSurface =
function ( d ) { a . Pd ( this . Nd ) ; d = this . _makeSurface ( d ) ; d . Nd = this . Nd ; return d } ; a . Surface . prototype . Ef = function ( d , g ) { this . Ie || ( this . Ie = this . getCanvas ( ) ) ; requestAnimationFrame ( function ( ) { a . Pd ( this . Nd ) ; d ( this . Ie ) ; this . flush ( g ) } . bind ( this ) ) } ; a . Surface . prototype . requestAnimationFrame || ( a . Surface . prototype . requestAnimationFrame = a . Surface . prototype . Ef ) ; a . Surface . prototype . Af = function ( d , g ) { this . Ie || ( this . Ie = this . getCanvas ( ) ) ; requestAnimationFrame ( function ( ) { a . Pd ( this . Nd ) ; d ( this . Ie ) ; this . flush ( g ) ; this . dispose ( ) } . bind ( this ) ) } ;
a . Surface . prototype . drawOnce || ( a . Surface . prototype . drawOnce = a . Surface . prototype . Af ) ; a . PathEffect . MakeDash = function ( d , g ) { g || ( g = 0 ) ; if ( ! d . length || 1 === d . length % 2 ) throw "Intervals array must have even length" ; var l = x ( d , "HEAPF32" ) ; g = a . PathEffect . _MakeDash ( l , d . length , g ) ; q ( l , d ) ; return g } ; a . PathEffect . MakeLine2D = function ( d , g ) { g = H ( g ) ; return a . PathEffect . _MakeLine2D ( d , g ) } ; a . PathEffect . MakePath2D = function ( d , g ) { d = H ( d ) ; return a . PathEffect . _MakePath2D ( d , g ) } ; a . Shader . MakeColor = function ( d , g ) { g = g || null ; d = A ( d ) ; return a . Shader . _MakeColor ( d ,
g ) } ; a . Shader . Blend = a . Shader . MakeBlend ; a . Shader . Color = a . Shader . MakeColor ; a . Shader . MakeLinearGradient = function ( d , g , l , r , y , E , K , O ) { O = O || null ; var Q = C ( l ) , W = x ( r , "HEAPF32" ) ; K = K || 0 ; E = H ( E ) ; var u = Ha . toTypedArray ( ) ; u . set ( d ) ; u . set ( g , 2 ) ; d = a . Shader . _MakeLinearGradient ( ia , Q . de , Q . colorType , W , Q . count , y , K , E , O ) ; q ( Q . de , l ) ; r && q ( W , r ) ; return d } ; a . Shader . MakeRadialGradient = function ( d , g , l , r , y , E , K , O ) { O = O || null ; var Q = C ( l ) , W = x ( r , "HEAPF32" ) ; K = K || 0 ; E = H ( E ) ; d = a . Shader . _MakeRadialGradient ( d [ 0 ] , d [ 1 ] , g , Q . de , Q . colorType , W , Q . count , y , K ,
E , O ) ; q ( Q . de , l ) ; r && q ( W , r ) ; return d } ; a . Shader . MakeSweepGradient = function ( d , g , l , r , y , E , K , O , Q , W ) { W = W || null ; var u = C ( l ) , I = x ( r , "HEAPF32" ) ; K = K || 0 ; O = O || 0 ; Q = Q || 360 ; E = H ( E ) ; d = a . Shader . _MakeSweepGradient ( d , g , u . de , u . colorType , I , u . count , y , O , Q , K , E , W ) ; q ( u . de , l ) ; r && q ( I , r ) ; return d } ; a . Shader . MakeTwoPointConicalGradient = function ( d , g , l , r , y , E , K , O , Q , W ) { W = W || null ; var u = C ( y ) , I = x ( E , "HEAPF32" ) ; Q = Q || 0 ; O = H ( O ) ; var R = Ha . toTypedArray ( ) ; R . set ( d ) ; R . set ( l , 2 ) ; d = a . Shader . _MakeTwoPointConicalGradient ( ia , g , r , u . de , u . colorType , I , u . count ,
K , Q , O , W ) ; q ( u . de , y ) ; E && q ( I , E ) ; return d } ; a . Vertices . prototype . bounds = function ( d ) { this . _bounds ( ia ) ; var g = Ha . toTypedArray ( ) ; return d ? ( d . set ( g ) , d ) : g . slice ( ) } ; a . Wd && a . Wd . forEach ( function ( d ) { d ( ) } ) } ; a . computeTonalColors = function ( e ) { var d = x ( e . ambient , "HEAPF32" ) , g = x ( e . spot , "HEAPF32" ) ; this . _computeTonalColors ( d , g ) ; var l = { ambient : S ( d ) , spot : S ( g ) } ; q ( d , e . ambient ) ; q ( g , e . spot ) ; return l } ; a . LTRBRect = function ( e , d , g , l ) { return Float32Array . of ( e , d , g , l ) } ; a . XYWHRect = function ( e , d , g , l ) { return Float32Array . of ( e , d , e + g , d + l ) } ;
a . LTRBiRect = function ( e , d , g , l ) { return Int32Array . of ( e , d , g , l ) } ; a . XYWHiRect = function ( e , d , g , l ) { return Int32Array . of ( e , d , e + g , d + l ) } ; a . RRectXY = function ( e , d , g ) { return Float32Array . of ( e [ 0 ] , e [ 1 ] , e [ 2 ] , e [ 3 ] , d , g , d , g , d , g , d , g ) } ; a . MakeAnimatedImageFromEncoded = function ( e ) { e = new Uint8Array ( e ) ; var d = a . _malloc ( e . byteLength ) ; a . HEAPU8 . set ( e , d ) ; return ( e = a . _decodeAnimatedImage ( d , e . byteLength ) ) ? e : null } ; a . MakeImageFromEncoded = function ( e ) { e = new Uint8Array ( e ) ; var d = a . _malloc ( e . byteLength ) ; a . HEAPU8 . set ( e , d ) ; return ( e = a . _decodeImage ( d ,
e . byteLength ) ) ? e : null } ; var ib = null ; a . MakeImageFromCanvasImageSource = function ( e ) { var d = e . width , g = e . height ; ib || ( ib = document . createElement ( "canvas" ) ) ; ib . width = d ; ib . height = g ; var l = ib . getContext ( "2d" , { Cg : ! 0 } ) ; l . drawImage ( e , 0 , 0 ) ; e = l . getImageData ( 0 , 0 , d , g ) ; return a . MakeImage ( { width : d , height : g , alphaType : a . AlphaType . Unpremul , colorType : a . ColorType . RGBA _8888 , colorSpace : a . ColorSpace . SRGB } , e . data , 4 * d ) } ; a . MakeImage = function ( e , d , g ) { var l = a . _malloc ( d . length ) ; a . HEAPU8 . set ( d , l ) ; return a . _MakeImage ( e , l , d . length , g ) } ;
a . MakeVertices = function ( e , d , g , l , r , y ) { var E = r && r . length || 0 , K = 0 ; g && g . length && ( K |= 1 ) ; l && l . length && ( K |= 2 ) ; void 0 === y || y || ( K |= 4 ) ; e = new a . _VerticesBuilder ( e , d . length / 2 , E , K ) ; x ( d , "HEAPF32" , e . positions ( ) ) ; e . texCoords ( ) && x ( g , "HEAPF32" , e . texCoords ( ) ) ; e . colors ( ) && x ( m ( l ) , "HEAPU32" , e . colors ( ) ) ; e . indices ( ) && x ( r , "HEAPU16" , e . indices ( ) ) ; return e . detach ( ) } ; a . Matrix = { } ; a . Matrix . identity = function ( ) { return c ( 3 ) } ; a . Matrix . invert = function ( e ) { var d = e [ 0 ] * e [ 4 ] * e [ 8 ] + e [ 1 ] * e [ 5 ] * e [ 6 ] + e [ 2 ] * e [ 3 ] * e [ 7 ] - e [ 2 ] * e [ 4 ] * e [ 6 ] - e [ 1 ] * e [ 3 ] * e [ 8 ] -
e [ 0 ] * e [ 5 ] * e [ 7 ] ; return d ? [ ( e [ 4 ] * e [ 8 ] - e [ 5 ] * e [ 7 ] ) / d , ( e [ 2 ] * e [ 7 ] - e [ 1 ] * e [ 8 ] ) / d , ( e [ 1 ] * e [ 5 ] - e [ 2 ] * e [ 4 ] ) / d , ( e [ 5 ] * e [ 6 ] - e [ 3 ] * e [ 8 ] ) / d , ( e [ 0 ] * e [ 8 ] - e [ 2 ] * e [ 6 ] ) / d , ( e [ 2 ] * e [ 3 ] - e [ 0 ] * e [ 5 ] ) / d , ( e [ 3 ] * e [ 7 ] - e [ 4 ] * e [ 6 ] ) / d , ( e [ 1 ] * e [ 6 ] - e [ 0 ] * e [ 7 ] ) / d , ( e [ 0 ] * e [ 4 ] - e [ 1 ] * e [ 3 ] ) / d ] : null } ; a . Matrix . mapPoints = function ( e , d ) { for ( var g = 0 ; g < d . length ; g += 2 ) { var l = d [ g ] , r = d [ g + 1 ] , y = e [ 6 ] * l + e [ 7 ] * r + e [ 8 ] , E = e [ 3 ] * l + e [ 4 ] * r + e [ 5 ] ; d [ g ] = ( e [ 0 ] * l + e [ 1 ] * r + e [ 2 ] ) / y ; d [ g + 1 ] = E / y } return d } ; a . Matrix . multiply = function ( ) { return hb ( 3 , arguments ) } ; a . Matrix . rotated = function ( e ,
d , g ) { d = d || 0 ; g = g || 0 ; var l = Math . sin ( e ) ; e = Math . cos ( e ) ; return [ e , - l , ta ( l , g , 1 - e , d ) , l , e , ta ( - l , d , 1 - e , g ) , 0 , 0 , 1 ] } ; a . Matrix . scaled = function ( e , d , g , l ) { g = g || 0 ; l = l || 0 ; var r = b ( [ e , d ] , c ( 3 ) , 3 , 0 , 1 ) ; return b ( [ g - e * g , l - d * l ] , r , 3 , 2 , 0 ) } ; a . Matrix . skewed = function ( e , d , g , l ) { g = g || 0 ; l = l || 0 ; var r = b ( [ e , d ] , c ( 3 ) , 3 , 1 , - 1 ) ; return b ( [ - e * g , - d * l ] , r , 3 , 2 , 0 ) } ; a . Matrix . translated = function ( e , d ) { return b ( arguments , c ( 3 ) , 3 , 2 , 0 ) } ; a . Vector = { } ; a . Vector . dot = function ( e , d ) { return e . map ( function ( g , l ) { return g * d [ l ] } ) . reduce ( function ( g , l ) { return g + l } ) } ; a . Vector . lengthSquared =
function ( e ) { return a . Vector . dot ( e , e ) } ; a . Vector . length = function ( e ) { return Math . sqrt ( a . Vector . lengthSquared ( e ) ) } ; a . Vector . mulScalar = function ( e , d ) { return e . map ( function ( g ) { return g * d } ) } ; a . Vector . add = function ( e , d ) { return e . map ( function ( g , l ) { return g + d [ l ] } ) } ; a . Vector . sub = function ( e , d ) { return e . map ( function ( g , l ) { return g - d [ l ] } ) } ; a . Vector . dist = function ( e , d ) { return a . Vector . length ( a . Vector . sub ( e , d ) ) } ; a . Vector . normalize = function ( e ) { return a . Vector . mulScalar ( e , 1 / a . Vector . length ( e ) ) } ; a . Vector . cross = function ( e ,
d ) { return [ e [ 1 ] * d [ 2 ] - e [ 2 ] * d [ 1 ] , e [ 2 ] * d [ 0 ] - e [ 0 ] * d [ 2 ] , e [ 0 ] * d [ 1 ] - e [ 1 ] * d [ 0 ] ] } ; a . M44 = { } ; a . M44 . identity = function ( ) { return c ( 4 ) } ; a . M44 . translated = function ( e ) { return b ( e , c ( 4 ) , 4 , 3 , 0 ) } ; a . M44 . scaled = function ( e ) { return b ( e , c ( 4 ) , 4 , 0 , 1 ) } ; a . M44 . rotated = function ( e , d ) { return a . M44 . rotatedUnitSinCos ( a . Vector . normalize ( e ) , Math . sin ( d ) , Math . cos ( d ) ) } ; a . M44 . rotatedUnitSinCos = function ( e , d , g ) { var l = e [ 0 ] , r = e [ 1 ] ; e = e [ 2 ] ; var y = 1 - g ; return [ y * l * l + g , y * l * r - d * e , y * l * e + d * r , 0 , y * l * r + d * e , y * r * r + g , y * r * e - d * l , 0 , y * l * e - d * r , y * r * e + d * l , y * e * e + g , 0 ,
0 , 0 , 0 , 1 ] } ; a . M44 . lookat = function ( e , d , g ) { d = a . Vector . normalize ( a . Vector . sub ( d , e ) ) ; g = a . Vector . normalize ( g ) ; g = a . Vector . normalize ( a . Vector . cross ( d , g ) ) ; var l = a . M44 . identity ( ) ; b ( g , l , 4 , 0 , 0 ) ; b ( a . Vector . cross ( g , d ) , l , 4 , 1 , 0 ) ; b ( a . Vector . mulScalar ( d , - 1 ) , l , 4 , 2 , 0 ) ; b ( e , l , 4 , 3 , 0 ) ; e = a . M44 . invert ( l ) ; return null === e ? a . M44 . identity ( ) : e } ; a . M44 . perspective = function ( e , d , g ) { var l = 1 / ( d - e ) ; g /= 2 ; g = Math . cos ( g ) / Math . sin ( g ) ; return [ g , 0 , 0 , 0 , 0 , g , 0 , 0 , 0 , 0 , ( d + e ) * l , 2 * d * e * l , 0 , 0 , - 1 , 1 ] } ; a . M44 . rc = function ( e , d , g ) { return e [ 4 * d + g ] } ; a . M44 . multiply =
function ( ) { return hb ( 4 , arguments ) } ; a . M44 . invert = function ( e ) { var d = e [ 0 ] , g = e [ 4 ] , l = e [ 8 ] , r = e [ 12 ] , y = e [ 1 ] , E = e [ 5 ] , K = e [ 9 ] , O = e [ 13 ] , Q = e [ 2 ] , W = e [ 6 ] , u = e [ 10 ] , I = e [ 14 ] , R = e [ 3 ] , aa = e [ 7 ] , ja = e [ 11 ] ; e = e [ 15 ] ; var qa = d * E - g * y , ua = d * K - l * y , Aa = d * O - r * y , ea = g * K - l * E , G = g * O - r * E , k = l * O - r * K , p = Q * aa - W * R , z = Q * ja - u * R , B = Q * e - I * R , D = W * ja - u * aa , F = W * e - I * aa , L = u * e - I * ja , ba = qa * L - ua * F + Aa * D + ea * B - G * z + k * p , ca = 1 / ba ; if ( 0 === ba || Infinity === ca ) return null ; qa *= ca ; ua *= ca ; Aa *= ca ; ea *= ca ; G *= ca ; k *= ca ; p *= ca ; z *= ca ; B *= ca ; D *= ca ; F *= ca ; L *= ca ; d = [ E * L - K * F + O * D , K * B - y * L - O * z , y * F -
E * B + O * p , E * z - y * D - K * p , l * F - g * L - r * D , d * L - l * B + r * z , g * B - d * F - r * p , d * D - g * z + l * p , aa * k - ja * G + e * ea , ja * Aa - R * k - e * ua , R * G - aa * Aa + e * qa , aa * ua - R * ea - ja * qa , u * G - W * k - I * ea , Q * k - u * Aa + I * ua , W * Aa - Q * G - I * qa , Q * ea - W * ua + u * qa ] ; return d . every ( function ( Ia ) { return ! isNaN ( Ia ) && Infinity !== Ia && - Infinity !== Ia } ) ? d : null } ; a . M44 . transpose = function ( e ) { return [ e [ 0 ] , e [ 4 ] , e [ 8 ] , e [ 12 ] , e [ 1 ] , e [ 5 ] , e [ 9 ] , e [ 13 ] , e [ 2 ] , e [ 6 ] , e [ 10 ] , e [ 14 ] , e [ 3 ] , e [ 7 ] , e [ 11 ] , e [ 15 ] ] } ; a . M44 . mustInvert = function ( e ) { e = a . M44 . invert ( e ) ; if ( null === e ) throw "Matrix not invertible" ; return e } ; a . M44 . setupCamera =
function ( e , d , g ) { var l = a . M44 . lookat ( g . eye , g . coa , g . up ) ; g = a . M44 . perspective ( g . near , g . far , g . angle ) ; d = [ ( e [ 2 ] - e [ 0 ] ) / 2 , ( e [ 3 ] - e [ 1 ] ) / 2 , d ] ; e = a . M44 . multiply ( a . M44 . translated ( [ ( e [ 0 ] + e [ 2 ] ) / 2 , ( e [ 1 ] + e [ 3 ] ) / 2 , 0 ] ) , a . M44 . scaled ( d ) ) ; return a . M44 . multiply ( e , g , l , a . M44 . mustInvert ( e ) ) } ; a . ColorMatrix = { } ; a . ColorMatrix . identity = function ( ) { var e = new Float32Array ( 20 ) ; e [ 0 ] = 1 ; e [ 6 ] = 1 ; e [ 12 ] = 1 ; e [ 18 ] = 1 ; return e } ; a . ColorMatrix . scaled = function ( e , d , g , l ) { var r = new Float32Array ( 20 ) ; r [ 0 ] = e ; r [ 6 ] = d ; r [ 12 ] = g ; r [ 18 ] = l ; return r } ; var Ad = [ [ 6 , 7 , 11 ,
12 ] , [ 0 , 10 , 2 , 12 ] , [ 0 , 1 , 5 , 6 ] ] ; a . ColorMatrix . rotated = function ( e , d , g ) { var l = a . ColorMatrix . identity ( ) ; e = Ad [ e ] ; l [ e [ 0 ] ] = g ; l [ e [ 1 ] ] = d ; l [ e [ 2 ] ] = - d ; l [ e [ 3 ] ] = g ; return l } ; a . ColorMatrix . postTranslate = function ( e , d , g , l , r ) { e [ 4 ] += d ; e [ 9 ] += g ; e [ 14 ] += l ; e [ 19 ] += r ; return e } ; a . ColorMatrix . concat = function ( e , d ) { for ( var g = new Float32Array ( 20 ) , l = 0 , r = 0 ; 20 > r ; r += 5 ) { for ( var y = 0 ; 4 > y ; y ++ ) g [ l ++ ] = e [ r ] * d [ y ] + e [ r + 1 ] * d [ y + 5 ] + e [ r + 2 ] * d [ y + 10 ] + e [ r + 3 ] * d [ y + 15 ] ; g [ l ++ ] = e [ r ] * d [ 4 ] + e [ r + 1 ] * d [ 9 ] + e [ r + 2 ] * d [ 14 ] + e [ r + 3 ] * d [ 19 ] + e [ r + 4 ] } return g } ; ( function ( e ) { e . Wd =
e . Wd || [ ] ; e . Wd . push ( function ( ) { function d ( u ) { if ( ! u || ! u . length ) return [ ] ; for ( var I = [ ] , R = 0 ; R < u . length ; R += 5 ) { var aa = e . LTRBRect ( u [ R ] , u [ R + 1 ] , u [ R + 2 ] , u [ R + 3 ] ) ; aa . direction = 0 === u [ R + 4 ] ? e . TextDirection . RTL : e . TextDirection . LTR ; I . push ( aa ) } e . _free ( u . byteOffset ) ; return I } function g ( u ) { u = u || { } ; void 0 === u . weight && ( u . weight = e . FontWeight . Normal ) ; u . width = u . width || e . FontWidth . Normal ; u . slant = u . slant || e . FontSlant . Upright ; return u } function l ( u ) { if ( ! u || ! u . length ) return V ; for ( var I = [ ] , R = 0 ; R < u . length ; R ++ ) { var aa = r ( u [ R ] ) ; I . push ( aa ) } return x ( I ,
"HEAPU32" ) } function r ( u ) { if ( K [ u ] ) return K [ u ] ; var I = oa ( u ) + 1 , R = e . _malloc ( I ) ; ra ( u , J , R , I ) ; return K [ u ] = R } function y ( u ) { u . _colorPtr = A ( u . color ) ; u . _foregroundColorPtr = V ; u . _backgroundColorPtr = V ; u . _decorationColorPtr = V ; u . foregroundColor && ( u . _foregroundColorPtr = A ( u . foregroundColor , O ) ) ; u . backgroundColor && ( u . _backgroundColorPtr = A ( u . backgroundColor , Q ) ) ; u . decorationColor && ( u . _decorationColorPtr = A ( u . decorationColor , W ) ) ; Array . isArray ( u . fontFamilies ) && u . fontFamilies . length ? ( u . _fontFamiliesPtr = l ( u . fontFamilies ) , u . _fontFamiliesLen =
u . fontFamilies . length ) : ( u . _fontFamiliesPtr = V , u . _fontFamiliesLen = 0 ) ; if ( u . locale ) { var I = u . locale ; u . _localePtr = r ( I ) ; u . _localeLen = oa ( I ) + 1 } else u . _localePtr = V , u . _localeLen = 0 ; if ( Array . isArray ( u . shadows ) && u . shadows . length ) { I = u . shadows ; var R = I . map ( function ( ea ) { return ea . color || e . BLACK } ) , aa = I . map ( function ( ea ) { return ea . blurRadius || 0 } ) ; u . _shadowLen = I . length ; for ( var ja = e . _malloc ( 8 * I . length ) , qa = ja / 4 , ua = 0 ; ua < I . length ; ua ++ ) { var Aa = I [ ua ] . offset || [ 0 , 0 ] ; e . HEAPF32 [ qa ] = Aa [ 0 ] ; e . HEAPF32 [ qa + 1 ] = Aa [ 1 ] ; qa += 2 } u . _shadowColorsPtr =
C ( R ) . de ; u . _shadowOffsetsPtr = ja ; u . _shadowBlurRadiiPtr = x ( aa , "HEAPF32" ) } else u . _shadowLen = 0 , u . _shadowColorsPtr = V , u . _shadowOffsetsPtr = V , u . _shadowBlurRadiiPtr = V ; Array . isArray ( u . fontFeatures ) && u . fontFeatures . length ? ( I = u . fontFeatures , R = I . map ( function ( ea ) { return ea . name } ) , aa = I . map ( function ( ea ) { return ea . value } ) , u . _fontFeatureLen = I . length , u . _fontFeatureNamesPtr = l ( R ) , u . _fontFeatureValuesPtr = x ( aa , "HEAPU32" ) ) : ( u . _fontFeatureLen = 0 , u . _fontFeatureNamesPtr = V , u . _fontFeatureValuesPtr = V ) } function E ( u ) { e . _free ( u . _fontFamiliesPtr ) ;
e . _free ( u . _shadowColorsPtr ) ; e . _free ( u . _shadowOffsetsPtr ) ; e . _free ( u . _shadowBlurRadiiPtr ) ; e . _free ( u . _fontFeatureNamesPtr ) ; e . _free ( u . _fontFeatureValuesPtr ) } e . Paragraph . prototype . getRectsForRange = function ( u , I , R , aa ) { u = this . _getRectsForRange ( u , I , R , aa ) ; return d ( u ) } ; e . Paragraph . prototype . getRectsForPlaceholders = function ( ) { var u = this . _getRectsForPlaceholders ( ) ; return d ( u ) } ; e . TypefaceFontProvider . prototype . registerFont = function ( u , I ) { u = e . Typeface . MakeFreeTypeFaceFromData ( u ) ; if ( ! u ) return null ; I = r ( I ) ; this . _registerFont ( u ,
I ) } ; e . ParagraphStyle = function ( u ) { u . disableHinting = u . disableHinting || ! 1 ; if ( u . ellipsis ) { var I = u . ellipsis ; u . _ellipsisPtr = r ( I ) ; u . _ellipsisLen = oa ( I ) + 1 } else u . _ellipsisPtr = V , u . _ellipsisLen = 0 ; u . heightMultiplier = u . heightMultiplier || 0 ; u . maxLines = u . maxLines || 0 ; I = ( I = u . strutStyle ) || { } ; I . strutEnabled = I . strutEnabled || ! 1 ; I . strutEnabled && Array . isArray ( I . fontFamilies ) && I . fontFamilies . length ? ( I . _fontFamiliesPtr = l ( I . fontFamilies ) , I . _fontFamiliesLen = I . fontFamilies . length ) : ( I . _fontFamiliesPtr = V , I . _fontFamiliesLen = 0 ) ;
I . fontStyle = g ( I . fontStyle ) ; I . fontSize = I . fontSize || 0 ; I . heightMultiplier = I . heightMultiplier || 0 ; I . halfLeading = I . halfLeading || ! 1 ; I . leading = I . leading || 0 ; I . forceStrutHeight = I . forceStrutHeight || ! 1 ; u . strutStyle = I ; u . textAlign = u . textAlign || e . TextAlign . Start ; u . textDirection = u . textDirection || e . TextDirection . LTR ; u . textHeightBehavior = u . textHeightBehavior || e . TextHeightBehavior . All ; u . textStyle = e . TextStyle ( u . textStyle ) ; return u } ; e . TextStyle = function ( u ) { u . color || ( u . color = e . BLACK ) ; u . decoration = u . decoration || 0 ; u . decorationThickness =
u . decorationThickness || 0 ; u . decorationStyle = u . decorationStyle || e . DecorationStyle . Solid ; u . textBaseline = u . textBaseline || e . TextBaseline . Alphabetic ; u . fontSize = u . fontSize || 0 ; u . letterSpacing = u . letterSpacing || 0 ; u . wordSpacing = u . wordSpacing || 0 ; u . heightMultiplier = u . heightMultiplier || 0 ; u . halfLeading = u . halfLeading || ! 1 ; u . fontStyle = g ( u . fontStyle ) ; return u } ; var K = { } , O = e . _malloc ( 16 ) , Q = e . _malloc ( 16 ) , W = e . _malloc ( 16 ) ; e . ParagraphBuilder . Make = function ( u , I ) { y ( u . textStyle ) ; I = e . ParagraphBuilder . _Make ( u , I ) ; E ( u . textStyle ) ;
return I } ; e . ParagraphBuilder . MakeFromFontProvider = function ( u , I ) { y ( u . textStyle ) ; I = e . ParagraphBuilder . _MakeFromFontProvider ( u , I ) ; E ( u . textStyle ) ; return I } ; e . ParagraphBuilder . ShapeText = function ( u , I , R ) { let aa = 0 ; for ( const ja of I ) aa += ja . length ; if ( aa !== u . length ) throw "Accumulated block lengths must equal text.length" ; return e . ParagraphBuilder . _ShapeText ( u , I , R ) } ; e . ParagraphBuilder . prototype . pushStyle = function ( u ) { y ( u ) ; this . _pushStyle ( u ) ; E ( u ) } ; e . ParagraphBuilder . prototype . pushPaintStyle = function ( u , I , R ) { y ( u ) ;
this . _pushPaintStyle ( u , I , R ) ; E ( u ) } ; e . ParagraphBuilder . prototype . addPlaceholder = function ( u , I , R , aa , ja ) { R = R || e . PlaceholderAlignment . Baseline ; aa = aa || e . TextBaseline . Alphabetic ; this . _addPlaceholder ( u || 0 , I || 0 , R , aa , ja || 0 ) } } ) } ) ( v ) ; a . Wd = a . Wd || [ ] ; a . Wd . push ( function ( ) { a . Path . prototype . op = function ( e , d ) { return this . _op ( e , d ) ? this : null } ; a . Path . prototype . simplify = function ( ) { return this . _simplify ( ) ? this : null } } ) ; a . Wd = a . Wd || [ ] ; a . Wd . push ( function ( ) { a . Canvas . prototype . drawText = function ( e , d , g , l , r ) { var y = oa ( e ) , E = a . _malloc ( y +
1 ) ; ra ( e , J , E , y + 1 ) ; this . _drawSimpleText ( E , y , d , g , r , l ) ; a . _free ( E ) } ; a . Canvas . prototype . drawGlyphs = function ( e , d , g , l , r , y ) { if ( ! ( 2 * e . length <= d . length ) ) throw "Not enough positions for the array of gyphs" ; a . Pd ( this . Nd ) ; const E = x ( e , "HEAPU16" ) , K = x ( d , "HEAPF32" ) ; this . _drawGlyphs ( e . length , E , K , g , l , r , y ) ; q ( K , d ) ; q ( E , e ) } ; a . Font . prototype . getGlyphBounds = function ( e , d , g ) { var l = x ( e , "HEAPU16" ) , r = a . _malloc ( 16 * e . length ) ; this . _getGlyphWidthBounds ( l , e . length , V , r , d || null ) ; d = new Float32Array ( a . HEAPU8 . buffer , r , 4 * e . length ) ; q ( l , e ) ;
if ( g ) return g . set ( d ) , a . _free ( r ) , g ; e = Float32Array . from ( d ) ; a . _free ( r ) ; return e } ; a . Font . prototype . getGlyphIDs = function ( e , d , g ) { d || ( d = e . length ) ; var l = oa ( e ) + 1 , r = a . _malloc ( l ) ; ra ( e , J , r , l ) ; e = a . _malloc ( 2 * d ) ; d = this . _getGlyphIDs ( r , l - 1 , d , e ) ; a . _free ( r ) ; if ( 0 > d ) return a . _free ( e ) , null ; r = new Uint16Array ( a . HEAPU8 . buffer , e , d ) ; if ( g ) return g . set ( r ) , a . _free ( e ) , g ; g = Uint16Array . from ( r ) ; a . _free ( e ) ; return g } ; a . Font . prototype . getGlyphIntercepts = function ( e , d , g , l ) { var r = x ( e , "HEAPU16" ) , y = x ( d , "HEAPF32" ) ; return this . _getGlyphIntercepts ( r ,
e . length , ! ( e && e . _ck ) , y , d . length , ! ( d && d . _ck ) , g , l ) } ; a . Font . prototype . getGlyphWidths = function ( e , d , g ) { var l = x ( e , "HEAPU16" ) , r = a . _malloc ( 4 * e . length ) ; this . _getGlyphWidthBounds ( l , e . length , r , V , d || null ) ; d = new Float32Array ( a . HEAPU8 . buffer , r , e . length ) ; q ( l , e ) ; if ( g ) return g . set ( d ) , a . _free ( r ) , g ; e = Float32Array . from ( d ) ; a . _free ( r ) ; return e } ; a . FontMgr . FromData = function ( ) { if ( ! arguments . length ) return null ; var e = arguments ; 1 === e . length && Array . isArray ( e [ 0 ] ) && ( e = arguments [ 0 ] ) ; if ( ! e . length ) return null ; for ( var d = [ ] , g = [ ] , l =
0 ; l < e . length ; l ++ ) { var r = new Uint8Array ( e [ l ] ) , y = x ( r , "HEAPU8" ) ; d . push ( y ) ; g . push ( r . byteLength ) } d = x ( d , "HEAPU32" ) ; g = x ( g , "HEAPU32" ) ; e = a . FontMgr . _fromData ( d , g , e . length ) ; a . _free ( d ) ; a . _free ( g ) ; return e } ; a . Typeface . MakeFreeTypeFaceFromData = function ( e ) { e = new Uint8Array ( e ) ; var d = x ( e , "HEAPU8" ) ; return ( e = a . Typeface . _MakeFreeTypeFaceFromData ( d , e . byteLength ) ) ? e : null } ; a . Typeface . prototype . getGlyphIDs = function ( e , d , g ) { d || ( d = e . length ) ; var l = oa ( e ) + 1 , r = a . _malloc ( l ) ; ra ( e , J , r , l ) ; e = a . _malloc ( 2 * d ) ; d = this . _getGlyphIDs ( r , l - 1 ,
d , e ) ; a . _free ( r ) ; if ( 0 > d ) return a . _free ( e ) , null ; r = new Uint16Array ( a . HEAPU8 . buffer , e , d ) ; if ( g ) return g . set ( r ) , a . _free ( e ) , g ; g = Uint16Array . from ( r ) ; a . _free ( e ) ; return g } ; a . TextBlob . MakeOnPath = function ( e , d , g , l ) { if ( e && e . length && d && d . countPoints ( ) ) { if ( 1 === d . countPoints ( ) ) return this . MakeFromText ( e , g ) ; l || ( l = 0 ) ; var r = g . getGlyphIDs ( e ) ; r = g . getGlyphWidths ( r ) ; var y = [ ] ; d = new a . ContourMeasureIter ( d , ! 1 , 1 ) ; for ( var E = d . next ( ) , K = new Float32Array ( 4 ) , O = 0 ; O < e . length && E ; O ++ ) { var Q = r [ O ] ; l += Q / 2 ; if ( l > E . length ( ) ) { E . delete ( ) ; E =
d . next ( ) ; if ( ! E ) { e = e . substring ( 0 , O ) ; break } l = Q / 2 } E . getPosTan ( l , K ) ; var W = K [ 2 ] , u = K [ 3 ] ; y . push ( W , u , K [ 0 ] - Q / 2 * W , K [ 1 ] - Q / 2 * u ) ; l += Q / 2 } e = this . MakeFromRSXform ( e , y , g ) ; E && E . delete ( ) ; d . delete ( ) ; return e } } ; a . TextBlob . MakeFromRSXform = function ( e , d , g ) { var l = oa ( e ) + 1 , r = a . _malloc ( l ) ; ra ( e , J , r , l ) ; e = x ( d , "HEAPF32" ) ; g = a . TextBlob . _MakeFromRSXform ( r , l - 1 , e , g ) ; a . _free ( r ) ; return g ? g : null } ; a . TextBlob . MakeFromRSXformGlyphs = function ( e , d , g ) { var l = x ( e , "HEAPU16" ) ; d = x ( d , "HEAPF32" ) ; g = a . TextBlob . _MakeFromRSXformGlyphs ( l , 2 * e . length , d , g ) ; q ( l ,
e ) ; return g ? g : null } ; a . TextBlob . MakeFromGlyphs = function ( e , d ) { var g = x ( e , "HEAPU16" ) ; d = a . TextBlob . _MakeFromGlyphs ( g , 2 * e . length , d ) ; q ( g , e ) ; return d ? d : null } ; a . TextBlob . MakeFromText = function ( e , d ) { var g = oa ( e ) + 1 , l = a . _malloc ( g ) ; ra ( e , J , l , g ) ; e = a . TextBlob . _MakeFromText ( l , g - 1 , d ) ; a . _free ( l ) ; return e ? e : null } ; a . MallocGlyphIDs = function ( e ) { return a . Malloc ( Uint16Array , e ) } } ) ; a . Wd = a . Wd || [ ] ; a . Wd . push ( function ( ) { a . MakePicture = function ( e ) { e = new Uint8Array ( e ) ; var d = a . _malloc ( e . byteLength ) ; a . HEAPU8 . set ( e , d ) ; return ( e = a . _MakePicture ( d ,
e . byteLength ) ) ? e : null } } ) ; ( function ( ) { function e ( G ) { for ( var k = 0 ; k < G . length ; k ++ ) if ( void 0 !== G [ k ] && ! Number . isFinite ( G [ k ] ) ) return ! 1 ; return ! 0 } function d ( G ) { var k = a . getColorComponents ( G ) ; G = k [ 0 ] ; var p = k [ 1 ] , z = k [ 2 ] ; k = k [ 3 ] ; if ( 1 === k ) return G = G . toString ( 16 ) . toLowerCase ( ) , p = p . toString ( 16 ) . toLowerCase ( ) , z = z . toString ( 16 ) . toLowerCase ( ) , G = 1 === G . length ? "0" + G : G , p = 1 === p . length ? "0" + p : p , z = 1 === z . length ? "0" + z : z , "#" + G + p + z ; k = 0 === k || 1 === k ? k : k . toFixed ( 8 ) ; return "rgba(" + G + ", " + p + ", " + z + ", " + k + ")" } function g ( G ) { return a . parseColorString ( G ,
ua ) } function l ( G ) { G = Aa . exec ( G ) ; if ( ! G ) return null ; var k = parseFloat ( G [ 4 ] ) , p = 16 ; switch ( G [ 5 ] ) { case "em" : case "rem" : p = 16 * k ; break ; case "pt" : p = 4 * k / 3 ; break ; case "px" : p = k ; break ; case "pc" : p = 16 * k ; break ; case "in" : p = 96 * k ; break ; case "cm" : p = 96 * k / 2.54 ; break ; case "mm" : p = 96 / 25.4 * k ; break ; case "q" : p = 96 / 25.4 / 4 * k ; break ; case "%" : p = 16 / 75 * k } return { style : G [ 1 ] , variant : G [ 2 ] , weight : G [ 3 ] , sizePx : p , family : G [ 6 ] . trim ( ) } } function r ( G ) { this . Od = G ; this . Rd = new a . Paint ; this . Rd . setAntiAlias ( ! 0 ) ; this . Rd . setStrokeMiter ( 10 ) ; this . Rd . setStrokeCap ( a . StrokeCap . Butt ) ;
this . Rd . setStrokeJoin ( a . StrokeJoin . Miter ) ; this . Re = "10px monospace" ; this . oe = new a . Font ( null , 10 ) ; this . oe . setSubpixel ( ! 0 ) ; this . ce = this . he = a . BLACK ; this . xe = 0 ; this . Ke = a . TRANSPARENT ; this . ze = this . ye = 0 ; this . Le = this . le = 1 ; this . Je = 0 ; this . we = [ ] ; this . Qd = a . BlendMode . SrcOver ; this . Rd . setStrokeWidth ( this . Le ) ; this . Rd . setBlendMode ( this . Qd ) ; this . Td = new a . Path ; this . Vd = a . Matrix . identity ( ) ; this . mf = [ ] ; this . De = [ ] ; this . ne = function ( ) { this . Td . delete ( ) ; this . Rd . delete ( ) ; this . oe . delete ( ) ; this . De . forEach ( function ( k ) { k . ne ( ) } ) } ; Object . defineProperty ( this ,
"currentTransform" , { enumerable : ! 0 , get : function ( ) { return { a : this . Vd [ 0 ] , c : this . Vd [ 1 ] , e : this . Vd [ 2 ] , b : this . Vd [ 3 ] , d : this . Vd [ 4 ] , f : this . Vd [ 5 ] } } , set : function ( k ) { k . a && this . setTransform ( k . a , k . b , k . c , k . d , k . e , k . f ) } } ) ; Object . defineProperty ( this , "fillStyle" , { enumerable : ! 0 , get : function ( ) { return f ( this . ce ) ? d ( this . ce ) : this . ce } , set : function ( k ) { "string" === typeof k ? this . ce = g ( k ) : k . ve && ( this . ce = k ) } } ) ; Object . defineProperty ( this , "font" , { enumerable : ! 0 , get : function ( ) { return this . Re } , set : function ( k ) { var p = l ( k ) , z = p . family ; p . typeface =
ea [ z ] ? ea [ z ] [ ( p . style || "normal" ) + "|" + ( p . variant || "normal" ) + "|" + ( p . weight || "normal" ) ] || ea [ z ] [ "*" ] : null ; p && ( this . oe . setSize ( p . sizePx ) , this . oe . setTypeface ( p . typeface ) , this . Re = k ) } } ) ; Object . defineProperty ( this , "globalAlpha" , { enumerable : ! 0 , get : function ( ) { return this . le } , set : function ( k ) { ! isFinite ( k ) || 0 > k || 1 < k || ( this . le = k ) } } ) ; Object . defineProperty ( this , "globalCompositeOperation" , { enumerable : ! 0 , get : function ( ) { switch ( this . Qd ) { case a . BlendMode . SrcOver : return "source-over" ; case a . BlendMode . DstOver : return "destination-over" ;
case a . BlendMode . Src : return "copy" ; case a . BlendMode . Dst : return "destination" ; case a . BlendMode . Clear : return "clear" ; case a . BlendMode . SrcIn : return "source-in" ; case a . BlendMode . DstIn : return "destination-in" ; case a . BlendMode . SrcOut : return "source-out" ; case a . BlendMode . DstOut : return "destination-out" ; case a . BlendMode . SrcATop : return "source-atop" ; case a . BlendMode . DstATop : return "destination-atop" ; case a . BlendMode . Xor : return "xor" ; case a . BlendMode . Plus : return "lighter" ; case a . BlendMode . Multiply : return "multiply" ; case a . BlendMode . Screen : return "screen" ;
case a . BlendMode . Overlay : return "overlay" ; case a . BlendMode . Darken : return "darken" ; case a . BlendMode . Lighten : return "lighten" ; case a . BlendMode . ColorDodge : return "color-dodge" ; case a . BlendMode . ColorBurn : return "color-burn" ; case a . BlendMode . HardLight : return "hard-light" ; case a . BlendMode . SoftLight : return "soft-light" ; case a . BlendMode . Difference : return "difference" ; case a . BlendMode . Exclusion : return "exclusion" ; case a . BlendMode . Hue : return "hue" ; case a . BlendMode . Saturation : return "saturation" ; case a . BlendMode . Color : return "color" ;
case a . BlendMode . Luminosity : return "luminosity" } } , set : function ( k ) { switch ( k ) { case "source-over" : this . Qd = a . BlendMode . SrcOver ; break ; case "destination-over" : this . Qd = a . BlendMode . DstOver ; break ; case "copy" : this . Qd = a . BlendMode . Src ; break ; case "destination" : this . Qd = a . BlendMode . Dst ; break ; case "clear" : this . Qd = a . BlendMode . Clear ; break ; case "source-in" : this . Qd = a . BlendMode . SrcIn ; break ; case "destination-in" : this . Qd = a . BlendMode . DstIn ; break ; case "source-out" : this . Qd = a . BlendMode . SrcOut ; break ; case "destination-out" : this . Qd =
a . BlendMode . DstOut ; break ; case "source-atop" : this . Qd = a . BlendMode . SrcATop ; break ; case "destination-atop" : this . Qd = a . BlendMode . DstATop ; break ; case "xor" : this . Qd = a . BlendMode . Xor ; break ; case "lighter" : this . Qd = a . BlendMode . Plus ; break ; case "plus-lighter" : this . Qd = a . BlendMode . Plus ; break ; case "plus-darker" : throw "plus-darker is not supported" ; case "multiply" : this . Qd = a . BlendMode . Multiply ; break ; case "screen" : this . Qd = a . BlendMode . Screen ; break ; case "overlay" : this . Qd = a . BlendMode . Overlay ; break ; case "darken" : this . Qd = a . BlendMode . Darken ;
break ; case "lighten" : this . Qd = a . BlendMode . Lighten ; break ; case "color-dodge" : this . Qd = a . BlendMode . ColorDodge ; break ; case "color-burn" : this . Qd = a . BlendMode . ColorBurn ; break ; case "hard-light" : this . Qd = a . BlendMode . HardLight ; break ; case "soft-light" : this . Qd = a . BlendMode . SoftLight ; break ; case "difference" : this . Qd = a . BlendMode . Difference ; break ; case "exclusion" : this . Qd = a . BlendMode . Exclusion ; break ; case "hue" : this . Qd = a . BlendMode . Hue ; break ; case "saturation" : this . Qd = a . BlendMode . Saturation ; break ; case "color" : this . Qd = a . BlendMode . Color ;
break ; case "luminosity" : this . Qd = a . BlendMode . Luminosity ; break ; default : return } this . Rd . setBlendMode ( this . Qd ) } } ) ; Object . defineProperty ( this , "imageSmoothingEnabled" , { enumerable : ! 0 , get : function ( ) { return ! 0 } , set : function ( ) { } } ) ; Object . defineProperty ( this , "imageSmoothingQuality" , { enumerable : ! 0 , get : function ( ) { return "high" } , set : function ( ) { } } ) ; Object . defineProperty ( this , "lineCap" , { enumerable : ! 0 , get : function ( ) { switch ( this . Rd . getStrokeCap ( ) ) { case a . StrokeCap . Butt : return "butt" ; case a . StrokeCap . Round : return "round" ;
case a . StrokeCap . Square : return "square" } } , set : function ( k ) { switch ( k ) { case "butt" : this . Rd . setStrokeCap ( a . StrokeCap . Butt ) ; break ; case "round" : this . Rd . setStrokeCap ( a . StrokeCap . Round ) ; break ; case "square" : this . Rd . setStrokeCap ( a . StrokeCap . Square ) } } } ) ; Object . defineProperty ( this , "lineDashOffset" , { enumerable : ! 0 , get : function ( ) { return this . Je } , set : function ( k ) { isFinite ( k ) && ( this . Je = k ) } } ) ; Object . defineProperty ( this , "lineJoin" , { enumerable : ! 0 , get : function ( ) { switch ( this . Rd . getStrokeJoin ( ) ) { case a . StrokeJoin . Miter : return "miter" ;
case a . StrokeJoin . Round : return "round" ; case a . StrokeJoin . Bevel : return "bevel" } } , set : function ( k ) { switch ( k ) { case "miter" : this . Rd . setStrokeJoin ( a . StrokeJoin . Miter ) ; break ; case "round" : this . Rd . setStrokeJoin ( a . StrokeJoin . Round ) ; break ; case "bevel" : this . Rd . setStrokeJoin ( a . StrokeJoin . Bevel ) } } } ) ; Object . defineProperty ( this , "lineWidth" , { enumerable : ! 0 , get : function ( ) { return this . Rd . getStrokeWidth ( ) } , set : function ( k ) { 0 >= k || ! k || ( this . Le = k , this . Rd . setStrokeWidth ( k ) ) } } ) ; Object . defineProperty ( this , "miterLimit" , { enumerable : ! 0 ,
get : function ( ) { return this . Rd . getStrokeMiter ( ) } , set : function ( k ) { 0 >= k || ! k || this . Rd . setStrokeMiter ( k ) } } ) ; Object . defineProperty ( this , "shadowBlur" , { enumerable : ! 0 , get : function ( ) { return this . xe } , set : function ( k ) { 0 > k || ! isFinite ( k ) || ( this . xe = k ) } } ) ; Object . defineProperty ( this , "shadowColor" , { enumerable : ! 0 , get : function ( ) { return d ( this . Ke ) } , set : function ( k ) { this . Ke = g ( k ) } } ) ; Object . defineProperty ( this , "shadowOffsetX" , { enumerable : ! 0 , get : function ( ) { return this . ye } , set : function ( k ) { isFinite ( k ) && ( this . ye = k ) } } ) ; Object . defineProperty ( this ,
"shadowOffsetY" , { enumerable : ! 0 , get : function ( ) { return this . ze } , set : function ( k ) { isFinite ( k ) && ( this . ze = k ) } } ) ; Object . defineProperty ( this , "strokeStyle" , { enumerable : ! 0 , get : function ( ) { return d ( this . he ) } , set : function ( k ) { "string" === typeof k ? this . he = g ( k ) : k . ve && ( this . he = k ) } } ) ; this . arc = function ( k , p , z , B , D , F ) { I ( this . Td , k , p , z , z , 0 , B , D , F ) } ; this . arcTo = function ( k , p , z , B , D ) { Q ( this . Td , k , p , z , B , D ) } ; this . beginPath = function ( ) { this . Td . delete ( ) ; this . Td = new a . Path } ; this . bezierCurveTo = function ( k , p , z , B , D , F ) { var L = this . Td ; e ( [ k ,
p , z , B , D , F ] ) && ( L . isEmpty ( ) && L . moveTo ( k , p ) , L . cubicTo ( k , p , z , B , D , F ) ) } ; this . clearRect = function ( k , p , z , B ) { this . Rd . setStyle ( a . PaintStyle . Fill ) ; this . Rd . setBlendMode ( a . BlendMode . Clear ) ; this . Od . drawRect ( a . XYWHRect ( k , p , z , B ) , this . Rd ) ; this . Rd . setBlendMode ( this . Qd ) } ; this . clip = function ( k , p ) { "string" === typeof k ? ( p = k , k = this . Td ) : k && k . $e && ( k = k . Xd ) ; k || ( k = this . Td ) ; k = k . copy ( ) ; p && "evenodd" === p . toLowerCase ( ) ? k . setFillType ( a . FillType . EvenOdd ) : k . setFillType ( a . FillType . Winding ) ; this . Od . clipPath ( k , a . ClipOp . Intersect , ! 0 ) ; k . delete ( ) } ;
this . closePath = function ( ) { W ( this . Td ) } ; this . createImageData = function ( ) { if ( 1 === arguments . length ) { var k = arguments [ 0 ] ; return new K ( new Uint8ClampedArray ( 4 * k . width * k . height ) , k . width , k . height ) } if ( 2 === arguments . length ) { k = arguments [ 0 ] ; var p = arguments [ 1 ] ; return new K ( new Uint8ClampedArray ( 4 * k * p ) , k , p ) } throw "createImageData expects 1 or 2 arguments, got " + arguments . length ; } ; this . createLinearGradient = function ( k , p , z , B ) { if ( e ( arguments ) ) { var D = new O ( k , p , z , B ) ; this . De . push ( D ) ; return D } } ; this . createPattern = function ( k ,
p ) { k = new ja ( k , p ) ; this . De . push ( k ) ; return k } ; this . createRadialGradient = function ( k , p , z , B , D , F ) { if ( e ( arguments ) ) { var L = new qa ( k , p , z , B , D , F ) ; this . De . push ( L ) ; return L } } ; this . drawImage = function ( k ) { k instanceof E && ( k = k . tf ( ) ) ; var p = this . Qe ( ) ; if ( 3 === arguments . length || 5 === arguments . length ) var z = a . XYWHRect ( arguments [ 1 ] , arguments [ 2 ] , arguments [ 3 ] || k . width ( ) , arguments [ 4 ] || k . height ( ) ) , B = a . XYWHRect ( 0 , 0 , k . width ( ) , k . height ( ) ) ; else if ( 9 === arguments . length ) z = a . XYWHRect ( arguments [ 5 ] , arguments [ 6 ] , arguments [ 7 ] , arguments [ 8 ] ) ,
B = a . XYWHRect ( arguments [ 1 ] , arguments [ 2 ] , arguments [ 3 ] , arguments [ 4 ] ) ; else throw "invalid number of args for drawImage, need 3, 5, or 9; got " + arguments . length ; this . Od . drawImageRect ( k , B , z , p , ! 1 ) ; p . dispose ( ) } ; this . ellipse = function ( k , p , z , B , D , F , L , ba ) { I ( this . Td , k , p , z , B , D , F , L , ba ) } ; this . Qe = function ( ) { var k = this . Rd . copy ( ) ; k . setStyle ( a . PaintStyle . Fill ) ; if ( f ( this . ce ) ) { var p = a . multiplyByAlpha ( this . ce , this . le ) ; k . setColor ( p ) } else p = this . ce . ve ( this . Vd ) , k . setColor ( a . Color ( 0 , 0 , 0 , this . le ) ) , k . setShader ( p ) ; k . dispose = function ( ) { this . delete ( ) } ;
return k } ; this . fill = function ( k , p ) { "string" === typeof k ? ( p = k , k = this . Td ) : k && k . $e && ( k = k . Xd ) ; if ( "evenodd" === p ) this . Td . setFillType ( a . FillType . EvenOdd ) ; else { if ( "nonzero" !== p && p ) throw "invalid fill rule" ; this . Td . setFillType ( a . FillType . Winding ) } k || ( k = this . Td ) ; p = this . Qe ( ) ; var z = this . Ae ( p ) ; z && ( this . Od . save ( ) , this . te ( ) , this . Od . drawPath ( k , z ) , this . Od . restore ( ) , z . dispose ( ) ) ; this . Od . drawPath ( k , p ) ; p . dispose ( ) } ; this . fillRect = function ( k , p , z , B ) { var D = this . Qe ( ) , F = this . Ae ( D ) ; F && ( this . Od . save ( ) , this . te ( ) , this . Od . drawRect ( a . XYWHRect ( k ,
p , z , B ) , F ) , this . Od . restore ( ) , F . dispose ( ) ) ; this . Od . drawRect ( a . XYWHRect ( k , p , z , B ) , D ) ; D . dispose ( ) } ; this . fillText = function ( k , p , z ) { var B = this . Qe ( ) ; k = a . TextBlob . MakeFromText ( k , this . oe ) ; var D = this . Ae ( B ) ; D && ( this . Od . save ( ) , this . te ( ) , this . Od . drawTextBlob ( k , p , z , D ) , this . Od . restore ( ) , D . dispose ( ) ) ; this . Od . drawTextBlob ( k , p , z , B ) ; k . delete ( ) ; B . dispose ( ) } ; this . getImageData = function ( k , p , z , B ) { return ( k = this . Od . readPixels ( k , p , { width : z , height : B , colorType : a . ColorType . RGBA _8888 , alphaType : a . AlphaType . Unpremul , colorSpace : a . ColorSpace . SRGB } ) ) ?
new K ( new Uint8ClampedArray ( k . buffer ) , z , B ) : null } ; this . getLineDash = function ( ) { return this . we . slice ( ) } ; this . nf = function ( k ) { var p = a . Matrix . invert ( this . Vd ) ; a . Matrix . mapPoints ( p , k ) ; return k } ; this . isPointInPath = function ( k , p , z ) { var B = arguments ; if ( 3 === B . length ) var D = this . Td ; else if ( 4 === B . length ) D = B [ 0 ] , k = B [ 1 ] , p = B [ 2 ] , z = B [ 3 ] ; else throw "invalid arg count, need 3 or 4, got " + B . length ; if ( ! isFinite ( k ) || ! isFinite ( p ) ) return ! 1 ; z = z || "nonzero" ; if ( "nonzero" !== z && "evenodd" !== z ) return ! 1 ; B = this . nf ( [ k , p ] ) ; k = B [ 0 ] ; p = B [ 1 ] ; D . setFillType ( "nonzero" ===
z ? a . FillType . Winding : a . FillType . EvenOdd ) ; return D . contains ( k , p ) } ; this . isPointInStroke = function ( k , p ) { var z = arguments ; if ( 2 === z . length ) var B = this . Td ; else if ( 3 === z . length ) B = z [ 0 ] , k = z [ 1 ] , p = z [ 2 ] ; else throw "invalid arg count, need 2 or 3, got " + z . length ; if ( ! isFinite ( k ) || ! isFinite ( p ) ) return ! 1 ; z = this . nf ( [ k , p ] ) ; k = z [ 0 ] ; p = z [ 1 ] ; B = B . copy ( ) ; B . setFillType ( a . FillType . Winding ) ; B . stroke ( { width : this . lineWidth , miter _limit : this . miterLimit , cap : this . Rd . getStrokeCap ( ) , join : this . Rd . getStrokeJoin ( ) , precision : . 3 } ) ; z = B . contains ( k ,
p ) ; B . delete ( ) ; return z } ; this . lineTo = function ( k , p ) { R ( this . Td , k , p ) } ; this . measureText = function ( k ) { k = this . oe . getGlyphIDs ( k ) ; k = this . oe . getGlyphWidths ( k ) ; let p = 0 ; for ( const z of k ) p += z ; return { width : p } } ; this . moveTo = function ( k , p ) { var z = this . Td ; e ( [ k , p ] ) && z . moveTo ( k , p ) } ; this . putImageData = function ( k , p , z , B , D , F , L ) { if ( e ( [ p , z , B , D , F , L ] ) ) if ( void 0 === B ) this . Od . writePixels ( k . data , k . width , k . height , p , z ) ; else if ( B = B || 0 , D = D || 0 , F = F || k . width , L = L || k . height , 0 > F && ( B += F , F = Math . abs ( F ) ) , 0 > L && ( D += L , L = Math . abs ( L ) ) , 0 > B && ( F += B , B = 0 ) ,
0 > D && ( L += D , D = 0 ) , ! ( 0 >= F || 0 >= L ) ) { k = a . MakeImage ( { width : k . width , height : k . height , alphaType : a . AlphaType . Unpremul , colorType : a . ColorType . RGBA _8888 , colorSpace : a . ColorSpace . SRGB } , k . data , 4 * k . width ) ; var ba = a . XYWHRect ( B , D , F , L ) ; p = a . XYWHRect ( p + B , z + D , F , L ) ; z = a . Matrix . invert ( this . Vd ) ; this . Od . save ( ) ; this . Od . concat ( z ) ; this . Od . drawImageRect ( k , ba , p , null , ! 1 ) ; this . Od . restore ( ) ; k . delete ( ) } } ; this . quadraticCurveTo = function ( k , p , z , B ) { var D = this . Td ; e ( [ k , p , z , B ] ) && ( D . isEmpty ( ) && D . moveTo ( k , p ) , D . quadTo ( k , p , z , B ) ) } ; this . rect = function ( k ,
p , z , B ) { var D = this . Td ; k = a . XYWHRect ( k , p , z , B ) ; e ( k ) && D . addRect ( k ) } ; this . resetTransform = function ( ) { this . Td . transform ( this . Vd ) ; var k = a . Matrix . invert ( this . Vd ) ; this . Od . concat ( k ) ; this . Vd = this . Od . getTotalMatrix ( ) } ; this . restore = function ( ) { var k = this . mf . pop ( ) ; if ( k ) { var p = a . Matrix . multiply ( this . Vd , a . Matrix . invert ( k . Hf ) ) ; this . Td . transform ( p ) ; this . Rd . delete ( ) ; this . Rd = k . cg ; this . we = k . ag ; this . Le = k . pg ; this . he = k . og ; this . ce = k . fs ; this . ye = k . mg ; this . ze = k . ng ; this . xe = k . gg ; this . Ke = k . lg ; this . le = k . Pf ; this . Qd = k . Qf ; this . Je = k . bg ;
this . Re = k . Of ; this . Od . restore ( ) ; this . Vd = this . Od . getTotalMatrix ( ) } } ; this . rotate = function ( k ) { if ( isFinite ( k ) ) { var p = a . Matrix . rotated ( - k ) ; this . Td . transform ( p ) ; this . Od . rotate ( k / Math . PI * 180 , 0 , 0 ) ; this . Vd = this . Od . getTotalMatrix ( ) } } ; this . save = function ( ) { if ( this . ce . ue ) { var k = this . ce . ue ( ) ; this . De . push ( k ) } else k = this . ce ; if ( this . he . ue ) { var p = this . he . ue ( ) ; this . De . push ( p ) } else p = this . he ; this . mf . push ( { Hf : this . Vd . slice ( ) , ag : this . we . slice ( ) , pg : this . Le , og : p , fs : k , mg : this . ye , ng : this . ze , gg : this . xe , lg : this . Ke , Pf : this . le ,
bg : this . Je , Qf : this . Qd , cg : this . Rd . copy ( ) , Of : this . Re } ) ; this . Od . save ( ) } ; this . scale = function ( k , p ) { if ( e ( arguments ) ) { var z = a . Matrix . scaled ( 1 / k , 1 / p ) ; this . Td . transform ( z ) ; this . Od . scale ( k , p ) ; this . Vd = this . Od . getTotalMatrix ( ) } } ; this . setLineDash = function ( k ) { for ( var p = 0 ; p < k . length ; p ++ ) if ( ! isFinite ( k [ p ] ) || 0 > k [ p ] ) return ; 1 === k . length % 2 && Array . prototype . push . apply ( k , k ) ; this . we = k } ; this . setTransform = function ( k , p , z , B , D , F ) { e ( arguments ) && ( this . resetTransform ( ) , this . transform ( k , p , z , B , D , F ) ) } ; this . te = function ( ) { var k = a . Matrix . invert ( this . Vd ) ;
this . Od . concat ( k ) ; this . Od . concat ( a . Matrix . translated ( this . ye , this . ze ) ) ; this . Od . concat ( this . Vd ) } ; this . Ae = function ( k ) { var p = a . multiplyByAlpha ( this . Ke , this . le ) ; if ( ! a . getColorComponents ( p ) [ 3 ] || ! ( this . xe || this . ze || this . ye ) ) return null ; k = k . copy ( ) ; k . setColor ( p ) ; var z = a . MaskFilter . MakeBlur ( a . BlurStyle . Normal , this . xe / 2 , ! 1 ) ; k . setMaskFilter ( z ) ; k . dispose = function ( ) { z . delete ( ) ; this . delete ( ) } ; return k } ; this . bf = function ( ) { var k = this . Rd . copy ( ) ; k . setStyle ( a . PaintStyle . Stroke ) ; if ( f ( this . he ) ) { var p = a . multiplyByAlpha ( this . he ,
this . le ) ; k . setColor ( p ) } else p = this . he . ve ( this . Vd ) , k . setColor ( a . Color ( 0 , 0 , 0 , this . le ) ) , k . setShader ( p ) ; k . setStrokeWidth ( this . Le ) ; if ( this . we . length ) { var z = a . PathEffect . MakeDash ( this . we , this . Je ) ; k . setPathEffect ( z ) } k . dispose = function ( ) { z && z . delete ( ) ; this . delete ( ) } ; return k } ; this . stroke = function ( k ) { k = k ? k . Xd : this . Td ; var p = this . bf ( ) , z = this . Ae ( p ) ; z && ( this . Od . save ( ) , this . te ( ) , this . Od . drawPath ( k , z ) , this . Od . restore ( ) , z . dispose ( ) ) ; this . Od . drawPath ( k , p ) ; p . dispose ( ) } ; this . strokeRect = function ( k , p , z , B ) { var D = this . bf ( ) ,
F = this . Ae ( D ) ; F && ( this . Od . save ( ) , this . te ( ) , this . Od . drawRect ( a . XYWHRect ( k , p , z , B ) , F ) , this . Od . restore ( ) , F . dispose ( ) ) ; this . Od . drawRect ( a . XYWHRect ( k , p , z , B ) , D ) ; D . dispose ( ) } ; this . strokeText = function ( k , p , z ) { var B = this . bf ( ) ; k = a . TextBlob . MakeFromText ( k , this . oe ) ; var D = this . Ae ( B ) ; D && ( this . Od . save ( ) , this . te ( ) , this . Od . drawTextBlob ( k , p , z , D ) , this . Od . restore ( ) , D . dispose ( ) ) ; this . Od . drawTextBlob ( k , p , z , B ) ; k . delete ( ) ; B . dispose ( ) } ; this . translate = function ( k , p ) { if ( e ( arguments ) ) { var z = a . Matrix . translated ( - k , - p ) ; this . Td . transform ( z ) ;
this . Od . translate ( k , p ) ; this . Vd = this . Od . getTotalMatrix ( ) } } ; this . transform = function ( k , p , z , B , D , F ) { k = [ k , z , D , p , B , F , 0 , 0 , 1 ] ; p = a . Matrix . invert ( k ) ; this . Td . transform ( p ) ; this . Od . concat ( k ) ; this . Vd = this . Od . getTotalMatrix ( ) } ; this . addHitRegion = function ( ) { } ; this . clearHitRegions = function ( ) { } ; this . drawFocusIfNeeded = function ( ) { } ; this . removeHitRegion = function ( ) { } ; this . scrollPathIntoView = function ( ) { } ; Object . defineProperty ( this , "canvas" , { value : null , writable : ! 1 } ) } function y ( G ) { this . cf = G ; this . Nd = new r ( G . getCanvas ( ) ) ; this . Se =
[ ] ; this . decodeImage = function ( k ) { k = a . MakeImageFromEncoded ( k ) ; if ( ! k ) throw "Invalid input" ; this . Se . push ( k ) ; return new E ( k ) } ; this . loadFont = function ( k , p ) { k = a . Typeface . MakeFreeTypeFaceFromData ( k ) ; if ( ! k ) return null ; this . Se . push ( k ) ; var z = ( p . style || "normal" ) + "|" + ( p . variant || "normal" ) + "|" + ( p . weight || "normal" ) ; p = p . family ; ea [ p ] || ( ea [ p ] = { "*" : k } ) ; ea [ p ] [ z ] = k } ; this . makePath2D = function ( k ) { k = new aa ( k ) ; this . Se . push ( k . Xd ) ; return k } ; this . getContext = function ( k ) { return "2d" === k ? this . Nd : null } ; this . toDataURL = function ( k , p ) { this . cf . flush ( ) ;
var z = this . cf . makeImageSnapshot ( ) ; if ( z ) { k = k || "image/png" ; var B = a . ImageFormat . PNG ; "image/jpeg" === k && ( B = a . ImageFormat . JPEG ) ; if ( p = z . encodeToBytes ( B , p || . 92 ) ) { z . delete ( ) ; k = "data:" + k + ";base64," ; if ( "undefined" !== typeof Buffer ) p = Buffer . from ( p ) . toString ( "base64" ) ; else { z = 0 ; B = p . length ; for ( var D = "" , F ; z < B ; ) F = p . slice ( z , Math . min ( z + 32768 , B ) ) , D += String . fromCharCode . apply ( null , F ) , z += 32768 ; p = btoa ( D ) } return k + p } } } ; this . dispose = function ( ) { this . Nd . ne ( ) ; this . Se . forEach ( function ( k ) { k . delete ( ) } ) ; this . cf . dispose ( ) } } function E ( G ) { this . width =
G . width ( ) ; this . height = G . height ( ) ; this . naturalWidth = this . width ; this . naturalHeight = this . height ; this . tf = function ( ) { return G } } function K ( G , k , p ) { if ( ! k || 0 === p ) throw "invalid dimensions, width and height must be non-zero" ; if ( G . length % 4 ) throw "arr must be a multiple of 4" ; p = p || G . length / ( 4 * k ) ; Object . defineProperty ( this , "data" , { value : G , writable : ! 1 } ) ; Object . defineProperty ( this , "height" , { value : p , writable : ! 1 } ) ; Object . defineProperty ( this , "width" , { value : k , writable : ! 1 } ) } function O ( G , k , p , z ) { this . Zd = null ; this . ee = [ ] ;
this . be = [ ] ; this . addColorStop = function ( B , D ) { if ( 0 > B || 1 < B || ! isFinite ( B ) ) throw "offset must be between 0 and 1 inclusively" ; D = g ( D ) ; var F = this . be . indexOf ( B ) ; if ( - 1 !== F ) this . ee [ F ] = D ; else { for ( F = 0 ; F < this . be . length && ! ( this . be [ F ] > B ) ; F ++ ) ; this . be . splice ( F , 0 , B ) ; this . ee . splice ( F , 0 , D ) } } ; this . ue = function ( ) { var B = new O ( G , k , p , z ) ; B . ee = this . ee . slice ( ) ; B . be = this . be . slice ( ) ; return B } ; this . ne = function ( ) { this . Zd && ( this . Zd . delete ( ) , this . Zd = null ) } ; this . ve = function ( B ) { var D = [ G , k , p , z ] ; a . Matrix . mapPoints ( B , D ) ; B = D [ 0 ] ; var F = D [ 1 ] ,
L = D [ 2 ] ; D = D [ 3 ] ; this . ne ( ) ; return this . Zd = a . Shader . MakeLinearGradient ( [ B , F ] , [ L , D ] , this . ee , this . be , a . TileMode . Clamp ) } } function Q ( G , k , p , z , B , D ) { if ( e ( [ k , p , z , B , D ] ) ) { if ( 0 > D ) throw "radii cannot be negative" ; G . isEmpty ( ) && G . moveTo ( k , p ) ; G . arcToTangent ( k , p , z , B , D ) } } function W ( G ) { if ( ! G . isEmpty ( ) ) { var k = G . getBounds ( ) ; ( k [ 3 ] - k [ 1 ] || k [ 2 ] - k [ 0 ] ) && G . close ( ) } } function u ( G , k , p , z , B , D , F ) { F = ( F - D ) / Math . PI * 180 ; D = D / Math . PI * 180 ; k = a . LTRBRect ( k - z , p - B , k + z , p + B ) ; 1E-5 > Math . abs ( Math . abs ( F ) - 360 ) ? ( p = F / 2 , G . arcToOval ( k , D , p , ! 1 ) , G . arcToOval ( k ,
D + p , p , ! 1 ) ) : G . arcToOval ( k , D , F , ! 1 ) } function I ( G , k , p , z , B , D , F , L , ba ) { if ( e ( [ k , p , z , B , D , F , L ] ) ) { if ( 0 > z || 0 > B ) throw "radii cannot be negative" ; var ca = 2 * Math . PI , Ia = F % ca ; 0 > Ia && ( Ia += ca ) ; var ab = Ia - F ; F = Ia ; L += ab ; ! ba && L - F >= ca ? L = F + ca : ba && F - L >= ca ? L = F - ca : ! ba && F > L ? L = F + ( ca - ( F - L ) % ca ) : ba && F < L && ( L = F - ( ca - ( L - F ) % ca ) ) ; D ? ( ba = a . Matrix . rotated ( D , k , p ) , D = a . Matrix . rotated ( - D , k , p ) , G . transform ( D ) , u ( G , k , p , z , B , F , L ) , G . transform ( ba ) ) : u ( G , k , p , z , B , F , L ) } } function R ( G , k , p ) { e ( [ k , p ] ) && ( G . isEmpty ( ) && G . moveTo ( k , p ) , G . lineTo ( k , p ) ) } function aa ( G ) { this . Xd =
null ; this . Xd = "string" === typeof G ? a . Path . MakeFromSVGString ( G ) : G && G . $e ? G . Xd . copy ( ) : new a . Path ; this . $e = function ( ) { return this . Xd } ; this . addPath = function ( k , p ) { p || ( p = { a : 1 , c : 0 , e : 0 , b : 0 , d : 1 , f : 0 } ) ; this . Xd . addPath ( k . Xd , [ p . a , p . c , p . e , p . b , p . d , p . f ] ) } ; this . arc = function ( k , p , z , B , D , F ) { I ( this . Xd , k , p , z , z , 0 , B , D , F ) } ; this . arcTo = function ( k , p , z , B , D ) { Q ( this . Xd , k , p , z , B , D ) } ; this . bezierCurveTo = function ( k , p , z , B , D , F ) { var L = this . Xd ; e ( [ k , p , z , B , D , F ] ) && ( L . isEmpty ( ) && L . moveTo ( k , p ) , L . cubicTo ( k , p , z , B , D , F ) ) } ; this . closePath = function ( ) { W ( this . Xd ) } ;
this . ellipse = function ( k , p , z , B , D , F , L , ba ) { I ( this . Xd , k , p , z , B , D , F , L , ba ) } ; this . lineTo = function ( k , p ) { R ( this . Xd , k , p ) } ; this . moveTo = function ( k , p ) { var z = this . Xd ; e ( [ k , p ] ) && z . moveTo ( k , p ) } ; this . quadraticCurveTo = function ( k , p , z , B ) { var D = this . Xd ; e ( [ k , p , z , B ] ) && ( D . isEmpty ( ) && D . moveTo ( k , p ) , D . quadTo ( k , p , z , B ) ) } ; this . rect = function ( k , p , z , B ) { var D = this . Xd ; k = a . XYWHRect ( k , p , z , B ) ; e ( k ) && D . addRect ( k ) } } function ja ( G , k ) { this . Zd = null ; G instanceof E && ( G = G . tf ( ) ) ; this . Cf = G ; this . _transform = a . Matrix . identity ( ) ; "" === k && ( k = "repeat" ) ; switch ( k ) { case "repeat-x" : this . Be =
a . TileMode . Repeat ; this . Ce = a . TileMode . Decal ; break ; case "repeat-y" : this . Be = a . TileMode . Decal ; this . Ce = a . TileMode . Repeat ; break ; case "repeat" : this . Ce = this . Be = a . TileMode . Repeat ; break ; case "no-repeat" : this . Ce = this . Be = a . TileMode . Decal ; break ; default : throw "invalid repetition mode " + k ; } this . setTransform = function ( p ) { p = [ p . a , p . c , p . e , p . b , p . d , p . f , 0 , 0 , 1 ] ; e ( p ) && ( this . _transform = p ) } ; this . ue = function ( ) { var p = new ja ; p . Be = this . Be ; p . Ce = this . Ce ; return p } ; this . ne = function ( ) { this . Zd && ( this . Zd . delete ( ) , this . Zd = null ) } ; this . ve =
function ( ) { this . ne ( ) ; return this . Zd = this . Cf . makeShaderCubic ( this . Be , this . Ce , 1 / 3 , 1 / 3 , this . _transform ) } } function qa ( G , k , p , z , B , D ) { this . Zd = null ; this . ee = [ ] ; this . be = [ ] ; this . addColorStop = function ( F , L ) { if ( 0 > F || 1 < F || ! isFinite ( F ) ) throw "offset must be between 0 and 1 inclusively" ; L = g ( L ) ; var ba = this . be . indexOf ( F ) ; if ( - 1 !== ba ) this . ee [ ba ] = L ; else { for ( ba = 0 ; ba < this . be . length && ! ( this . be [ ba ] > F ) ; ba ++ ) ; this . be . splice ( ba , 0 , F ) ; this . ee . splice ( ba , 0 , L ) } } ; this . ue = function ( ) { var F = new qa ( G , k , p , z , B , D ) ; F . ee = this . ee . slice ( ) ; F . be =
this . be . slice ( ) ; return F } ; this . ne = function ( ) { this . Zd && ( this . Zd . delete ( ) , this . Zd = null ) } ; this . ve = function ( F ) { var L = [ G , k , z , B ] ; a . Matrix . mapPoints ( F , L ) ; var ba = L [ 0 ] , ca = L [ 1 ] , Ia = L [ 2 ] ; L = L [ 3 ] ; var ab = ( Math . abs ( F [ 0 ] ) + Math . abs ( F [ 4 ] ) ) / 2 ; F = p * ab ; ab *= D ; this . ne ( ) ; return this . Zd = a . Shader . MakeTwoPointConicalGradient ( [ ba , ca ] , F , [ Ia , L ] , ab , this . ee , this . be , a . TileMode . Clamp ) } } a . _testing = { } ; var ua = { aliceblue : Float32Array . of ( . 941 , . 973 , 1 , 1 ) , antiquewhite : Float32Array . of ( . 98 , . 922 , . 843 , 1 ) , aqua : Float32Array . of ( 0 , 1 , 1 , 1 ) , aquamarine : Float32Array . of ( . 498 ,
2022-02-13 09:50:27 +01:00
1 , . 831 , 1 ) , azure : Float32Array . of ( . 941 , 1 , 1 , 1 ) , beige : Float32Array . of ( . 961 , . 961 , . 863 , 1 ) , bisque : Float32Array . of ( 1 , . 894 , . 769 , 1 ) , black : Float32Array . of ( 0 , 0 , 0 , 1 ) , blanchedalmond : Float32Array . of ( 1 , . 922 , . 804 , 1 ) , blue : Float32Array . of ( 0 , 0 , 1 , 1 ) , blueviolet : Float32Array . of ( . 541 , . 169 , . 886 , 1 ) , brown : Float32Array . of ( . 647 , . 165 , . 165 , 1 ) , burlywood : Float32Array . of ( . 871 , . 722 , . 529 , 1 ) , cadetblue : Float32Array . of ( . 373 , . 62 , . 627 , 1 ) , chartreuse : Float32Array . of ( . 498 , 1 , 0 , 1 ) , chocolate : Float32Array . of ( . 824 , . 412 , . 118 , 1 ) , coral : Float32Array . of ( 1 ,
. 498 , . 314 , 1 ) , cornflowerblue : Float32Array . of ( . 392 , . 584 , . 929 , 1 ) , cornsilk : Float32Array . of ( 1 , . 973 , . 863 , 1 ) , crimson : Float32Array . of ( . 863 , . 078 , . 235 , 1 ) , cyan : Float32Array . of ( 0 , 1 , 1 , 1 ) , darkblue : Float32Array . of ( 0 , 0 , . 545 , 1 ) , darkcyan : Float32Array . of ( 0 , . 545 , . 545 , 1 ) , darkgoldenrod : Float32Array . of ( . 722 , . 525 , . 043 , 1 ) , darkgray : Float32Array . of ( . 663 , . 663 , . 663 , 1 ) , darkgreen : Float32Array . of ( 0 , . 392 , 0 , 1 ) , darkgrey : Float32Array . of ( . 663 , . 663 , . 663 , 1 ) , darkkhaki : Float32Array . of ( . 741 , . 718 , . 42 , 1 ) , darkmagenta : Float32Array . of ( . 545 , 0 ,
. 545 , 1 ) , darkolivegreen : Float32Array . of ( . 333 , . 42 , . 184 , 1 ) , darkorange : Float32Array . of ( 1 , . 549 , 0 , 1 ) , darkorchid : Float32Array . of ( . 6 , . 196 , . 8 , 1 ) , darkred : Float32Array . of ( . 545 , 0 , 0 , 1 ) , darksalmon : Float32Array . of ( . 914 , . 588 , . 478 , 1 ) , darkseagreen : Float32Array . of ( . 561 , . 737 , . 561 , 1 ) , darkslateblue : Float32Array . of ( . 282 , . 239 , . 545 , 1 ) , darkslategray : Float32Array . of ( . 184 , . 31 , . 31 , 1 ) , darkslategrey : Float32Array . of ( . 184 , . 31 , . 31 , 1 ) , darkturquoise : Float32Array . of ( 0 , . 808 , . 82 , 1 ) , darkviolet : Float32Array . of ( . 58 , 0 , . 827 , 1 ) , deeppink : Float32Array . of ( 1 ,
. 078 , . 576 , 1 ) , deepskyblue : Float32Array . of ( 0 , . 749 , 1 , 1 ) , dimgray : Float32Array . of ( . 412 , . 412 , . 412 , 1 ) , dimgrey : Float32Array . of ( . 412 , . 412 , . 412 , 1 ) , dodgerblue : Float32Array . of ( . 118 , . 565 , 1 , 1 ) , firebrick : Float32Array . of ( . 698 , . 133 , . 133 , 1 ) , floralwhite : Float32Array . of ( 1 , . 98 , . 941 , 1 ) , forestgreen : Float32Array . of ( . 133 , . 545 , . 133 , 1 ) , fuchsia : Float32Array . of ( 1 , 0 , 1 , 1 ) , gainsboro : Float32Array . of ( . 863 , . 863 , . 863 , 1 ) , ghostwhite : Float32Array . of ( . 973 , . 973 , 1 , 1 ) , gold : Float32Array . of ( 1 , . 843 , 0 , 1 ) , goldenrod : Float32Array . of ( . 855 , . 647 , . 125 ,
1 ) , gray : Float32Array . of ( . 502 , . 502 , . 502 , 1 ) , green : Float32Array . of ( 0 , . 502 , 0 , 1 ) , greenyellow : Float32Array . of ( . 678 , 1 , . 184 , 1 ) , grey : Float32Array . of ( . 502 , . 502 , . 502 , 1 ) , honeydew : Float32Array . of ( . 941 , 1 , . 941 , 1 ) , hotpink : Float32Array . of ( 1 , . 412 , . 706 , 1 ) , indianred : Float32Array . of ( . 804 , . 361 , . 361 , 1 ) , indigo : Float32Array . of ( . 294 , 0 , . 51 , 1 ) , ivory : Float32Array . of ( 1 , 1 , . 941 , 1 ) , khaki : Float32Array . of ( . 941 , . 902 , . 549 , 1 ) , lavender : Float32Array . of ( . 902 , . 902 , . 98 , 1 ) , lavenderblush : Float32Array . of ( 1 , . 941 , . 961 , 1 ) , lawngreen : Float32Array . of ( . 486 ,
. 988 , 0 , 1 ) , lemonchiffon : Float32Array . of ( 1 , . 98 , . 804 , 1 ) , lightblue : Float32Array . of ( . 678 , . 847 , . 902 , 1 ) , lightcoral : Float32Array . of ( . 941 , . 502 , . 502 , 1 ) , lightcyan : Float32Array . of ( . 878 , 1 , 1 , 1 ) , lightgoldenrodyellow : Float32Array . of ( . 98 , . 98 , . 824 , 1 ) , lightgray : Float32Array . of ( . 827 , . 827 , . 827 , 1 ) , lightgreen : Float32Array . of ( . 565 , . 933 , . 565 , 1 ) , lightgrey : Float32Array . of ( . 827 , . 827 , . 827 , 1 ) , lightpink : Float32Array . of ( 1 , . 714 , . 757 , 1 ) , lightsalmon : Float32Array . of ( 1 , . 627 , . 478 , 1 ) , lightseagreen : Float32Array . of ( . 125 , . 698 , . 667 , 1 ) , lightskyblue : Float32Array . of ( . 529 ,
. 808 , . 98 , 1 ) , lightslategray : Float32Array . of ( . 467 , . 533 , . 6 , 1 ) , lightslategrey : Float32Array . of ( . 467 , . 533 , . 6 , 1 ) , lightsteelblue : Float32Array . of ( . 69 , . 769 , . 871 , 1 ) , lightyellow : Float32Array . of ( 1 , 1 , . 878 , 1 ) , lime : Float32Array . of ( 0 , 1 , 0 , 1 ) , limegreen : Float32Array . of ( . 196 , . 804 , . 196 , 1 ) , linen : Float32Array . of ( . 98 , . 941 , . 902 , 1 ) , magenta : Float32Array . of ( 1 , 0 , 1 , 1 ) , maroon : Float32Array . of ( . 502 , 0 , 0 , 1 ) , mediumaquamarine : Float32Array . of ( . 4 , . 804 , . 667 , 1 ) , mediumblue : Float32Array . of ( 0 , 0 , . 804 , 1 ) , mediumorchid : Float32Array . of ( . 729 , . 333 ,
. 827 , 1 ) , mediumpurple : Float32Array . of ( . 576 , . 439 , . 859 , 1 ) , mediumseagreen : Float32Array . of ( . 235 , . 702 , . 443 , 1 ) , mediumslateblue : Float32Array . of ( . 482 , . 408 , . 933 , 1 ) , mediumspringgreen : Float32Array . of ( 0 , . 98 , . 604 , 1 ) , mediumturquoise : Float32Array . of ( . 282 , . 82 , . 8 , 1 ) , mediumvioletred : Float32Array . of ( . 78 , . 082 , . 522 , 1 ) , midnightblue : Float32Array . of ( . 098 , . 098 , . 439 , 1 ) , mintcream : Float32Array . of ( . 961 , 1 , . 98 , 1 ) , mistyrose : Float32Array . of ( 1 , . 894 , . 882 , 1 ) , moccasin : Float32Array . of ( 1 , . 894 , . 71 , 1 ) , navajowhite : Float32Array . of ( 1 , . 871 , . 678 ,
1 ) , navy : Float32Array . of ( 0 , 0 , . 502 , 1 ) , oldlace : Float32Array . of ( . 992 , . 961 , . 902 , 1 ) , olive : Float32Array . of ( . 502 , . 502 , 0 , 1 ) , olivedrab : Float32Array . of ( . 42 , . 557 , . 137 , 1 ) , orange : Float32Array . of ( 1 , . 647 , 0 , 1 ) , orangered : Float32Array . of ( 1 , . 271 , 0 , 1 ) , orchid : Float32Array . of ( . 855 , . 439 , . 839 , 1 ) , palegoldenrod : Float32Array . of ( . 933 , . 91 , . 667 , 1 ) , palegreen : Float32Array . of ( . 596 , . 984 , . 596 , 1 ) , paleturquoise : Float32Array . of ( . 686 , . 933 , . 933 , 1 ) , palevioletred : Float32Array . of ( . 859 , . 439 , . 576 , 1 ) , papayawhip : Float32Array . of ( 1 , . 937 , . 835 , 1 ) ,
peachpuff : Float32Array . of ( 1 , . 855 , . 725 , 1 ) , peru : Float32Array . of ( . 804 , . 522 , . 247 , 1 ) , pink : Float32Array . of ( 1 , . 753 , . 796 , 1 ) , plum : Float32Array . of ( . 867 , . 627 , . 867 , 1 ) , powderblue : Float32Array . of ( . 69 , . 878 , . 902 , 1 ) , purple : Float32Array . of ( . 502 , 0 , . 502 , 1 ) , rebeccapurple : Float32Array . of ( . 4 , . 2 , . 6 , 1 ) , red : Float32Array . of ( 1 , 0 , 0 , 1 ) , rosybrown : Float32Array . of ( . 737 , . 561 , . 561 , 1 ) , royalblue : Float32Array . of ( . 255 , . 412 , . 882 , 1 ) , saddlebrown : Float32Array . of ( . 545 , . 271 , . 075 , 1 ) , salmon : Float32Array . of ( . 98 , . 502 , . 447 , 1 ) , sandybrown : Float32Array . of ( . 957 ,
. 643 , . 376 , 1 ) , seagreen : Float32Array . of ( . 18 , . 545 , . 341 , 1 ) , seashell : Float32Array . of ( 1 , . 961 , . 933 , 1 ) , sienna : Float32Array . of ( . 627 , . 322 , . 176 , 1 ) , silver : Float32Array . of ( . 753 , . 753 , . 753 , 1 ) , skyblue : Float32Array . of ( . 529 , . 808 , . 922 , 1 ) , slateblue : Float32Array . of ( . 416 , . 353 , . 804 , 1 ) , slategray : Float32Array . of ( . 439 , . 502 , . 565 , 1 ) , slategrey : Float32Array . of ( . 439 , . 502 , . 565 , 1 ) , snow : Float32Array . of ( 1 , . 98 , . 98 , 1 ) , springgreen : Float32Array . of ( 0 , 1 , . 498 , 1 ) , steelblue : Float32Array . of ( . 275 , . 51 , . 706 , 1 ) , tan : Float32Array . of ( . 824 , . 706 , . 549 ,
1 ) , teal : Float32Array . of ( 0 , . 502 , . 502 , 1 ) , thistle : Float32Array . of ( . 847 , . 749 , . 847 , 1 ) , tomato : Float32Array . of ( 1 , . 388 , . 278 , 1 ) , transparent : Float32Array . of ( 0 , 0 , 0 , 0 ) , turquoise : Float32Array . of ( . 251 , . 878 , . 816 , 1 ) , violet : Float32Array . of ( . 933 , . 51 , . 933 , 1 ) , wheat : Float32Array . of ( . 961 , . 871 , . 702 , 1 ) , white : Float32Array . of ( 1 , 1 , 1 , 1 ) , whitesmoke : Float32Array . of ( . 961 , . 961 , . 961 , 1 ) , yellow : Float32Array . of ( 1 , 1 , 0 , 1 ) , yellowgreen : Float32Array . of ( . 604 , . 804 , . 196 , 1 ) } ; a . _testing . parseColor = g ; a . _testing . colorToString = d ; var Aa = RegExp ( "(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)" ) ,
2022-09-11 16:33:34 +02:00
ea = { "Noto Mono" : { "*" : null } , monospace : { "*" : null } } ; a . _testing . parseFontString = l ; a . MakeCanvas = function ( G , k ) { return ( G = a . MakeSurface ( G , k ) ) ? new y ( G ) : null } ; a . ImageData = function ( ) { if ( 2 === arguments . length ) { var G = arguments [ 0 ] , k = arguments [ 1 ] ; return new K ( new Uint8ClampedArray ( 4 * G * k ) , G , k ) } if ( 3 === arguments . length ) { var p = arguments [ 0 ] ; if ( p . prototype . constructor !== Uint8ClampedArray ) throw "bytes must be given as a Uint8ClampedArray" ; G = arguments [ 1 ] ; k = arguments [ 2 ] ; if ( p % 4 ) throw "bytes must be given in a multiple of 4" ;
if ( p % G ) throw "bytes must divide evenly by width" ; if ( k && k !== p / ( 4 * G ) ) throw "invalid height given" ; return new K ( p , G , p / ( 4 * G ) ) } throw "invalid number of arguments - takes 2 or 3, saw " + arguments . length ; } } ) ( ) } ) ( v ) ; var sa = Object . assign ( { } , v ) , va = "./this.program" , wa = ( a , b ) => { throw b ; } , xa = "object" == typeof window , ya = "function" == typeof importScripts , za = "object" == typeof process && "object" == typeof process . versions && "string" == typeof process . versions . node , Ba = "" , Ca , Da , Ea , fs , Fa , Ga ;
if ( za ) Ba = ya ? require ( "path" ) . dirname ( Ba ) + "/" : _ _dirname + "/" , Ga = ( ) => { Fa || ( fs = require ( "fs" ) , Fa = require ( "path" ) ) } , Ca = function ( a , b ) { Ga ( ) ; a = Fa . normalize ( a ) ; return fs . readFileSync ( a , b ? void 0 : "utf8" ) } , Ea = a => { a = Ca ( a , ! 0 ) ; a . buffer || ( a = new Uint8Array ( a ) ) ; return a } , Da = ( a , b , c ) => { Ga ( ) ; a = Fa . normalize ( a ) ; fs . readFile ( a , function ( f , h ) { f ? c ( f ) : b ( h . buffer ) } ) } , 1 < process . argv . length && ( va = process . argv [ 1 ] . replace ( /\\/g , "/" ) ) , process . argv . slice ( 2 ) , process . on ( "unhandledRejection" , function ( a ) { throw a ; } ) , wa = ( a , b ) => { if ( noExitRuntime ) throw process . exitCode =
a , b ; b instanceof Ja || Ka ( "exiting due to exception: " + b ) ; process . exit ( a ) } , v . inspect = function ( ) { return "[Emscripten Module object]" } ; else if ( xa || ya ) ya ? Ba = self . location . href : "undefined" != typeof document && document . currentScript && ( Ba = document . currentScript . src ) , _scriptDir && ( Ba = _scriptDir ) , 0 !== Ba . indexOf ( "blob:" ) ? Ba = Ba . substr ( 0 , Ba . replace ( /[?#].*/ , "" ) . lastIndexOf ( "/" ) + 1 ) : Ba = "" , Ca = a => { var b = new XMLHttpRequest ; b . open ( "GET" , a , ! 1 ) ; b . send ( null ) ; return b . responseText } , ya && ( Ea = a => { var b = new XMLHttpRequest ; b . open ( "GET" ,
a , ! 1 ) ; b . responseType = "arraybuffer" ; b . send ( null ) ; return new Uint8Array ( b . response ) } ) , Da = ( a , b , c ) => { var f = new XMLHttpRequest ; f . open ( "GET" , a , ! 0 ) ; f . responseType = "arraybuffer" ; f . onload = ( ) => { 200 == f . status || 0 == f . status && f . response ? b ( f . response ) : c ( ) } ; f . onerror = c ; f . send ( null ) } ; var La = v . print || console . log . bind ( console ) , Ka = v . printErr || console . warn . bind ( console ) ; Object . assign ( v , sa ) ; sa = null ; v . thisProgram && ( va = v . thisProgram ) ; v . quit && ( wa = v . quit ) ; var Ma = 0 , Na ; v . wasmBinary && ( Na = v . wasmBinary ) ;
var noExitRuntime = v . noExitRuntime || ! 0 ; "object" != typeof WebAssembly && Pa ( "no native wasm support detected" ) ; var Qa , Ra = ! 1 , Sa = "undefined" != typeof TextDecoder ? new TextDecoder ( "utf8" ) : void 0 ;
function Ua ( a , b , c ) { var f = b + c ; for ( c = b ; a [ c ] && ! ( c >= f ) ; ) ++ c ; if ( 16 < c - b && a . buffer && Sa ) return Sa . decode ( a . subarray ( b , c ) ) ; for ( f = "" ; b < c ; ) { var h = a [ b ++ ] ; if ( h & 128 ) { var m = a [ b ++ ] & 63 ; if ( 192 == ( h & 224 ) ) f += String . fromCharCode ( ( h & 31 ) << 6 | m ) ; else { var t = a [ b ++ ] & 63 ; h = 224 == ( h & 240 ) ? ( h & 15 ) << 12 | m << 6 | t : ( h & 7 ) << 18 | m << 12 | t << 6 | a [ b ++ ] & 63 ; 65536 > h ? f += String . fromCharCode ( h ) : ( h -= 65536 , f += String . fromCharCode ( 55296 | h >> 10 , 56320 | h & 1023 ) ) } } else f += String . fromCharCode ( h ) } return f } function Va ( a , b ) { return a ? Ua ( J , a , b ) : "" }
function ra ( a , b , c , f ) { if ( ! ( 0 < f ) ) return 0 ; var h = c ; f = c + f - 1 ; for ( var m = 0 ; m < a . length ; ++ m ) { var t = a . charCodeAt ( m ) ; if ( 55296 <= t && 57343 >= t ) { var n = a . charCodeAt ( ++ m ) ; t = 65536 + ( ( t & 1023 ) << 10 ) | n & 1023 } if ( 127 >= t ) { if ( c >= f ) break ; b [ c ++ ] = t } else { if ( 2047 >= t ) { if ( c + 1 >= f ) break ; b [ c ++ ] = 192 | t >> 6 } else { if ( 65535 >= t ) { if ( c + 2 >= f ) break ; b [ c ++ ] = 224 | t >> 12 } else { if ( c + 3 >= f ) break ; b [ c ++ ] = 240 | t >> 18 ; b [ c ++ ] = 128 | t >> 12 & 63 } b [ c ++ ] = 128 | t >> 6 & 63 } b [ c ++ ] = 128 | t & 63 } } b [ c ] = 0 ; return c - h }
function oa ( a ) { for ( var b = 0 , c = 0 ; c < a . length ; ++ c ) { var f = a . charCodeAt ( c ) ; 55296 <= f && 57343 >= f && ( f = 65536 + ( ( f & 1023 ) << 10 ) | a . charCodeAt ( ++ c ) & 1023 ) ; 127 >= f ? ++ b : b = 2047 >= f ? b + 2 : 65535 >= f ? b + 3 : b + 4 } return b } var Wa = "undefined" != typeof TextDecoder ? new TextDecoder ( "utf-16le" ) : void 0 ; function Xa ( a , b ) { var c = a >> 1 ; for ( var f = c + b / 2 ; ! ( c >= f ) && Ya [ c ] ; ) ++ c ; c <<= 1 ; if ( 32 < c - a && Wa ) return Wa . decode ( J . subarray ( a , c ) ) ; c = "" ; for ( f = 0 ; ! ( f >= b / 2 ) ; ++ f ) { var h = Za [ a + 2 * f >> 1 ] ; if ( 0 == h ) break ; c += String . fromCharCode ( h ) } return c }
function bb ( a , b , c ) { void 0 === c && ( c = 2147483647 ) ; if ( 2 > c ) return 0 ; c -= 2 ; var f = b ; c = c < 2 * a . length ? c / 2 : a . length ; for ( var h = 0 ; h < c ; ++ h ) Za [ b >> 1 ] = a . charCodeAt ( h ) , b += 2 ; Za [ b >> 1 ] = 0 ; return b - f } function cb ( a ) { return 2 * a . length } function db ( a , b ) { for ( var c = 0 , f = "" ; ! ( c >= b / 4 ) ; ) { var h = P [ a + 4 * c >> 2 ] ; if ( 0 == h ) break ; ++ c ; 65536 <= h ? ( h -= 65536 , f += String . fromCharCode ( 55296 | h >> 10 , 56320 | h & 1023 ) ) : f += String . fromCharCode ( h ) } return f }
function eb ( a , b , c ) { void 0 === c && ( c = 2147483647 ) ; if ( 4 > c ) return 0 ; var f = b ; c = f + c - 4 ; for ( var h = 0 ; h < a . length ; ++ h ) { var m = a . charCodeAt ( h ) ; if ( 55296 <= m && 57343 >= m ) { var t = a . charCodeAt ( ++ h ) ; m = 65536 + ( ( m & 1023 ) << 10 ) | t & 1023 } P [ b >> 2 ] = m ; b += 4 ; if ( b + 4 > c ) break } P [ b >> 2 ] = 0 ; return b - f } function jb ( a ) { for ( var b = 0 , c = 0 ; c < a . length ; ++ c ) { var f = a . charCodeAt ( c ) ; 55296 <= f && 57343 >= f && ++ c ; b += 4 } return b } var kb , lb , J , Za , Ya , P , mb , U , nb ;
function ob ( ) { var a = Qa . buffer ; kb = a ; v . HEAP8 = lb = new Int8Array ( a ) ; v . HEAP16 = Za = new Int16Array ( a ) ; v . HEAP32 = P = new Int32Array ( a ) ; v . HEAPU8 = J = new Uint8Array ( a ) ; v . HEAPU16 = Ya = new Uint16Array ( a ) ; v . HEAPU32 = mb = new Uint32Array ( a ) ; v . HEAPF32 = U = new Float32Array ( a ) ; v . HEAPF64 = nb = new Float64Array ( a ) } var pb , qb = [ ] , rb = [ ] , sb = [ ] ; function tb ( ) { var a = v . preRun . shift ( ) ; qb . unshift ( a ) } var ub = 0 , vb = null , wb = null ;
function Pa ( a ) { if ( v . onAbort ) v . onAbort ( a ) ; a = "Aborted(" + a + ")" ; Ka ( a ) ; Ra = ! 0 ; a = new WebAssembly . RuntimeError ( a + ". Build with -sASSERTIONS for more info." ) ; fa ( a ) ; throw a ; } function yb ( ) { return zb . startsWith ( "data:application/octet-stream;base64," ) } var zb ; zb = "canvaskit.wasm" ; if ( ! yb ( ) ) { var Ab = zb ; zb = v . locateFile ? v . locateFile ( Ab , Ba ) : Ba + Ab } function Bb ( ) { var a = zb ; try { if ( a == zb && Na ) return new Uint8Array ( Na ) ; if ( Ea ) return Ea ( a ) ; throw "both async and sync fetching of the wasm failed" ; } catch ( b ) { Pa ( b ) } }
function Cb ( ) { if ( ! Na && ( xa || ya ) ) { if ( "function" == typeof fetch && ! zb . startsWith ( "file://" ) ) return fetch ( zb , { credentials : "same-origin" } ) . then ( function ( a ) { if ( ! a . ok ) throw "failed to load wasm binary file at '" + zb + "'" ; return a . arrayBuffer ( ) } ) . catch ( function ( ) { return Bb ( ) } ) ; if ( Da ) return new Promise ( function ( a , b ) { Da ( zb , function ( c ) { a ( new Uint8Array ( c ) ) } , b ) } ) } return Promise . resolve ( ) . then ( function ( ) { return Bb ( ) } ) }
function Db ( a ) { for ( ; 0 < a . length ; ) { var b = a . shift ( ) ; if ( "function" == typeof b ) b ( v ) ; else { var c = b . xg ; "number" == typeof c ? void 0 === b . df ? Eb ( c ) ( ) : Eb ( c ) ( b . df ) : c ( void 0 === b . df ? null : b . df ) } } } function Eb ( a ) { return pb . get ( a ) } var Fb = [ null , [ ] , [ ] ] , Gb = { } , Hb = { } ; function Ib ( a ) { for ( ; a . length ; ) { var b = a . pop ( ) ; a . pop ( ) ( b ) } } function Jb ( a ) { return this . fromWireType ( mb [ a >> 2 ] ) } var Kb = { } , Lb = { } , Mb = { } ; function Nb ( a ) { if ( void 0 === a ) return "_unknown" ; a = a . replace ( /[^a-zA-Z0-9_]/g , "$" ) ; var b = a . charCodeAt ( 0 ) ; return 48 <= b && 57 >= b ? "_" + a : a }
function Ob ( a , b ) { a = Nb ( a ) ; return function ( ) { null ; return b . apply ( this , arguments ) } } function Pb ( a ) { var b = Error , c = Ob ( a , function ( f ) { this . name = a ; this . message = f ; f = Error ( f ) . stack ; void 0 !== f && ( this . stack = this . toString ( ) + "\n" + f . replace ( /^Error(:[^\n]*)?\n/ , "" ) ) } ) ; c . prototype = Object . create ( b . prototype ) ; c . prototype . constructor = c ; c . prototype . toString = function ( ) { return void 0 === this . message ? this . name : this . name + ": " + this . message } ; return c } var Qb = void 0 ; function Rb ( a ) { throw new Qb ( a ) ; }
function Sb ( a , b , c ) { function f ( n ) { n = c ( n ) ; n . length !== a . length && Rb ( "Mismatched type converter count" ) ; for ( var q = 0 ; q < a . length ; ++ q ) Tb ( a [ q ] , n [ q ] ) } a . forEach ( function ( n ) { Mb [ n ] = b } ) ; var h = Array ( b . length ) , m = [ ] , t = 0 ; b . forEach ( ( n , q ) => { Lb . hasOwnProperty ( n ) ? h [ q ] = Lb [ n ] : ( m . push ( n ) , Kb . hasOwnProperty ( n ) || ( Kb [ n ] = [ ] ) , Kb [ n ] . push ( ( ) => { h [ q ] = Lb [ n ] ; ++ t ; t === m . length && f ( h ) } ) ) } ) ; 0 === m . length && f ( h ) }
function Ub ( a ) { switch ( a ) { case 1 : return 0 ; case 2 : return 1 ; case 4 : return 2 ; case 8 : return 3 ; default : throw new TypeError ( "Unknown type size: " + a ) ; } } var bc = void 0 ; function cc ( a ) { for ( var b = "" ; J [ a ] ; ) b += bc [ J [ a ++ ] ] ; return b } var dc = void 0 ; function X ( a ) { throw new dc ( a ) ; }
function Tb ( a , b , c = { } ) { if ( ! ( "argPackAdvance" in b ) ) throw new TypeError ( "registerType registeredInstance requires argPackAdvance" ) ; var f = b . name ; a || X ( 'type "' + f + '" must have a positive integer typeid pointer' ) ; if ( Lb . hasOwnProperty ( a ) ) { if ( c . Yf ) return ; X ( "Cannot register type '" + f + "' twice" ) } Lb [ a ] = b ; delete Mb [ a ] ; Kb . hasOwnProperty ( a ) && ( b = Kb [ a ] , delete Kb [ a ] , b . forEach ( h => h ( ) ) ) } function ec ( a ) { X ( a . Md . Yd . Sd . name + " instance already deleted" ) } var fc = ! 1 ; function gc ( ) { }
function hc ( a ) { -- a . count . value ; 0 === a . count . value && ( a . ae ? a . ge . me ( a . ae ) : a . Yd . Sd . me ( a . Ud ) ) } function ic ( a , b , c ) { if ( b === c ) return a ; if ( void 0 === c . ie ) return null ; a = ic ( a , b , c . ie ) ; return null === a ? null : c . Lf ( a ) } var jc = { } , kc = [ ] ; function lc ( ) { for ( ; kc . length ; ) { var a = kc . pop ( ) ; a . Md . Ge = ! 1 ; a [ "delete" ] ( ) } } var mc = void 0 , nc = { } ; function oc ( a , b ) { for ( void 0 === b && X ( "ptr should not be undefined" ) ; a . ie ; ) b = a . Pe ( b ) , a = a . ie ; return nc [ b ] }
function pc ( a , b ) { b . Yd && b . Ud || Rb ( "makeClassHandle requires ptr and ptrType" ) ; ! ! b . ge !== ! ! b . ae && Rb ( "Both smartPtrType and smartPtr must be specified" ) ; b . count = { value : 1 } ; return qc ( Object . create ( a , { Md : { value : b } } ) ) } function qc ( a ) { if ( "undefined" === typeof FinalizationRegistry ) return qc = b => b , a ; fc = new FinalizationRegistry ( b => { hc ( b . Md ) } ) ; qc = b => { var c = b . Md ; c . ae && fc . register ( b , { Md : c } , b ) ; return b } ; gc = b => { fc . unregister ( b ) } ; return qc ( a ) } function rc ( ) { }
function sc ( a , b , c ) { if ( void 0 === a [ b ] . $d ) { var f = a [ b ] ; a [ b ] = function ( ) { a [ b ] . $d . hasOwnProperty ( arguments . length ) || X ( "Function '" + c + "' called with an invalid number of arguments (" + arguments . length + ") - expects one of (" + a [ b ] . $d + ")!" ) ; return a [ b ] . $d [ arguments . length ] . apply ( this , arguments ) } ; a [ b ] . $d = [ ] ; a [ b ] . $d [ f . Ee ] = f } }
function tc ( a , b , c ) { v . hasOwnProperty ( a ) ? ( ( void 0 === c || void 0 !== v [ a ] . $d && void 0 !== v [ a ] . $d [ c ] ) && X ( "Cannot register public name '" + a + "' twice" ) , sc ( v , a , a ) , v . hasOwnProperty ( c ) && X ( "Cannot register multiple overloads of a function with the same number of arguments (" + c + ")!" ) , v [ a ] . $d [ c ] = b ) : ( v [ a ] = b , void 0 !== c && ( v [ a ] . zg = c ) ) } function uc ( a , b , c , f , h , m , t , n ) { this . name = a ; this . constructor = b ; this . He = c ; this . me = f ; this . ie = h ; this . Rf = m ; this . Pe = t ; this . Lf = n ; this . eg = [ ] }
function vc ( a , b , c ) { for ( ; b !== c ; ) b . Pe || X ( "Expected null or instance of " + c . name + ", got an instance of " + b . name ) , a = b . Pe ( a ) , b = b . ie ; return a } function wc ( a , b ) { if ( null === b ) return this . ff && X ( "null is not a valid " + this . name ) , 0 ; b . Md || X ( 'Cannot pass "' + xc ( b ) + '" as a ' + this . name ) ; b . Md . Ud || X ( "Cannot pass deleted object as a pointer of type " + this . name ) ; return vc ( b . Md . Ud , b . Md . Yd . Sd , this . Sd ) }
function yc ( a , b ) { if ( null === b ) { this . ff && X ( "null is not a valid " + this . name ) ; if ( this . Ue ) { var c = this . gf ( ) ; null !== a && a . push ( this . me , c ) ; return c } return 0 } b . Md || X ( 'Cannot pass "' + xc ( b ) + '" as a ' + this . name ) ; b . Md . Ud || X ( "Cannot pass deleted object as a pointer of type " + this . name ) ; ! this . Te && b . Md . Yd . Te && X ( "Cannot convert argument of type " + ( b . Md . ge ? b . Md . ge . name : b . Md . Yd . name ) + " to parameter type " + this . name ) ; c = vc ( b . Md . Ud , b . Md . Yd . Sd , this . Sd ) ; if ( this . Ue ) switch ( void 0 === b . Md . ae && X ( "Passing raw pointer to smart pointer is illegal" ) ,
this . kg ) { case 0 : b . Md . ge === this ? c = b . Md . ae : X ( "Cannot convert argument of type " + ( b . Md . ge ? b . Md . ge . name : b . Md . Yd . name ) + " to parameter type " + this . name ) ; break ; case 1 : c = b . Md . ae ; break ; case 2 : if ( b . Md . ge === this ) c = b . Md . ae ; else { var f = b . clone ( ) ; c = this . fg ( c , zc ( function ( ) { f [ "delete" ] ( ) } ) ) ; null !== a && a . push ( this . me , c ) } break ; default : X ( "Unsupporting sharing policy" ) } return c }
function Ac ( a , b ) { if ( null === b ) return this . ff && X ( "null is not a valid " + this . name ) , 0 ; b . Md || X ( 'Cannot pass "' + xc ( b ) + '" as a ' + this . name ) ; b . Md . Ud || X ( "Cannot pass deleted object as a pointer of type " + this . name ) ; b . Md . Yd . Te && X ( "Cannot convert argument of type " + b . Md . Yd . name + " to parameter type " + this . name ) ; return vc ( b . Md . Ud , b . Md . Yd . Sd , this . Sd ) }
function Bc ( a , b , c , f , h , m , t , n , q , x , C ) { this . name = a ; this . Sd = b ; this . ff = c ; this . Te = f ; this . Ue = h ; this . dg = m ; this . kg = t ; this . vf = n ; this . gf = q ; this . fg = x ; this . me = C ; h || void 0 !== b . ie ? this . toWireType = yc : ( this . toWireType = f ? wc : Ac , this . fe = null ) } function Ic ( a , b , c ) { v . hasOwnProperty ( a ) || Rb ( "Replacing nonexistant public symbol" ) ; void 0 !== v [ a ] . $d && void 0 !== c ? v [ a ] . $d [ c ] = b : ( v [ a ] = b , v [ a ] . Ee = c ) }
function Jc ( a , b ) { var c = [ ] ; return function ( ) { c . length = 0 ; Object . assign ( c , arguments ) ; if ( a . includes ( "j" ) ) { var f = v [ "dynCall_" + a ] ; f = c && c . length ? f . apply ( null , [ b ] . concat ( c ) ) : f . call ( null , b ) } else f = Eb ( b ) . apply ( null , c ) ; return f } } function Kc ( a , b ) { a = cc ( a ) ; var c = a . includes ( "j" ) ? Jc ( a , b ) : Eb ( b ) ; "function" != typeof c && X ( "unknown function pointer with signature " + a + ": " + b ) ; return c } var Lc = void 0 ; function Mc ( a ) { a = Nc ( a ) ; var b = cc ( a ) ; Oc ( a ) ; return b }
function Pc ( a , b ) { function c ( m ) { h [ m ] || Lb [ m ] || ( Mb [ m ] ? Mb [ m ] . forEach ( c ) : ( f . push ( m ) , h [ m ] = ! 0 ) ) } var f = [ ] , h = { } ; b . forEach ( c ) ; throw new Lc ( a + ": " + f . map ( Mc ) . join ( [ ", " ] ) ) ; }
function Qc ( a , b , c , f , h ) { var m = b . length ; 2 > m && X ( "argTypes array size mismatch! Must at least get return value and 'this' types!" ) ; var t = null !== b [ 1 ] && null !== c , n = ! 1 ; for ( c = 1 ; c < b . length ; ++ c ) if ( null !== b [ c ] && void 0 === b [ c ] . fe ) { n = ! 0 ; break } var q = "void" !== b [ 0 ] . name , x = m - 2 , C = Array ( x ) , H = [ ] , M = [ ] ; return function ( ) { arguments . length !== x && X ( "function " + a + " called with " + arguments . length + " arguments, expected " + x + " args!" ) ; M . length = 0 ; H . length = t ? 2 : 1 ; H [ 0 ] = h ; if ( t ) { var A = b [ 1 ] . toWireType ( M , this ) ; H [ 1 ] = A } for ( var N = 0 ; N < x ; ++ N ) C [ N ] =
b [ N + 2 ] . toWireType ( M , arguments [ N ] ) , H . push ( C [ N ] ) ; N = f . apply ( null , H ) ; if ( n ) Ib ( M ) ; else for ( var S = t ? 1 : 2 ; S < b . length ; S ++ ) { var T = 1 === S ? A : C [ S - 2 ] ; null !== b [ S ] . fe && b [ S ] . fe ( T ) } A = q ? b [ 0 ] . fromWireType ( N ) : void 0 ; return A } } function Rc ( a , b ) { for ( var c = [ ] , f = 0 ; f < a ; f ++ ) c . push ( P [ ( b >> 2 ) + f ] ) ; return c } var Sc = [ ] , Tc = [ { } , { value : void 0 } , { value : null } , { value : ! 0 } , { value : ! 1 } ] ; function Uc ( a ) { 4 < a && 0 === -- Tc [ a ] . hf && ( Tc [ a ] = void 0 , Sc . push ( a ) ) }
var Vc = a => { a || X ( "Cannot use deleted val. handle = " + a ) ; return Tc [ a ] . value } , zc = a => { switch ( a ) { case void 0 : return 1 ; case null : return 2 ; case ! 0 : return 3 ; case ! 1 : return 4 ; default : var b = Sc . length ? Sc . pop ( ) : Tc . length ; Tc [ b ] = { hf : 1 , value : a } ; return b } } ;
function Wc ( a , b , c ) { switch ( b ) { case 0 : return function ( f ) { return this . fromWireType ( ( c ? lb : J ) [ f ] ) } ; case 1 : return function ( f ) { return this . fromWireType ( ( c ? Za : Ya ) [ f >> 1 ] ) } ; case 2 : return function ( f ) { return this . fromWireType ( ( c ? P : mb ) [ f >> 2 ] ) } ; default : throw new TypeError ( "Unknown integer type: " + a ) ; } } function Xc ( a , b ) { var c = Lb [ a ] ; void 0 === c && X ( b + " has unknown type " + Mc ( a ) ) ; return c } function xc ( a ) { if ( null === a ) return "null" ; var b = typeof a ; return "object" === b || "array" === b || "function" === b ? a . toString ( ) : "" + a }
function Yc ( a , b ) { switch ( b ) { case 2 : return function ( c ) { return this . fromWireType ( U [ c >> 2 ] ) } ; case 3 : return function ( c ) { return this . fromWireType ( nb [ c >> 3 ] ) } ; default : throw new TypeError ( "Unknown float type: " + a ) ; } }
function Zc ( a , b , c ) { switch ( b ) { case 0 : return c ? function ( f ) { return lb [ f ] } : function ( f ) { return J [ f ] } ; case 1 : return c ? function ( f ) { return Za [ f >> 1 ] } : function ( f ) { return Ya [ f >> 1 ] } ; case 2 : return c ? function ( f ) { return P [ f >> 2 ] } : function ( f ) { return mb [ f >> 2 ] } ; default : throw new TypeError ( "Unknown integer type: " + a ) ; } } var $c = { } ; function ad ( a ) { var b = $c [ a ] ; return void 0 === b ? cc ( a ) : b } var bd = [ ] ;
function cd ( ) { function a ( b ) { b . $$$embind _global$$$ = b ; var c = "object" == typeof $$$embind _global$$$ && b . $$$embind _global$$$ == b ; c || delete b . $$$embind _global$$$ ; return c } if ( "object" == typeof globalThis ) return globalThis ; if ( "object" == typeof $$$embind _global$$$ ) return $$$embind _global$$$ ; "object" == typeof global && a ( global ) ? $$$embind _global$$$ = global : "object" == typeof self && a ( self ) && ( $$$embind _global$$$ = self ) ; if ( "object" == typeof $$$embind _global$$$ ) return $$$embind _global$$$ ; throw Error ( "unable to get global object." ) ;
} function dd ( a ) { var b = bd . length ; bd . push ( a ) ; return b } function ed ( a , b ) { for ( var c = Array ( a ) , f = 0 ; f < a ; ++ f ) c [ f ] = Xc ( P [ ( b >> 2 ) + f ] , "parameter " + f ) ; return c } var fd = [ ] ; function gd ( a ) { var b = Array ( a + 1 ) ; return function ( c , f , h ) { b [ 0 ] = c ; for ( var m = 0 ; m < a ; ++ m ) { var t = Xc ( P [ ( f >> 2 ) + m ] , "parameter " + m ) ; b [ m + 1 ] = t . readValueFromPointer ( h ) ; h += t . argPackAdvance } c = new ( c . bind . apply ( c , b ) ) ; return zc ( c ) } } var hd = { } , jd ; jd = za ? ( ) => { var a = process . hrtime ( ) ; return 1E3 * a [ 0 ] + a [ 1 ] / 1E6 } : ( ) => performance . now ( ) ;
function kd ( a ) { var b = a . getExtension ( "ANGLE_instanced_arrays" ) ; b && ( a . vertexAttribDivisor = function ( c , f ) { b . vertexAttribDivisorANGLE ( c , f ) } , a . drawArraysInstanced = function ( c , f , h , m ) { b . drawArraysInstancedANGLE ( c , f , h , m ) } , a . drawElementsInstanced = function ( c , f , h , m , t ) { b . drawElementsInstancedANGLE ( c , f , h , m , t ) } ) }
function ld ( a ) { var b = a . getExtension ( "OES_vertex_array_object" ) ; b && ( a . createVertexArray = function ( ) { return b . createVertexArrayOES ( ) } , a . deleteVertexArray = function ( c ) { b . deleteVertexArrayOES ( c ) } , a . bindVertexArray = function ( c ) { b . bindVertexArrayOES ( c ) } , a . isVertexArray = function ( c ) { return b . isVertexArrayOES ( c ) } ) } function md ( a ) { var b = a . getExtension ( "WEBGL_draw_buffers" ) ; b && ( a . drawBuffers = function ( c , f ) { b . drawBuffersWEBGL ( c , f ) } ) }
var nd = 1 , od = [ ] , pd = [ ] , qd = [ ] , rd = [ ] , ka = [ ] , sd = [ ] , td = [ ] , na = [ ] , ud = [ ] , vd = [ ] , wd = { } , xd = { } , yd = 4 ; function Bd ( a ) { Cd || ( Cd = a ) } function ha ( a ) { for ( var b = nd ++ , c = a . length ; c < b ; c ++ ) a [ c ] = null ; return b } function la ( a , b ) { a . lf || ( a . lf = a . getContext , a . getContext = function ( f , h ) { h = a . lf ( f , h ) ; return "webgl" == f == h instanceof WebGLRenderingContext ? h : null } ) ; var c = 1 < b . majorVersion ? a . getContext ( "webgl2" , b ) : a . getContext ( "webgl" , b ) ; return c ? Dd ( c , b ) : 0 }
function Dd ( a , b ) { var c = ha ( na ) , f = { Xf : c , attributes : b , version : b . majorVersion , ke : a } ; a . canvas && ( a . canvas . yf = f ) ; na [ c ] = f ; ( "undefined" == typeof b . Mf || b . Mf ) && Ed ( f ) ; return c } function ma ( a ) { w = na [ a ] ; v . wg = Y = w && w . ke ; return ! ( a && ! Y ) }
function Ed ( a ) { a || ( a = w ) ; if ( ! a . Zf ) { a . Zf = ! 0 ; var b = a . ke ; kd ( b ) ; ld ( b ) ; md ( b ) ; b . qf = b . getExtension ( "WEBGL_draw_instanced_base_vertex_base_instance" ) ; b . uf = b . getExtension ( "WEBGL_multi_draw_instanced_base_vertex_base_instance" ) ; 2 <= a . version && ( b . rf = b . getExtension ( "EXT_disjoint_timer_query_webgl2" ) ) ; if ( 2 > a . version || ! b . rf ) b . rf = b . getExtension ( "EXT_disjoint_timer_query" ) ; b . yg = b . getExtension ( "WEBGL_multi_draw" ) ; ( b . getSupportedExtensions ( ) || [ ] ) . forEach ( function ( c ) { c . includes ( "lose_context" ) || c . includes ( "debug" ) || b . getExtension ( c ) } ) } }
var w , Cd , Fd = [ ] ; function Gd ( a , b , c , f ) { for ( var h = 0 ; h < a ; h ++ ) { var m = Y [ c ] ( ) , t = m && ha ( f ) ; m ? ( m . name = t , f [ t ] = m ) : Bd ( 1282 ) ; P [ b + 4 * h >> 2 ] = t } }
function Hd ( a , b , c ) { if ( b ) { var f = void 0 ; switch ( a ) { case 36346 : f = 1 ; break ; case 36344 : 0 != c && 1 != c && Bd ( 1280 ) ; return ; case 34814 : case 36345 : f = 0 ; break ; case 34466 : var h = Y . getParameter ( 34467 ) ; f = h ? h . length : 0 ; break ; case 33309 : if ( 2 > w . version ) { Bd ( 1282 ) ; return } f = 2 * ( Y . getSupportedExtensions ( ) || [ ] ) . length ; break ; case 33307 : case 33308 : if ( 2 > w . version ) { Bd ( 1280 ) ; return } f = 33307 == a ? 3 : 0 } if ( void 0 === f ) switch ( h = Y . getParameter ( a ) , typeof h ) { case "number" : f = h ; break ; case "boolean" : f = h ? 1 : 0 ; break ; case "string" : Bd ( 1280 ) ; return ; case "object" : if ( null ===
h ) switch ( a ) { case 34964 : case 35725 : case 34965 : case 36006 : case 36007 : case 32873 : case 34229 : case 36662 : case 36663 : case 35053 : case 35055 : case 36010 : case 35097 : case 35869 : case 32874 : case 36389 : case 35983 : case 35368 : case 34068 : f = 0 ; break ; default : Bd ( 1280 ) ; return } else { if ( h instanceof Float32Array || h instanceof Uint32Array || h instanceof Int32Array || h instanceof Array ) { for ( a = 0 ; a < h . length ; ++ a ) switch ( c ) { case 0 : P [ b + 4 * a >> 2 ] = h [ a ] ; break ; case 2 : U [ b + 4 * a >> 2 ] = h [ a ] ; break ; case 4 : lb [ b + a >> 0 ] = h [ a ] ? 1 : 0 } return } try { f = h . name |
0 } catch ( m ) { Bd ( 1280 ) ; Ka ( "GL_INVALID_ENUM in glGet" + c + "v: Unknown object returned from WebGL getParameter(" + a + ")! (error: " + m + ")" ) ; return } } break ; default : Bd ( 1280 ) ; Ka ( "GL_INVALID_ENUM in glGet" + c + "v: Native code calling glGet" + c + "v(" + a + ") and it returns " + h + " of type " + typeof h + "!" ) ; return } switch ( c ) { case 1 : c = f ; mb [ b >> 2 ] = c ; mb [ b + 4 >> 2 ] = ( c - mb [ b >> 2 ] ) / 4294967296 ; break ; case 0 : P [ b >> 2 ] = f ; break ; case 2 : U [ b >> 2 ] = f ; break ; case 4 : lb [ b >> 0 ] = f ? 1 : 0 } } else Bd ( 1281 ) }
function Id ( a ) { var b = oa ( a ) + 1 , c = Jd ( b ) ; ra ( a , J , c , b ) ; return c } function Kd ( a ) { return "]" == a . slice ( - 1 ) && a . lastIndexOf ( "[" ) } function Ld ( a ) { a -= 5120 ; return 0 == a ? lb : 1 == a ? J : 2 == a ? Za : 4 == a ? P : 6 == a ? U : 5 == a || 28922 == a || 28520 == a || 30779 == a || 30782 == a ? mb : Ya } function Md ( a , b , c , f , h ) { a = Ld ( a ) ; var m = 31 - Math . clz32 ( a . BYTES _PER _ELEMENT ) , t = yd ; return a . subarray ( h >> m , h + f * ( c * ( { 5 : 3 , 6 : 4 , 8 : 2 , 29502 : 3 , 29504 : 4 , 26917 : 2 , 26918 : 2 , 29846 : 3 , 29847 : 4 } [ b - 6402 ] || 1 ) * ( 1 << m ) + t - 1 & - t ) >> m ) }
function Z ( a ) { var b = Y . If ; if ( b ) { var c = b . Oe [ a ] ; "number" == typeof c && ( b . Oe [ a ] = c = Y . getUniformLocation ( b , b . wf [ a ] + ( 0 < c ? "[" + c + "]" : "" ) ) ) ; return c } Bd ( 1282 ) } var Nd = [ ] , Od = [ ] , Pd = { } ;
function Qd ( ) { if ( ! Rd ) { var a = { USER : "web_user" , LOGNAME : "web_user" , PATH : "/" , PWD : "/" , HOME : "/home/web_user" , LANG : ( "object" == typeof navigator && navigator . languages && navigator . languages [ 0 ] || "C" ) . replace ( "-" , "_" ) + ".UTF-8" , _ : va || "./this.program" } , b ; for ( b in Pd ) void 0 === Pd [ b ] ? delete a [ b ] : a [ b ] = Pd [ b ] ; var c = [ ] ; for ( b in a ) c . push ( b + "=" + a [ b ] ) ; Rd = c } return Rd } var Rd ; function Sd ( a ) { return 0 === a % 4 && ( 0 !== a % 100 || 0 === a % 400 ) } var Td = [ 31 , 29 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ] , Ud = [ 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ] ;
function Vd ( a , b , c , f ) { function h ( A , N , S ) { for ( A = "number" == typeof A ? A . toString ( ) : A || "" ; A . length < N ; ) A = S [ 0 ] + A ; return A } function m ( A , N ) { return h ( A , N , "0" ) } function t ( A , N ) { function S ( pa ) { return 0 > pa ? - 1 : 0 < pa ? 1 : 0 } var T ; 0 === ( T = S ( A . getFullYear ( ) - N . getFullYear ( ) ) ) && 0 === ( T = S ( A . getMonth ( ) - N . getMonth ( ) ) ) && ( T = S ( A . getDate ( ) - N . getDate ( ) ) ) ; return T } function n ( A ) { switch ( A . getDay ( ) ) { case 0 : return new Date ( A . getFullYear ( ) - 1 , 11 , 29 ) ; case 1 : return A ; case 2 : return new Date ( A . getFullYear ( ) , 0 , 3 ) ; case 3 : return new Date ( A . getFullYear ( ) ,
0 , 2 ) ; case 4 : return new Date ( A . getFullYear ( ) , 0 , 1 ) ; case 5 : return new Date ( A . getFullYear ( ) - 1 , 11 , 31 ) ; case 6 : return new Date ( A . getFullYear ( ) - 1 , 11 , 30 ) } } function q ( A ) { var N = A . qe ; for ( A = new Date ( ( new Date ( A . re + 1900 , 0 , 1 ) ) . getTime ( ) ) ; 0 < N ; ) { var S = A . getMonth ( ) , T = ( Sd ( A . getFullYear ( ) ) ? Td : Ud ) [ S ] ; if ( N > T - A . getDate ( ) ) N -= T - A . getDate ( ) + 1 , A . setDate ( 1 ) , 11 > S ? A . setMonth ( S + 1 ) : ( A . setMonth ( 0 ) , A . setFullYear ( A . getFullYear ( ) + 1 ) ) ; else { A . setDate ( A . getDate ( ) + N ) ; break } } S = new Date ( A . getFullYear ( ) + 1 , 0 , 4 ) ; N = n ( new Date ( A . getFullYear ( ) ,
0 , 4 ) ) ; S = n ( S ) ; return 0 >= t ( N , A ) ? 0 >= t ( S , A ) ? A . getFullYear ( ) + 1 : A . getFullYear ( ) : A . getFullYear ( ) - 1 } var x = P [ f + 40 >> 2 ] ; f = { sg : P [ f >> 2 ] , rg : P [ f + 4 >> 2 ] , Ye : P [ f + 8 >> 2 ] , jf : P [ f + 12 >> 2 ] , Ze : P [ f + 16 >> 2 ] , re : P [ f + 20 >> 2 ] , je : P [ f + 24 >> 2 ] , qe : P [ f + 28 >> 2 ] , Bg : P [ f + 32 >> 2 ] , qg : P [ f + 36 >> 2 ] , tg : x ? Va ( x ) : "" } ; c = Va ( c ) ; x = { "%c" : "%a %b %d %H:%M:%S %Y" , "%D" : "%m/%d/%y" , "%F" : "%Y-%m-%d" , "%h" : "%b" , "%r" : "%I:%M:%S %p" , "%R" : "%H:%M" , "%T" : "%H:%M:%S" , "%x" : "%m/%d/%y" , "%X" : "%H:%M:%S" , "%Ec" : "%c" , "%EC" : "%C" , "%Ex" : "%m/%d/%y" , "%EX" : "%H:%M:%S" , "%Ey" : "%y" , "%EY" : "%Y" ,
"%Od" : "%d" , "%Oe" : "%e" , "%OH" : "%H" , "%OI" : "%I" , "%Om" : "%m" , "%OM" : "%M" , "%OS" : "%S" , "%Ou" : "%u" , "%OU" : "%U" , "%OV" : "%V" , "%Ow" : "%w" , "%OW" : "%W" , "%Oy" : "%y" } ; for ( var C in x ) c = c . replace ( new RegExp ( C , "g" ) , x [ C ] ) ; var H = "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" . split ( " " ) , M = "January February March April May June July August September October November December" . split ( " " ) ; x = { "%a" : function ( A ) { return H [ A . je ] . substring ( 0 , 3 ) } , "%A" : function ( A ) { return H [ A . je ] } , "%b" : function ( A ) { return M [ A . Ze ] . substring ( 0 , 3 ) } ,
"%B" : function ( A ) { return M [ A . Ze ] } , "%C" : function ( A ) { return m ( ( A . re + 1900 ) / 100 | 0 , 2 ) } , "%d" : function ( A ) { return m ( A . jf , 2 ) } , "%e" : function ( A ) { return h ( A . jf , 2 , " " ) } , "%g" : function ( A ) { return q ( A ) . toString ( ) . substring ( 2 ) } , "%G" : function ( A ) { return q ( A ) } , "%H" : function ( A ) { return m ( A . Ye , 2 ) } , "%I" : function ( A ) { A = A . Ye ; 0 == A ? A = 12 : 12 < A && ( A -= 12 ) ; return m ( A , 2 ) } , "%j" : function ( A ) { for ( var N = 0 , S = 0 ; S <= A . Ze - 1 ; N += ( Sd ( A . re + 1900 ) ? Td : Ud ) [ S ++ ] ) ; return m ( A . jf + N , 3 ) } , "%m" : function ( A ) { return m ( A . Ze + 1 , 2 ) } , "%M" : function ( A ) { return m ( A . rg , 2 ) } ,
"%n" : function ( ) { return "\n" } , "%p" : function ( A ) { return 0 <= A . Ye && 12 > A . Ye ? "AM" : "PM" } , "%S" : function ( A ) { return m ( A . sg , 2 ) } , "%t" : function ( ) { return "\t" } , "%u" : function ( A ) { return A . je || 7 } , "%U" : function ( A ) { return m ( Math . floor ( ( A . qe + 7 - A . je ) / 7 ) , 2 ) } , "%V" : function ( A ) { var N = Math . floor ( ( A . qe + 7 - ( A . je + 6 ) % 7 ) / 7 ) ; 2 >= ( A . je + 371 - A . qe - 2 ) % 7 && N ++ ; if ( N ) 53 == N && ( S = ( A . je + 371 - A . qe ) % 7 , 4 == S || 3 == S && Sd ( A . re ) || ( N = 1 ) ) ; else { N = 52 ; var S = ( A . je + 7 - A . qe - 1 ) % 7 ; ( 4 == S || 5 == S && Sd ( A . re % 400 - 1 ) ) && N ++ } return m ( N , 2 ) } , "%w" : function ( A ) { return A . je } , "%W" : function ( A ) { return m ( Math . floor ( ( A . qe +
7 - ( A . je + 6 ) % 7 ) / 7 ) , 2 ) } , "%y" : function ( A ) { return ( A . re + 1900 ) . toString ( ) . substring ( 2 ) } , "%Y" : function ( A ) { return A . re + 1900 } , "%z" : function ( A ) { A = A . qg ; var N = 0 <= A ; A = Math . abs ( A ) / 60 ; return ( N ? "+" : "-" ) + String ( "0000" + ( A / 60 * 100 + A % 60 ) ) . slice ( - 4 ) } , "%Z" : function ( A ) { return A . tg } , "%%" : function ( ) { return "%" } } ; c = c . replace ( /%%/g , "\x00\x00" ) ; for ( C in x ) c . includes ( C ) && ( c = c . replace ( new RegExp ( C , "g" ) , x [ C ] ( f ) ) ) ; c = c . replace ( /\0\0/g , "%" ) ; C = Wd ( c ) ; if ( C . length > b ) return 0 ; lb . set ( C , a ) ; return C . length - 1 } Qb = v . InternalError = Pb ( "InternalError" ) ;
for ( var Xd = Array ( 256 ) , Yd = 0 ; 256 > Yd ; ++ Yd ) Xd [ Yd ] = String . fromCharCode ( Yd ) ; bc = Xd ; dc = v . BindingError = Pb ( "BindingError" ) ; rc . prototype . isAliasOf = function ( a ) { if ( ! ( this instanceof rc && a instanceof rc ) ) return ! 1 ; var b = this . Md . Yd . Sd , c = this . Md . Ud , f = a . Md . Yd . Sd ; for ( a = a . Md . Ud ; b . ie ; ) c = b . Pe ( c ) , b = b . ie ; for ( ; f . ie ; ) a = f . Pe ( a ) , f = f . ie ; return b === f && c === a } ;
rc . prototype . clone = function ( ) { this . Md . Ud || ec ( this ) ; if ( this . Md . Ne ) return this . Md . count . value += 1 , this ; var a = qc , b = Object , c = b . create , f = Object . getPrototypeOf ( this ) , h = this . Md ; a = a ( c . call ( b , f , { Md : { value : { count : h . count , Ge : h . Ge , Ne : h . Ne , Ud : h . Ud , Yd : h . Yd , ae : h . ae , ge : h . ge } } } ) ) ; a . Md . count . value += 1 ; a . Md . Ge = ! 1 ; return a } ; rc . prototype [ "delete" ] = function ( ) { this . Md . Ud || ec ( this ) ; this . Md . Ge && ! this . Md . Ne && X ( "Object already scheduled for deletion" ) ; gc ( this ) ; hc ( this . Md ) ; this . Md . Ne || ( this . Md . ae = void 0 , this . Md . Ud = void 0 ) } ;
rc . prototype . isDeleted = function ( ) { return ! this . Md . Ud } ; rc . prototype . deleteLater = function ( ) { this . Md . Ud || ec ( this ) ; this . Md . Ge && ! this . Md . Ne && X ( "Object already scheduled for deletion" ) ; kc . push ( this ) ; 1 === kc . length && mc && mc ( lc ) ; this . Md . Ge = ! 0 ; return this } ; v . getInheritedInstanceCount = function ( ) { return Object . keys ( nc ) . length } ; v . getLiveInheritedInstances = function ( ) { var a = [ ] , b ; for ( b in nc ) nc . hasOwnProperty ( b ) && a . push ( nc [ b ] ) ; return a } ; v . flushPendingDeletes = lc ; v . setDelayFunction = function ( a ) { mc = a ; kc . length && mc && mc ( lc ) } ;
Bc . prototype . Sf = function ( a ) { this . vf && ( a = this . vf ( a ) ) ; return a } ; Bc . prototype . pf = function ( a ) { this . me && this . me ( a ) } ; Bc . prototype . argPackAdvance = 8 ; Bc . prototype . readValueFromPointer = Jb ; Bc . prototype . deleteObject = function ( a ) { if ( null !== a ) a [ "delete" ] ( ) } ;
Bc . prototype . fromWireType = function ( a ) { function b ( ) { return this . Ue ? pc ( this . Sd . He , { Yd : this . dg , Ud : c , ge : this , ae : a } ) : pc ( this . Sd . He , { Yd : this , Ud : a } ) } var c = this . Sf ( a ) ; if ( ! c ) return this . pf ( a ) , null ; var f = oc ( this . Sd , c ) ; if ( void 0 !== f ) { if ( 0 === f . Md . count . value ) return f . Md . Ud = c , f . Md . ae = a , f . clone ( ) ; f = f . clone ( ) ; this . pf ( a ) ; return f } f = this . Sd . Rf ( c ) ; f = jc [ f ] ; if ( ! f ) return b . call ( this ) ; f = this . Te ? f . Gf : f . pointerType ; var h = ic ( c , this . Sd , f . Sd ) ; return null === h ? b . call ( this ) : this . Ue ? pc ( f . Sd . He , { Yd : f , Ud : h , ge : this , ae : a } ) : pc ( f . Sd . He ,
{ Yd : f , Ud : h } ) } ; Lc = v . UnboundTypeError = Pb ( "UnboundTypeError" ) ; v . count _emval _handles = function ( ) { for ( var a = 0 , b = 5 ; b < Tc . length ; ++ b ) void 0 !== Tc [ b ] && ++ a ; return a } ; v . get _first _emval = function ( ) { for ( var a = 5 ; a < Tc . length ; ++ a ) if ( void 0 !== Tc [ a ] ) return Tc [ a ] ; return null } ; for ( var Y , Zd = 0 ; 32 > Zd ; ++ Zd ) Fd . push ( Array ( Zd ) ) ; var $d = new Float32Array ( 288 ) ; for ( Zd = 0 ; 288 > Zd ; ++ Zd ) Nd [ Zd ] = $d . subarray ( 0 , Zd + 1 ) ; var ae = new Int32Array ( 288 ) ; for ( Zd = 0 ; 288 > Zd ; ++ Zd ) Od [ Zd ] = ae . subarray ( 0 , Zd + 1 ) ;
function Wd ( a ) { var b = Array ( oa ( a ) + 1 ) ; ra ( a , b , 0 , b . length ) ; return b }
var qe = { V : function ( ) { return 0 } , Bb : function ( ) { } , Db : function ( ) { return 0 } , yb : function ( ) { } , zb : function ( ) { } , W : function ( ) { } , Ab : function ( ) { } , E : function ( a ) { var b = Hb [ a ] ; delete Hb [ a ] ; var c = b . gf , f = b . me , h = b . sf , m = h . map ( t => t . Wf ) . concat ( h . map ( t => t . ig ) ) ; Sb ( [ a ] , m , t => { var n = { } ; h . forEach ( ( q , x ) => { var C = t [ x ] , H = q . Uf , M = q . Vf , A = t [ x + h . length ] , N = q . hg , S = q . jg ; n [ q . Nf ] = { read : T => C . fromWireType ( H ( M , T ) ) , write : ( T , pa ) => { var ta = [ ] ; N ( S , T , A . toWireType ( ta , pa ) ) ; Ib ( ta ) } } } ) ; return [ { name : b . name , fromWireType : function ( q ) { var x = { } , C ; for ( C in n ) x [ C ] =
n [ C ] . read ( q ) ; f ( q ) ; return x } , toWireType : function ( q , x ) { for ( var C in n ) if ( ! ( C in x ) ) throw new TypeError ( 'Missing field: "' + C + '"' ) ; var H = c ( ) ; for ( C in n ) n [ C ] . write ( H , x [ C ] ) ; null !== q && q . push ( f , H ) ; return H } , argPackAdvance : 8 , readValueFromPointer : Jb , fe : f } ] } ) } , qb : function ( ) { } , Hb : function ( a , b , c , f , h ) { var m = Ub ( c ) ; b = cc ( b ) ; Tb ( a , { name : b , fromWireType : function ( t ) { return ! ! t } , toWireType : function ( t , n ) { return n ? f : h } , argPackAdvance : 8 , readValueFromPointer : function ( t ) { if ( 1 === c ) var n = lb ; else if ( 2 === c ) n = Za ; else if ( 4 === c ) n =
P ; else throw new TypeError ( "Unknown boolean type size: " + b ) ; return this . fromWireType ( n [ t >> m ] ) } , fe : null } ) } , p : function ( a , b , c , f , h , m , t , n , q , x , C , H , M ) { C = cc ( C ) ; m = Kc ( h , m ) ; n && ( n = Kc ( t , n ) ) ; x && ( x = Kc ( q , x ) ) ; M = Kc ( H , M ) ; var A = Nb ( C ) ; tc ( A , function ( ) { Pc ( "Cannot construct " + C + " due to unbound types" , [ f ] ) } ) ; Sb ( [ a , b , c ] , f ? [ f ] : [ ] , function ( N ) { N = N [ 0 ] ; if ( f ) { var S = N . Sd ; var T = S . He } else T = rc . prototype ; N = Ob ( A , function ( ) { if ( Object . getPrototypeOf ( this ) !== pa ) throw new dc ( "Use 'new' to construct " + C ) ; if ( void 0 === ta . pe ) throw new dc ( C +
" has no accessible constructor" ) ; var hb = ta . pe [ arguments . length ] ; if ( void 0 === hb ) throw new dc ( "Tried to invoke ctor of " + C + " with invalid number of parameters (" + arguments . length + ") - expected (" + Object . keys ( ta . pe ) . toString ( ) + ") parameters instead!" ) ; return hb . apply ( this , arguments ) } ) ; var pa = Object . create ( T , { constructor : { value : N } } ) ; N . prototype = pa ; var ta = new uc ( C , N , pa , M , S , m , n , x ) ; S = new Bc ( C , ta , ! 0 , ! 1 , ! 1 ) ; T = new Bc ( C + "*" , ta , ! 1 , ! 1 , ! 1 ) ; var gb = new Bc ( C + " const*" , ta , ! 1 , ! 0 , ! 1 ) ; jc [ a ] = { pointerType : T , Gf : gb } ; Ic ( A ,
N ) ; return [ S , T , gb ] } ) } , h : function ( a , b , c , f , h , m , t ) { var n = Rc ( c , f ) ; b = cc ( b ) ; m = Kc ( h , m ) ; Sb ( [ ] , [ a ] , function ( q ) { function x ( ) { Pc ( "Cannot call " + C + " due to unbound types" , n ) } q = q [ 0 ] ; var C = q . name + "." + b ; b . startsWith ( "@@" ) && ( b = Symbol [ b . substring ( 2 ) ] ) ; var H = q . Sd . constructor ; void 0 === H [ b ] ? ( x . Ee = c - 1 , H [ b ] = x ) : ( sc ( H , b , C ) , H [ b ] . $d [ c - 1 ] = x ) ; Sb ( [ ] , n , function ( M ) { M = [ M [ 0 ] , null ] . concat ( M . slice ( 1 ) ) ; M = Qc ( C , M , null , m , t ) ; void 0 === H [ b ] . $d ? ( M . Ee = c - 1 , H [ b ] = M ) : H [ b ] . $d [ c - 1 ] = M ; return [ ] } ) ; return [ ] } ) } , A : function ( a , b , c , f , h , m ) { 0 < b || Pa ( ) ; var t =
Rc ( b , c ) ; h = Kc ( f , h ) ; Sb ( [ ] , [ a ] , function ( n ) { n = n [ 0 ] ; var q = "constructor " + n . name ; void 0 === n . Sd . pe && ( n . Sd . pe = [ ] ) ; if ( void 0 !== n . Sd . pe [ b - 1 ] ) throw new dc ( "Cannot register multiple constructors with identical number of parameters (" + ( b - 1 ) + ") for class '" + n . name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!" ) ; n . Sd . pe [ b - 1 ] = ( ) => { Pc ( "Cannot construct " + n . name + " due to unbound types" , t ) } ; Sb ( [ ] , t , function ( x ) { x . splice ( 1 , 0 , null ) ; n . Sd . pe [ b - 1 ] = Qc ( q , x , null , h , m ) ; return [ ] } ) ;
return [ ] } ) } , b : function ( a , b , c , f , h , m , t , n ) { var q = Rc ( c , f ) ; b = cc ( b ) ; m = Kc ( h , m ) ; Sb ( [ ] , [ a ] , function ( x ) { function C ( ) { Pc ( "Cannot call " + H + " due to unbound types" , q ) } x = x [ 0 ] ; var H = x . name + "." + b ; b . startsWith ( "@@" ) && ( b = Symbol [ b . substring ( 2 ) ] ) ; n && x . Sd . eg . push ( b ) ; var M = x . Sd . He , A = M [ b ] ; void 0 === A || void 0 === A . $d && A . className !== x . name && A . Ee === c - 2 ? ( C . Ee = c - 2 , C . className = x . name , M [ b ] = C ) : ( sc ( M , b , H ) , M [ b ] . $d [ c - 2 ] = C ) ; Sb ( [ ] , q , function ( N ) { N = Qc ( H , N , x , m , t ) ; void 0 === M [ b ] . $d ? ( N . Ee = c - 2 , M [ b ] = N ) : M [ b ] . $d [ c - 2 ] = N ; return [ ] } ) ; return [ ] } ) } , w : function ( a ,
b , c ) { a = cc ( a ) ; Sb ( [ ] , [ b ] , function ( f ) { f = f [ 0 ] ; v [ a ] = f . fromWireType ( c ) ; return [ ] } ) } , Gb : function ( a , b ) { b = cc ( b ) ; Tb ( a , { name : b , fromWireType : function ( c ) { var f = Vc ( c ) ; Uc ( c ) ; return f } , toWireType : function ( c , f ) { return zc ( f ) } , argPackAdvance : 8 , readValueFromPointer : Jb , fe : null } ) } , o : function ( a , b , c , f ) { function h ( ) { } c = Ub ( c ) ; b = cc ( b ) ; h . values = { } ; Tb ( a , { name : b , constructor : h , fromWireType : function ( m ) { return this . constructor . values [ m ] } , toWireType : function ( m , t ) { return t . value } , argPackAdvance : 8 , readValueFromPointer : Wc ( b , c , f ) , fe : null } ) ;
tc ( b , h ) } , e : function ( a , b , c ) { var f = Xc ( a , "enum" ) ; b = cc ( b ) ; a = f . constructor ; f = Object . create ( f . constructor . prototype , { value : { value : c } , constructor : { value : Ob ( f . name + "_" + b , function ( ) { } ) } } ) ; a . values [ c ] = f ; a [ b ] = f } , Z : function ( a , b , c ) { c = Ub ( c ) ; b = cc ( b ) ; Tb ( a , { name : b , fromWireType : function ( f ) { return f } , toWireType : function ( f , h ) { return h } , argPackAdvance : 8 , readValueFromPointer : Yc ( b , c ) , fe : null } ) } , y : function ( a , b , c , f , h , m ) { var t = Rc ( b , c ) ; a = cc ( a ) ; h = Kc ( f , h ) ; tc ( a , function ( ) { Pc ( "Cannot call " + a + " due to unbound types" , t ) } , b - 1 ) ; Sb ( [ ] ,
t , function ( n ) { n = [ n [ 0 ] , null ] . concat ( n . slice ( 1 ) ) ; Ic ( a , Qc ( a , n , null , h , m ) , b - 1 ) ; return [ ] } ) } , B : function ( a , b , c , f , h ) { b = cc ( b ) ; - 1 === h && ( h = 4294967295 ) ; h = Ub ( c ) ; var m = n => n ; if ( 0 === f ) { var t = 32 - 8 * c ; m = n => n << t >>> t } c = b . includes ( "unsigned" ) ? function ( n , q ) { return q >>> 0 } : function ( n , q ) { return q } ; Tb ( a , { name : b , fromWireType : m , toWireType : c , argPackAdvance : 8 , readValueFromPointer : Zc ( b , h , 0 !== f ) , fe : null } ) } , t : function ( a , b , c ) { function f ( m ) { m >>= 2 ; var t = mb ; return new h ( kb , t [ m + 1 ] , t [ m ] ) } var h = [ Int8Array , Uint8Array , Int16Array , Uint16Array ,
Int32Array , Uint32Array , Float32Array , Float64Array ] [ b ] ; c = cc ( c ) ; Tb ( a , { name : c , fromWireType : f , argPackAdvance : 8 , readValueFromPointer : f } , { Yf : ! 0 } ) } , u : function ( a , b , c , f , h , m , t , n , q , x , C , H ) { c = cc ( c ) ; m = Kc ( h , m ) ; n = Kc ( t , n ) ; x = Kc ( q , x ) ; H = Kc ( C , H ) ; Sb ( [ a ] , [ b ] , function ( M ) { M = M [ 0 ] ; return [ new Bc ( c , M . Sd , ! 1 , ! 1 , ! 0 , M , f , m , n , x , H ) ] } ) } , Y : function ( a , b ) { b = cc ( b ) ; var c = "std::string" === b ; Tb ( a , { name : b , fromWireType : function ( f ) { var h = mb [ f >> 2 ] ; if ( c ) for ( var m = f + 4 , t = 0 ; t <= h ; ++ t ) { var n = f + 4 + t ; if ( t == h || 0 == J [ n ] ) { m = Va ( m , n - m ) ; if ( void 0 === q ) var q = m ; else q +=
String . fromCharCode ( 0 ) , q += m ; m = n + 1 } } else { q = Array ( h ) ; for ( t = 0 ; t < h ; ++ t ) q [ t ] = String . fromCharCode ( J [ f + 4 + t ] ) ; q = q . join ( "" ) } Oc ( f ) ; return q } , toWireType : function ( f , h ) { h instanceof ArrayBuffer && ( h = new Uint8Array ( h ) ) ; var m = "string" == typeof h ; m || h instanceof Uint8Array || h instanceof Uint8ClampedArray || h instanceof Int8Array || X ( "Cannot pass non-string to std::string" ) ; var t = ( c && m ? ( ) => oa ( h ) : ( ) => h . length ) ( ) , n = Jd ( 4 + t + 1 ) ; mb [ n >> 2 ] = t ; if ( c && m ) ra ( h , J , n + 4 , t + 1 ) ; else if ( m ) for ( m = 0 ; m < t ; ++ m ) { var q = h . charCodeAt ( m ) ; 255 < q && ( Oc ( n ) ,
X ( "String has UTF-16 code units that do not fit in 8 bits" ) ) ; J [ n + 4 + m ] = q } else for ( m = 0 ; m < t ; ++ m ) J [ n + 4 + m ] = h [ m ] ; null !== f && f . push ( Oc , n ) ; return n } , argPackAdvance : 8 , readValueFromPointer : Jb , fe : function ( f ) { Oc ( f ) } } ) } , Q : function ( a , b , c ) { c = cc ( c ) ; if ( 2 === b ) { var f = Xa ; var h = bb ; var m = cb ; var t = ( ) => Ya ; var n = 1 } else 4 === b && ( f = db , h = eb , m = jb , t = ( ) => mb , n = 2 ) ; Tb ( a , { name : c , fromWireType : function ( q ) { for ( var x = mb [ q >> 2 ] , C = t ( ) , H , M = q + 4 , A = 0 ; A <= x ; ++ A ) { var N = q + 4 + A * b ; if ( A == x || 0 == C [ N >> n ] ) M = f ( M , N - M ) , void 0 === H ? H = M : ( H += String . fromCharCode ( 0 ) ,
H += M ) , M = N + b } Oc ( q ) ; return H } , toWireType : function ( q , x ) { "string" != typeof x && X ( "Cannot pass non-string to C++ string type " + c ) ; var C = m ( x ) , H = Jd ( 4 + C + b ) ; mb [ H >> 2 ] = C >> n ; h ( x , H + 4 , C + b ) ; null !== q && q . push ( Oc , H ) ; return H } , argPackAdvance : 8 , readValueFromPointer : Jb , fe : function ( q ) { Oc ( q ) } } ) } , F : function ( a , b , c , f , h , m ) { Hb [ a ] = { name : cc ( b ) , gf : Kc ( c , f ) , me : Kc ( h , m ) , sf : [ ] } } , g : function ( a , b , c , f , h , m , t , n , q , x ) { Hb [ a ] . sf . push ( { Nf : cc ( b ) , Wf : c , Uf : Kc ( f , h ) , Vf : m , ig : t , hg : Kc ( n , q ) , jg : x } ) } , Ib : function ( a , b ) { b = cc ( b ) ; Tb ( a , { $f : ! 0 , name : b , argPackAdvance : 0 ,
fromWireType : function ( ) { } , toWireType : function ( ) { } } ) } , Fb : function ( ) { return ! 0 } , sb : function ( ) { throw Infinity ; } , I : function ( a , b , c ) { a = Vc ( a ) ; b = Xc ( b , "emval::as" ) ; var f = [ ] , h = zc ( f ) ; P [ c >> 2 ] = h ; return b . toWireType ( f , a ) } , K : function ( a , b , c , f , h ) { a = bd [ a ] ; b = Vc ( b ) ; c = ad ( c ) ; var m = [ ] ; P [ f >> 2 ] = zc ( m ) ; return a ( b , c , m , h ) } , D : function ( a , b , c , f ) { a = bd [ a ] ; b = Vc ( b ) ; c = ad ( c ) ; a ( b , c , null , f ) } , f : Uc , M : function ( a ) { if ( 0 === a ) return zc ( cd ( ) ) ; a = ad ( a ) ; return zc ( cd ( ) [ a ] ) } , z : function ( a , b ) { var c = ed ( a , b ) , f = c [ 0 ] ; b = f . name + "_$" + c . slice ( 1 ) . map ( function ( t ) { return t . name } ) . join ( "_" ) +
"$" ; var h = fd [ b ] ; if ( void 0 !== h ) return h ; var m = Array ( a - 1 ) ; h = dd ( ( t , n , q , x ) => { for ( var C = 0 , H = 0 ; H < a - 1 ; ++ H ) m [ H ] = c [ H + 1 ] . readValueFromPointer ( x + C ) , C += c [ H + 1 ] . argPackAdvance ; t = t [ n ] . apply ( t , m ) ; for ( H = 0 ; H < a - 1 ; ++ H ) c [ H + 1 ] . Jf && c [ H + 1 ] . Jf ( m [ H ] ) ; if ( ! f . $f ) return f . toWireType ( q , t ) } ) ; return fd [ b ] = h } , H : function ( a , b ) { a = Vc ( a ) ; b = Vc ( b ) ; return zc ( a [ b ] ) } , r : function ( a ) { 4 < a && ( Tc [ a ] . hf += 1 ) } , L : function ( a , b , c , f ) { a = Vc ( a ) ; var h = hd [ b ] ; h || ( h = gd ( b ) , hd [ b ] = h ) ; return h ( a , c , f ) } , O : function ( ) { return zc ( [ ] ) } , j : function ( a ) { return zc ( ad ( a ) ) } , G : function ( ) { return zc ( { } ) } ,
mb : function ( a ) { a = Vc ( a ) ; return ! a } , C : function ( a ) { var b = Vc ( a ) ; Ib ( b ) ; Uc ( a ) } , l : function ( a , b , c ) { a = Vc ( a ) ; b = Vc ( b ) ; c = Vc ( c ) ; a [ b ] = c } , i : function ( a , b ) { a = Xc ( a , "_emval_take_value" ) ; a = a . readValueFromPointer ( b ) ; return zc ( a ) } , ub : function ( ) { return - 52 } , vb : function ( ) { } , a : function ( ) { Pa ( "" ) } , Eb : jd , bd : function ( a ) { Y . activeTexture ( a ) } , cd : function ( a , b ) { Y . attachShader ( pd [ a ] , sd [ b ] ) } , ca : function ( a , b , c ) { Y . bindAttribLocation ( pd [ a ] , b , Va ( c ) ) } , da : function ( a , b ) { 35051 == a ? Y . ef = b : 35052 == a && ( Y . Fe = b ) ; Y . bindBuffer ( a , od [ b ] ) } , ba : function ( a ,
b ) { Y . bindFramebuffer ( a , qd [ b ] ) } , fc : function ( a , b ) { Y . bindRenderbuffer ( a , rd [ b ] ) } , Rb : function ( a , b ) { Y . bindSampler ( a , ud [ b ] ) } , ea : function ( a , b ) { Y . bindTexture ( a , ka [ b ] ) } , zc : function ( a ) { Y . bindVertexArray ( td [ a ] ) } , Dc : function ( a ) { Y . bindVertexArray ( td [ a ] ) } , fa : function ( a , b , c , f ) { Y . blendColor ( a , b , c , f ) } , ga : function ( a ) { Y . blendEquation ( a ) } , ha : function ( a , b ) { Y . blendFunc ( a , b ) } , $b : function ( a , b , c , f , h , m , t , n , q , x ) { Y . blitFramebuffer ( a , b , c , f , h , m , t , n , q , x ) } , ia : function ( a , b , c , f ) { 2 <= w . version ? c ? Y . bufferData ( a , J , f , c , b ) : Y . bufferData ( a ,
b , f ) : Y . bufferData ( a , c ? J . subarray ( c , c + b ) : b , f ) } , ja : function ( a , b , c , f ) { 2 <= w . version ? Y . bufferSubData ( a , b , J , f , c ) : Y . bufferSubData ( a , b , J . subarray ( f , f + c ) ) } , gc : function ( a ) { return Y . checkFramebufferStatus ( a ) } , T : function ( a ) { Y . clear ( a ) } , aa : function ( a , b , c , f ) { Y . clearColor ( a , b , c , f ) } , X : function ( a ) { Y . clearStencil ( a ) } , kb : function ( a , b , c , f ) { return Y . clientWaitSync ( vd [ a ] , b , ( c >>> 0 ) + 4294967296 * f ) } , ka : function ( a , b , c , f ) { Y . colorMask ( ! ! a , ! ! b , ! ! c , ! ! f ) } , la : function ( a ) { Y . compileShader ( sd [ a ] ) } , ma : function ( a , b , c , f , h , m , t , n ) { 2 <= w . version ?
Y . Fe ? Y . compressedTexImage2D ( a , b , c , f , h , m , t , n ) : Y . compressedTexImage2D ( a , b , c , f , h , m , J , n , t ) : Y . compressedTexImage2D ( a , b , c , f , h , m , n ? J . subarray ( n , n + t ) : null ) } , na : function ( a , b , c , f , h , m , t , n , q ) { 2 <= w . version ? Y . Fe ? Y . compressedTexSubImage2D ( a , b , c , f , h , m , t , n , q ) : Y . compressedTexSubImage2D ( a , b , c , f , h , m , t , J , q , n ) : Y . compressedTexSubImage2D ( a , b , c , f , h , m , t , q ? J . subarray ( q , q + n ) : null ) } , Zb : function ( a , b , c , f , h ) { Y . copyBufferSubData ( a , b , c , f , h ) } , oa : function ( a , b , c , f , h , m , t , n ) { Y . copyTexSubImage2D ( a , b , c , f , h , m , t , n ) } , pa : function ( ) { var a = ha ( pd ) ,
b = Y . createProgram ( ) ; b . name = a ; b . Xe = b . Ve = b . We = 0 ; b . kf = 1 ; pd [ a ] = b ; return a } , qa : function ( a ) { var b = ha ( sd ) ; sd [ b ] = Y . createShader ( a ) ; return b } , ra : function ( a ) { Y . cullFace ( a ) } , sa : function ( a , b ) { for ( var c = 0 ; c < a ; c ++ ) { var f = P [ b + 4 * c >> 2 ] , h = od [ f ] ; h && ( Y . deleteBuffer ( h ) , h . name = 0 , od [ f ] = null , f == Y . ef && ( Y . ef = 0 ) , f == Y . Fe && ( Y . Fe = 0 ) ) } } , hc : function ( a , b ) { for ( var c = 0 ; c < a ; ++ c ) { var f = P [ b + 4 * c >> 2 ] , h = qd [ f ] ; h && ( Y . deleteFramebuffer ( h ) , h . name = 0 , qd [ f ] = null ) } } , ta : function ( a ) { if ( a ) { var b = pd [ a ] ; b ? ( Y . deleteProgram ( b ) , b . name = 0 , pd [ a ] = null ) : Bd ( 1281 ) } } ,
ic : function ( a , b ) { for ( var c = 0 ; c < a ; c ++ ) { var f = P [ b + 4 * c >> 2 ] , h = rd [ f ] ; h && ( Y . deleteRenderbuffer ( h ) , h . name = 0 , rd [ f ] = null ) } } , Sb : function ( a , b ) { for ( var c = 0 ; c < a ; c ++ ) { var f = P [ b + 4 * c >> 2 ] , h = ud [ f ] ; h && ( Y . deleteSampler ( h ) , h . name = 0 , ud [ f ] = null ) } } , ua : function ( a ) { if ( a ) { var b = sd [ a ] ; b ? ( Y . deleteShader ( b ) , sd [ a ] = null ) : Bd ( 1281 ) } } , _b : function ( a ) { if ( a ) { var b = vd [ a ] ; b ? ( Y . deleteSync ( b ) , b . name = 0 , vd [ a ] = null ) : Bd ( 1281 ) } } , va : function ( a , b ) { for ( var c = 0 ; c < a ; c ++ ) { var f = P [ b + 4 * c >> 2 ] , h = ka [ f ] ; h && ( Y . deleteTexture ( h ) , h . name = 0 , ka [ f ] = null ) } } , Ac : function ( a ,
b ) { for ( var c = 0 ; c < a ; c ++ ) { var f = P [ b + 4 * c >> 2 ] ; Y . deleteVertexArray ( td [ f ] ) ; td [ f ] = null } } , Ec : function ( a , b ) { for ( var c = 0 ; c < a ; c ++ ) { var f = P [ b + 4 * c >> 2 ] ; Y . deleteVertexArray ( td [ f ] ) ; td [ f ] = null } } , wa : function ( a ) { Y . depthMask ( ! ! a ) } , xa : function ( a ) { Y . disable ( a ) } , ya : function ( a ) { Y . disableVertexAttribArray ( a ) } , za : function ( a , b , c ) { Y . drawArrays ( a , b , c ) } , yc : function ( a , b , c , f ) { Y . drawArraysInstanced ( a , b , c , f ) } , vc : function ( a , b , c , f , h ) { Y . qf . drawArraysInstancedBaseInstanceWEBGL ( a , b , c , f , h ) } , tc : function ( a , b ) { for ( var c = Fd [ a ] , f = 0 ; f < a ; f ++ ) c [ f ] =
P [ b + 4 * f >> 2 ] ; Y . drawBuffers ( c ) } , Aa : function ( a , b , c , f ) { Y . drawElements ( a , b , c , f ) } , xc : function ( a , b , c , f , h ) { Y . drawElementsInstanced ( a , b , c , f , h ) } , wc : function ( a , b , c , f , h , m , t ) { Y . qf . drawElementsInstancedBaseVertexBaseInstanceWEBGL ( a , b , c , f , h , m , t ) } , nc : function ( a , b , c , f , h , m ) { Y . drawElements ( a , f , h , m ) } , Ba : function ( a ) { Y . enable ( a ) } , Ca : function ( a ) { Y . enableVertexAttribArray ( a ) } , Xb : function ( a , b ) { return ( a = Y . fenceSync ( a , b ) ) ? ( b = ha ( vd ) , a . name = b , vd [ b ] = a , b ) : 0 } , Da : function ( ) { Y . finish ( ) } , Ea : function ( ) { Y . flush ( ) } , jc : function ( a , b , c ,
f ) { Y . framebufferRenderbuffer ( a , b , c , rd [ f ] ) } , kc : function ( a , b , c , f , h ) { Y . framebufferTexture2D ( a , b , c , ka [ f ] , h ) } , Fa : function ( a ) { Y . frontFace ( a ) } , Ga : function ( a , b ) { Gd ( a , b , "createBuffer" , od ) } , lc : function ( a , b ) { Gd ( a , b , "createFramebuffer" , qd ) } , mc : function ( a , b ) { Gd ( a , b , "createRenderbuffer" , rd ) } , Tb : function ( a , b ) { Gd ( a , b , "createSampler" , ud ) } , Ha : function ( a , b ) { Gd ( a , b , "createTexture" , ka ) } , Bc : function ( a , b ) { Gd ( a , b , "createVertexArray" , td ) } , Cc : function ( a , b ) { Gd ( a , b , "createVertexArray" , td ) } , bc : function ( a ) { Y . generateMipmap ( a ) } ,
Ia : function ( a , b , c ) { c ? P [ c >> 2 ] = Y . getBufferParameter ( a , b ) : Bd ( 1281 ) } , Ja : function ( ) { var a = Y . getError ( ) || Cd ; Cd = 0 ; return a } , Ka : function ( a , b ) { Hd ( a , b , 2 ) } , cc : function ( a , b , c , f ) { a = Y . getFramebufferAttachmentParameter ( a , b , c ) ; if ( a instanceof WebGLRenderbuffer || a instanceof WebGLTexture ) a = a . name | 0 ; P [ f >> 2 ] = a } , N : function ( a , b ) { Hd ( a , b , 0 ) } , La : function ( a , b , c , f ) { a = Y . getProgramInfoLog ( pd [ a ] ) ; null === a && ( a = "(unknown error)" ) ; b = 0 < b && f ? ra ( a , J , f , b ) : 0 ; c && ( P [ c >> 2 ] = b ) } , Ma : function ( a , b , c ) { if ( c ) if ( a >= nd ) Bd ( 1281 ) ; else if ( a = pd [ a ] , 35716 ==
b ) a = Y . getProgramInfoLog ( a ) , null === a && ( a = "(unknown error)" ) , P [ c >> 2 ] = a . length + 1 ; else if ( 35719 == b ) { if ( ! a . Xe ) for ( b = 0 ; b < Y . getProgramParameter ( a , 35718 ) ; ++ b ) a . Xe = Math . max ( a . Xe , Y . getActiveUniform ( a , b ) . name . length + 1 ) ; P [ c >> 2 ] = a . Xe } else if ( 35722 == b ) { if ( ! a . Ve ) for ( b = 0 ; b < Y . getProgramParameter ( a , 35721 ) ; ++ b ) a . Ve = Math . max ( a . Ve , Y . getActiveAttrib ( a , b ) . name . length + 1 ) ; P [ c >> 2 ] = a . Ve } else if ( 35381 == b ) { if ( ! a . We ) for ( b = 0 ; b < Y . getProgramParameter ( a , 35382 ) ; ++ b ) a . We = Math . max ( a . We , Y . getActiveUniformBlockName ( a , b ) . length + 1 ) ; P [ c >>
2 ] = a . We } else P [ c >> 2 ] = Y . getProgramParameter ( a , b ) ; else Bd ( 1281 ) } , dc : function ( a , b , c ) { c ? P [ c >> 2 ] = Y . getRenderbufferParameter ( a , b ) : Bd ( 1281 ) } , Na : function ( a , b , c , f ) { a = Y . getShaderInfoLog ( sd [ a ] ) ; null === a && ( a = "(unknown error)" ) ; b = 0 < b && f ? ra ( a , J , f , b ) : 0 ; c && ( P [ c >> 2 ] = b ) } , Ob : function ( a , b , c , f ) { a = Y . getShaderPrecisionFormat ( a , b ) ; P [ c >> 2 ] = a . rangeMin ; P [ c + 4 >> 2 ] = a . rangeMax ; P [ f >> 2 ] = a . precision } , Oa : function ( a , b , c ) { c ? 35716 == b ? ( a = Y . getShaderInfoLog ( sd [ a ] ) , null === a && ( a = "(unknown error)" ) , P [ c >> 2 ] = a ? a . length + 1 : 0 ) : 35720 == b ? ( a = Y . getShaderSource ( sd [ a ] ) ,
P [ c >> 2 ] = a ? a . length + 1 : 0 ) : P [ c >> 2 ] = Y . getShaderParameter ( sd [ a ] , b ) : Bd ( 1281 ) } , S : function ( a ) { var b = wd [ a ] ; if ( ! b ) { switch ( a ) { case 7939 : b = Y . getSupportedExtensions ( ) || [ ] ; b = b . concat ( b . map ( function ( f ) { return "GL_" + f } ) ) ; b = Id ( b . join ( " " ) ) ; break ; case 7936 : case 7937 : case 37445 : case 37446 : ( b = Y . getParameter ( a ) ) || Bd ( 1280 ) ; b = b && Id ( b ) ; break ; case 7938 : b = Y . getParameter ( 7938 ) ; b = 2 <= w . version ? "OpenGL ES 3.0 (" + b + ")" : "OpenGL ES 2.0 (" + b + ")" ; b = Id ( b ) ; break ; case 35724 : b = Y . getParameter ( 35724 ) ; var c = b . match ( /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/ ) ;
null !== c && ( 3 == c [ 1 ] . length && ( c [ 1 ] += "0" ) , b = "OpenGL ES GLSL ES " + c [ 1 ] + " (" + b + ")" ) ; b = Id ( b ) ; break ; default : Bd ( 1280 ) } wd [ a ] = b } return b } , jb : function ( a , b ) { if ( 2 > w . version ) return Bd ( 1282 ) , 0 ; var c = xd [ a ] ; if ( c ) return 0 > b || b >= c . length ? ( Bd ( 1281 ) , 0 ) : c [ b ] ; switch ( a ) { case 7939 : return c = Y . getSupportedExtensions ( ) || [ ] , c = c . concat ( c . map ( function ( f ) { return "GL_" + f } ) ) , c = c . map ( function ( f ) { return Id ( f ) } ) , c = xd [ a ] = c , 0 > b || b >= c . length ? ( Bd ( 1281 ) , 0 ) : c [ b ] ; default : return Bd ( 1280 ) , 0 } } , Pa : function ( a , b ) { b = Va ( b ) ; if ( a = pd [ a ] ) { var c = a , f = c . Oe ,
h = c . xf , m ; if ( ! f ) for ( c . Oe = f = { } , c . wf = { } , m = 0 ; m < Y . getProgramParameter ( c , 35718 ) ; ++ m ) { var t = Y . getActiveUniform ( c , m ) ; var n = t . name ; t = t . size ; var q = Kd ( n ) ; q = 0 < q ? n . slice ( 0 , q ) : n ; var x = c . kf ; c . kf += t ; h [ q ] = [ t , x ] ; for ( n = 0 ; n < t ; ++ n ) f [ x ] = n , c . wf [ x ++ ] = q } c = a . Oe ; f = 0 ; h = b ; m = Kd ( b ) ; 0 < m && ( f = parseInt ( b . slice ( m + 1 ) ) >>> 0 , h = b . slice ( 0 , m ) ) ; if ( ( h = a . xf [ h ] ) && f < h [ 0 ] && ( f += h [ 1 ] , c [ f ] = c [ f ] || Y . getUniformLocation ( a , b ) ) ) return f } else Bd ( 1281 ) ; return - 1 } , Pb : function ( a , b , c ) { for ( var f = Fd [ b ] , h = 0 ; h < b ; h ++ ) f [ h ] = P [ c + 4 * h >> 2 ] ; Y . invalidateFramebuffer ( a , f ) } ,
Qb : function ( a , b , c , f , h , m , t ) { for ( var n = Fd [ b ] , q = 0 ; q < b ; q ++ ) n [ q ] = P [ c + 4 * q >> 2 ] ; Y . invalidateSubFramebuffer ( a , n , f , h , m , t ) } , Yb : function ( a ) { return Y . isSync ( vd [ a ] ) } , Qa : function ( a ) { return ( a = ka [ a ] ) ? Y . isTexture ( a ) : 0 } , Ra : function ( a ) { Y . lineWidth ( a ) } , Sa : function ( a ) { a = pd [ a ] ; Y . linkProgram ( a ) ; a . Oe = 0 ; a . xf = { } } , rc : function ( a , b , c , f , h , m ) { Y . uf . multiDrawArraysInstancedBaseInstanceWEBGL ( a , P , b >> 2 , P , c >> 2 , P , f >> 2 , mb , h >> 2 , m ) } , sc : function ( a , b , c , f , h , m , t , n ) { Y . uf . multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL ( a , P , b >> 2 , c , P , f >> 2 ,
P , h >> 2 , P , m >> 2 , mb , t >> 2 , n ) } , Ta : function ( a , b ) { 3317 == a && ( yd = b ) ; Y . pixelStorei ( a , b ) } , uc : function ( a ) { Y . readBuffer ( a ) } , Ua : function ( a , b , c , f , h , m , t ) { if ( 2 <= w . version ) if ( Y . ef ) Y . readPixels ( a , b , c , f , h , m , t ) ; else { var n = Ld ( m ) ; Y . readPixels ( a , b , c , f , h , m , n , t >> 31 - Math . clz32 ( n . BYTES _PER _ELEMENT ) ) } else ( t = Md ( m , h , c , f , t ) ) ? Y . readPixels ( a , b , c , f , h , m , t ) : Bd ( 1280 ) } , ec : function ( a , b , c , f ) { Y . renderbufferStorage ( a , b , c , f ) } , ac : function ( a , b , c , f , h ) { Y . renderbufferStorageMultisample ( a , b , c , f , h ) } , Ub : function ( a , b , c ) { Y . samplerParameterf ( ud [ a ] , b ,
c ) } , Vb : function ( a , b , c ) { Y . samplerParameteri ( ud [ a ] , b , c ) } , Wb : function ( a , b , c ) { Y . samplerParameteri ( ud [ a ] , b , P [ c >> 2 ] ) } , Va : function ( a , b , c , f ) { Y . scissor ( a , b , c , f ) } , Wa : function ( a , b , c , f ) { for ( var h = "" , m = 0 ; m < b ; ++ m ) { var t = f ? P [ f + 4 * m >> 2 ] : - 1 ; h += Va ( P [ c + 4 * m >> 2 ] , 0 > t ? void 0 : t ) } Y . shaderSource ( sd [ a ] , h ) } , Xa : function ( a , b , c ) { Y . stencilFunc ( a , b , c ) } , Ya : function ( a , b , c , f ) { Y . stencilFuncSeparate ( a , b , c , f ) } , Za : function ( a ) { Y . stencilMask ( a ) } , _a : function ( a , b ) { Y . stencilMaskSeparate ( a , b ) } , $a : function ( a , b , c ) { Y . stencilOp ( a , b , c ) } , ab : function ( a ,
b , c , f ) { Y . stencilOpSeparate ( a , b , c , f ) } , bb : function ( a , b , c , f , h , m , t , n , q ) { if ( 2 <= w . version ) if ( Y . Fe ) Y . texImage2D ( a , b , c , f , h , m , t , n , q ) ; else if ( q ) { var x = Ld ( n ) ; Y . texImage2D ( a , b , c , f , h , m , t , n , x , q >> 31 - Math . clz32 ( x . BYTES _PER _ELEMENT ) ) } else Y . texImage2D ( a , b , c , f , h , m , t , n , null ) ; else Y . texImage2D ( a , b , c , f , h , m , t , n , q ? Md ( n , t , f , h , q ) : null ) } , cb : function ( a , b , c ) { Y . texParameterf ( a , b , c ) } , db : function ( a , b , c ) { Y . texParameterf ( a , b , U [ c >> 2 ] ) } , eb : function ( a , b , c ) { Y . texParameteri ( a , b , c ) } , fb : function ( a , b , c ) { Y . texParameteri ( a , b , P [ c >> 2 ] ) } , oc : function ( a ,
b , c , f , h ) { Y . texStorage2D ( a , b , c , f , h ) } , gb : function ( a , b , c , f , h , m , t , n , q ) { if ( 2 <= w . version ) if ( Y . Fe ) Y . texSubImage2D ( a , b , c , f , h , m , t , n , q ) ; else if ( q ) { var x = Ld ( n ) ; Y . texSubImage2D ( a , b , c , f , h , m , t , n , x , q >> 31 - Math . clz32 ( x . BYTES _PER _ELEMENT ) ) } else Y . texSubImage2D ( a , b , c , f , h , m , t , n , null ) ; else x = null , q && ( x = Md ( n , t , h , m , q ) ) , Y . texSubImage2D ( a , b , c , f , h , m , t , n , x ) } , hb : function ( a , b ) { Y . uniform1f ( Z ( a ) , b ) } , ib : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform1fv ( Z ( a ) , U , c >> 2 , b ) ; else { if ( 288 >= b ) for ( var f = Nd [ b - 1 ] , h = 0 ; h < b ; ++ h ) f [ h ] = U [ c + 4 * h >> 2 ] ; else f =
U . subarray ( c >> 2 , c + 4 * b >> 2 ) ; Y . uniform1fv ( Z ( a ) , f ) } } , Zc : function ( a , b ) { Y . uniform1i ( Z ( a ) , b ) } , _c : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform1iv ( Z ( a ) , P , c >> 2 , b ) ; else { if ( 288 >= b ) for ( var f = Od [ b - 1 ] , h = 0 ; h < b ; ++ h ) f [ h ] = P [ c + 4 * h >> 2 ] ; else f = P . subarray ( c >> 2 , c + 4 * b >> 2 ) ; Y . uniform1iv ( Z ( a ) , f ) } } , $c : function ( a , b , c ) { Y . uniform2f ( Z ( a ) , b , c ) } , ad : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform2fv ( Z ( a ) , U , c >> 2 , 2 * b ) ; else { if ( 144 >= b ) for ( var f = Nd [ 2 * b - 1 ] , h = 0 ; h < 2 * b ; h += 2 ) f [ h ] = U [ c + 4 * h >> 2 ] , f [ h + 1 ] = U [ c + ( 4 * h + 4 ) >> 2 ] ; else f = U . subarray ( c >> 2 , c + 8 * b >> 2 ) ; Y . uniform2fv ( Z ( a ) ,
f ) } } , Yc : function ( a , b , c ) { Y . uniform2i ( Z ( a ) , b , c ) } , Xc : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform2iv ( Z ( a ) , P , c >> 2 , 2 * b ) ; else { if ( 144 >= b ) for ( var f = Od [ 2 * b - 1 ] , h = 0 ; h < 2 * b ; h += 2 ) f [ h ] = P [ c + 4 * h >> 2 ] , f [ h + 1 ] = P [ c + ( 4 * h + 4 ) >> 2 ] ; else f = P . subarray ( c >> 2 , c + 8 * b >> 2 ) ; Y . uniform2iv ( Z ( a ) , f ) } } , Wc : function ( a , b , c , f ) { Y . uniform3f ( Z ( a ) , b , c , f ) } , Vc : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform3fv ( Z ( a ) , U , c >> 2 , 3 * b ) ; else { if ( 96 >= b ) for ( var f = Nd [ 3 * b - 1 ] , h = 0 ; h < 3 * b ; h += 3 ) f [ h ] = U [ c + 4 * h >> 2 ] , f [ h + 1 ] = U [ c + ( 4 * h + 4 ) >> 2 ] , f [ h + 2 ] = U [ c + ( 4 * h + 8 ) >> 2 ] ; else f = U . subarray ( c >>
2 , c + 12 * b >> 2 ) ; Y . uniform3fv ( Z ( a ) , f ) } } , Uc : function ( a , b , c , f ) { Y . uniform3i ( Z ( a ) , b , c , f ) } , Tc : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform3iv ( Z ( a ) , P , c >> 2 , 3 * b ) ; else { if ( 96 >= b ) for ( var f = Od [ 3 * b - 1 ] , h = 0 ; h < 3 * b ; h += 3 ) f [ h ] = P [ c + 4 * h >> 2 ] , f [ h + 1 ] = P [ c + ( 4 * h + 4 ) >> 2 ] , f [ h + 2 ] = P [ c + ( 4 * h + 8 ) >> 2 ] ; else f = P . subarray ( c >> 2 , c + 12 * b >> 2 ) ; Y . uniform3iv ( Z ( a ) , f ) } } , Sc : function ( a , b , c , f , h ) { Y . uniform4f ( Z ( a ) , b , c , f , h ) } , Rc : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform4fv ( Z ( a ) , U , c >> 2 , 4 * b ) ; else { if ( 72 >= b ) { var f = Nd [ 4 * b - 1 ] , h = U ; c >>= 2 ; for ( var m = 0 ; m < 4 * b ; m += 4 ) { var t =
c + m ; f [ m ] = h [ t ] ; f [ m + 1 ] = h [ t + 1 ] ; f [ m + 2 ] = h [ t + 2 ] ; f [ m + 3 ] = h [ t + 3 ] } } else f = U . subarray ( c >> 2 , c + 16 * b >> 2 ) ; Y . uniform4fv ( Z ( a ) , f ) } } , Fc : function ( a , b , c , f , h ) { Y . uniform4i ( Z ( a ) , b , c , f , h ) } , Gc : function ( a , b , c ) { if ( 2 <= w . version ) Y . uniform4iv ( Z ( a ) , P , c >> 2 , 4 * b ) ; else { if ( 72 >= b ) for ( var f = Od [ 4 * b - 1 ] , h = 0 ; h < 4 * b ; h += 4 ) f [ h ] = P [ c + 4 * h >> 2 ] , f [ h + 1 ] = P [ c + ( 4 * h + 4 ) >> 2 ] , f [ h + 2 ] = P [ c + ( 4 * h + 8 ) >> 2 ] , f [ h + 3 ] = P [ c + ( 4 * h + 12 ) >> 2 ] ; else f = P . subarray ( c >> 2 , c + 16 * b >> 2 ) ; Y . uniform4iv ( Z ( a ) , f ) } } , Hc : function ( a , b , c , f ) { if ( 2 <= w . version ) Y . uniformMatrix2fv ( Z ( a ) , ! ! c , U , f >> 2 , 4 * b ) ; else { if ( 72 >=
b ) for ( var h = Nd [ 4 * b - 1 ] , m = 0 ; m < 4 * b ; m += 4 ) h [ m ] = U [ f + 4 * m >> 2 ] , h [ m + 1 ] = U [ f + ( 4 * m + 4 ) >> 2 ] , h [ m + 2 ] = U [ f + ( 4 * m + 8 ) >> 2 ] , h [ m + 3 ] = U [ f + ( 4 * m + 12 ) >> 2 ] ; else h = U . subarray ( f >> 2 , f + 16 * b >> 2 ) ; Y . uniformMatrix2fv ( Z ( a ) , ! ! c , h ) } } , Ic : function ( a , b , c , f ) { if ( 2 <= w . version ) Y . uniformMatrix3fv ( Z ( a ) , ! ! c , U , f >> 2 , 9 * b ) ; else { if ( 32 >= b ) for ( var h = Nd [ 9 * b - 1 ] , m = 0 ; m < 9 * b ; m += 9 ) h [ m ] = U [ f + 4 * m >> 2 ] , h [ m + 1 ] = U [ f + ( 4 * m + 4 ) >> 2 ] , h [ m + 2 ] = U [ f + ( 4 * m + 8 ) >> 2 ] , h [ m + 3 ] = U [ f + ( 4 * m + 12 ) >> 2 ] , h [ m + 4 ] = U [ f + ( 4 * m + 16 ) >> 2 ] , h [ m + 5 ] = U [ f + ( 4 * m + 20 ) >> 2 ] , h [ m + 6 ] = U [ f + ( 4 * m + 24 ) >> 2 ] , h [ m + 7 ] = U [ f + ( 4 * m + 28 ) >> 2 ] , h [ m +
8 ] = U [ f + ( 4 * m + 32 ) >> 2 ] ; else h = U . subarray ( f >> 2 , f + 36 * b >> 2 ) ; Y . uniformMatrix3fv ( Z ( a ) , ! ! c , h ) } } , Jc : function ( a , b , c , f ) { if ( 2 <= w . version ) Y . uniformMatrix4fv ( Z ( a ) , ! ! c , U , f >> 2 , 16 * b ) ; else { if ( 18 >= b ) { var h = Nd [ 16 * b - 1 ] , m = U ; f >>= 2 ; for ( var t = 0 ; t < 16 * b ; t += 16 ) { var n = f + t ; h [ t ] = m [ n ] ; h [ t + 1 ] = m [ n + 1 ] ; h [ t + 2 ] = m [ n + 2 ] ; h [ t + 3 ] = m [ n + 3 ] ; h [ t + 4 ] = m [ n + 4 ] ; h [ t + 5 ] = m [ n + 5 ] ; h [ t + 6 ] = m [ n + 6 ] ; h [ t + 7 ] = m [ n + 7 ] ; h [ t + 8 ] = m [ n + 8 ] ; h [ t + 9 ] = m [ n + 9 ] ; h [ t + 10 ] = m [ n + 10 ] ; h [ t + 11 ] = m [ n + 11 ] ; h [ t + 12 ] = m [ n + 12 ] ; h [ t + 13 ] = m [ n + 13 ] ; h [ t + 14 ] = m [ n + 14 ] ; h [ t + 15 ] = m [ n + 15 ] } } else h = U . subarray ( f >> 2 , f +
64 * b >> 2 ) ; Y . uniformMatrix4fv ( Z ( a ) , ! ! c , h ) } } , Kc : function ( a ) { a = pd [ a ] ; Y . useProgram ( a ) ; Y . If = a } , Lc : function ( a , b ) { Y . vertexAttrib1f ( a , b ) } , Mc : function ( a , b ) { Y . vertexAttrib2f ( a , U [ b >> 2 ] , U [ b + 4 >> 2 ] ) } , Nc : function ( a , b ) { Y . vertexAttrib3f ( a , U [ b >> 2 ] , U [ b + 4 >> 2 ] , U [ b + 8 >> 2 ] ) } , Oc : function ( a , b ) { Y . vertexAttrib4f ( a , U [ b >> 2 ] , U [ b + 4 >> 2 ] , U [ b + 8 >> 2 ] , U [ b + 12 >> 2 ] ) } , pc : function ( a , b ) { Y . vertexAttribDivisor ( a , b ) } , qc : function ( a , b , c , f , h ) { Y . vertexAttribIPointer ( a , b , c , f , h ) } , Pc : function ( a , b , c , f , h , m ) { Y . vertexAttribPointer ( a , b , c , ! ! f , h , m ) } , Qc : function ( a ,
b , c , f ) { Y . viewport ( a , b , c , f ) } , lb : function ( a , b , c , f ) { Y . waitSync ( vd [ a ] , b , ( c >>> 0 ) + 4294967296 * f ) } , tb : function ( a ) { var b = J . length ; a >>>= 0 ; if ( 2147483648 < a ) return ! 1 ; for ( var c = 1 ; 4 >= c ; c *= 2 ) { var f = b * ( 1 + . 2 / c ) ; f = Math . min ( f , a + 100663296 ) ; var h = Math ; f = Math . max ( a , f ) ; h = h . min . call ( h , 2147483648 , f + ( 65536 - f % 65536 ) % 65536 ) ; a : { try { Qa . grow ( h - kb . byteLength + 65535 >>> 16 ) ; ob ( ) ; var m = 1 ; break a } catch ( t ) { } m = void 0 } if ( m ) return ! 0 } return ! 1 } , nb : function ( ) { return w ? w . Xf : 0 } , wb : function ( a , b ) { var c = 0 ; Qd ( ) . forEach ( function ( f , h ) { var m = b + c ; h = P [ a +
4 * h >> 2 ] = m ; for ( m = 0 ; m < f . length ; ++ m ) lb [ h ++ >> 0 ] = f . charCodeAt ( m ) ; lb [ h >> 0 ] = 0 ; c += f . length + 1 } ) ; return 0 } , xb : function ( a , b ) { var c = Qd ( ) ; P [ a >> 2 ] = c . length ; var f = 0 ; c . forEach ( function ( h ) { f += h . length + 1 } ) ; P [ b >> 2 ] = f ; return 0 } , Jb : function ( a ) { if ( ! noExitRuntime ) { if ( v . onExit ) v . onExit ( a ) ; Ra = ! 0 } wa ( a , new Ja ( a ) ) } , P : function ( ) { return 0 } , ob : function ( a , b , c , f , h , m ) { a = Gb . Tf ( a ) ; b = Gb . Kf ( a , b , c , f ) ; P [ m >> 2 ] = b ; return 0 } , Cb : function ( a , b , c , f ) { a = Gb . Tf ( a ) ; b = Gb . Kf ( a , b , c ) ; P [ f >> 2 ] = b ; return 0 } , pb : function ( ) { } , U : function ( a , b , c , f ) { for ( var h = 0 , m =
0 ; m < c ; m ++ ) { var t = P [ b >> 2 ] , n = P [ b + 4 >> 2 ] ; b += 8 ; for ( var q = 0 ; q < n ; q ++ ) { var x = J [ t + q ] , C = Fb [ a ] ; 0 === x || 10 === x ? ( ( 1 === a ? La : Ka ) ( Ua ( C , 0 ) ) , C . length = 0 ) : C . push ( x ) } h += n } P [ f >> 2 ] = h ; return 0 } , c : function ( ) { return Ma } , m : be , s : ce , k : de , J : ee , Nb : fe , $ : ge , _ : he , R : ie , q : je , x : ke , n : le , v : me , Mb : ne , Kb : oe , Lb : pe , d : function ( a ) { Ma = a } , rb : function ( a , b , c , f ) { return Vd ( a , b , c , f ) } } ;
( function ( ) { function a ( h ) { v . asm = h . exports ; Qa = v . asm . dd ; ob ( ) ; pb = v . asm . fd ; rb . unshift ( v . asm . ed ) ; ub -- ; v . monitorRunDependencies && v . monitorRunDependencies ( ub ) ; 0 == ub && ( null !== vb && ( clearInterval ( vb ) , vb = null ) , wb && ( h = wb , wb = null , h ( ) ) ) } function b ( h ) { a ( h . instance ) } function c ( h ) { return Cb ( ) . then ( function ( m ) { return WebAssembly . instantiate ( m , f ) } ) . then ( function ( m ) { return m } ) . then ( h , function ( m ) { Ka ( "failed to asynchronously prepare wasm: " + m ) ; Pa ( m ) } ) } var f = { a : qe } ; ub ++ ; v . monitorRunDependencies && v . monitorRunDependencies ( ub ) ;
if ( v . instantiateWasm ) try { return v . instantiateWasm ( f , a ) } catch ( h ) { return Ka ( "Module.instantiateWasm callback failed with error: " + h ) , ! 1 } ( function ( ) { return Na || "function" != typeof WebAssembly . instantiateStreaming || yb ( ) || zb . startsWith ( "file://" ) || "function" != typeof fetch ? c ( b ) : fetch ( zb , { credentials : "same-origin" } ) . then ( function ( h ) { return WebAssembly . instantiateStreaming ( h , f ) . then ( b , function ( m ) { Ka ( "wasm streaming compile failed: " + m ) ; Ka ( "falling back to ArrayBuffer instantiation" ) ; return c ( b ) } ) } ) } ) ( ) . catch ( fa ) ;
return { } } ) ( ) ; v . _ _ _wasm _call _ctors = function ( ) { return ( v . _ _ _wasm _call _ctors = v . asm . ed ) . apply ( null , arguments ) } ; var Oc = v . _free = function ( ) { return ( Oc = v . _free = v . asm . gd ) . apply ( null , arguments ) } , Jd = v . _malloc = function ( ) { return ( Jd = v . _malloc = v . asm . hd ) . apply ( null , arguments ) } , Nc = v . _ _ _getTypeName = function ( ) { return ( Nc = v . _ _ _getTypeName = v . asm . id ) . apply ( null , arguments ) } ; v . _ _ _embind _register _native _and _builtin _types = function ( ) { return ( v . _ _ _embind _register _native _and _builtin _types = v . asm . jd ) . apply ( null , arguments ) } ;
var re = v . _setThrew = function ( ) { return ( re = v . _setThrew = v . asm . kd ) . apply ( null , arguments ) } , se = v . stackSave = function ( ) { return ( se = v . stackSave = v . asm . ld ) . apply ( null , arguments ) } , te = v . stackRestore = function ( ) { return ( te = v . stackRestore = v . asm . md ) . apply ( null , arguments ) } ; v . dynCall _viji = function ( ) { return ( v . dynCall _viji = v . asm . nd ) . apply ( null , arguments ) } ; v . dynCall _vijiii = function ( ) { return ( v . dynCall _vijiii = v . asm . od ) . apply ( null , arguments ) } ; v . dynCall _viiiiij = function ( ) { return ( v . dynCall _viiiiij = v . asm . pd ) . apply ( null , arguments ) } ;
v . dynCall _jiiiijiiiii = function ( ) { return ( v . dynCall _jiiiijiiiii = v . asm . qd ) . apply ( null , arguments ) } ; v . dynCall _viiij = function ( ) { return ( v . dynCall _viiij = v . asm . rd ) . apply ( null , arguments ) } ; v . dynCall _jii = function ( ) { return ( v . dynCall _jii = v . asm . sd ) . apply ( null , arguments ) } ; v . dynCall _vij = function ( ) { return ( v . dynCall _vij = v . asm . td ) . apply ( null , arguments ) } ; v . dynCall _iiij = function ( ) { return ( v . dynCall _iiij = v . asm . ud ) . apply ( null , arguments ) } ; v . dynCall _iiiij = function ( ) { return ( v . dynCall _iiiij = v . asm . vd ) . apply ( null , arguments ) } ;
v . dynCall _viij = function ( ) { return ( v . dynCall _viij = v . asm . wd ) . apply ( null , arguments ) } ; v . dynCall _ji = function ( ) { return ( v . dynCall _ji = v . asm . xd ) . apply ( null , arguments ) } ; v . dynCall _iij = function ( ) { return ( v . dynCall _iij = v . asm . yd ) . apply ( null , arguments ) } ; v . dynCall _jiiii = function ( ) { return ( v . dynCall _jiiii = v . asm . zd ) . apply ( null , arguments ) } ; v . dynCall _jiiiiii = function ( ) { return ( v . dynCall _jiiiiii = v . asm . Ad ) . apply ( null , arguments ) } ; v . dynCall _jiiiiji = function ( ) { return ( v . dynCall _jiiiiji = v . asm . Bd ) . apply ( null , arguments ) } ;
v . dynCall _iijj = function ( ) { return ( v . dynCall _iijj = v . asm . Cd ) . apply ( null , arguments ) } ; v . dynCall _iiiji = function ( ) { return ( v . dynCall _iiiji = v . asm . Dd ) . apply ( null , arguments ) } ; v . dynCall _iiji = function ( ) { return ( v . dynCall _iiji = v . asm . Ed ) . apply ( null , arguments ) } ; v . dynCall _iijjiii = function ( ) { return ( v . dynCall _iijjiii = v . asm . Fd ) . apply ( null , arguments ) } ; v . dynCall _vijjjii = function ( ) { return ( v . dynCall _vijjjii = v . asm . Gd ) . apply ( null , arguments ) } ; v . dynCall _jiji = function ( ) { return ( v . dynCall _jiji = v . asm . Hd ) . apply ( null , arguments ) } ;
v . dynCall _viijii = function ( ) { return ( v . dynCall _viijii = v . asm . Id ) . apply ( null , arguments ) } ; v . dynCall _iiiiij = function ( ) { return ( v . dynCall _iiiiij = v . asm . Jd ) . apply ( null , arguments ) } ; v . dynCall _iiiiijj = function ( ) { return ( v . dynCall _iiiiijj = v . asm . Kd ) . apply ( null , arguments ) } ; v . dynCall _iiiiiijj = function ( ) { return ( v . dynCall _iiiiiijj = v . asm . Ld ) . apply ( null , arguments ) } ; function be ( a , b ) { var c = se ( ) ; try { return Eb ( a ) ( b ) } catch ( f ) { te ( c ) ; if ( f !== f + 0 ) throw f ; re ( 1 , 0 ) } }
function ce ( a , b , c ) { var f = se ( ) ; try { return Eb ( a ) ( b , c ) } catch ( h ) { te ( f ) ; if ( h !== h + 0 ) throw h ; re ( 1 , 0 ) } } function le ( a , b , c , f ) { var h = se ( ) ; try { Eb ( a ) ( b , c , f ) } catch ( m ) { te ( h ) ; if ( m !== m + 0 ) throw m ; re ( 1 , 0 ) } } function de ( a , b , c , f ) { var h = se ( ) ; try { return Eb ( a ) ( b , c , f ) } catch ( m ) { te ( h ) ; if ( m !== m + 0 ) throw m ; re ( 1 , 0 ) } } function je ( a , b ) { var c = se ( ) ; try { Eb ( a ) ( b ) } catch ( f ) { te ( c ) ; if ( f !== f + 0 ) throw f ; re ( 1 , 0 ) } } function ke ( a , b , c ) { var f = se ( ) ; try { Eb ( a ) ( b , c ) } catch ( h ) { te ( f ) ; if ( h !== h + 0 ) throw h ; re ( 1 , 0 ) } }
function fe ( a , b , c , f , h , m ) { var t = se ( ) ; try { return Eb ( a ) ( b , c , f , h , m ) } catch ( n ) { te ( t ) ; if ( n !== n + 0 ) throw n ; re ( 1 , 0 ) } } function me ( a , b , c , f , h ) { var m = se ( ) ; try { Eb ( a ) ( b , c , f , h ) } catch ( t ) { te ( m ) ; if ( t !== t + 0 ) throw t ; re ( 1 , 0 ) } } function ge ( a , b , c , f , h , m , t ) { var n = se ( ) ; try { return Eb ( a ) ( b , c , f , h , m , t ) } catch ( q ) { te ( n ) ; if ( q !== q + 0 ) throw q ; re ( 1 , 0 ) } } function ee ( a , b , c , f , h ) { var m = se ( ) ; try { return Eb ( a ) ( b , c , f , h ) } catch ( t ) { te ( m ) ; if ( t !== t + 0 ) throw t ; re ( 1 , 0 ) } }
function ne ( a , b , c , f , h , m ) { var t = se ( ) ; try { Eb ( a ) ( b , c , f , h , m ) } catch ( n ) { te ( t ) ; if ( n !== n + 0 ) throw n ; re ( 1 , 0 ) } } function pe ( a , b , c , f , h , m , t , n , q , x ) { var C = se ( ) ; try { Eb ( a ) ( b , c , f , h , m , t , n , q , x ) } catch ( H ) { te ( C ) ; if ( H !== H + 0 ) throw H ; re ( 1 , 0 ) } } function ie ( a ) { var b = se ( ) ; try { Eb ( a ) ( ) } catch ( c ) { te ( b ) ; if ( c !== c + 0 ) throw c ; re ( 1 , 0 ) } } function oe ( a , b , c , f , h , m , t ) { var n = se ( ) ; try { Eb ( a ) ( b , c , f , h , m , t ) } catch ( q ) { te ( n ) ; if ( q !== q + 0 ) throw q ; re ( 1 , 0 ) } }
function he ( a , b , c , f , h , m , t , n , q , x ) { var C = se ( ) ; try { return Eb ( a ) ( b , c , f , h , m , t , n , q , x ) } catch ( H ) { te ( C ) ; if ( H !== H + 0 ) throw H ; re ( 1 , 0 ) } } var ue ; function Ja ( a ) { this . name = "ExitStatus" ; this . message = "Program terminated with exit(" + a + ")" ; this . status = a } wb = function ve ( ) { ue || we ( ) ; ue || ( wb = ve ) } ;
function we ( ) { function a ( ) { if ( ! ue && ( ue = ! 0 , v . calledRun = ! 0 , ! Ra ) ) { Db ( rb ) ; da ( v ) ; if ( v . onRuntimeInitialized ) v . onRuntimeInitialized ( ) ; if ( v . postRun ) for ( "function" == typeof v . postRun && ( v . postRun = [ v . postRun ] ) ; v . postRun . length ; ) { var b = v . postRun . shift ( ) ; sb . unshift ( b ) } Db ( sb ) } } if ( ! ( 0 < ub ) ) { if ( v . preRun ) for ( "function" == typeof v . preRun && ( v . preRun = [ v . preRun ] ) ; v . preRun . length ; ) tb ( ) ; Db ( qb ) ; 0 < ub || ( v . setStatus ? ( v . setStatus ( "Running..." ) , setTimeout ( function ( ) { setTimeout ( function ( ) { v . setStatus ( "" ) } , 1 ) ; a ( ) } , 1 ) ) : a ( ) ) } }
v . run = we ; if ( v . preInit ) for ( "function" == typeof v . preInit && ( v . preInit = [ v . preInit ] ) ; 0 < v . preInit . length ; ) v . preInit . pop ( ) ( ) ; we ( ) ;
2022-01-17 14:46:45 +01:00
return CanvasKitInit . ready
}
) ;
} ) ( ) ;
if ( typeof exports === 'object' && typeof module === 'object' )
module . exports = CanvasKitInit ;
else if ( typeof define === 'function' && define [ 'amd' ] )
define ( [ ] , function ( ) { return CanvasKitInit ; } ) ;
else if ( typeof exports === 'object' )
exports [ "CanvasKitInit" ] = CanvasKitInit ;